BIOS和DOS中断功能调用.ppt
《BIOS和DOS中断功能调用.ppt》由会员分享,可在线阅读,更多相关《BIOS和DOS中断功能调用.ppt(71页珍藏版)》请在三一办公上搜索。
1、1,第五节 BIOS和DOS中断功能调用(教材旧P238、新P239)一、概述 1.BIOS和DOS中断子程层次特点2.中断类型分类3.调用方法二、BIOS功能调用1设置显示方式(10H类型,00H功能)2置光标位置(10H类型,02H功能)3清屏、清窗口(10H类型,06H或07H功能)三、DOS系统功能调用(21H类型中断调用)1显示单字符(02H功能)2显示字符串(09H功能)3单字符输入(01H、07H、08H功能)4字符串输入(0AH功能)5检测键盘状态(0BH功能)6保存中断向量(35H功能)(第六章介绍)7设置中断向量(25H功能),2,复习内容:P339P247(新),P228
2、P246(旧)预内容习:P 110P140(新),P106P134(旧),作业:,1、预习实验二,其中:任务 1、(2)(4),2必做,,任务 1、(1)(3)选做.,实验四 任务1,作为家庭作业,在计算机上调通后,经过教师检查 签字,3,2编写完整汇编语言程序,要求上机调试出来:(1)清屏,在10行5列上显示“Hello China!”(2)将0AH功能输入的字符串,用09H功能显示出来。,在DOS下执行,从键盘输入123456789回车,屏幕上能显示Hello World!吗?为什么?用在DEBUG下查看到的data段的内容来说明。,3问题回答,下面程序,汇编连接后,4,max DB 11
3、,?,4 DUP(?),data SEGMENT,string DB Hello World!,$,data ENDS,code SEGMENT,ASSUME CS:code,DS:data,start:MOV AX,data;置缓冲区地址于DS:DX,MOV DS,AX,LEA DX,max,MOV AH,0AH;调用0AH输入功能,INT 21H,LEA DX,string,MOV AH,09H;调用09H显示功能,INT 21H,MOV AH,4CH,INT 21H;返回DOS,code ENDS,END start,5,第三节 BIOS和DOS中断功能调用(教材旧P238、新P239)
4、一、概述 二、BIOS功能调用三、DOS系统功能调用(21H类型中断调用),6,一、概述1BIOS 和 DOS 中断子程层次特点2.中断类型分类3.调用方法,7,1BIOS和DOS中断子程层次特点,8,层次特点:ROM BIOS中的中断子程 使用IN/OUT指令直接控制外设,实现与外设之间的输入/输出操作,以软件形式向其上层提供服务。IO.SYS中的中断子程(称基本输入/输出BIOS模块)调用ROM BIOS的基本I/O功能,向 MSDOS.SYS提供设备驱动服务。,9,MSDOS.SYS中的中断子程(称DOS内核模块)调用IO.SYS,实现对外设的控制。与标准外设有两层隔离:IO.SYS和R
5、OM BIOS。其中21H类型的中断子程提供了丰富的系统服务,称21类型的中断调用为DOS系统(功能)调用。,10,用户编程原则尽可能使用DOS的系统功能调用,提高程序可移植性。在DOS功能不能实现情况下,考虑用BIOS功能调用。在DOS和BIOS的中断子程 不能解决问题时,使用IN/OUT指令直接控制硬件。,11,2.中断类型分类 向量表中的中断类型分为七类:处理CPU特殊操作(除0、溢出)的00H、04H类型。为DEBUG调试程序设置的单步(01H)、断点(03H)类型。处理CPU的NMI引脚信号的02H类型。非屏蔽硬中断子程 处理CPU的INTR引脚信号的080FH类型。可屏蔽类型硬中断
6、子程 用INT指令调用的中断子程 BIOS功能调用(如101AH)DOS功能调用(如 21H),12,13,中断向量分配表,14,15,16,3.调用方法,17,例1 单字符显示功能调用MOV DL,A;设置入口参数MOV AH,02H;设置功能号 INT 21H;执行中断调用 例2 单字符输入功能调用MOV AH,01H;设置功能号 INT 21H;执行中断调用CMP AL,0DH;分析、应用出口参数JZ exit、,18,二、BIOS功能调用 基本输入/输出模块BIOS:实现对输入/输出设备的控制,内含0 1CH 等类型中断子程,包括显示器、磁盘、键盘、打印机等标准外设的驱动程序。(参看中
7、断类型分配表)BIOS功能调用指对BIOS模块中的中断子程的调用。,19,有关显示器 显示器通过显卡(显示适配器)连接到计算机上。单色显示器只能显示黑白两色。彩色显示器能显示多种颜色。,20,屏幕上各象素的显示信息,存放在显示缓冲区(显存)中。,21,显示器有两种显示方式:,图形方式:将屏幕划分为 mn的点阵,在每个点的位置显示象素,一个点是一个象素。,文本方式将屏幕划分为若干行和列,在每个网格位置上显示象素,一个字符是一个象素。,22,文本方式将屏幕划分为 m列和n行(m n),在每个网格位置上显示象素,一个字符是一个象素。,23,图形方式:将屏幕划分为 mn的点阵,在每个点的位置显示象素,
8、一个点是一个象素。,24,在文本方式下,对应屏幕上的每个字符,在显示缓冲区中占用两个单元:一个存放ASCII码,一个存放显示属性。,25,例 10000111B 或 87H 表示黑底白字,闪烁 01110000B 或70H 表示白底黑字,不闪烁,26,据显存大小,可存储若干页的字符象素。例 16KB 显存能存储:8025方式,4页(0 3),802524=16000 4025方式,8页(0 7),402528=16000,27,1设置显示方式,入口参数 AL=显示方式值 00 4025 黑白文本方式 01 4025 彩色文本方式 02 8025 黑白文本方式 03 8025 彩色文本方式 04
9、 320320 彩色图形方式 功能号 AH=00H类型号 10H出口参数 无 实现功能 将显示方式设置为指定形式,例 将显示方式设置为 8025 彩色文本方式 MOV AL,03H MOV AH,00 INT 10H,28,入口参数 AL=0 CH=窗口左上角行号 CL=窗口左上角列号 DH=窗口右下角行号 DL=窗口右下角列号 BH=窗口属性功能号 AH=06H 或 AH=07H类型号 10H出口参数 无 实现功能 按给定属性清除指定的窗口内容,29,例 清除屏幕显示,将其属性置为反白(白底黑字)显示。MOV AL,0;清屏功能 MOV BH,70H;白底黑字 MOV CH,0;左上角 行号
10、MOV CL,0;左上角 列号 MOV DH,24;右下角 行号 MOV DL,79;右下角 列号 MOV AH,6;功能号 INT 10H;中断调用,30,3.置光标位置 光标控制开始显示的位置,计算机有专门的硬件控制光标的显示大小、位置。光标只在文本方式中出现,在图形方式下光标消失。,31,置光标位置 入口参数 DH=行号 DL=列号 BH=页号 功能号 AH=02H 类型号 10H 出口参数 无 实现功能 将光标设置在指定的位置,32,例 将光标设置在2行5列的位置MOV DH,2MOV DL,5MOV BH,0MOV AH,2INT 10H,33,三、DOS系统功能调用(21H类型中断
11、调用)1显示单字符(02H功能)2显示字符串(09H功能)3单字符输入(01H、07H、08H功能)4字符串输入(0AH功能)5检测键盘状态(0BH功能)6保存中断向量(35H功能)(第六章介绍)7设置中断向量(25H功能),34,1.显示单字符(02H功能)入口参数 DL=要显示字符的ASCII 码 功能号 AH=02H类型号 INT 21H出口参数 无实现功能 显示指定字符,光标随动。,例 显示字符A MOV DL,A MOV AH,02H INT 21H,35,例 使光标回到下一行的行首。MOV DL,0DH;显示回车符MOV AH,02HINT 21HMOV DL,0AH;显示换行符M
12、OV AH,02HINT 21H,36,2.显示字符串(09H功能)入口参数 定义要显示的字符串,字符串尾应为$,作为结束显示的标志。DS:DX=字符串的首地址功能号 AH=09 H类型号 21H出口参数 无实现功能 显示字符串,遇$停止显示,光标随动。,37,例 编程显示字符串 Tsinghua University,data SEGMENT;定义显示的子符串stri DB Tsinghua University,$data ENDScode SEGMENT ASSUME CS:code,DS:datastart:MOV AX,data;置缓冲区地址于DS:DX MOV DS,AX LEA
13、DX,stri MOV AH,09H;调显示功能 INT 21H MOV AH,4CH;返回DOS INT 21H code ENDS END start,38,有关键盘 键盘通过键盘接口电路与计算机连接。键盘上的键有三种类型:字符键 AZ,09等 功能键 F1F12,Page Up等 组合控制键 Shift,Ctrl,Alt等,键盘上的每个键都有一个扫描码。据扫描码可确定操作的是哪个键、是按下键还是释放键;扫描码用一个字节表示。低7位是扫描码的数字编码,与键盘上的键一一对应;最高位D7位表示键的操作状态:当按下键时,D7=0;当释放键时,D7=1,39,键盘中断子程功能(09H类型中断子程)
14、从键盘接口读取操作键的扫描码;将扫描码转换成字符码;大部分键的字符码为ASCII码,无ASCII码键(如组合键Shift、Ctrl等)的字符码为0。将键的扫描码、字符码存放在键盘缓冲区,供其它有关键盘的中断子程应用。,键盘接口对按下键和释放键均向计算机发出中断申请,如果中断响应条件满足,CPU转去执行键盘中断子程。键盘中断子程类型号为09H。,40,3.单字符输入(01H、07H、08H功能)入口参数 无 功能号 AH=01H 类型号 21H 出口参数 AL=键入字符的ASCII码 实现功能 等待从键盘输入一个字符,并在屏幕上回显,光标移动,检测Ctrl-Break键,41,例 利用键盘输入的
15、字符产生分支:MOV AH,1;等待从键盘输入 INT 21H CMP AL,Y;是Y?JZ yes CMP AL,y;是y?JZ yes no:.JMP exit yes:.exit:.,42,例 在中断向量表中查找从键盘输入的字符,并将其个数用二进制形式显示出来。(scanskey.asm),43,入口参数 无 功能号 AH=07H类型号 21H出口参数 AL=键入字符的ASCII码实现功能 等待从键盘输入一个字符,不在屏幕上回显,不检测Ctrl-Break键,44,例 用不带回显功能输入密码时:input:MOV AH,07H;等待从键盘输入 INT 21H MOV DI,AL;存入缓冲
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BIOS DOS 中断 功能 调用

链接地址:https://www.31ppt.com/p-5416573.html