1. Instrucciones de movimiento de registros¶
1.1. Convenciones del documento¶
Notación: Rd, Rn denotan los registros ARM R0-R15. immN denota un valor inmediato con un ancho de N bits. Estas instrucciones afectan a las banderas de condición.
1.2. Movimientos de registros¶
Cuando se usan valores inmediatos, estos se extienden con ceros a 32 bits. Así, mov(R0, 0xff) establecerá R0 en 255.
mov(Rd, imm8)
Rd = imm8mov(Rd, Rn)
Rd = Rnmovw(Rd, imm16)
Rd = imm16movt(Rd, imm16)
Rd = (Rd & 0xffff) | (imm16 << 16)
movt escribe un valor inmediato en la media palabra superior del registro de destino. No afecta al contenido de la media palabra inferior.
movwt(Rd, imm32)
Rd = imm32
movwt es una pseudoinstrucción: el ensamblador de MicroPython emite un movw seguido de un movt para mover un valor de 32 bits a Rd.