第九章 BIOS和DOS中断..ppt

河南师范大学计算机与信息技术学院 第九章 BIOS和DOS中断 本章内容提要 BIOS和DOS BIOS和DOS功能调用的步骤 9.1 键盘I/O 键盘的基本键 9.1.1 字符码和扫描码 BIOS键盘中断处理程序 9.1.2 BIOS键盘中断 9.1.3 DOS键盘功能调用 9.2 显示器I/O 图9.4 显示屏幕上的字符位置 9.2.1 字符属性 1. 单色字符显示 2. 彩色字符显示 3. 显示存储器 显示存储单元与屏幕上字符的对应关系 9.2.2 BIOS显示中断 9.2.3 DOS显示调用 练习与作业 表9.4 BIOS键盘中断(INT 16H) BIOS单个字符输入举例 例9.1 图9.2 键盘状态字节 表9.5 DOS键盘操作(INT 21H) 例9.2 DOS单个字符输入AH=1 例9.3 DOS单个字符输入AH=7 例9.4 DOS单个字符输入AH=7 例9.5 输入字符串程序 清除键盘缓冲区 例9.6 检验键盘状态 图9.5 单色显示的属性字节 表9.6 单色显示的属性 图9.6 16色方式下的属性字节 表9.7 16种颜色的组合 图9.7 显示存储单元与显示屏幕上字符的对应关系 例9.7 检验键盘状态 表9.8 类型10H的显示操作 表9.8 类型10H的显示操作 例9.8 控制光标 例9.9 读光标位置 例9.10 选择显示页 例9.11-1 例9.11-2 例9.12 例9.13-1 例9.13-2 例9.13-3 例9.14 字符显示 例9.15 例9.16 表9.9 属性字节的典型组合 例9.17 例9.18-1 例9.18-2 表9.10 INT 21H显示操作 显示字符串-1 显示字符串-2 例9.19 显示字符串的宏定义文件 ;该功能并不返回实际字符码,仅提供一种是否按键的提示。 ;在未按键之前,程序总是不断循环执行,只要按下一个键,程序就退出循环并返回。 SOUNDER: … … MOV AH , 0BH INT 21H INC AL JNZ SOUNDER RET 例9.7 ;计算屏幕上某一字符位置所对应的显存地址。 Video_addr MACRO width , page_num ;入口参数:DH=row , DL=column ;出口参数:DI=Char_offset push ax mov al , width mul dh xor dh , dh add ax , dx shl ax , 1 add ax , page_num*1000h mov di , ax pop ax endm ;置光标开始行为5,结束行为7, ;并把它设置到第5行第6列。 MOV CH , 5 ;置光标类型 MOV CL , 7 MOV AH , 1 INT 10H MOV DH , 4 ;置关标位置 MOV DL , 5 MOV BH , 0 MOV AH , 2 INT 10H ;读0页的当前光标位置 MOV AH , 3 MOV BH , 0 INT 10H ;INT 10H的功能5可由程序确定显存中的显示区域。ROM BIOS将CGA的显存分为4页,每页25×80个字符,或分为8页,每页25×40个字符。每一页的起始地址在1KB的边界。这四页的起始地址分别为B800:0000 , B800:1000 , B800:2000 , B800:3000。 MOV AL , vpage ;AL=页号 MOV AH , 5 INT 10H ;清除全屏幕的子程序 clear_screen proc near push ax push bx push cx push dx ;clear screen mov ah , 6 mov al , 0 mov bh , 7 mov ch , 0 mov cl , 0 mov dh , 24 mov dl , 79 int 10h ;locate cursor mov dx , 0 mov ah , 2 int 10h ;restore registers pop dx pop cx pop bx pop ax clear_screen endp ;清除左上角为(0,0),右下角为(24,39)的窗口, ;初始化为反相显示,该窗口相当于全屏幕的左半部分。 MOV AH , 7 MOV AL , 0 MOV BH ,

文档评论(0)

1亿VIP精品文档

相关文档