Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我目前正在研究在 C/C++ 中使用一些 ASM
我有以下
__declspec(naked) unsigned long someFunction( unsigned long inputDWord ) { __asm { } }
在 asm 中,我将如何返回 unsigned long?
我需要将一些东西压入堆栈然后调用 ret 吗?我很长时间没有使用过 Asm,以前也从未使用过 C++。
谢谢!
编辑:感谢@Matteo Italia,我更正了ret.
ret
将 retval 放入eax寄存器中,这是根据__cdecl和__stdcall约定的。
eax
__cdecl
__stdcall
然后,根据调用约定,您应该使用适当的ret指令变体:
pop
jmp
ret X
X