一,先动手操作
这个故事的一开始,作者先用了一个二进制编辑器和一个汇编工具写了操作系统的启动程序 helloos.img,在这个软盘已成为传说的时代,书中使用了PC模拟器 QEMU,书中方法就不介绍了,其实直接使用VMware也是可以达到同样效果的。操作步骤如下:
列出其中几个关键步骤:系统选择:
虚拟机创建好,找到软驱:
在软驱连接到helloos.img:
启动后的效果图:我把hello world 改成了hello,njupt. njupt
修改方法一,直接修改二进制文件(ASCII码6E,6A,75,70,74)
第二种方法:修改汇编程序:
; 信息显示部分
DB 0x0a, 0x0a ; 2个换行
DB "hello, njupt"
DB 0x0a ; 换行
DB 0
RESB 0x1fe-$ ; 填写0x00,直到0x001fe
DB 0x55, 0xaa
很遗憾第一天的汇编代码没看懂,不知道为什么他定义了一系列DB是怎么运行的。这个问题先记下。
第一天我们记录了计算机开机加载IPL(initial program loader,一个nas汇编程序),包括IPL代码(helloo.nas),编译生成helloos.img文件,书上用虚拟机QEMU加载helloos.img,我们选择使用VM虚拟机装载软盘镜像helloos.img.
由于我们使用VM虚拟机,我们只需!cons_nt.bat批文件打开命令行,使用asm.bat将源文件编译成目的文件helloos.img即可使用。
helloos2文件夹结构如下