Младшее порядковое представление проблемы значения регистра - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть следующая строка кода сборки:

mov rax,067FEh

Когда я проверяю значение регистра rax с помощью gdb во время выполнения, я получаю:

(gdb) p/x $rax
$2 = 0x67fe
(gdb) p/t $rax
$3 = 110011111111110

Однако мой компьютерэто немного Endian архитектура, поэтому я не понимаю, почему двоичное значение в регистре 110011111111110, а не 11111110 01100111 с младшим байтом (fe) первым?

Спасибо

1 Ответ

0 голосов
/ 10 сентября 2018

Уровень программного обеспечения (и сборка такова) на самом деле не видит (показывает?) Endianes, если вы явно не пытаетесь читать побайтово.Обычно, когда вы читаете словами, любой (нормальный) ассемблер или отладчик должен правильно показывать программисту полное слово после применения любого исправления Endinaes.

...