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
MVNinstruction, the assembler generates the appropriate instruction.
- If the immediate value cannot be constructed with a single
MVNinstruction, the assembler:
- Places the value in a literal pool (a portion of memory embedded in the code to hold constant values).
- Generates an
LDRinstruction with a PC-relative address that reads the constant from the literal pool.
n, [pc, #offset to literal pool] ; load register
nwith one word ; from the address [pc + offset]
You must ensure that there is a literal pool within range of the
LDRinstruction generated by the assembler.