第三章 汇编语言_03

上传人:野鹰 文档编号:2656823 上传时间:2017-07-26 格式:PPT 页数:31 大小:262KB
返回 下载 相关 举报
第三章 汇编语言_03_第1页
第1页 / 共31页
第三章 汇编语言_03_第2页
第2页 / 共31页
第三章 汇编语言_03_第3页
第3页 / 共31页
第三章 汇编语言_03_第4页
第4页 / 共31页
第三章 汇编语言_03_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《第三章 汇编语言_03》由会员分享,可在线阅读,更多相关《第三章 汇编语言_03(31页珍藏版)》请在金锄头文库上搜索。

1、BIOS和DOS中断 1 键盘I/O 2 显示器I/O 3 打印机I/O 4 串行通信口I/O,PC 机系统子程序的类型及组织结构,对计算机硬件进行操作的系统子程序BIOS 调用BIOS(Basic Input Output System,即基本输入输出系统)调用是PC机中最底层的软件,为计算机提供最低端的、最直接的硬件控制与支持。DOS 功能调用DOS 功能调用则主要是由DOS 的系统文件之一MSDOS.COM 提供,它们随DOS 系统启动后驻留在内存中,供系统和用户调用。,软中断调用格式 INT NN=00HFFH 为中断类型号,每个中断类型号都对应一种或一组系统功能调用中断向量表包括有各

2、类软中断调用、硬件中断(如类型号08H0FH及70H77H)及异常中断(类型号00H07H)处理子程序的入口地址,这个可以提供256个中断处理子程序入口地址的中断向量表,每个表项(入口地址)为4个字节包括2 个字节的CS 值和2个字节的IP 值。其中IP占据低地址字节空间,CS占据高地址字节空间。1K 字节的中断向量表可容纳的中断向量数为1024/4=256 。,用户在编程选用系统功能调用时应遵循以下原则:尽可能使用DOS 的系统功能调用,以降低编程的复杂性。在DOS 功能不能实现情况下考虑用BIOS 功能调用。在DOS 和BIOS 的中断子程不能解决问题时使用 IN/OUT 指令直接控制硬件

3、。,BIOS 调用主要是类型号N 小于3FH 和大于20H 的部分中断向量所提供的子程序调用。DOS 调用主要集中在中断类型号20H 到27H之间。,常用的寄存器为AX(AH,AL);BX(BH,BL);CX(CH,CL);DX(DH,DL)。通常AH 用于设置某项功能中某个具体操作的编号,PC 机对按键的自动处理过程,从8255 的A口(口地址60H)读取键的扫描码由扫描码产生按键字符对应的ASCII 码将键的扫描码,ASCII 码存放在起始地址为KB_BUFFER 的键盘缓冲区内置标志寄存器FR中的零标志位ZF为0,1 键盘I/O 键盘的中断有3个:(1)DOS的21H号中断,提供功能较强

4、的读键功能;(2)BIOS的16H号中断,提供较低层次的服务;(3)BIOS的9号中断,这是键盘硬中断,每当键盘上有键被按下,键盘都会通过接口向CPU提出9号中断请求。,BIOS键盘中断 16H号中断是BIOS提供给用户程序使用的一个软件中断,以INT 16H指令调用,提供基本的键盘服务,包括读键、判断有无普通键按下、读取控制键的状态等子功能。 10号子功能读普通键 如果键盘缓冲区不空,则从缓冲区的环型队列首部取走一个按键,把按键的扫描码放到AH中,ASCII码放到AL中作为出口参数; 如果键盘缓冲区是空的,则等待有效按键输入。,21号子功能不改变缓冲区的读键 当键盘缓冲区中还存放有没取走的有

5、效按键时,出口参数中ZF=0,AX=扫描码与ASCII码。 如果键盘缓冲区已空,则ZF =1表示无键可读。 1号子功能与0号的差别。 首先,在缓冲区为空时,0号子功能将等待按键,1号子功能则不等待,而是以ZF置1表示(这是很多电脑游戏软件典型的读键方式)。 其次,如果缓冲区不空,0号子功能会取走该键,而1号子功能并不取走,只把它复制到AX中。,32号子功能读控制键状态 直接从BIOS数据区中复制出键盘状态字节的值,放到AL中作为出口参数。 410H号子功能读键并清除键盘缓冲区 读键的情况与0号子功能完全相同,10H号子功能在读完键后还会清除键盘缓冲区中剩余的所有按键数据。,DOS的输入子功能

6、17号子功能无回显输入 直接调用前面所说的16H号中断的0号子功能。 28号子功能无回显输入 7号非常接近,只是对按键增加了Ctrl+Break的处理。 30AH号子功能输入字符串 读入一串字符并存入用户定义的缓冲区中。,40BH号子功能判断按键状态 用于判断键盘缓冲区是否为空,出口参数是: 当键盘缓冲区不空时,AL0FFH; 当键盘缓冲区为空时,AL0FFH。 50CH号子功能清除键盘缓冲区后再读键入口参数: AH0CH; AL清除缓冲区后再执行的功能号,可以是1、7、8。 出口参数: 按AL中的功能号,与DOS的3个子功能出口参数对应相同。 先把键盘缓冲区清空,然后再根据AL中的值,执行D

