检测位指令是把二个操作数进行逻辑“与”操作,并根据运算结果设置相应的标志位,但并不保存该运算结果,所以,不会改变指令中的操作数。在该指令后,通常用JE、JNE、JZ和JNZ等条件转移指令。
指令的格式:TEST
Reg/Mem,
Reg/Mem/Imm
受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)
例如:
TEST AX,
1 ;测试AX的第0位
TEST CL,
10101B ;测试CL的第0、2、4位
test指令和and
指令执行同样的操作,但test指令不送回操作结果,而仅仅影响标志位。
例
test
al,01;
如al的最低位为1,则zf=0,否则zf=1
test指令,一般用来检测制定位是1
还是0,而这个指定位往往对应一个物理状态
(如满意请设置最佳
谢谢)