花了一天多时间才把这段程序调试成功,真倒霉啊,就错了一个数字。还是抄的程序。
org 07c00h
mov ax,cs
mov ds,ax
mov es,ax
call DispStr ;调用显示字符串例程
jmp $ ;无限循环
DispStr:
mov ax,BootMessage
mov bp,ax ;es:bp 串地址
mov cx,16 ;cx 串长度
mov ax,01301h ;ah 13, al 01h
mov bx,000ch ;页号为0(bh 0) 黑底红字(bl 0ch, 高亮)
mov dl,0
int 10h ;10h 号中断
ret
BootMessage: db "Hello, OS world!"
times 510-($-$$) db 0 ;填充剩下的空间,使生成的二进制代码恰好为
;512字节
dw 0xaa55 ;结束标志
文件名:boot.asm
编译:nasm.exe -f bin boot.asm -o boot.bin
编译后写到软盘0道0扇区 ,软盘启动后显示红色字。
阅读(1205) | 评论(0) | 转发(0) |