3. Armazenar registrador na memória¶
3.1. Convenções do documento¶
Notação: Rt, Rn denotam os registradores ARM R0-R7, exceto onde indicado. immN representa um valor imediato com largura de N bits, portanto imm5 é restrito ao intervalo 0-31. [Rn + imm5] é o conteúdo do endereço de memória obtido pela soma de Rn com o offset imm5. Os offsets são medidos em bytes. Estas instruções não afetam os flags de condição.
3.2. Armazenamento de registrador¶
str(Rt, [Rn, imm7])
[Rn + imm7] = RtArmazena uma palavra de 32 bitsstrb(Rt, [Rn, imm5])
[Rn + imm5] = RtArmazena um byte (b0-b7)strh(Rt, [Rn, imm6])
[Rn + imm6] = RtArmazena uma meia palavra de 16 bits (b0-b15)
Os offsets imediatos especificados são medidos em bytes. Assim, no caso de str, o valor de 7 bits permite acessar valores alinhados em palavra de 32 bits com um offset máximo de 31 palavras. No caso de strh, o valor de 6 bits permite acessar valores alinhados em meia palavra de 16 bits com um offset máximo de 31 meias palavras.