1. Istruzioni di spostamento dei registri¶
1.1. Convenzioni del documento¶
Notazione: Rd, Rn indicano i registri ARM R0-R15. immN indica un valore immediato avente una larghezza di N bit. Queste istruzioni influenzano i flag di condizione.
1.2. Spostamenti di registri¶
Quando si usano valori immediati, questi vengono estesi con zeri a 32 bit. Quindi mov(R0, 0xff) imposterà R0 a 255.
mov(Rd, imm8)
Rd = imm8mov(Rd, Rn)
Rd = Rnmovw(Rd, imm16)
Rd = imm16movt(Rd, imm16)
Rd = (Rd & 0xffff) | (imm16 << 16)
movt scrive un valore immediato nella mezza parola superiore del registro di destinazione. Non influisce sul contenuto della mezza parola inferiore.
movwt(Rd, imm32)
Rd = imm32
movwt è una pseudo-istruzione: l’assembler di MicroPython emette una movw seguita da una movt per spostare un valore a 32 bit in Rd.