Load a register with either a 32-bit or 64-bit immediate value or any address.
MOVL generates either two or four
instructions. If a
MOVL generates a
register is specified,
MOV followed by three
MOVK instructions. If
the assembler can load the register using a single
it additionally generates either one or three
Is the register to load with a 32-bit value.
Is the register to load with a 64-bit value.
Can be any one of the following:
label in this or another program area.
Any 32-bit or 64-bit immediate value.
A label plus a 32-bit or 64-bit immediate value.
Generate literal constants when an immediate value cannot be generated in a single instruction.
Load a PC-relative or external address into a register. The address remains valid regardless of where the linker places the ELF section containing the
NoteAn address loaded in this way is fixed at link time, so the code is not position-independent.
MOVL w3, #0xABCDEF12 ; loads 0xABCDEF12 into w3 MOVL x1, Trigger+12 ; loads the address that is 12 bytes higher than ; the address Trigger into x1