获取 x86 汇编语言中变量的位置

And*_*een 2 x86 assembly

在x86汇编语言中,是否可以确定变量在内存中的位置?

在这里,我试图找到 X 在内存中的位置,以便我可以找到紧随其后的地址存储的值。

.686p
.model flat,stdcall
.stack 2048

.data
X   byte         "1234"

ExitProcess proto, exitcode:dword
.code
start:

mov ah, X;
;now how can I obtain the location of X in memory?

invoke  ExitProcess, 0
end start ;what does the end statement do?
Run Code Online (Sandbox Code Playgroud)

Ale*_*nze 5

使用lea指令,例如:

lea edx, byte ptr x
Run Code Online (Sandbox Code Playgroud)

  • 正是您所要求的,获取变量“x”的地址。然后将其存储在`edx`中。来吧,下载CPU手册,都有。 (3认同)