Question

I am transfering from x86 ASM as I've been coding in for a few months to x64.

Example:

RAX Breakdown:

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



R8:

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

What is the high 8 bits in the R8B register?

Was it helpful?

Solution

It does not exist in x64, see the Intel docs at:
http://software.intel.com/en-us/articles/introduction-to-x64-assembly
You can use R8W to access the first 16 bits.

OTHER TIPS

If you wite code:

  mov       r8, $0102030405060708
  mov       eax, r8d

Then should be after code execution in eax value 0x05060708.

So the high 8 bits of " R8B" are b'00000110' or 0x06.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top