主题:请教:CALL RET
qiuyishuaige
[专家分:150] 发布于 2006-04-22 18:54:00
CALL 调用子程序
子程序以RET结束,并且返回主程序
这里的调用子程序,是不是类似与C里面的函数调用??
回复列表 (共6个回复)
沙发
qiuyishuaige [专家分:150] 发布于 2006-04-22 18:57:00
还有,
CALL与RET是如何配对的呢?? 就是说万一要实现嵌套调用,该怎么用??
CALL
RET
CALL
RET
...
板凳
C语言爱好者 [专家分:19410] 发布于 2006-04-22 20:50:00
不是类似,而是就是这样,C的函数调用就是用CALL的。
call与ret可以嵌套,只要运行ret的次数与call的次数对应即可。
3 楼
Runking [专家分:370] 发布于 2006-04-22 20:59:00
楼上的
这可不一定啊,在一个子程序里面可以有多个ret的,呵呵
4 楼
C语言爱好者 [专家分:19410] 发布于 2006-04-22 21:29:00
楼上的,你看清楚我写的东西没?偶写的是“运行ret的次数”,不是ret存在的次数!
5 楼
qiuyishuaige [专家分:150] 发布于 2006-04-22 22:48:00
楼上大哥们:
子程序中可以出现多个 RET?? RET不是返回调用它的程序中么? 要是有多个RET
怎么处理 , 例如:
C : ----------- ASM(汇编不会写,不知对不??):
main() CALL a
{ a:
a(); call b
} ret
a() b:
{ ret
b(); 这里假设a里面有多个ret 那它怎么工作的??
} 大哥能不能举个简单的例子嘛
b(){}
谢谢指教~!~! 谢谢!!!
6 楼
C语言爱好者 [专家分:19410] 发布于 2006-04-23 00:15:00
你这样写是错误的。a和b在汇编里以一个子程序名出现,不是以标号出现。例如a proc far等等。
我来回复