This is specified when a 48-bit instruction with a 32-bit imm is to be explicitly used.
If the instruction is executed in syntax "mov imm, reg2", and reg2 is r0, the assembler generates a 48-bit mov machine instruction. |
If the following is specified as imm in syntax "mov imm, reg2" and reg2 is not r0, the assembler executes instruction expansion to generate one machine instruction. |
Absolute expression exceeding the range of -16 to +15, but within the range of -32,768 to +32,767 |
If all the lower 16 bits of the value of imm are 0
Relative expression having !label or %label, or that having $label for a label with a definition in the sdata/sbss-attribute section |
mov !label, reg |
movea !label, r0, reg |
mov %label, reg |
movea %label, r0, reg |
mov $label, reg |
movea $label, r0, reg |
Relative expression having #label or label, or that having $label for a label having no definition in the sdata/sbss-attribute sectionNote |