AND ACC,#16bit << #0..16
6-43
AND ACC,#16bit << #0..16 Bitwise AND
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
AND ACC, #16bit << #0..15 0011 1110 0000 SHFT
CCCC CCCC CCCC CCCC
1 − 1
AND ACC, #16bit << #16 0101 0110 0000 1000
CCCC CCCC CCCC CCCC
1 − 1
Operands ACC Accumulator register
#16bit 16-bit immediate constant value
#0..16 Shift value (default is ”<< #0” if no value specified)
Description Perform a bitwise AND operation on the ACC register with the given 16-bit
unsigned constant value left shifted as specified. The value is zero extended
and lower order bits are zero filled before the AND operation. The result is
stored in the ACC register:
ACC = ACC AND (0:16bit << shift value);
Flags and
Modes
N
The load to ACC is tested for a negative condition. If bit 31 of ACC is 1, then the
negative flag bit is set; otherwise it is cleared.
Z
The load to ACC is tested for a zero condition. The zero flag bit is set if the
operation generates ACC = 0; otherwise it is cleared
Repeat This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.
Example
; Calculate the 32-bit value: VarA = VarA AND 0x0FFFF000
MOVL ACC,@VarA ; Load ACC with contents of VarA
AND ACC,#0xFFFF << 12 ; AND ACC with 0x0FFFF000
MOVL @VarA,ACC ; Store result in VarA