MBR签名如何存储在硬盘上?

时间:2018-12-25 07:56:55

标签: assembly endianness bootloader disk-partitioning mbr

我从偏移量510为 aa55 的硬盘上进行了转储。但是,据我所知,它在转储中为 55aa 。 / p>

000001fe: aa55

那么,我想知道数据是存储在磁盘的大端还是小端的?

谢谢

1 个答案:

答案 0 :(得分:1)

它是0xaa55作为16位小尾数字,因此,如果分别查看字节,则它是55然后是aa磁盘的第一个扇区(512字节)是可引导的MBR引导扇区,可以在线性地址0x7c00上加载并以实模式执行。

维基百科确认此布局:https://en.wikipedia.org/wiki/Master_boot_record#Sector_layout


最近有2个SO问题,这些问题有ASM中引导扇区的来源:

AT&T语法:How to handle keyboard in real mode through BIOS interrupts?

.org 510
.word 0xaa55

NASM:Assembly 32-bit print to display code runs on qemu, fails to work on real hardware

TIMES 510-($-$$) db  0
dw 0xaa55

这些是x86汇编程序,因此它们当然会将16位整数汇编到x86的little-endian。