AND AX, loc16, #16bit
6-45
AND AX, loc16, #16bit Bitwise AND
SYNTAX OPTIONS OPCODE OBJMODE RPT CYC
AND AX, loc16, #16bit 1100 110A LLLL LLLL
CCCC CCCC CCCC CCCC
X − 1
Operands AX Accumulator high (AH) or accumulator low (AL) register
loc16 Addressing mode (see Chapter 5)
#16bit 16-bit immediate constant value
Description Perform a bitwise AND operation on the 16-bit contents of the location pointed
to by the “loc16” addressing mode with the specified 16-bit immediate
constant. The result is stored in the specified AX register:
AX = [loc16] AND 16bit;
Flags and
Modes
N The load to AX is tested for a negative condition. If bit 15 of AX is 1, then the
negative flag bit is set; otherwise it is cleared.
Z The load to AX is tested for a zero condition. The zero flag bit is set if the
operation generates AX = 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
; Branch if either of Bits 2 and 7 of VarA are non-zero:
AND AL,@VarA,#0x0084 ; AL = VarA AND 0x0084
SB Dest,NEQ ; Branch if result is non-zero
; Merge Bits 0,1,2 of VarA with Bits 8,9,10 of VarB and store in
; VarC in bit locations 0,1,2,3,4,5:
AND AL,@VarA,#0x0007 ; Keep bits 0,1,2 of VarA
AND AH,@VarB,#0x0700 ; Keep bits 8,9,10 of VarB
LSR AH,#5 ; Scale back bits 8,9,10 to bits 3,4,5
OR AL,@AH ; Merge bits
MOV @VarC,AL ; Store result in VarC