A8 ib         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,imm16                 AND imm16 with r/m16; set SF, ZF, PF according to result

F7 /0 id         TEST r/m32,imm32                 AND 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


Description

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.


Operands        Bytes                Clocks

reg, reg            2                    1   UV

mem, reg         2+d(0,2)         2   UV

reg, mem         2+d(0,2)         2   UV

reg, imm         2+i(1,2)          1   UV

mem, imm         2+d(0,2)+i(1,2)        2   UV*

acc, imm         1+i(1,2)          1   UV


* = not pairable if there is a displacement and immediate


Flags

The OF and CF flags are cleared to 0. The SF, ZF, and PF flags are set according to the result (see the "Operation" section above). The state of the AF flag is undefined.

Created with the Personal Edition of HelpNDoc: Produce Kindle eBooks easily