一、跳转
1、 JMP跳转:记住,JMP是无条件跳转(意思是:执行到JMP就必须跳,没有选择的余地!)
只有JMP跳转是无条件,其余的所有跳转都是有条件的。
2、对比CMP
cmp是比较指令, cmp的功能相当于减法指令,只是不保存结果。cmp指令执行后,将对标志寄存e799bee5baa6e78988e69d8331333431366334器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。
通过cmp指令执行后,相关标志位的值就可以看出比较的结果。
cmp ax,bx的逻辑含义是比较ax,bx中的值。如果执行后:
ZF=1则AX=BX
ZF=0则AX!=BX
SF=1则AX<BX
SF=0则AX>=BX
SF=0并ZF=0则AX>BX
SF=1或ZF=1则AX<=BX
3、test
test命令将两个操作数进行逻辑与运算,并根据运算结果设置相关的标志位。但是,Test命令的两个操作数不会被改变。运算结果在设置过相关标记位后会被丢弃。
Test对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器,结果本身不会保存。
TEST AX,BX 与 AND AX,BX 命令有相同效果,只是Test指令不改变AX和BX的内容,而AND指令会把结果保存到AX中。