1. Instruções de movimentação de registos¶
1.1. Convenções do documento¶
Notação: Rd, Rn denotam registos ARM R0-R15. immN denota um valor imediato com largura de N bits. Estas instruções afetam os flags de condição.
1.2. Movimentações de registos¶
Quando são utilizados valores imediatos, estes são estendidos a zero para 32 bits. Assim, mov(R0, 0xff) definirá R0 como 255.
mov(Rd, imm8)
Rd = imm8mov(Rd, Rn)
Rd = Rnmovw(Rd, imm16)
Rd = imm16movt(Rd, imm16)
Rd = (Rd & 0xffff) | (imm16 << 16)
movt escreve um valor imediato na meia palavra superior do registo de destino. Não afeta o conteúdo da meia palavra inferior.
movwt(Rd, imm32)
Rd = imm32
movwt é uma pseudo-instrução: o assemblador MicroPython emite um movw seguido de um movt para mover um valor de 32 bits para Rd.