《DOS功能调用》PPT课件

《DOS功能调用》PPT课件

ID:41110171

大小:653.01 KB

页数:33页

时间:2019-08-16

《DOS功能调用》PPT课件_第1页
《DOS功能调用》PPT课件_第2页
《DOS功能调用》PPT课件_第3页
《DOS功能调用》PPT课件_第4页
《DOS功能调用》PPT课件_第5页
资源描述:

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

1、《微型计算机原理与接口技术》第5版第4章汇编语言程序设计§4.2DOS系统功能调用和BIOS中断调用4.2.1概述4.2.2DOS系统功能调用4.2.3BIOS中断调用4.2.1概述磁盘操作系统DOS采用模块化、层次化结构,其层次结构如图4.4所示。4.2.1概述组成DOS的各主要模块的功能:系统硬件主要指I/O设备,如CRT显示器、打印机、键盘、硬盘和鼠标等。基本输入输出系统BIOS(BasicInputOutputSystem)包含了能直接与底层硬件打交道的设备驱动程序。此外还包含系统设置信息、开机后自检程

2、序和系统自启动程序。利用中断调用指令INTn,可以直接调用BIOS中的外设驱动程序,实现对主要I/O设备的控制管理。DOS核心MSDOS.SYS该模块以BIOS为基础,为用户提供一大批可以直接使用的服务程序,这组服务程序称为DOS系统功能调用。可用INT21H指令来调用,并以功能号来区分不同的服务程序。它们主要用来实现文件管理、存储器管理及设备管理等,功能比BIOS更齐全、更完整。命令处理程序COMMAND.COM该模块以可执行命令文件的形式存放在系统盘上,它执行后便给出DOS命令提示符“>”,由它接收用户在此

3、提示符下键入的命令,进行分析处理后,让机器执行各种应用程序,并在CRT上显示执行结果。4.2.1概述4.2.2DOS系统功能调用4.2.3BIOS中断调用4.2.2DOS系统功能调用1.中断处理程序分类8086CPU可处理256类中断,利用INTn指令,可直接调用256个系统已编写好的中断处理程序。INTn指令中的类型号n=00~FFH;n=00~04H为专用中断,处理除法错、单步、不可屏蔽中断NMI、断点、溢出中断;n=10H~1AH、2FH、31H、33H为BIOS中断,即保存在系统ROMBIOS中的BIO

4、S功能调用。1.中断处理程序分类n=20H~2EH为DOS中断,应用DOS提供的功能程序来控制硬件,可对显示器、键盘、打印机、串行通信等字符设备提供输入输出服务。例如:n=20H为程序结束中断,利用INT20H中断可返回DOS操作系统。n=21H则为功能最强大的DOS中断,它包含了很多子功能,给每个子功能程序赋一个编号,称为功能号,调用前要送到AH寄存器中。2.DOS系统功能调用方法DOS系统功能调用的步骤:1)功能调用号送到AH寄存器中,AH=00~6CH。2)入口参数送到指定的寄存器中,一种功能调用又包含多

5、个子功能,有些调用不带参数。3)执行INT21H指令。4)得到出口参数,或将结果显示在CRT上。部分DOS功能调用见表4.4(看书)。3.DOS系统功能调用举例1)DOS键盘功能调用利用DOS功能调用,可将读入的键值送进AL,并显示在CRT上,或检查是否有键压下等,还可将从键盘输入的一串字符输入到内存缓冲区中。例4.18DOS功能调用1,等待从键盘输入一个字符。MOVAH,01H;AH功能调用号01HINT21H;AL读入键值,并显示该字符若有键压下,读入键值,并检查是否为Ctrl-Break键?若是,自动调用

6、INT23H中断,执行退出命令;否则将键值送入AL,并显示该字符。3.DOS系统功能调用举例例4.19交互式程序中,用户键入字母键Y或N,分别转入不同的程序去处理,并在CRT上显示键入字符;若按了Ctrl-Break,则结束程序,否则继续等待。GET_KEY:MOVAH,01H;AH功能调用号01HINT21H;AL读入键值CMPAL,‘Y’;键值是Y吗?JEYES;是,转YESCMPAL,‘N’;不是Y,是N吗?JENO;是,转NOJNEGET_KEY;不是N,返回继续等待YES:┇;按Y键的处理程序NO:

7、┇;按N键的处理程序3.DOS系统功能调用举例例4.20DOS功能调用6,控制台I/O(控制台指键盘和CRT),不检查是否按了Ctrl-Break键。MOVAH,6;6号功能调用MOVDL,0FFH;DL=FFH,键盘输入INT21H当调用时DL=FFH,表示从键盘输入字符。执行后,若ZF=0,则AL中为输入字符的键值;若ZF=1,表示无键压下,AL中不是键值。如果调用时DL≠FFH,表示从屏幕输出字符。3.DOS系统功能调用举例例4.21利用0AH号DOS功能调用,将键入字符送输入缓冲区。调用前预先定义一个缓

8、冲区,首地址为:DS:DX。缓冲区的第一个字节由用户指定,存放缓冲区最大容量(字节数);第二个字节保留,功能调用后存放实际键入的字符个数;从第三个字节开始存入键盘输入的实际字符的ASCII码,直到击了ENTER键为止。若键入的字符数小于最大字节数,缓冲区其余部分都填0;若大于最大字节数,则后键入的字符丢失,并发出嘟嘟声。程序如下:DATASEGMENTBUFFDB50;定义缓冲区最大5

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

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

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