制作自启动盘的试验

来源:互联网 发布:网络棋牌赌博怎么判刑 编辑:程序博客网 时间:2024/04/30 20:01
制作自启动盘的试验 [原] 2006-11-12 22:32:09 标签: 缩起正文  字号:大 小

制作自启动盘的试验1,开机显示"Hello, OS world!"
1,安装vmware生成新的虚拟机,进入虚拟机的设置菜单添加软驱设备生成缺省的镜像文件
2,http://sourceforge.net/projects/nasm下载NASM汇编编译器(已经放到tools的nasm目录)
3,进入chapter1目录编译程序(make.bat)
4,使用工具FloppyWriter(tools目录下)将生成的Boot.bin写入虚拟机的软驱镜像文件,或者直接将Boot.bin文件名改成虚拟机软驱的镜像文件。
5,启动虚拟机测试
生成的镜像文件chapter1.flp
附:汇编程序
;%define _BOOT_DEBUG_ ; 做 Boot Sector 时一定将此行注释掉!将此行打开后用 nasm Boot.asm -o Boot.com 做成一个.COM文件易于调试

%ifdef _BOOT_DEBUG_
 org  0100h   ; 调试状态, 做成 .COM 文件, 可调试
%else
 org  07c00h   ; Boot 状态, Bios 将把 Boot Sector 加载到 0:7C00 处并开始执行
%endif

 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   ; int 10h
 ret
BootMessage:  db "Hello, OS world!"
times  510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw  0xaa55    ; 结束标志