3. Memorizzazione di un registro in memoria¶
3.1. Convenzioni del documento¶
Notazione: Rt, Rn indicano i registri ARM R0-R7, tranne dove indicato. immN rappresenta un valore immediato avente una larghezza di N bit, quindi imm5 è vincolato all’intervallo 0-31. [Rn + imm5] è il contenuto dell’indirizzo di memoria ottenuto sommando Rn e l’offset imm5. Gli offset sono misurati in byte. Queste istruzioni non influenzano i flag di condizione.
3.2. Memorizzazione di registri¶
str(Rt, [Rn, imm7])
[Rn + imm7] = RtMemorizza una parola a 32 bitstrb(Rt, [Rn, imm5])
[Rn + imm5] = RtMemorizza un byte (b0-b7)strh(Rt, [Rn, imm6])
[Rn + imm6] = RtMemorizza una mezza parola a 16 bit (b0-b15)
Gli offset immediati specificati sono misurati in byte. Quindi nel caso di str il valore a 7 bit consente di accedere a valori allineati alla parola a 32 bit con un offset massimo di 31 parole. Nel caso di strh il valore a 6 bit consente di accedere a valori allineati alla mezza parola a 16 bit con un offset massimo di 31 mezze parole.