JL在语法上的含义是什么?

时间:2014-11-17 21:32:59

标签: att

我正在为一所学校的项目工作,我找不到JL在语法上的含义。作为参考,问题是在%eax运行时找到NOP的值。以下是它使用的代码:

MOV $492,%ebx
MOV $2494,%eax
MOV $28063,%ecx
CMP %eax,%ebx
JL L1
JMP L2
L1:
IMUL %eax,%ebx
ADD %eax,%ebx
MOV %ebx,%eax
SUB %ecx,%eax
JMP L3
L2:
IMUL %eax,%ebx
SUB %eax,%ebx
MOV %ebx,%eax
ADD %ecx,%eax
L3:
NOP

我还要感谢JMP所做的事情以及加法/减法/乘法的工作原理(ADD / SUB / IMUL)。我不想作弊,我只是想了解发生了什么。例如,在使用数学时,您是更改第一个数字还是第二个数字?非常感谢你们的帮助。

3 个答案:

答案 0 :(得分:5)

不幸的是,由于声誉不佳,我无法发表评论。但是,上述答案并不完全正确。

以AT& T语法给出代码的信息对于给出正确答案是至关重要的,因为操作数以AT& T语法切换。实际上,代码是什么

CMP %eax,%ebx
JL L1
在AT& T语法中解释的

确实是:"如果EBX的内容小于EAX的内容,则跳转到标签L1" - 而不是前面提到的其他方式。

答案 1 :(得分:2)

jl(跳转小于,签名) wiki

答案 2 :(得分:1)

这是一种语言,JLJump if Less

这也适用于x86汇编语言。

 CMP %eax,%ebx 
 JL L1

我们将EAX与EBX进行比较,然后根据比较结果我们跳转到L1。

更具体 - 如果EAX的内容小于EBX的内容,请跳转到标签L1

请参阅 - Assembly - JG/JNLE/JL/JNGE after CMP