1. 去Bochs的官方网站http://bochs.sourceforge.net/diskimages.html下载一个freedos-img.tar.gz,复制我们的工作目录,解压后将其中的a.img改名为freedos.img 。
2. 用bximag生成一个软盘映像,起名为pm.img。
3. 修改当前工作目录下的bochsrc(还记得不?第二章我们自己写的,把它拷到当前工作目录来),确保其中有以下三行:
floppya:1_44=freedos.img, status=inserted
floppyb:1_44=pm.img, status=inserted
boot:a
4.启动bochs ,待FreeDos启动完毕后格式化B盘。
5. 将上节的代码pmtest1.asm 中的org 07c00h改为 org 100h,并在Terminal界面重新编译:
nasm pmtest1.asm -o pmtest1.com
6. 在Terminal界面将pmtest1.com复制到pm.img上//指令操作:
sudo mkdir /mnt/floppy //创建相应文件夹
sudo mount -o loop pm.img /mnt/floppy
sudo cp pmtest1.com /mnt/floppy
sudo umount /mnt/floppy
7.重新运行bochs ,A:/>B: 切换到B盘,执行 pmtest1.com
完成由实模式转换到保护模式,程序进入死循环。
PS:进入bochs不能进行输入,按Alt键便可输入。
不能输入原因:
平常切换软件习惯使用 ALT + TAB 组合键切换,原来bochs对ALT按键响应有问题。
习惯修改:
改成WIN+TAB就好。
进行下一阶段保护模式进阶时,需要参考以上操作,并且保护模式进阶在实模式转换为保护模式后可以跳回实模式,不会进入死循环,可以进行调试操作。