Difficoltà con LDR e STR in ASSEMBLY ARM

di il
8 risposte

Difficoltà con LDR e STR in ASSEMBLY ARM

Buongiorno a tutti, da poco mi sono avvicinato ad assembly arm, e sto cercando di capirci qualcosa, ma con il libro che sto utilizzando non riesco a capire bene come utilizzare "LDR" che se ho capito bene carica in un registro la parola puntata da un altro registro e "STR" che effettua l'operazione inversa. Il problema sta negli esercizi, ad esempio:

Considerando questo codice in C:
int i
int temp[100]
...
for (i = 0, i < 100, i = i + 1)
temp = temp * 128

In Assembly:
R3 = indirizzo base di temp

Perché in LDR facciamo R2 * 4?
MOV R2, #0
LOOP CMP R2, #100
BGE ENDLOOP
LDR R0, [R3, R2, LSL #2]

PS: Non sono qui per avere l'esercizio svolto, ma per capire dato che mi sfugge qualcosa, perciò se c'è qualche guida dove posso leggere e capire ben venga

8 Risposte

Devi accedere o registrarti per scrivere nel forum
8 risposte