加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

push ds    sub ax,ax      push ax的作用

(2011-04-28 17:15:57)
标签:

杂谈

分类: 学习

在汇编很多程序都可以看到这三条指令

push ds

sub ax,ax

push ax

一直不明白有什么用,今天上汇编实验,借机问了老师。

其实这三条指令是为了在程序结束时用RET指令返回DOS做准备,这是一种工作方式。

在由DOS调用,进入程序后,首先把DS的内容和0作为段地址和偏移地址入栈,以便在程序结束时用RET指令返回DOS。

如果在主程序开始时没有用上面三条指令,在堆栈段中建立返回信息,则在程序结束时就不能直接用RET返回指令,而应该使用编号为4C的功能调用返回DOS,如下所示:

 mov  ax,4c00h

 int  21h

这种方式用得更加普遍。 

这些内容在可蹦145页的说明里面有提到。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有