![]() |
1
13
“:”是分段内存时代的遗留问题,当时PC以实模式运行,一次只能运行64K。“:”左边的数字是您的区段,右边的数字是您的地址。 如果您想自己在内存中漫游,windows调试命令接受此符号:
关于此特定地址,它只是为加载MBR而选择的地址,请参阅: https://web.archive.org/web/20140701052540/http://www.ata-atapi.com/hiwmbr.html
|
![]() |
2
23
令人高兴的答案是
|
![]() |
3
3
阅读本文: http://en.wikibooks.org/wiki/X86_Assembly/Bootloaders
引用上面的话:
有关硬盘第一个扇区和7c00设计的更多信息: http://www.ata-atapi.com/hiwdos.html http://www.ata-atapi.com/hiwmbr.html
在这个阶段,它执行的是非易失性的BIOS代码(这意味着您无法轻松地对其重新编程,因此不属于引导加载程序的责任)。 |
![]() |
4
3
在最初的IBM PC中,超过32K的RAM被认为是不可想象的。在分段寻址术语中,这是0000:8000,其中8000十六进制是32768十进制。当时的方式是在BIOS POST结束时,将软盘的引导扇区加载到A:中,或将硬盘的主引导记录加载到内存顶部以下512字节的位置,这意味着从8000个十六进制中减去0200个十六进制,得到7C00。因此,引导序列将第一个有效的512字节第一个扇区加载到,然后将指令指针设置为0000:7C00以执行它。我曾经为加载操作系统的第一个扇区编写代码。 |