1. 레지스터 이동 명령어¶
1.1. 문서 표기 규칙¶
표기: Rd, Rn은 ARM 레지스터 R0-R15를 나타냅니다. immN은 N비트 폭을 갖는 즉시 값을 나타냅니다. 이 명령어들은 조건 플래그에 영향을 줍니다.
1.2. 레지스터 이동¶
즉시 값이 사용되는 경우, 이는 32비트로 영확장됩니다. 따라서 mov(R0, 0xff)는 R0을 255로 설정합니다.
mov(Rd, imm8)
Rd = imm8mov(Rd, Rn)
Rd = Rnmovw(Rd, imm16)
Rd = imm16movt(Rd, imm16)
Rd = (Rd & 0xffff) | (imm16 << 16)
movt는 즉시 값을 대상 레지스터의 상위 하프 워드에 씁니다. 하위 하프 워드의 내용에는 영향을 주지 않습니다.
movwt(Rd, imm32)
Rd = imm32
movwt는 의사 명령어입니다. MicroPython 어셈블러는 32비트 값을 Rd로 이동하기 위해 movw에 이어 movt를 내보냅니다.