I have this code which says
global main
[BITS 64]
section .text
main:
mov r13, 0x1234
mov rax, 60
mov rdi, 0
syscall
When I translate manually this instruction mov r13, 0x1234, I've as hexadecimal code 0x48_BD_34_12_00_00.
The op code of the instruction is REX.W + B8+ rd io (I guess).
When I translate my file on Linux, the hexadecimal traduction is 0x41_BD_34_12_00_00.
41 is 0100_0001 b. But the REX.W says that W = 1, so it should be 0100_1001b.
So I don't understand why the REX prefix is 41h and not 49h.