TEST - Test For Bit Pattern
//位测试指令
Usage: TEST dest,src
//用法:TEST dest,src
Modifies flags: CF OF PF SF ZF (AF undefined)
//受影响的标志位有:
//你要注意的是这一部位才对。你上面的指令test eax,eax后面跟着的是jnz指令,jnz指令作用于零标志位的,若零标志位不为零则跳,所以test eax,eax是测试eax是否为零的指令,若eax有数据,不管是什么数据(111也好,101也好),jnz都会跳。
//更新一下,若eax有数据,不管是111也好,222也好,只要他们两个操作数作逻辑与运算之后,结果不为零,则jnz都会跳。而jz则不跳。
CF //进位标志,主要作用于JC/JNC指令。
OF //溢出标志,主要作用于JO/JNO指令
PF //奇偶标志,主要作用于JP/JPE/JNP/JPO指令
SF //符号标志,主要作用于JS/JNS指令
ZF //零标志,主要作用于JZ/JE/JNZ/JNE指令
AF //辅助进位标志,不过未定义。
Performs a logical AND of the two operands updating the flags
//执行两个操作数的逻辑与运算,并更新标志位。
register without saving the result.
//该操作只修改标志位,不保留运算结果值。