回 帖 发 新 帖 刷新版面

主题:请教:CALL RET

CALL 调用子程序 
  子程序以RET结束,并且返回主程序
         这里的调用子程序,是不是类似与C里面的函数调用??

回复列表 (共6个回复)

沙发

还有,
   CALL与RET是如何配对的呢??   就是说万一要实现嵌套调用,该怎么用??
CALL
  RET
 CALL 
   RET
  ...

板凳

不是类似,而是就是这样,C的函数调用就是用CALL的。

call与ret可以嵌套,只要运行ret的次数与call的次数对应即可。

3 楼

楼上的
这可不一定啊,在一个子程序里面可以有多个ret的,呵呵

4 楼

楼上的,你看清楚我写的东西没?偶写的是“运行ret的次数”,不是ret存在的次数!

5 楼

楼上大哥们:
   子程序中可以出现多个 RET??  RET不是返回调用它的程序中么? 要是有多个RET
怎么处理 ,  例如:
C :                  -----------     ASM(汇编不会写,不知对不??):
main()                                   CALL a
{                                      a:    
  a();                                   call b   
}                                        ret      
a()                                    b:  
{                                        ret  
  b();                           这里假设a里面有多个ret  那它怎么工作的??
}                                    大哥能不能举个简单的例子嘛
b(){}  
  
         谢谢指教~!~!  谢谢!!!

6 楼

你这样写是错误的。a和b在汇编里以一个子程序名出现,不是以标号出现。例如a proc far等等。

我来回复

您尚未登录,请登录后再回复。点此登录或注册