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