at&t 语法中 JL 是什么意思?

问题描述 投票:0回答:3

我正在为学校做一个项目,但我找不到任何关于

JL
在 at&t 语法中的含义的信息。作为参考,问题是找到
%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
)。我不想作弊,我只是想了解发生了什么。例如,在使用数学时,您会更改第一个数字还是第二个数字?非常感谢大家的帮助。

assembly x86 att
3个回答
12
投票

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

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

CMP %eax,%ebx
JL L1

用 AT&T 语法解释是:“如果 EBX 的内容小于 EAX 的内容,则跳转到标签 L1” - 而不是前面提到的相反。


2
投票

jl(跳到小于,签名) 维基


-2
投票

那就是汇编语言,

JL
Jump if Less

这也适用于 x86 汇编语言。

 CMP %eax,%ebx 
 JL L1

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

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

参见 - 装配 - CMP 后的 JG/JNLE/JL/JNGE

© www.soinside.com 2019 - 2024. All rights reserved.