在汇编中,方括号似乎与C编程语言中的[]含义相同。它们用于取消引用指针。取消引用指针意味着要引用特定的内存位置来读取或写入它。*
因此,在 a 的情况下使用方括号是非常合乎逻辑的MOV。但他们也将其用于 LEA 的逻辑原因是什么?
LEA EAX, [EBP -4],看起来像取消引用指针,EBP - 4,以引用指向的内存位置,但它不会读取该位置中包含的值,而是读取地址。
我对此有点困惑。你能给我正确的思考方式吗?与取消引用的概念有任何联系
吗?LEA显然不是为了读取内存,而是主要指代内存位置,不是为了它的值,而是为了它的地址。我不希望这成为一个哲学问题。
是否存在某种方法可以在 Visual Studio 中找到特定地址?当我反汇编我的 C++ 代码时,当一个函数被调用时(例如 call 6A25DDA4 )我想去那个地址,但我不明白如何到达它,除非向上或向下移动栏。我想直接输入地址并找到它。