DOS系统功能调用.ppt

DOS系统功能调用.ppt

ID:56527532

大小:207.00 KB

页数:11页

时间:2020-06-27

DOS系统功能调用.ppt_第1页
DOS系统功能调用.ppt_第2页
DOS系统功能调用.ppt_第3页
DOS系统功能调用.ppt_第4页
DOS系统功能调用.ppt_第5页
资源描述:

《DOS系统功能调用.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、为了了解程序运行过程中的情况,应设法将运算结果显示到显示器上,最简单的方法就是调用操作系统的I/O子程序,我们称为DOS功能调用。DOS为程序设计人员提供了许多可直接调用的功能子程序。调用时需要使用软中断指令:INTn其中:n为中断调用类型号,其值为00~FFH。在使用INT指令前,应将调用的功能号送入AH,有关入口参量送入指定寄存器中。若有出口参量,中断调用返回后,结果在指定的寄存器或存储单元中。DOS功能子程序的调用使用软中断指令“INT21H”。DOS共有84个功能子程序。这些子程序的主要功

2、能是:磁盘的读写控制、文件操作、目录操作、内存管理、基本输入输出管理及设置/读出系统日期、时间等。DOS功能子程序的调用下面例举部分常用的DOS功能子程序。1.带显示的键盘输入(1号功能)该功能子程序等待键盘输入,直接按下一个键(即输入一个字符),把字符的ASCII码送入AL,并在屏幕上显示该字符。如果按下的键是Ctrl-C组合键,则停止程序运行。如果按下TAB制表键,屏幕上光标自动扩展到紧接着的8个字符位置后面。1号功能调用,不需要入口参量,出口参量在AL中。如:MOVAH,01HINT21HD

3、OS功能子程序的调用(续)2.不带显示的键盘输入(7号功能)与1号功能类似,它仅等待键盘输入一个字符,并将字符的ASCII码送入AL中。但按下Ctrl-C组合键和TAB制表键无反应。调用方法如下:MOVAH,7INT21HDOS功能子程序的调用(续)DOS功能子程序的调用(续)3.字符串输入(0AH号功能)等待从键盘输入字符串,并存入设定的缓冲区内,同时回显字符串,光标随着移动,回车符使光标回到行首。调用方法如下:MOVAH,0AHINT21H缓冲区第一个字节存放它能保存的最大字符数(1~255,

4、不能为‘0’!),该值由用户程序自己事先设置。如果键如的字符数比此数大,那就会发出“嘟嘟”声,而且光标不再向右移动。缓冲区第二个字节存放用户本次调用时实际输入的字符数(回车键除外),这个数由DOS返回时自动填入。用户从键盘输入的字符从第三个字节开始存放,直到用户输入回车键为止,并将回车键码(0DH)加在刚才输入字符串的末尾上。调用时,用DS:DX寄存器指向输入缓冲区的段基值:偏移量。例如在数据区定义的字符缓冲区如下:MAX_LENDB18ACT_LENDB?STRINGDB18DUP(0)DOS功

5、能子程序的调用(续)则输入串的指令如下:MOVAX,SEGMAX_LENMOVDS,AXMOVDX,OFFSETMAX_LENMOVAH,0AHINT21HDOS功能子程序的调用(续)4.字符显示(2号功能)本功能子程序仅在屏幕上显示单个字符。要显示字符的ASCII码存放在DL中。如果DL中存放退格键编码,在屏幕上便向左移一个字符位置,并使该位置成为空格。移动后光标停留在那里。如要显示字符‘A’,可用下列几条指令调用:MOVDL,‘A’MOVAH,2INT21H5.字符打印(5号功能)5号功能子程

6、序把DL中的字符(ASCII码)送入打印机接口,打印输出。功能调用为:MOVDL,‘A’MOVAH,5INT21HDOS功能子程序的调用(续)6.字符串显示(9号功能)9号功能子程序能在屏幕上显示多于一个的字符串。要显示的字符串必须先放在内存一数据区中,且字符串以美元符号‘$’作为结束标志。非显示字符,可以用它的ASCII码插入字符串中间。进行9号功能调用时,先把待显示的字符串首地址的段基值和偏移量分别存入DS和DX中。在数据段中定义一个待显示符号串如:STRINGDB“THISISAPROGRA

7、M”,0AH,0DH,“$”则显示该符号串的指令为:LEADX,STRINGMOVAH,9INT21HDOS功能子程序的调用(续)7.取中断向量(35H号功能)35H号功能把由AL指定的中断类型号的中断向量从中断向量表中取到ES:BX中。即必须把要取出的中断类型号N送给AL,调用35H功能后,与中断类型号N对应的中断向量则保存在ES:BX中。其调用示例如下:MOVAL,NMOVAH,35HINT21H8.设置中断向量(25H号功能)25H号功能把由AL指定的中断类型的中断向量DS:DX放置在中断向

8、量表中。具体设置过程为:首先将要设置的中断类型号送AL,然后把要设置的中断服务程序的段地址和偏移量分别送DS、DX,最后再调用25H功能。典型的使用DOS功能调用存取中断向量的程序段如下:……MOVAL,N;取出并保存原中断向量MOVAH,35HINT21HPUSHBXDOS功能子程序的调用(续)PUSHESPUSHDSMOVAX,SEGINTERRUPTMOVDS,AXMOVDX,OFFSETINTERRUPTMOVAL,NMOVAH,25HINT21HPOPDS……POPDSD

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。