1. Instruções de movimentação de registradores#
1.1. Convenções do documento#
Notação: Rd, Rn denotam os registradores 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 registradores#
Quando valores imediatos são usados, eles são estendidos com zeros 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 halfword superior do registrador de destino. Não afeta o conteúdo da halfword inferior.
movwt(Rd, imm32)
Rd = imm32
movwt é uma pseudo-instrução: o assembler do MicroPython emite um movw seguido de um movt para mover um valor de 32 bits para Rd.