如何使用jump family指令?
这就是他们所拥有的:
JL label
"It" jumps if it is less than or if it is not larger than or equal to.
我的问题是这句话中的it是什么??假设我有一个变量 ebx
我想跳到标签 there:
如果ebx
是 <= 10
.
具体来说,我有兴趣使用 x86跳转指令族
最佳答案
跳转本身会检查 EFL 寄存器中的标志。这些通常使用 TEST 或 CMP 设置(或作为许多其他指令的副作用)。
CMP ebx,10
JLE there
- CMP对应于计算操作数的差异,更新标志并丢弃结果。通常用于更大/更小的检查
- TEST 对应于计算操作数的二进制 AND,更新标志并丢弃结果。通常用于相等性检查。
另请参阅:The art of assembly language on CMP
作为旁注:您应该得到 Intel reference manuals 。特别是“英特尔® 64 和 IA-32 架构软件开发人员手册第 2 卷:指令集引用”两部分,其中描述了所有 x86 指令。
关于汇编 JLE jmp 指令示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4557279/