文档详情

IBM-PC汇编语言程序设计第二版第9章.ppt

发布:2019-03-22约5.2千字共20页下载文档
文本预览下载声明
● 键盘 I/O ● 显示器 I/O ● 打印机 I/O ● 串行通信口I/O * * 第九章 BIOS 和 DOS 中断 子程序调用 主程序 …… CALL SUBP …… 子程序 …… …… RET DOS/BIOS调用 源程序 …… INT n …… DOS/BIOS 例行程序 …… …… IRET 实现机制不同 BIOS和DOS基本调用 调用方法: 1、将调用参数装入指定的寄存器中; 2、BIOS或DOS功能号装入AH; 3、如需子功能号,把它装入AL; 4、按中断号调用DOS或BIOS中断(INT); 5、检查或取得返回参数。 例:DOS调用:键盘输入,显示输出 MOV AH, 01 ;DOS功能号:键盘输入 INT 21H ;DOS调用 MOV CHAR, AL ;返回参数: (AL) MOV DL, ’A’ ;调用参数: 输出字符 MOV AH, 02 ; DOS功能号: 显示输出 INT 21H ; DOS调用 1. 键盘I/O (1) BIOS键盘中断 ( INT 16H) AH 功能 返回参数 0 从键盘读一字符 AL=字符码,AH=扫描码 1 读键盘缓冲区的字符 如ZF=0,AL=字符码, AH=扫描码 如ZF=1,缓冲区空 2 取键盘状态字节 AL=键盘状态字节 字符数字键 字符码为ASCII 码 功能键、控制键 字符码为0 对应一个扫描码 DOS键盘中断 ( INT 21H) AH 功 能 调用参数 返回参数 1 从键盘输入一个字符并回显在屏幕上 AL=字符 6 读键盘字符,不回显 DL= 0FFH 若有字符可取,AL=字符,ZF=0 ? 若无字符可取,AL=0,ZF=1 7 从键盘输入一个字符,不回显 AL=字符 8 从键盘输入一个字符,不回显, AL=字符 检测Ctrl-Break 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
显示全部
相似文档