Cod*_*aos 15
跳转本身会检查EFL寄存器中的标志.这些通常使用TEST或CMP设置(或作为许多其他指令的副作用).
CMP ebx,10
JLE there
Run Code Online (Sandbox Code Playgroud)
另请参见:CMP上的汇编语言艺术
作为旁注:您应该获得英特尔参考手册.特别是两部分"英特尔®64和IA-32架构软件开发人员手册第2卷:指令集参考",它描述了所有x86指令.
GJ.*_*GJ. 10
JLE 指令实际上一次测试两个标志:
ZF)CF)如果Carry和Zero标志为1,则执行短相对跳转.
也许只是说教义如何CMP运作.CMP指令就像SUB(减法),但目标寄存器在执行后不会更新.因此,以下代码将执行与CMP ebx,10相同的结果.CMP和SUB指令影响标志:进位,奇偶校验,辅助,零,符号和溢出标志.
push ebx //store ebx value to stack
sub ebx, 10
pop ebx //restore ebx value from stack
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56250 次 |
| 最近记录: |