30天自制操作系统
上QQ阅读APP看书,第一时间看更新

6 从启动区执行操作系统

那么,要怎样才能执行磁盘映像上位于0x004200号地址的程序呢?现在的程序是从启动区开始,把磁盘上的内容装载到内存0x8000号地址,所以磁盘0x4200处的内容就应该位于内存0x8000+0x4200=0xc200号地址。

这样的话,我们就往haribote.nas里加上ORG 0xc200,然后在ipl.nas处理的最后加上JMP 0xc200这个指令。这样修改后,得到的就是“projects/03_day”下的harib00f。

赶紧运行“make run”,目前什么都没发生。那么程序到底有没有执行haribote.sys呢?大家可能会有点担心。所以,下面我们让haribote.sys跳出来表现一下。