两个小问题,望高手仔细回答!
1.在一个子程序中调用另一个子程序,内容如下:
invoke _RegisterProc,addr @Buffer,addr @lpResult,Length
_RegisterProc proc Buffer,Result,Length
。
。
。
_RegisterProc endp
结果不能够编译,于是删除Length(第三个参数),之后程序编译通过,
但是因为我必须要传三个参数,于是将第三个参数改为addr Length结果,编译又不能够通过,
为什么呢?难道子程序对参数的个数有限制吗?
2。_RegisterProc proc Buffer,Result,Length
local @MyVal
。
。
_RegisterProc endp
这样定义的一个局部变量在程序中如果有这样的语句:mov eax,@MyVal它传入的值为什么意义?
还有如果是这样:mov eax,Buffer(是程序的参数,传入的是地址),那么它的意义又是什么?
望高手仔细回答这个问题,在此谢过了!