1

我有一个硬盘的转储,它在偏移量 510 处具有aa55。但是我读过它的地方说它在转储中是55aa 。

000001fe: aa55

所以,我想知道数据是存储在我的磁盘上的大端还是小端?

谢谢

4

1 回答 1

3

0xaa55是一个 little-endian 的 16 位字,所以如果你单独查看字节的55话。aa IEdb 0x55, 0xaa

这表明磁盘的第一个扇区(512 字节)是可引导的 MBR 引导扇区,可以在线性地址加载0x7c00并在实模式下执行。

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


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

AT&T 语法:如何通过 BIOS 中断在实模式下处理键盘?

.org 510
.word 0xaa55

NASM:汇编 32 位打印以显示代码在 qemu 上运行,无法在真实硬件上运行

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

这些是 x86 汇编器,因此它们当然会将 16 位整数汇编为 x86 的小端序。

于 2018-12-25T10:00:32.703 回答