4.6 Load immediate values using LDR Rd, =const
LDR Rd,=const pseudo-instruction generates the most efficient single instruction to load any 32-bit number.
You can use this pseudo-instruction to generate constants that are out of range of the
LDR pseudo-instruction generates
the most efficient single instruction for the specified immediate
- If the immediate value can be constructed with a single
MVN instruction, the assembler
generates the appropriate instruction.
- If the immediate value cannot be constructed with a single
MVN instruction, the assembler:
- Places the value in a literal pool (a
portion of memory embedded in the code to hold constant values).
- Generates an
LDR instruction with a
PC-relative address that reads the constant from the literal pool.
n, [pc, #offset to literal pool]
; load register
n with one word
; from the address [pc + offset]
You must ensure that there is a literal pool within range of the
LDR instruction generated by the assembler.