8086的启动过程
文章目錄
- 1 8086的啟動過程
- 1.1 8086啟動時的寄存器情況
- 1.2 BIOS
- 1.3 8086啟動的整體流程
1 8086的啟動過程
1.1 8086啟動時的寄存器情況
8086處理器在啟動或者重啟的時候,會對寄存器執(zhí)行一個初始化的操作。初始化后的寄存器信息如下:
CS:FF FF,其它的寄存器:00 00。
1.2 BIOS
我們知道8086處理器一共有20根地址線,那么其訪問空間就是1MB,如下:
最頂端的ROM(Read-Only Memory,只讀存儲器)中固化有我們的BIOS(Basic Input Output System,基本輸入輸出系統(tǒng))。
上電后CPU就會執(zhí)行地址為0xFFFF0處的代碼,但是我們可以這里距離頂端只有16個字節(jié),所以可執(zhí)行的代碼是非常有限的。所以,這個地址處存放的是一條跳轉(zhuǎn)指令,跳轉(zhuǎn)指令的內(nèi)容如下:
jmp F000:005C
注意,上面的代碼執(zhí)行完畢會將CS的值設(shè)置為F000,IP的值設(shè)置為005C。也就是說處理器會去F005C的地方去執(zhí)行指令。
1.3 8086啟動的整體流程
啟動重啟計(jì)算機(jī),寄存器被初始化
CS:FFFF IP:0000
FFFF0—> jmp F000:005C
CS:F000 IP:005C
F005C—>依次執(zhí)行BIOS中的指令
BIOS所做的最后一件事:將主引導(dǎo)扇區(qū)中(0面0道1扇區(qū),最后兩個字節(jié)為硬盤主引導(dǎo)扇區(qū)的有效標(biāo)志,必須為0x55,0xaa)的內(nèi)容加載到7C00的位置處。
BIOS的最后一條指令:JMP 0000:7C00
CS:0000 IP:7C00
07C00—>執(zhí)行主引導(dǎo)扇區(qū)中的指令
1)加載操作系統(tǒng)自舉代碼到內(nèi)存中
2)通過一條跳轉(zhuǎn)指令,使處理器去執(zhí)行操作系統(tǒng)的自舉代碼
參考資料:
總結(jié)
- 上一篇: #line使用分析
- 下一篇: 请问中央空调的三根管子都代表什么?