1. Instrucțiuni de mutare a registrelor¶
1.1. Convenții ale documentului¶
Notație: Rd, Rn denotă registrele ARM R0-R15. immN denotă o valoare imediată având o lățime de N biți. Aceste instrucțiuni afectează indicatorii de condiție.
1.2. Mutări de registre¶
Atunci când se folosesc valori imediate, acestea sunt extinse cu zerouri până la 32 de biți. Astfel mov(R0, 0xff) va seta R0 la 255.
mov(Rd, imm8)
Rd = imm8mov(Rd, Rn)
Rd = Rnmovw(Rd, imm16)
Rd = imm16movt(Rd, imm16)
Rd = (Rd & 0xffff) | (imm16 << 16)
movt scrie o valoare imediată în jumătatea superioară de cuvânt a registrului de destinație. Nu afectează conținutul jumătății inferioare de cuvânt.
movwt(Rd, imm32)
Rd = imm32
movwt este o pseudo-instrucțiune: asamblorul MicroPython emite un movw urmat de un movt pentru a muta o valoare pe 32 de biți în Rd.