当前位置:编程学习 > 汇编语言 >>

汇编问题

这是易语言模块调用一个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进栈里面了。
如果 是在没有的话,那就还有一种可能,就是主函数要求有返回值、

上一个:请教汇编高手
下一个:我这里有本题库我想把它编译成驾校一点通那样的程序该怎么办?用什么软件?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,