R8注册细分

时间:2014-02-03 00:39:28

标签: assembly 64-bit nasm cpu-registers

我正在从x86 ASM转移,因为我已经编写了几个月到x64。

示例:

RAX细分:

                -----------------------------------------
  EAX (32 Bit): |         16 bits       |   AH  |   AL  | 
                -----------------------------------------
                                        ^       AX      ^



R8:

                -----------------------------------------
  R8D (32 Bit): |         16 bits       |   ??  |   R8B | 
                -----------------------------------------
                                        ^       R8B     ^

R8B寄存器中的高8位是什么?

2 个答案:

答案 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。