What does JL mean in at&t syntax?

三世轮回 提交于 2019-12-23 03:14:56

问题


I'm working on a project for school and I cannot find anything on the what JL means in at&t syntax. For reference, the question is to find the value of %eax when NOP runs. Here is the code it's used in:

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

Also I would appreciate what JMP does as well as how the addition/subtraction/multiplication works (ADD/SUB/IMUL). I don't want to cheat, I just want to understand what's happening. For example, do you change the first number or the second when using math? Thank you all so much for helping.


回答1:


That is assemply language , JL is Jump if Less

This also works in x86 assembly language.

 CMP %eax,%ebx 
 JL L1

We compare EAX to EBX, then we'll jump to L1 depending on that comparison.

More specific - If the contents of EAX are less than the contents of EBX, jump to the label L1

See - Assembly - JG/JNLE/JL/JNGE after CMP




回答2:


Unfortunately, I can't comment due to low reputation. However, the above answers are not fully correct.

The information that the code is given in AT&T syntax is crucial to give the correct answer, since the operands are switched in AT&T syntax. In fact, what the code

CMP %eax,%ebx
JL L1

interpreted in AT&T syntax does is: "If the contents of EBX are less than the contents of EAX, jump to the label L1" - and not the other way round as mentioned before.




回答3:


jl (jump on less than, signed) wiki



来源:https://stackoverflow.com/questions/26982366/what-does-jl-mean-in-att-syntax

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!