汇编问题
这是易语言模块调用一个CALL
置代码()
push_常数(215023184)
Mov_ecx_dword_常数(285991232)
Mov_eax_dword_常数(4594320)
call_eax()
ret()
代码=取代码()
为什么CALL完后要加个返回,返回到哪里?CALL不是本身自带返回的么?
答案:先不说CALL完后要加个返回,返回到哪里,
我们先分析 CALL不是本身自带返回的么?
CALL 调用函数后返回。
相当于、
Mov_eax_dword_常数(4594320)
-------------------------------------------------
;call_eax()的调用
;函数体
;然后返回。。
--------------------------------------------------
ret()
CALL完后要加个返回,返回到哪里?
CALL完成后返回。只能返回到上一层的函数。
你应该知道CALL的工作机制。
先将原地址压入栈,然后RET返回原地址。
既然后面还有返回,那么说明以前肯定有CALL或者是有一个操作将地址信息。8字节的信息PUSH进栈里面了。
如果 是在没有的话,那就还有一种可能,就是主函数要求有返回值、
上一个:请教汇编高手
下一个:我这里有本题库我想把它编译成驾校一点通那样的程序该怎么办?用什么软件?