From ea8be373a975356808a19a79f1dd20383bec82ba Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 7 Jan 2016 14:54:13 +0000 Subject: py/inlinethumb: Remove 30-bit restriction on movwt instruction. movwt can now move a full 32-bit constant into a register. --- docs/reference/asm_thumb2_mov.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'docs/reference') diff --git a/docs/reference/asm_thumb2_mov.rst b/docs/reference/asm_thumb2_mov.rst index e42460881..900bf957b 100644 --- a/docs/reference/asm_thumb2_mov.rst +++ b/docs/reference/asm_thumb2_mov.rst @@ -21,8 +21,7 @@ Where immediate values are used, these are zero-extended to 32 bits. Thus movt writes an immediate value to the top halfword of the destination register. It does not affect the contents of the bottom halfword. -* movwt(Rd, imm30) ``Rd = imm30`` +* movwt(Rd, imm32) ``Rd = imm32`` -movwt is a pseudo-instruction: the MicroPython assembler emits a ``movw`` and a ``movt`` -to move a zero extended 30 bit value into Rd. Where the full 32 bits are required a -workround is to use the movw and movt operations. +movwt is a pseudo-instruction: the MicroPython assembler emits a ``movw`` followed +by a ``movt`` to move a 32-bit value into Rd. -- cgit v1.2.3