




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章 BIOS和DOS中断如何控制键盘的操作?输入并回显Mov ah,1Int 21h输入不回显Mov ah,7Int 21h如何知道按过什么键?是KeyDown,还是KeyUp?功能键F1F12键如何运用?与CTRL、ALT及SHIFT键又如何运用?串输入操作:略屏幕显示方法单字符显示MOV AH,2MOV DL,GINT 21H字符串显示MOV AH,0AHLEA DX,STRINGMOV DS,SEG STRINGINT 21H如何在指定位置显示?如何选定字符颜色和背景颜色?BIOS功能调用 、DOS模块I/O恳求IBMDOSIBMBIOBIOS外设BIOS功能调用 可不用了解硬件I/
2、O接口的特性,直接用指令设置参数,然后中断调用BIOS中的程序 编写的程序简约、可读性好,而且易于移植 DOS模块 IBMBIO:输入/输出设备处置程序,它提供了DOS到ROM BIOS的低级接口,完成将数据从外设读入内存,或把数据从内存写到外设去的任务 IBMDOS:包括一个文件管理程序和一些处置程序 DOS中断和BIOS中断 一些DOS中断和BIOS中断可执行同样的功能。也有些不同。BIOS比DOS更接近硬件,但尽能够运用DOS功能。DOS中断能处置大多数的I/O,有些功能还没有提供BIOS中断类型CPU中断类型8259中断类型 BIOS中断类型用户运用程序表9.1 BIOS中断类型1 C
3、PU中断类型 0 除法错 4 溢出1 单步 5 打印屏幕 2 非屏蔽中断 6 保管3 断点 7 保管 表9.1 BIOS中断类型28259中断类型 8 8254系统定时器 C 保管通讯 9 键盘 IRQ1 D 保管ALT打印机 A 保管 E 软盘 B 保管通讯 F 打印机 表9.1 BIOS中断类型3BIOS中断类型 10 显示器 16 键盘I/O11 设备检验 17 打印机12 内存大小 18 驻留BASIC 13 磁盘 19 引导14 通讯 1A 时钟15 I/O系统扩展 40 软盘表9.1 BIOS中断类型4用户运用程序 1B 键盘Break 1C 定时器4A 报警数据表指针1D 显示器
4、参量 41 1#硬盘参量1E 软盘参量 46 2#硬盘参量1F 图形字符扩展 49 指向键盘加强效力变换表表9.2 DOS中断类型 20 程序终了 26 绝对盘写入21 功能调用 27 终了并留在内存22 终了地址 28-2E 保管给DOS23 Ctrl_Break出口地址 2F 打印机24 严重错处置 30-3F 保管给DOS25 绝对盘读取 DOS中断和BIOS中断的运用设定一些参数MOV AH,功能号NMOV AL,子功能号M调用DOS中断或BIOS中断9.1 键盘I/O 键盘及三种根本类型的键 三种根本类型的键 1.字符键:如字母A到Z,数字0到9,等2.扩展功能键:如Home,End
5、,Backspace,Arrows,Return,Del,Ins,PgUp,PgDn以及程序功能键等。3.控制键:和其它键组合运用的控制键,如ALT,Ctrl和 Shift。9.1.1字符码与扫描码-来源键盘上“按下或“放开一个键假设键盘中断允许的21H端口第1位=0,就会产生一个类型9的中断,并转入到BIOS的键盘中断处置程序。该处置程序从8255可编程序外围接口芯片的输入端口60H读取一个字节中断屏蔽存放器几种码1、扫描码:是字节的低7位。最高位为0:表示键是“按下形状获得通码最高位为1:表示键是“放开形状获得断码2、通码:按下时,获得的字节,最高位为0。3、断码:放开时,获得的字节,最高
6、位为1。 键盘上的每个键都对应一个扫描码:从01ESC到83DEL,或从01H到53H根据扫描码就能独一地确定哪一个键改动了形状。4、字符码:BIOS键盘处置程序将获得的扫描码转换成相应的字符码 字符码大部分键的字符码是一个规范的ASCII码没有对应ASCII码的键,字符码为0例:ALT和功能键F1-F10,字符码为0 9.1.2 BIOS键盘中断 键盘操作:用类型16键盘中断 3个不同的功能 :AH 功能 前往参数 0 从键盘读一字符 AL=字符码 AH=扫描码 1 读键盘缓冲区的字符 如ZF=0 AL=字符码 AH=扫描码 如ZF=1,缓冲区空 2 取键盘形状字节 AL=键盘形状字节举例
7、mov ah, 0 ;从键盘读一字符 int 16h ;类型16中断 cmp al, 3 ;字符是ctrl+c吗 jz exit ;then exit mov ah,2 mov dl,al int 21h 程序m900key.asmgo键盘形状字节 (功能) AH=2 INT 16H可把表示键形状的字节回送到AL存放器读取键盘形状字节读取键盘形状字节的内容,并显示该字节的内容十六进制程序:m901stat.asm9.1.3 DOS键盘功能调用DOS类型21H中断提供的键盘功能调用:AH 功能 调用参数 前往参数1 从键盘输入一个字符 并回显在屏幕上 AL=字符6 读键盘字符 DL=0FFH A
8、L=字符 假设可取 AL=0 未预备好7 从键盘输入一个字符 不回显 AL=字符9.1.3 DOS键盘功能调用(续)AH 功能 调用参数 前往参数8 从键盘输入一个字符, 不回显,检测Ctrl_Break AL=字符A 输入字符到缓冲区 DS:DX=缓冲区首址B 读键盘形状 AL=0FFH有键入 AL=00无键入C 去除键盘缓冲区 并调用一种键盘功能 AL=键盘功能号 1,6,7,8或A一单字符输入-回想 GET_KEY: MOV AH,1 ;回显,检测ctl_Break INT 21H CMP AL,Y ;按了Y? JE YES ; 是,跳转到YES CMP AL,N ;按了N? JE NO
9、 ;是,跳转到NO JNE GET_KEY ;否那么,等待Y或N 检测EnterReturn键 WAIT_HERE: MOV AH,7 ;不回显 INT 21H CMP AL,0DH JNE WAIT_HERE 接纳功能键或数字组合键 进展两次DOS调用第一次回送00第二次回送扫描码例:程序显示出一个菜单,要求用户经过键入F1,F2或 F3来选择 l、2或 3项,按其它键那么产生错误信息程序:二输入字符串-回想21H中断的功能A能从键盘读入一串字符并把它存入用户定义的缓冲区中 数据区定义的字符缓冲区如下: MAXLEN DB 50 ACTLEN DB ? STRING DB 32H DUP (
10、?) 或 array1 db 50,?, 50 dup(?)输入字符串的指令 LEA DX,MAXLEN MOV AH,0AH INT 21h328Iloveyou0d MAXLEN db 50,?, 50 dup(?)存储格式:输入后三去除键盘缓冲区 INT 21H的功能0CH能去除键盘缓冲区 然后执行如AL中指定的功能AL=1、6、7、8或0AH功能0CH的用法如下: MOV AH, 0CH MOV AL, 08H INT 21H 先清再输四检验键盘形状 DOS 21H的功能0BH能检验一个键能否被按动假设按下一个键,那么在AL存放器中放入0FFH如没有按下键,那么在AL中放00无论哪种情
11、况都将继续执行程序中的下一条指令 9.2 显示器 I/O显示器的屏幕 划分成80列25行屏幕的行号从0至24,列号从0到79 在这2000个2580网格位置上显示字符屏幕上的每个网格位置称为一个“象素。对应屏幕上的每个象素,存储器中都有一个相应单元,屏幕是“存储器映象 9.2.1 字符属性 单色显示屏幕上的每个字符在存储器中由两个字节表示 一个字节保管字符的ASCII码另一个字节保管字符的属性 字符的属性确定了每个要显示字符的特性:字符能否闪烁显示,能否被加亮,能否反相显示 单色显示的属性字节 正常显示属性:07(二进制00000111)背景为黑色(000),前景为白色(111),闪烁位为正常
12、(0),加强亮度位正常(0) 一些典型的属性值 二进制 十六进制 效果 00000000 00 不显示 00000001 0F 00000111 07 00001111 0F 01110000 70 白底黑字,反相显示 10000111 87 黑底白字,闪烁 11110000 F0 白底黑字,反相闪烁黑底白字,高亮度黑底白字,正常显示黑底白字,下划线单色显存单色显示存储器容量为4K字节存储区域:段地址为B000H,偏移地址0即:B000: 0000HB000: 0F9FH彩色字符显示属性字节可选择: 背景颜色和显示字符的前景颜色背景:8色 000111前景:16色00001111闪烁位BL:正
13、常0,闪烁1亮度位I:正常0,加强1BLRGBIRGB闪烁 背景 前景显示存储器MDA单色显示存储器:存储区域:段地址为B000H,偏移地址0即:B000: 0000HB000: 0F9FH CGA、EGA、VGA显示存储器注:各显示适配器起始地址能够不同存储区域:段地址为B800H,偏移地址0000H0页起始地址 B800: 0000H1页起始地址 B800: 1000H2页起始地址 B800: 2000H3页起始地址 B800: 3000H屏幕上一个位置在显存中的偏移地址Char_offset=Page_offset+(rowwidth)+column) byte其中: Page_offs
14、et:页偏移地址 Width :80 byte :2字符显示 Column :列坐标 row :行坐标9.2.2 BIOS显示中断 中断类型10H表9.8列出了部分显示操作及所用的存放器控制光标 读光标位置 选择显示页清屏和卷屏、开窗口 字符显示彩色和字符串显示 1. 控制光标 INT 10H的功能1:使光标显现或封锁、控制光标的大小控制光标行的开场和终了光标行开场:CH的低4位(03,光标顶部光标行终了:CL的低4位(03,光标底部当CH的第4位为1时,光标不显现出来封锁当CH的第4位为0时,光标在屏幕上显现出来单色显示器的光标大小的范围从013注:VGA 13:14 单色6:7INT 10
15、H的功能2 设置光标位置DH:光标新位置的行号DL:光标新位置的列号BH中必需包含被输出的页号单色显示器,页号总是0例9.8 设置光标光标开场行为5,终了行为7,设置在第5行第6列 MOV CH,5 ;开场行为5 MOV CL,7 ;终了行为7 MOV AH,1 ;控制光标的大小 INT 10H ; MOV DH,4 ;第5行 MOV DL,5 ;第6列 MOV BH,0 ; 0页 MOV AH,2 ; INT 10H ; 2. 读光标位置10H的功能3:读光标位置页号必需由BH指定前往:光标位置的行号送给DH,列号送给DL,光标大小的参数填入CH和CL3. 选择显示页10H的功能5 AL定页
16、号0页起始地址 B800: 0000H1页起始地址 B800: 1000H2页起始地址 B800: 2000H3页起始地址 B800: 3000H 4. 清屏和卷屏、开窗口10H的功能6能使屏幕内容上卷指定的行10H的功能7能使屏幕内容下卷指定的行参数:AL:上下卷的行数左上角为:CH,CL右下角为:DH,DLBH:显示属性全屏:AL=0,清屏功能例9.12 去除窗口 去除左上角为0,0,右下角为24,39的窗口,初始化为反相显示 MOV AH,7 MOV AL,0 MOV BH,70H ;反相 MOV CH,0 MOV CL,0 MOV DH,24 MOV DL,39 INT 10H开窗口、
17、输入、卷屏例9.13:在屏幕中间建立一个20列宽、9行高的窗口,然后把键入的内容在这个窗口显示出来。键入的字符将被显示在窗口的最下面一行,每当输入20个字符,该行就向上卷动,9行字符输入完后,顶端行的内容丧失开窗口程序:m913wind.asm5. 字符显示10H的功能9和功能A都能把一个字符传送到显示屏幕,然后光标前往到它的初始位置区别:AH=9的功能把字符及其属性输出到当前光标位置上AH=0AH的功能只输出字符,它的属性值就是这一位置上先前已具有的属性例9.14置光标、显示星号 置光标到0显示页的(20,25)位置,并以正常属性显示一个星号程序:m914char.asm6. 彩色和字符串显
18、示 10H的功能9显示彩色字符,13显示彩色字符串BL设置前景和背景的属性值程序:m916colr.asm比较 MOV dx, 1023h ;(10h,23h) MOV bl, 41h ;红底蓝字 MOV AL, 0 ;光标回到原始位置 ; MOV AL, 1 ;光标跟随挪动 MOV ah, 13h ; INT 10H 程序:m917strg.asm例9.18以红底蓝字显示以红底蓝字显示“WORLD,然后分别以红底绿字和红底蓝字相间地显示 “SCENERY程序:m918strg.asm9.2.3 DOS显示功能调用 INT 21H显示操作 AH 功能 调用参数 2 显示一个子符 DL=字符 光标跟随字符挪动 检验Ctrl_Break 6 显示一个字符 DL=字符 光标跟随字符挪动 不检验Ctrl_Break 9 显示字符串 DS:DX=串地址 串必需以$终了 光标跟随串挪动 加上回车和换行的字符串 加上回车和换行的字符串定义: MESSAGE DB The sor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年财务分析师考试试题及答案
- 2025年国际商务谈判技巧测试卷及答案
- 2025年钢筋混凝土结构设计考试试卷及答案
- 物资运载储存管理制度
- 物资采购公示管理制度
- 特殊停电用户管理制度
- 特殊服饰日常管理制度
- 特殊群体超市管理制度
- 特种人员作业管理制度
- 特种作业电工管理制度
- 大学美育(同济大学)学习通测试及答案
- 2024年中考模拟试卷数学(湖南卷)
- 医院培训课件:《便携式血糖仪临床操作和质量管理》
- 充电桩工程施工技术方案
- 《冠心病的规范化诊》课件
- 2025年围产期保健工作计划
- 急性心肌梗死健康教育课件
- 2024年教师资格考试小学面试科学试题及答案指导
- (一模)宁波市2024学年第一学期高考模拟考试 数学试卷(含答案)
- 2024年迪庆道路旅客运输知识考试题库
- 公司事故隐患内部报告奖励机制
评论
0/150
提交评论