Cosa fa questa istruzione?
mov (%r11,%r12,1), %edx
Guarda qui Dice
Nella syntax AT & T, la memoria viene referenziata nel modo seguente,
segment-override:signed-offset(base,index,scale)
Giù sulla pagina ci sono alcuni esempi. Lo trovo il migliore:
GAS memory operand NASM memory operand ------------------ ------------------- (%ecx,%ebx,2) [ecx+ebx*2]
mov source, destination
nella syntax AT & T copia il valore dalla sorgente alla destinazione. Considera anche la dimensione di edx. Quanti byte (4) pensi che mov
copierà?
mov (%r11,%r12,1), %edx
questa istruzione viene utilizzata per calcolare l’indirizzo (modalità di indirizzamento indicizzato).
%r11
è un indirizzo di base %r12
è un indice 1
è un multipler È un lavoro come questo:
adres = base adres + index * multipler
gli annunci di base e il multipler devono essere costanti (l’indirizzo di base può essere registrato), l’indice deve essere registrato.