读书人

程序结尾应该用ret还是mov ah,4ch;

发布时间: 2012-04-09 13:41:25 作者: rapoo

程序结尾,应该用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调用手册和指令手册上的官方解释。

读书人网 >汇编语言

热点推荐