【发布时间】:2014-11-17 21:32:59
【问题描述】:
我正在为学校做一个项目,但我找不到任何关于 JL 在 at&t 语法中的含义的信息。作为参考,问题是在NOP 运行时找到%eax 的值。这是它使用的代码:
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)。我不想作弊,我只想了解发生了什么。例如,您在使用数学时是更改第一个数字还是第二个数字?非常感谢大家的帮助。
【问题讨论】:
-
如果小于就跳转?这里与其说是 AT&T 语法,不如说是 x86 指令集。
-
@AndonM.Coleman:AT&T 语法很重要,因为操作数在 AT&T 语法中切换!
标签: att