可能重复:
What’s the purpose of the LEA instruction?
LEA instruction?无法理解装配指令“加载有效地址”
所以我正在上课的二进制炸弹分配(它有一堆阶段你必须浏览一个程序的汇编代码并找到解密“炸弹”的密码)。
我无法完成当前阶段,因为我不了解lea命令。我读过它通常用于算术,但我不明白它是如何做到的。
我看着特别的命令是跟随
lea -0x18(%ebp), %ebx
lea -0x8(%ebp), %esi
在下一行EAX和EBX一个
mov -0x4 (%ebx), %eax
add -0x8(%ebx), %eax
进行比较,如果相等,程序继续,否则炸弹就会爆炸。
我已经足够了解这个阶段,知道它需要6个数字,前两个是0和1.之后,它会做一些操作来确定序列的其余部分是否正确(我假设lea命令是我需要解码才能找到下一个数字)。
现在我无法找到的是-0x18特别指的是什么。负面信号是做什么的?它表明减法?它在ebp之前看了18个字节?
感谢您的任何帮助。