1.计算机的如何执行程序
计算机取址执行,计算机通电后,计算机执行的第一句指令是什么
1.1.了解BIOS系统
- BIOS是基本输入输出系统
- BIOS是存储在ROM里面,不用调用内存,可以直接被CPU执行
2.计算机通电后,计算机执行的指令是什么?
- 刚开机是,X86处于实模式中
- 开机的时候,CS=0xFFFF;IP=0x0000
- 寻址0XFFFF0(BIOS的代码),此时CPU开始取址执行,执行BIOS中的代码
- BIOS代码的主要功能就是检查RAM,磁盘,显示器,键盘鼠标等
- 将0磁盘0扇区512个字节(256个字),读入到0x7c00处
- 设置cs=0X7c00,ip=0x0000
3.0x7c00处的存放的代码
0x7c00处的存放的代码就是那512个字节,那512个字节是什么?
- 就是引导扇区boot扇区
因此我们可以得出:硬盘的第一个扇区就是引导程序:bootsect.s
操作系统的故事就是从这里开始
4.解读bootsect.s
第一段的主要作用:就是将将0x07c0:0x0000处的256个字(512个字节)移动到0x9000:0x0000处
第二段:开始载入setup的代码(1-4个扇区),将其载入到cs=0x9020;ip=0x0000处,然后显示字符"Loading system",然后开始将system模块的代码读入到内存中
第三段:读入system模块,此时还有最后一步:jmpi 0, SETUPSEG,开始跳入到setup模块开始执行
5.第一个boot扇区的作用
- 将setup代码载入到内存中
- 将system代码载入到内存中
- 然后跳到setup,执行setup的代码