この指示は何をしますか?
mov (%r11,%r12,1), %edx
ここを見てください。それは言う
AT&T構文では、メモリは次のように参照されます。
segment-override:signed-offset(base,index,scale)
ページの下にいくつかの例があります。私はこれが最高だと思います:
GAS memory operand NASM memory operand
------------------ -------------------
(%ecx,%ebx,2) [ecx+ebx*2]
mov source, destination
AT&T構文では、値をソースから宛先にコピーします。edxのサイズも考慮してください。何バイト(4)mov
コピーすると思いますか?
mov (%r11,%r12,1), %edx
この命令は、アドレスを計算するために使用されます (インデックス付きアドレッシング モード)。
%r11
ベースアドレスです%r12
インデックスです1
倍数です次のような作業です。
アドレス = ベース アドレス + インデックス * 乗数
ベース アドレスと乗数は定数でなければならず (ベース アドレスはレジスタにすることができます)、インデックスはレジスタでなければなりません。