Un piccolo dubbio che mi sta sorgendo in asm riguardo i puntatori IA32 AT&T . Allora dato questo codice:
movl $10, (%eax, %ecx, 4) <--- (base, indice, scala). La scala può essere 1-2-4-8, Sarebbe il valore di Byte, short, word, long word in IA32?. Cos'è esattamente la scala? e perchè se scrivo 2 invece di 4 o 8 invece di 4 il programma continua a funzionarmi correttamente?
movl $10, (%eax, %ecx, 4) <--- (base, indice, scala). La scala può essere 1-2-4-8, Sarebbe il valore di Byte, short, word, long word in IA32?. Cos'è esattamente la scala? e perchè se scrivo 2 invece di 4 o 8 invece di 4 il programma continua a funzionarmi correttamente?
Codice:
f:
movl 8(%esp), %eax
movl 12(%esp), %ecx
movl $21, (%eax,%ecx,2) # ma funziona anche con 4 e 8. Dunque cosa ci devo mettere veramente?
ret