当前位置: 代码迷 >> 汇编语言 >> 程序结尾,应该用ret还是mov ah,4ch; int 21h?该如何处理
  详细解决方案

程序结尾,应该用ret还是mov ah,4ch; int 21h?该如何处理

热度:4978   发布时间:2013-02-26 00:00:00.0
程序结尾,应该用ret还是mov ah,4ch; int 21h?
Assembly code
start: jmp beginbegin:   mov ah,1   int 21h   mov ah,4ch   int 21hend start

上面是一个典型的dos程序。问题是,程序退出的时候,应该用mov ah,4ch;int 21h;还是应该用ret?
我试了一下换成ret指令,还像也可以啊

什么时候应该用ret来结束主程序? 和用mov ah,4ch;int 21h来结束主程序有什么不一样的地方?

------解决方案--------------------------------------------------------
作用不同:

mov ah,4ch ; 返回DOS
int 21h

ret ;返回调用者,常用于子程序返回。

具体的,可以参考DOS调用手册和指令手册上的官方解释。
  相关解决方案