汇编语言序设计 第九章 BIOS和DOS中断
发布时间:2024-04-28 10:04:26浏览次数:27汇编语言序设计主 题: 第九章 BIOS 和 DOS 中断(第 3-4 节)内 容:第九章 BIOS 和 DOS 中断 概述 本周学习 BIOS 和 DOS 中断,基本输入输出系统和 DOS 系统是计算机常备的固件和软件系统,有了这两种系统,不仅用户和开发商都能更好的管理和开发计算机外部设备,而且能更好的理解中断本身。本章内容也是后续课程得以展开的基础,因此有必要学好。第 2 节 显示器 I/O 1)显示器 BIOS 中断调用:INT 10H 提供了多种中断操作的显示器功能2)显示器的 DOS 中断调用:INT 21H 提供了多种中断操作的显示器功能,其中两个是显示单字符功能,另一个是显示字符串功能,这些功能都自动向前移动光标 单字符功能调用回送字符到 DL寄存器中,字符串功能调用字符串地址回送到数据段 DX 寄存器 3)显示器 BIOS 功能调用能实现的操作: (1)光标控制 (2)读光标位置: 功能号 03H (3)选择显示页:功能号 05H (4)清屏和卷屏:功能号 06H,可以实现清除屏幕,光标定位和上卷等操作 (5)字符显示:功能号 09H4)显示器 DOS 功能调用举例: MASSAGE DB ‘HOW ARE YOU.’13,10,’$’ ;’$’是数据结束定结符 MOV AH,9 ;9H 功能,显示字符串 MOV DX,SEG MESSAGE MOV DS,DX MOV DX,OFFSET MESSAGE 第 1 页 共 5 页
INT 21H 说明:在使用 INT 21H 显示字符串时,一定要在显示串之后加上定界符‘$’,丢失定界符可能会在屏幕上一起意想不到的后果。第 3 节 打印机 I/O 1)打印机 I/O:打印机不同型号只间差异比较大,这给打印机与接口的程序设计带来一些困难,但是就打印机处理数据过程而言,都要用到 DOS INT 21H;来实现或 BIOS INT 17H 来实现2)打印机 I/O 中断: INT AH 功能 调用参数 返回参数 21H 5 打印一个字符 DL=字符 17H 0 打印一个字符 AL=字符 AH=状态字节 并回送状态字节 DX=打印机号 17H 1 初始化打印机 DX=打印机号 AH=状态字节 并回送状态字节 17H 2 回送状态字节 DX=打印机号 AH=状态字节 3)打印机的控制字符: (1)标准控制字符:包括空格,换行,回车,水平 TAB 控制字符 (2)特殊打印命令:包括设置紧缩方式,扩展方式等四中方式 第 4 节 串行通信口 I/O 1)计算机的数据传输两种方式:并行和串行方式,并行方式速度快但是信号衰减比较严重,只适合短距离传输;而远距离两系统间的数据传输就用串行通信方式 2)串行方式工作过程:在串行方式下,通信接口每次由 CPU 得到 8 位数据,然后串行地通过一条线路,每次发送一位将该数据发送出去 3)串行方式分类:串行通信采用同步方式或异步方式,同步方式时,是一次传送一个字节,而异第 2 页 共 5 页
步方式时是一次传送一个数据块 4)异步收发器 UART 和同-异步收发器 USART:串行通信中用到的专用 IC 芯片可以完成串行通信中对数据的打包,拆包,接收,发送等工作,它们位于串行适配器板,负责将每个字节转换成 1 和 0 的数据流,并指出每个字节的开始和结束 5)串行通信接口:近距离传输数据可以直接采用标准串行通信接口,远距离传输数据还需要使用调制解调器,将数据载入音频信号通过电话线来传输6)串行通信数据帧格式: 一帧 空 终止终止 0 1 1 0 0 0 0 1 起始 标记 位 位 D7 D0 位 说明:上图就是 ASCⅡ 码中‘a’61H 的标准组帧格式,起始位必须是低电平, D0,终止位由高电平 1 表示,上图是两位终止位高电平。某些系统中,为了保证传输数据的正确性,还要在帧中加入奇偶校验位,一般应在数据的最高位之后,紧接着是终止位。7)波特率:串行通信的数据传输率用 BPS 来表示,另外还有一种信号传输速度的单位是波特率,波特率不一定和 BPS 相等,因为波特率是一种信号调制单位,它定义为每秒钟传输的离散信号的数目。计算机系统的数据传输率取决于系统配置的通信端口。8)RS-232 串行通信接口:RS232 实际上是一种标准的接口标准,目前广泛用于 PC 机上通信适配板上的接口都是 RS232 标准9 ) IBM PC 通 信 端 口 : 80x86 兼 容 机 可 以 有 4 个 通 信 端 口 , 编 号 是COM1,COM2,COM3,COME4,相应 BIOS 编号是 COM0 到 COM3,但是程序每次只能对一个端口进行存取。当微机加电时,由加电自检程序来测试通用异步收发器 UART 的 4 个 COM 端口是否存在。如果第 3 页 共 5 页
微机系统设置了 COM 端口,则设置的每个 COM 端口的 I/O 地址就写到 BIOS 数据区的 0040:0000到 0040:0007 字节,每个 COM 地址占用 2 个字节,比如 COM0 的 I/O 端口地址是 0040:0000和 0040:0001 两字节,COM1 口的 I/O 端口地址是 0040:0002 和 0040:0003 两字节。如果系统没有连接串行接口,BIOS 数据区的这几个单元内容就是 0 RS232 RS232 1488 1488 1488 1488 地 地10)串行口功能调用:(1)DOS 串行通信口功能:INT 21H 功能 03H 是辅助设备 COM1 读一个字符到寄存器 AL;功能 04H 是将 DL 寄存器中字符传送给串行设备,举例如下:MOV AH,3INT 21HMOV INPUT_CHAR,AL … INPUT_CHAR:DB0说明:这段小程序是从串行通信端口输入一个字符并存入 INPUT_CHAR 单元中 (2)BIOS 串行通信口功能:INT 14H 调用 BIOS 串行通信口例行程序。该程序包括将串行口初始化为指定的字节结构和传输速率,检查控制器状态,读写字符等功能,比如功能 00H 是把指定的串行通信口初始化为希望的波特率,奇偶性,字长和终止位的位数,这些初始化参数设置在 AL 寄存器中。其他功能调用具体功能大家可以参阅参考书,这里不再详细罗列。本周要求掌握的内容如下:基本概念:显示器的 BIOS 功能调用及 DOS 功能调用、打印机的 BIOS 功能嗲用及 DOS 功能调用、第 4 页 共 5 页2323CPUUART(TTL 输出)MODEM
串行口通信、串口通信特点、串口通信标准接口和数据帧格式、UART、波特率、兼容机通信端口基本理论:熟悉显示器及打印机的 BIOS 例行程序调用和 DOS 功能调用,了解打印机控制符,区分串并行通信两种方式,了解异步收发器作用及同异步收发器作用,了解 RS232 接口,熟悉 PC 机的几个通信端口,端口地址在 BIOS 数据区的位置习题:1、显示器字符串显示需要调用 DOS INT 21H,程序需要做的准备是:(A)MOV AH,9 (B)INT 21H (C)字符串首地址置于数据段 (D)待显字符串以‘$’结尾 ABCD2、打印机 BIOS 功能调用指令是 INT 17H (对)3、串行数组组帧的时候包括: (A)起始位 (B)校验位 (C)终止位 (D)数据位 ABCD第 5 页 共 5 页