- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(MSDOS软件中断与系统功能调用
MS-DOS软件中断与系统功能调用
操作系统是系统软件的核心,它负责管理计算机的所有资源,协调计算机的各种操作。操作系统和编辑程序、汇编程序、连接程序、调试程序等一系列系统实用程序一起组成微型计算机的系统软件。
MS-DOS是PC机上用得最普遍的操作系统,其主要功能可以分为两方面。一个是设备管理功能,管理显示器、键盘、磁盘、打印机、异步通信口等各种设备资源;另一个是文件管理功能,包括如何在磁盘上建立文件、删除文件、读/写文件和检索文件等。
MS-DOS采用层次化模块结构,它有基本输入/输出模块BIOS、磁盘管理模块、命令处理模块这3个主要模块。它从两个层次上向用户提供了接口,普通用户可以通过键盘命令在命令处理模块这个层次上和操作系统打交道。高级用户可以通过软件中断和系统功能调用在MS-DOS的较低层次上,即磁盘管理模块和基本输入/输出模块,和操作系统打交道。
MS-DOS能处理的命令分内部命令和外部命令两类。内部命令往往是最常用的一些命令,如目录显示命令DIR、复制文件命令COPY、文件改名命令REN等,它们所对应的命令执行模块就在COMMAND.COM程序内部。大部分命令属于外部命令,一个外部命令的处理要通过此命令所对应的一个命令文件的执行来实现。例如,我们要设计、运行用汇编语言编写的程序,就要用到下列外部命令,用编辑命令EDLIN来编辑文件,用汇编命令MASM来得到目标文件,用连接命令LINK来得到可执行文件,在程序被确认完全正确之前,还要用调试命令DEBUG进行调试。
MS-DOS的主要系统功能都是用中断处理程序的形式来提供的,用户可以按照一定的格式在指定寄存器中存放好某一适当的参数,再用一条INT中断指令,便可调用某个中断子程序,这就是利用软件中断方法来调用操作系统的功能。因为类型为21H的软件中断所对应的中断处理程序中包含了实现外部设备管理功能、文件读 / 写功能和管理功能、目录管理功能等最常用的功能子程序, 它们几乎包括了整个系统的功能,所以系统功能调用这个术语通常指对类型为21H的软件中断。
C.1 常用软件中断
常用的几个软件中断类型如表C-1所示。
表C-1 常用的软件中断 中断类型号 功 能 入 口 参 数 出 口 参 数 10H 设置屏幕 参考表C-2 1AH
设置时间和读取时间 AH=1设时间
AH=0读时间
CX、DX中为所设时间 CX和DX中为时间 20H 程序正常退出 无 无 25H
读磁盘扇区 AL=盘号
CX=所读扇区数
DX=起始逻辑扇区号
DS:BX=缓冲区首址
CF=1表示出错 26H
写磁盘扇区 AL=盘号
CX=所写扇区数
DX=起始逻辑扇区号
DS:BX=缓冲区首址
CF=1表示出错 27H 程序驻留退出 DS:DX=程序长度
1)读/写磁盘扇区的软件中断
INT 25H和INT 26H软件中断指令分别用来实现对磁盘指定扇区的读/写。这两条指令在执行时,会分别转去执行BIOS中的读磁盘扇区子程序。
调用前,必须按表C-1中要求的入口参数对指定寄存器内容进行设置。同时,应保存每个重要寄存器的内容。因为这个中断破坏除段寄存器(CS,DS,SS和ES)之外的所有寄存器的内容。
2)退出程序的软件中断
用户程序中可以分别用INT 20H和INT 27H软件中断指令来退出程序。
用INT 20H退出程序很简单,不需要任何入口参数。实际上,INT 20H指令和JMP 0指令是一样的,因为在数据段的0单元开始是程序段前缀PSP,而PSP+0、PSP+1两单元中存放的就是INT 20H指令。不过,JMP 0返回方式只能用在扩展名为COM的文件中,不能用在扩展名为EXE的文件中,因为COM文件总是小于64K,运行时,DS、CS、ES、SS的值相同,所以,JMP 0指令真正能转移到程序段前缀首部,而扩展名为EXE的文件不具备这个特点。
用户程序以INT 27H退出时,MS-DOS会把此用户程序看成是系统的一个组成部分。因此,在其它程序装配运行时,这部分用户程序不会受到覆盖。通常用户对自己编写的中断处理程序进行装配以后,常用这种方法返回控制台命令接收状态,因为这样做,MS-DOS会将用户编写的中断处理程序作为系统程序而驻留内存,所以其它用户程序可以用软件中断的方式调用这部分程序。
要注意的是用INT 27H指令前必须在DX中设置要驻留的程序长度(按字节计算)。否则,尽管会实现返回,但没有得到驻留。
3)设置时间和读取时间
用指令INT 1AH可以实现对时间的设置和读取。使用这条指令前,在AH寄存器中必须存放1或0,以指出当前是要设置时间还是读取时间。如果为设置时间,则还须在CX和DX中分别存放时间的高位字节和低位字节作为入口参数。如果是读取时间,CX
您可能关注的文档
- (LOGO释义参考.doc
- [专题复习之作文专题讲解分析3.doc
- (LOL装备的故事.doc
- [专题复习之正确使用词语.doc
- (LotusNotes文档数据库.docx
- [专题复习十七:评价诗歌的思想内容和作者的态度.doc
- (LPC20启动代码.doc
- [专题复习血液循环.doc
- [专题复习解三角形.doc
- (LR脚本如何进行参数化.doc
- 2025年智能快递驿站行业政策与市场机遇报告.docx
- 2025年校园安全防范中新能源电动巡逻车采购可行性分析.docx
- 2025年智能垃圾分类智慧监管平台在智慧旅游区的应用前景研究.docx
- 2025年智能家居报告:人工智能伦理风险的法律责任与用户隐私保护.docx
- 2025年智能垃圾分类与垃圾分类信息化管理结合的可行性研究.docx
- 2025年智慧社区远程医疗诊断中心在基层医疗机构运营管理中的应用报告.docx
- 2025年智慧社区:老年活动广场智能化升级研究.docx
- 2025年智能社区新能源电动巡逻车市场应用前景分析报告.docx
- 2025年智能垃圾分类智慧监管平台在垃圾分类回收与处理中的智能化改造路径.docx
- 2025年本土半导体材料产业链国产化战略布局报告.docx
文档评论(0)