代码
  org 07c00h     ;告诉编译器加载程序到7c00h处
  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=01
  mov bx,000ch  ;页号0(bh=0)黑底红字(0ch,高亮)
  mov dl,0
  
int 10h
  
ret
 
bootmessage: db "hello,os world!"
 times 
510-($-$$) db 0      ;填充剩下的空间,使生成的二进制代码恰好512db
 dw  0xaa55           ;结束标志
 
用NASM把这段代码编译一下:
nasm boot.asm -o boot.bin
得到一个512b的boot.bin,再把它用软盘绝对扇区读写工具将这个文件写到一张空白软盘的第一个扇区上,就ok了。

 

 

posted on 2010-07-21 20:02  sinbad_li  阅读(191)  评论(0编辑  收藏  举报