【发布时间】:2012-05-09 07:29:48
【问题描述】:
最近我正在学习操作系统。我想写一个简单的引导加载程序,将实模式更改为保护模式,然后加载简单的内核。
但是我无法弄清楚入口地址的问题。
一开始我将引导加载程序放在 OS.img(qemu) 的第一个扇区,然后内核从第二个扇区开始。
这是我的内核的 readelf 结果:
入口点地址为 0x800c。
LMA 和 VMA 如下:
bootloader的一部分,读取elf型内核,然后进入entry(),即入口点地址。
但是,当我反汇编引导加载程序时,entry() 如下:
调用 *0x8018,而不是 *0x800c。
我不知道为什么会这样。
你能帮帮我吗?
【问题讨论】:
-
请提供文字而不是图片。
标签: operating-system elf osdev