版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第九章 BIOS 和 DOS 中断, 键盘 I/O 显示器 I/O 打印机 I/O 串行通信口I/O,难重点键盘、显示器、打印机、串行通信的DOS、BIOS基本功能调用。,子程序调用,主程序 CALL SUBP ,子程序 RET,DOS/BIOS调用,源程序 INT n ,DOS/BIOS 例行程序 IRET,实现机制不同,3,BIOS和DOS基本调用的关系: 它们都是系统编制的子程序,通过中断方式转入所需要的子程序去执行。用户通过调用DOS或BIOS例行程序来实现对外设的访问,可以降低程序设计的复杂程度,缩短开发周期。 BIOS存放在机器的ROM中,层次比DOS低,更接近硬件;DOS功能
2、调用是操作系统DOS的一个组成部分,在开机时从外存装入内存,DOS功能调用的实现一般是通过一次或多次调用BIOS来实现的,DOS可以完成比BIOS更高级的功能。因此,DOS操作比使用相应功能的BIOS操作更简易,而且DOS对硬件的依赖性更少些。,4,在一些情况下,既能选择DOS中断也能选择BIOS中断来执行同样的功能。例如,打印机输出一个字符的功能,可用DOS中断21H的功能5,也可用BIOS中断17H的功能0。因为BIOS比DOS更靠近硬件,因此建议尽可能地使用DOS功能,但在少数情况下必须使用BIOS功能,例如,BIOS中断17H的功能2为读打印机状态,它就没有等效的DOS功能。 因此,用
3、户需要使用外设时,应尽可能使用层次较高的DOS功能调用,当它不能满足要求时,再直接调用BIOS,而如果BIOS还不能解决问题,就只能自己编制中断处理程序了。,5,BIOS和DOS基本调用 调用方法: 1、将调用参数装入指定的寄存器中; 2、BIOS或DOS功能号装入AH; 3、如需子功能号,把它装入AL; 4、按中断号调用DOS或BIOS中断(INT); 5、检查或取得返回参数。,6,例:DOS调用:键盘输入,显示输出 MOV AH, 01 ;DOS功能号:键盘输入 INT 21H ;DOS调用 MOV CHAR, AL ;返回参数: (AL) MOV DL, A ;调用参数: 输出字符 MO
4、V AH, 02 ; DOS功能号: 显示输出 INT 21H ; DOS调用,7,1. 键盘I/O (1) BIOS键盘中断 ( INT 16H),AH 功能 返回参数 0 从键盘读一字符 AL=字符码,AH=扫描码 1 读键盘缓冲区的字符 如ZF=0,AL=字符码, AH=扫描码 如ZF=1,缓冲区空 2 取键盘状态字节 AL=键盘状态字节,字符数字键 字符码为ASCII 码 功能键、控制键 字符码为0,对应一个扫描码,8,字符码与扫描码 按键的识别采用行列扫描法,即根据对行线和列线的扫描结果来确定闭合键的位置,并通过键盘数据线将闭合键所对应的扫描码(8位)送往主机。 BIOS键盘处理程序
5、将取得的扫描码转换成相应的字符码,大部分键的字符码是一个标准的ASCII码,没有相应ASCII码的键,如Alt和功能键(F1-F10),字符码为0,还有一些非ASCII码键产生一个指定的操作,如打印屏幕内容等。转换成的字符码以及扫描码存储在ROM BIOS数据区的键盘缓冲区KB_BUFFER中。,DOS键盘中断 ( INT 21H),AH 功 能 调用参数 返回参数,1 从键盘输入一个字符 AL=字符 并回显在屏幕上 6 读键盘字符 DL= 0FFH 若有字符可取, 不回显 AL=字符, ZF=0 若无字符可取, AL=0, ZF=1 7 从键盘输入一个字符 AL=字符 不回显 8 从键盘输入
6、一个字符, AL=字符 不回显(检测Ctrl-Break),DOS键盘中断 ( INT 21H)续,AH 功 能 调用参数 返回参数,A 输入字符 DS:DX = 缓冲区 到缓冲区 首址 B 读键盘状态 AL=0FFH 有键入, AL=00 无键入 C 清除键盘缓 AL=键盘功能号 冲区并调用 (1,6,7,8或A) 一种键盘功能,例: 输入字符串到缓冲区STRING DATA SEGMENT MAXLEN DB 32 MAXLEN DB 32 ,0, 32 DUP(?) ACTLEN DB ? MAXLEN DB 32 ,33 DUP(?) STRING DB 32 DUP(?) DATA
7、ENDS CODE SEGMENT LEADX,MAXLEN MOVAH,0AH INT21H CODE ENDS END,MAXLEN,ACTLEN,STRING,12,显示器I/O 显示器的屏幕通常划分为行和列的一个二维系统,适配器就在行列组成的网格位置上显示字符。 对应屏幕上的每个字符位置,主存空间都有相应的存储单元与之对应,因此我们说显示屏幕是“存储器映象”的。这种存储器的映象,使显示器电路很容易知道哪个单元的内容对应屏幕上的哪个位置,也能使程序员从行列值算出主存地址空间中的显示存储区的地址。 对应显示屏幕上的每个字符,在存储器中由连续的两个字节表示,一个字节保存ASCII码,另一个字
8、节保存字符的属性。在屏幕上处理字母、数字以及一些字符图形称为文本方式。在文本方式下,属性字节对单色显示和彩色显示都是有效的。,文本方式 ASCII字符,单色属性,前景,闪烁,背景,BL R G B I R G B,16色属性,BIOS显示中断 INT 10H 功能号 AH=0,1, 2, 3, 5, 6, 7, 8, 9, 0AH, 0EH 13H (p.328) 例:清除屏幕 movah, 6; 屏幕初始化 moval, 0; 全屏空白 movbh, 7; 卷入行属性 movch, 0; 左上角行号 movcl, 0; 左上角列号 movdh, 24; 右下角行号 movdl, 79; 右下
9、角列号 int10h; BIOS调用,定义窗口,15,例: 在品红背景下,显示5个浅绿色闪烁的星号。 MOVAH,09 ;光标位置下显示 MOVAL,* ;显示字符 MOVBH,0 ;显示页0 MOVBL,0DAH ; 1 101 1010 (表9.7) MOVCX,05 ;显示次数 INT 10H ;BIOS调用,16,例:在屏幕上以红底兰字显示字符串:“WORLD SCENERY” STRING DB WORLD SCENERY ;定义在ES段 LEN_TR DW 13 MOV AL,3 ;8025, 16色文本方式 MOV AH,0 INT 10H MOV BP,SEG STRING M
10、OV ES,BP ;串地址ES:BP MOV BP,OFFSET STRING MOV CX,LEN_STR ;串长度 MOV DX,0 ;起始行列 MOV BX,0041H;0100 0001(属性) MOV AL,1;子功能 MOV AH,13H;显示字符串 INT 10H,(2) DOS显示功能调用中断 INT 21H,AH 功 能 调 用 参 数 2 显示一个字符(检验Ctrl-Break) DL = 字符 光标跟随字符移动 6 显示一个字符(不检验Ctrl-Break) DL = 字符 光标跟随字符移动 9 显示字符串 DS:DX=串地址 串必须以$结束, 光标跟随串移动,18,例:
11、显示字符串 MESSAGE DB The sort operation is finished.,13,10,$ MOV AH,9 MOV DX,SEG MESSAGE MOV DS,DX MOV DX,OFFSET MESSAGE INT 21H,19,3. 打印机I/O (p.336),20,例: 打印字符串TEXT (DOS) TEXT DB Hello,everybody! COUNT EQU $TEXT ;COUNT=17 MOV CX,COUNT MOV BX,0 NEXT: MOV AH,5 MOV DL,TEXTBX INT 21H INC BX LOOP NEXT,21,例: 打印字符串TEXT(BIOS) TEXT DB Hello,everybody! COUNT EQU $TEXT MOV CX, COUNT MOV BX, 0 NEXT: MOV AH, 0 MOV AL,TEXTBX MOV DX,0;打印机号 INT 17H INC BX LOOP NEXT,22,4. 串行通信口I/O,DOS 串行通信口功能 (INT 21H),23,(2)BIOS 串行通信口功能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九江公寓消杀工作方案
- 网上申请复议工作方案
- 厂房保洁亮点工作方案范文
- 2025年企业战略定位实战方案行业竞争格局深度分析
- 2025年企业人力资源招聘渠道优化预算可行性分析报告
- 鸡场工作方案
- 2025年政策法规对区块链行业应用场景分析方案
- 股级选拔任用工作方案
- 实施垃圾分类工作方案
- 国家一级安全生产标准化矿井
- 岚图汽车招聘智能驾驶2026届春招及2027届招聘备考题库(含答案详解)
- (三诊)2026年4月绵阳市高三高考适应性考试历史试卷(含答案)
- 2025年菏泽生物医药职业学院招聘笔试真题
- 2026国家广播电视总局直属事业单位招聘166人备考题库(北京)含答案详解(基础题)
- 《电力设备典型消防规程》DL 5027-2025
- 工业厂房安全监理实施细则
- 2026中国证券投资者保护基金有限责任公司应届毕业生招聘笔试历年常考点试题专练附带答案详解
- 建筑安全基础培训
- 陶瓷压制成型工岗前技能理论考核试卷含答案
- 雨课堂学堂在线学堂云《大数据与人工智能基础及生物医学应用(中央民族)》单元测试考核答案
- 培训质量全流程监控与指标体系
评论
0/150
提交评论