2013年12月15日
⁄ 常见问题
⁄ 共 1698字
⁄ 阅读 2,151 次
为什么要org 07c00h?
有很多人看了"自己动手写操作系统"或其第二版这本书后对这一行提出疑问。
这个问题在书中作者的解释是:
告诉编译器,将来我们的这段程序要被加载到07c00处执行。
WHY
我们知道编译器本身在汇编时对指令的地址计算的是相对地址。而对于引导扇区,一切只是从无生有的
阶段,是按绝对地址执行,那么对于用相对地址编译的执行码就要换算成绝对地址。
一般而言,“真实开始执行的引导扇区"都会固定装载到07c00处,...
org 07c00h, 引导程序阅读全文
2013年12月08日
⁄ 技术文章
⁄ 共 894字
⁄ 阅读 2,217 次
引导程序
一、介绍
系统开机或者重启
BIOS 加电自检 ( Power On Self Test -- POST )。BIOS执行内存地址为 FFFF:0000H 处的跳转指令,跳转到固化在ROM中的自检程序处,对系统硬件(包括内存)进行检查。
读取主引导记录(MBR)。当BIOS检查到硬件正常并与 CMOS 中的设置相符后,按照 CMOS 中对启动设备的设置顺序检测可用的启动设备。BIOS将相应启动设备的第一个扇区(也就是MBR扇区)读入内存地址为0000:7C00H 处。
检查0000:7DFE...
引导程序阅读全文