- | The and, or, and xor instructions of the device should be specified in the following formats. |
- | In asrh, the following formats can also be used in addition to the above. |
- | If the following is specified for imm in syntax "and imm, reg2", "or imm, reg2", and "xor imm, reg2", the assembler executes instruction expansion to generate one or more machine instructions. |
(b) | Absolute expression having a value in the range of 1 to 65,535 |
|
|
and imm16, reg
|
andi imm16, reg, reg
|
(c) | Absolute expression having a value in the range of -16 to -1 |
|
|
and imm5, reg
|
mov imm5, r1
and r1, reg
|
(d) | Absolute expression having a value in the range of -32,768 to -17 |
|
|
and imm16, reg
|
movea imm16, r0, r1
and r1, reg
|
(e) | Absolute expression exceeding the above ranges |
If all the lower 16 bits of the value of imm are 0
|
|
and imm, reg
|
movhi HIGHW(imm), r0, r1
and r1, reg
|
Else
|
|
and imm, reg
|
mov imm, r1
and r1, reg
|
(f) | Relative expression having !label or %label |
|
|
and !label, reg
|
andi !label, reg, reg
|
and %label, reg
|
andi %label, reg, reg
|
(g) | Relative expression having $label for a label having a definition in the sdata/sbss-attribute section |
|
|
and $label, reg
|
movea $label, r0, r1
and r1, reg
|
(h) | Relative expression having #label or label, or that having $label for a label having no definition in the sdata/sbss-attribute section |
|
|
and #label, reg
|
mov #label, r1
and r1, reg
|
and label, reg
|
mov label, r1
and r1, reg
|
and $label, reg
|
mov $label, r1
and r1, reg
|