汇编Test cmp指令总结

1、Test

功能: 执行BIT与BIT之间的逻辑运算
Test对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器,结果本身不会保存。

TEST EAX,EBX 与 AND EAX,EBX 命令有相同效果
不同的是:前者会根据运算结果修改ZF标志寄存器,后者会把结果送回EAX
若果结果为0,ZF=1,�否则ZF=0

语法: TEST r/m,r/m/data
影响标志: C,O,P,Z,S(其中C与O两个标志会被设为0)

Test的一个非常普遍的用法是用来测试一方寄存器是否为空。

2、cmp

cmp指令则是做减法(sub)运算
对照普通的减法指令 SUB AX, BX,它们的区别就在于:
SUB指令执行过以后,原来AX中的被减数丢了,被换成了减法的结果。
CMP指令执行过以后,被减数、减数都保持原样不变。

你可能感兴趣的:(汇编Test cmp指令总结)