可能重复:
LEA指令的目的是什么?
LEA指令?
所以我正在为类进行二进制炸弹分配(它有一堆阶段,你必须逐步执行程序的汇编代码并找到密码来解码"炸弹").
我无法完成当前阶段,因为我不理解lea命令.我已经读过它通常用于算术,但我只是不明白它是如何做到的.
我正在看的命令是
lea -0x18(%ebp), %ebx
lea -0x8(%ebp), %esi
Run Code Online (Sandbox Code Playgroud)
接下来是
mov -0x4 (%ebx), %eax
add -0x8(%ebx), %eax
Run Code Online (Sandbox Code Playgroud)
在下一行eax和ebx进行比较,如果它们等于程序继续,否则炸弹爆炸.
我已经足够了解这个阶段知道它想要6个数字,前两个是0和1.之后它做了一些操作来确定序列的其余部分是否正确(我假设lea命令是什么我需要解码才能找到下一个数字).
现在我找不到的是-0x18特别指的是什么.什么是负号呢?它表示减法吗?它在ebp之前看起来是18个字节吗?
感谢您的帮助.
我是计划的新手,但能够在 emacs 中运行它。我喜欢在 emacs 的一个缓冲区中打开文件,并在另一个缓冲区中打开球拍解释器,以便我可以在编写时进行测试等。问题是,每次我想测试某些内容时,我都必须保存文件(没什么大不了的),然后使用(输入!“程序名”)将其重新加载到解释器中。
有没有办法让它在每次保存文件时自动重新加载?每次我更改某些内容时都必须手动重新加载文件,这真的很乏味,特别是因为我仍在学习方案,所以我必须来回进行很多更改。非常感谢任何帮助,谢谢!