爲何主引導記錄的內存地址是0x7C00?

轉自:http://www.ruanyifeng.com/blog/2015/09/0x7c00.htmlhtml

當時,搭配的操做系統是86-DOS。這個操做系統須要的內存最少是32KB。咱們知道,內存地址從0x0000開始編號,32KB的內存就是0x0000~0x7FFFbash

8088芯片自己須要佔用0x0000~0x03FF,用來保存各類中斷處理程序的儲存位置。(主引導記錄自己就是中斷信號INT 19h的處理程序。)因此,內存只剩下0x0400~0x7FFF能夠使用。spa

爲了把儘可能多的連續內存留給操做系統,主引導記錄就被放到了內存地址的尾部。因爲一個扇區是512字節,主引導記錄自己也會產生數據,須要另外留出512字節保存。因此,它的預留位置就變成了:操作系統

0x7FFF - 512 - 512 + 1 = 0x7C00 

0x7C00就是這樣來的。code

相關文章
相關標籤/搜索