org 07c00h ;告诉编译器从07c00h开始加载程序,org是origin的缩写,起始地址。
mov ax,cs
mov ds,ax
mov es,ax
call DispStr
jmp $ ;$代表当前地址
DispStr:
mov ax,BootMessage
mov bp,ax
mov cx,16
mov ax,01301h
mov bx,000ch
mov dl,0
int 10h
ret
BootMessage: db "My OS ,Hello!-Tsui"
times 510-($-$$) db 0 ;填充剩下的空间,使生成二进制代码恰好512字节。
dw 0xaa55 ;结束标志
代码是来自《orage's 一个操作系统的实现》。
所说的写入软驱中,当然现在的电脑没有软驱了,通过vmware虚拟机来写入是个好主意,在win8.1下加载 虚拟的软驱各种重启系统故障。
先用winimage 创建一个空的1.4M的软驱。
在wm中加载
再进入系统使用rawwritewin将编译后的文件写入软驱。
最后加载的效果: