1. Instructions de déplacement de registre¶
1.1. Conventions du document¶
Notation : Rd, Rn désignent les registres ARM R0-R15. immN désigne une valeur immédiate d’une largeur de N bits. Ces instructions affectent les drapeaux de condition.
1.2. Déplacements de registre¶
Lorsque des valeurs immédiates sont utilisées, celles-ci sont étendues par des zéros à 32 bits. Ainsi, mov(R0, 0xff) mettra R0 à 255.
mov(Rd, imm8)
Rd = imm8mov(Rd, Rn)
Rd = Rnmovw(Rd, imm16)
Rd = imm16movt(Rd, imm16)
Rd = (Rd & 0xffff) | (imm16 << 16)
movt écrit une valeur immédiate dans le demi-mot supérieur du registre de destination. Il n’affecte pas le contenu du demi-mot inférieur.
movwt(Rd, imm32)
Rd = imm32
movwt est une pseudo-instruction : l’assembleur MicroPython émet un movw suivi d’un movt pour déplacer une valeur de 32 bits dans Rd.