读书人

带参数的子程序返回有关问题

发布时间: 2012-02-11 09:51:35 作者: rapoo

带参数的子程序返回问题

myp proc,x:dword
...
ret
myp endp

如上,有一个参数的子程序,里面应该用RET还是RET 4?CALL的时候是要有个PUSH参数的吧

[解决办法]
直接用ret就好了,掉用的候用invoke
Invoke【函名】【,1】【,2】
[解决办法]
这个由编译器为你生成,你可以看一下实际反汇编后ret后面的数字。
[解决办法]
编译器会按照你定义的编译类型(STDCALL)对你的函数进行编译,达到堆栈的平衡;但是如果你自己再去做一遍的话,就会造成堆栈不匹配了;你自己的写的函数,只要保证函数中被你用到的堆栈离开时候恢复好就行了,参数传递的动作,编译器会帮助你完成的

读书人网 >汇编语言

热点推荐