3-688
INSTRUCTION SET REFERENCE
TESTLogical Compare
Description
This instruction computes the bit-wise logical AND of first operand (source 1 operand) and the
second operand (source 2 operand) and sets the SF, ZF, and PF status flags according to the
result. The result is then discarded.
Operation
TEMP
<
SRC1 AND SRC2;
SF
<
MSB(TEMP);
IF TEMP = 0
THEN ZF
<
1;
ELSE ZF
<
0;
FI:
PF
<
BitwiseXNOR(TEMP[0:7]);
CF
<
0;
OF
<
0;
(*AF is Undefined*)
Flags Affected
The OF and CF flags are cleared to 0. The SF, ZF, and PF flags are set according to the result
(refer to the Operation section above). The state of the AF flag is undefined.
Opcode
Instruction
Description
A8ib
TEST AL,imm8
AND imm8 with AL; set SF, ZF, PF according to result
A9 iw
TEST AX,imm16
AND imm16 with AX; set SF, ZF, PF according to result
A9 id
TEST EAX,imm32
AND imm32 with EAX; set SF, ZF, PF according to result
F6 /0 ib
TEST r/m8,imm8
AND imm8 with r/m8; set SF, ZF, PF according to result
F7 /0 iw
TEST r/m16,imm16AND imm16 with r/m16; set SF, ZF, PF according to result
F7 /0 id
TEST r/m32,imm32AND imm32 with r/m32; set SF, ZF, PF according to result
84 /r
TEST r/m8,r8
AND r8 with r/m8; set SF, ZF, PF according to result
85 /r
TEST r/m16,r16
AND r16 with r/m16; set SF, ZF, PF according to result
85 /r
TEST r/m32,r32
AND r32 with r/m32; set SF, ZF, PF according to result