Qual è il significato di MOV (% r11,% r12,1),% edx?

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
  • e 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.