У меня есть дамп с жесткого диска, который имеет aa55 со смещением 510. Но места, где я читал об этом, говорят, что это 55aa в дампе.
000001fe: aa55
Итак, мне интересно, хранятся ли на моем диске данные с прямым или прямым порядком байтов?
Спасибо
Это 0xaa55 как 16-разрядное слово с прямым порядком байтов, поэтому 55, а затем aa, если вы посмотрите на байты отдельно. Это означает, что первый сектор (512 байтов)диска является загрузочным загрузочным сектором MBR, который можно загрузить по линейному адресу 0x7c00 и выполнить в реальном режиме.
0xaa55
55
aa
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.обратный порядок байт.