标签:
;系统引导程序
;nasm boot.asm -o boot.bin
;反汇编
;ndisasm -o 0x7c00 boot.bin >> disboot.asm
;调试程序
nasm boot.asm -o boot.com%define _BOOT_DEBUG_ ;做引导程序将此行注释掉
%ifdef _BOOT_DEBUG_
org 0100h ;调试状态做成.com文件
%else
org 07c00h ;告诉编译器程序加载到7c00处
%endif
mov ax,cs ;
mov ds,ax
mov es,axcall 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 ;结束标志
标签:
原文地址:http://www.cnblogs.com/zuofei123/p/5515496.html