寄存器值问题的小端表示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寄存器值问题的小端表示相关的知识,希望对你有一定的参考价值。
我有以下汇编代码行:
mov rax,067FEh
当我在执行期间用gdb检查寄存器rax的值时,我得到:
(gdb) p/x $rax
$2 = 0x67fe
(gdb) p/t $rax
$3 = 110011111111110
但是,我的机器是一个小的Endian架构,所以我不明白为什么寄存器中的二进制值是110011111111110而不是11111110 01100111最低字节(fe)?
谢谢
答案
软件级别(和程序集是那样的)并没有真正看到(显示?)Endianes,除非你明确地尝试逐字节读取。通常,当您通过单词阅读时,任何(正常)汇编程序或调试程序应在应用任何Endinaes校正后正确地向程序员显示完整单词。
以上是关于寄存器值问题的小端表示的主要内容,如果未能解决你的问题,请参考以下文章