21楼. 2.好了,废话不多说,现在我们写一个最最简单的操作系统吧,
org 07c00h ;告诉编译器程序加载到7c00处
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 ;结束标志
把这段代码用NASM编译一下:
nasm boot.asm -o boot.bin
追梦1航海 2011-9-6 回复(16)