<< 25/64 >>
First Last

Mod R/M

 % cat tmp.s
 mov %rax, %rdx
 mov %eax, %edx
 % gcc -c tmp.s && objdump -d tmp.o | grep mov
   0:   '''48 89 c2'''                mov    %rax,%rdx
   3:   89 c2                   mov    %eax,%edx

Reg と R/M は

R/M == 100 (ESP) の時は特殊な処理 (後述)

x86-64 の汎用レジスタは 16 個あるので 3bit では足りない