为什么bios读取分区的启动记录0000:7c00?那个地址有什么特别之处?':'在引用地址时做了什么?
Mik*_*nta 18
简单的答案是,7C00h处是从原来的32K安装的内存的底部1K(512个字节的引导扇区加上可能的引导扇区使用额外的512个字节).
快乐的答案是,org 7C00h已经成为引导扇区的代名词-引导加载程序编程.
Set*_*eth 11
":"是分段存储天数的延续,当PC以实模式运行时,一次只能执行64K.":"左侧的数字是您的细分,右侧的数字是您的地址.
如果你想自己在内存中寻找,那么windows debug命令会接受这种表示法:
C:\Users\Seth> debug
-d0000:7c00
0000:7C00 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0000:7C10 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0000:7C20 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0000:7C30 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0000:7C40 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0000:7C50 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0000:7C60 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
0000:7C70 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
Run Code Online (Sandbox Code Playgroud)
关于这个特定的地址,它只是一个被选中加载MBR的地址,请参阅:http://www.ata-atapi.com/hiwmbr.html
"如果发现MBR,它将被读入内存0000:7c00并且INT 19跳转到内存位置0000:7c00"