7、OS的1号、7 号或8号子功能。,例1单字符输入并显示的子功能01H 的应用GET_KEY: MOV AH ,1 ;AH功能号1INT 21H ;如果有键按下,按键的字符会在屏幕光标当前位置显示CMP AL ,Y ;是Y 吗?JE YES ;是Y,转程序YESCMP AL ,N ;是N 吗?JE NO ;是N,转程序NO(略)JNE GET_KEY ;等待输入Y 或N,例2单字符输入(但不显示)子功能07H 的应用WAIT_ENT: MOV AH ,7 ;采用07H 号子功能检测键,不显示按键字符INT 21HCMP AL ,0DH ;是Enter 吗?(0DH 是Enter 键的ASCII

8、码)JNE WAIT_ENT,封锁键盘的方法 封锁键盘就是让键盘不能工作,使系统不能接收从键盘输入的数据。 屏蔽键盘中断有两种方法:一是把标志寄存器中的IF标志位清0,二是利用系统的中断控制器。封锁键盘的程序段: IN AL, 21H OR AL, 00000010B OUT 21H, AL,2 显示器I/O 常用的显示分辨率为800600或1024768等。 常用的显示卡类型为VGA、SVGA、EVGA和TVGA等。1、显示模式 计算机系统中的显示器都有二种显示方式:文本显示方式和图形显示方式。在DOS操作系统环境下,其默认的显示方式为文本显示方式,而在Windows操作系统环境下,其显示方

9、式是图形显示方式,其绝大多数操作界面是以图形界面的窗口形式出现的。,1)、文本显示方式在常用的文本显示模式(模式3)下,每屏最多可显示2000(8025)个字符。规定:屏幕的左上角坐标为(0, 0),右下角坐标为(24, 79)。在显示字符时,用一个字节存储该字符的ASCII码,用另一个字节存储的显示属性,即:显示颜色。彩色显示器的字符显示属性定义如图 (P325),存储内容与显示位置的对应关系下如图:,2)、图形显示方式,图形显示的最小单位是象素,对每个象素可用不同的颜色来显示。所以,在显示缓冲区内记录的信息是屏幕各象素的显示颜色。由于各种图形显示模式所能显示的颜色和象素是不同的,它决定了显

10、示缓冲区的存储方式也是不同的。下面给出一个具体的图形显示模式及其存储方式。,256色320200图形显示模式,表达256种不同颜色需要8位二进制,即一个字节。在该模式下,其显示缓冲区的存储方式是非常简单的,即:第一个字节存储第一个象素的颜色,第二个字节存储第二个象素的颜色,以此类推,所以,存储满屏象素所需要的字节数为:320200164000。其显示缓冲区的存储方式如图8.10所示。,2、显示缓冲区,显示缓冲区是用来记录屏幕显示信息的。在文本显示方式下,显示信息包括:每个显示字符的ASCII码及其显示属性。在图形显示方式下,显示缓冲区内存储每个象素的显示颜色。,文本显示方式下,单色显示器的显示

11、缓冲区段地址为0B000H; 文本显示方式下,彩色显示器显示缓冲区段地址为0B800H; 图形显示方式下,其显示缓冲区段地址为0A000H。,BIOS的10H号中断服务程序对光标的控制 1改变光标的大小 CX0E0FH, 光标是在字符下部的一条小短线; CX080FH, 光标是下半格的小方块; CX0102H, 光标是在字符上部的一条小短线; CX0FFFFH,消隐光标,即不显示闪烁的光标。,2改变光标的位置 其入口参数是: AH2,子功能号; BH显示页的页号; DH光标移动到哪一行,屏幕顶端为第0行; DL光标移动到哪一列,屏幕左端为第0列。,3读光标位置 入口参数: AH3,子功能号;

12、BH显示页的页号。 出口参数: DH/DL该显示页的光标所在行/列坐标; CH/CL该显示页的光标起始线/结束线。,清屏与卷屏 AH6/7,子功能号,6为上卷屏,7为下卷屏; AL卷动行数,若AL为0则为清屏; BH卷动后留出的空白部分的属性; CH/CL左上角的行/列坐标; DH/DL右下角的行/列坐标。,打印机I/O打印输出是一种硬拷贝输出,也是一种常用的输出形式。,1、打印控制命令,2、DOS功能中的打印输出在DOS操作系统中,INT 21H提供了一种打印输出的功能调用。其具体描述如下:AH=05H向连接在LPT1端口上的打印机输出一个字符 AH=40H向先前打开的文件写入指定数量的字节,可以把打印机看作为标准的输出文件,3、BIOS中的打印输出BIOS系统提供了中断17H来实现打印输出功能。其具体的功能如下:00H向指定的打印机输出一个字符 01H初始化指定的打印机 02H读取指定打印机的状态,串行通信口的中断功能1、DOS中的通信功能INT 21H提供了对通信口COM1操作的功能调用。03H从辅助设备读入一个字符,该辅助设备的缺省值为COM104H向辅助设备输出一个字符,该辅助设备的缺省值为COM12、BIOS中的通信功能BIOS系统提供了中断14H来实现对通信端口的控制。00H初始化通信口01H向通信口输出字符02H从通信口读入字符03H读取通信口状态,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号