此图像中带下划线的 mov 指令的操作数是什么意思?

What does the operand of this mov instruction underlined in this image mean?

上图连同标题完全概括了我的问题:-)

额外详情(如有必要): 我假设以上信息足以回答问题,所以如果您知道答案并且希望停止阅读问题的其余部分,那完全没问题。

我试图了解当 C 函数返回结构时会发生什么。这是 Dennis Yurichev 的“初学者逆向工程”第 139 页(返回结构)中的示例。

我知道 _a$ 和 $T3853 是宏,但我不明白在宏被它们的值替换后指令实际上做了什么。

见上,_a$$T3853分别是定义为值12和8的符号。所以

mov ecx, DWORD PTR _a$[esp-4]

相同
mov ecx, DWORD PTR 12[esp-4]

mov ecx, DWORD PTR [esp-4+12]

mov ecx, DWORD PTR [esp+8]