test属于逻辑运算指令,其功用为功用执行BIT与BIT之间的逻辑运算和测试功用(两操作数作与运算,仅修正标志位,不回送结果)。
Test对两个参数(目标,源)执行AND逻辑操作,并依据结果设置标志寄存器,结果自身不会保管。EST AX, BX与AND AX, BX命令有相同效果。TEST语法规格:TEST r/m,r/m/data。其影响标志包括:C,O,P,Z,S(其中C与O两个标志会被设为0)。
test的运用举例:应用Test指令测试一个位,例如寄存器:
test eax, 100b;/b后缀意为二进制/
jnz ******;/假如eax右数第三个位为1,jnz将会跳转/
jnz跳转的条件非0,即ZF=0,ZF=0意味着零标志没被置位,即逻辑与结果为1。
扩展材料
与汇编指令test功用相仿的还有cmp指令,CMP属于算术运算指令,其功用为功用为比拟两个值(寄存器,内存,直接数值),与Test指令的测试功用相仿,其语法格式为CMP r/m,r/m/data,影响的标志位包括C,P,A,Z,O。
CMP比拟.(两操作数作减法,仅修正标志位,不回送结果)。cmp实践上是只设置标志不保管构造的减法,并设置Z-flag(零标志)。零标志很像carry,也是内部标志寄存器的一位。
相关文章