我正在从x86 ASM转移,因为我已经编写了几个月到x64。
示例:
RAX细分:
-----------------------------------------
EAX (32 Bit): | 16 bits | AH | AL |
-----------------------------------------
^ AX ^
R8:
-----------------------------------------
R8D (32 Bit): | 16 bits | ?? | R8B |
-----------------------------------------
^ R8B ^
R8B寄存器中的高8位是什么?
答案 0 :(得分:3)
在x64中不存在,请参阅英特尔文档:
http://software.intel.com/en-us/articles/introduction-to-x64-assembly
您可以使用R8W访问前16位。
答案 1 :(得分:0)
如果您使用代码:
mov r8, $0102030405060708
mov eax, r8d
然后应该在eax
值0x05060708中执行代码之后。
所以“R8B”的高8位是b'00000110'或0x06。