目录
5.编写bochs配置文件bochsrc.bxrc,保存到bochs所在目录
1.提前安装好 Bochs,DD 工具,Nasm
Nasm:
2. 使用Bochs的工具bximage.exe
bximage.exe
是 Bochs 中用于创建、转换、调整大小以及提交重做日志等操作的磁盘镜像工具
具体操作如下:
(因为我已经做过了,所以这里提示是否要覆盖文件,这里你是第一次创建就不用,直接enter就行)
可以看到出现了boot.img文件,这个文件以后我们需要用dd工具去写入我们的
这个由文件Nasm编译而成,可以看后面的操作
3.编译我们的 .asm文件
这里可以随便写名字我写的是boot.asm,这个文件放到Nasm编译工具中。注意编译好的文件boot.bin要放在bochs根目录下,因为方便使用dd工具进行写入我们的boot.img软盘镜像
打开当前目录的cmd,在nasm工具中编译,并输入命令,主要是有这个exe文件就可以使用相关命令(因为什么因为由这个nasm.exe工具,除非配到windows的环境变量当中,或者加入windows的系统变量当中,否则必须在这个目录下,要不然傻乎乎的计算机不认识这个nasm命令.......)
nasm boot.asm -o boot.bin
asm文件代码
org 07C00h ; 告诉编译器程序加载到0x7C00处 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 World!" times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节 dw 0xaa55 ; 引导扇区标记
4.写入操作
注意这里的目录仍然是我自己的目录,要以你的为准,进行写入操作
打开这个程序输入下面的命令(与上面同理)
dd if="D:\Soft\Bochs\boot.bin" of="D:\Soft\Bochs\boot.img" bs=512 count=1 conv=notrunc
5.编写bochs配置文件bochsrc.bxrc,保存到bochs所在目录
代码:
megs: 32 romimage: file=D:/Soft/Bochs/BIOS-bochs-latest vgaromimage: file=D:/Soft/Bochs/VGABIOS-lgpl-latest.bin floppya: 1_44=boot.img, status=inserted boot: floppy log: bochsout.log
6.最后一步了,点击文件
bochsrc.bxrc
成功你好呀世界