Push myVar 、 Push [myVar] 和 Push OFFSET myVar 之间的区别

srh*_*snl 2 assembly reverse-engineering masm

我是装配新手,正在使用 MASM。我看到这些代码行并想知道它们之间有什么区别

a) push myVar

b) push [myVar]

c) push OFFSET myVar
Run Code Online (Sandbox Code Playgroud)

我如何知道他们是否正在推送 myVar 的值或地址 谢谢!

最好的问候,谢谢

Pie*_*aud 5

push myVar只是将你的 var 压入堆栈。

push [myVar]正在取消引用您的变量。如果 myVar 是一个指针,则此代码会将该地址处的值压入堆栈。

我不确定最后一个,但似乎它的作用相反,push OFFSET myVar即将地址压myVar入堆栈。