| 
- | 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 |