- 41
- 0
- 约1.19万字
- 约 10页
- 2016-02-24 发布于江苏
- 举报
DOS系统功能调用 (21H类型中断调用).doc
DOS系统功能调用 (21H类型中断调用)
1.显示单字符 ( 02H功能 )
2.显示字符串 ( 09H功能 )
3.单字符输入 ( 01H、07H、08H功能 )
4.字符串输入 ( 0AH功能 )
5.检测键盘状态 ( 0BH功能 )
6.保存中断向量 ( 35H功能 ) (第六章介绍)
7.设置中断向量 ( 25H功能 )
1. 显示单字符 ( 02H功能 )
入口参数 DL = 要显示字符的ASCII 码
功能号 AH=02H
类型号 INT 21H
出口参数 无
实现功能 显示指定字符,光标随动。
例 显示字符A
MOV DL, ‘A’
MOV AH, 02H
INT 21H
例 使光标回到下一行的行首。
MOV DL , 0DH ;显示回车符
MOV AH , 02H
INT 21H
MOV DL , 0AH ;显示换行符
MOV AH , 02H
INT 21H
2. 显示字符串 ( 09H功能 )
入口参数 ①定义要显示的字符串, 字符串尾应为’$’,作为结束显示的标志。
②DS : DX = 字符串的首地址
功能号 AH = 09 H
类型号 21H
出口参数 无
实现功能 显示字符串,遇 ’$’ 停止显示,光标随动。
例 编程显示字符串’ Tsinghua University’
data SEGMENT ;定义显示的子符串
stri DB ‘Tsinghua University’, ‘$’
data ENDS
code SEGMENT
ASSUME CS:code, DS:data
start: MOV AX, data ;置缓冲区地址于DS:DX
MOV DS, AX
LEA DX, stri
MOV AH, 09H ;调显示功能
INT 21H
MOV AH, 4CH ;返回DOS
INT 21H
code ENDS
END start
有关键盘
① 键盘通过键盘接口电路与计算机连接。
② 键盘上的键有三种类型: 字符键 A~Z, 0~9等 功能键 F1~F12, Page Up等
组合控制键 Shift, Ctrl, Alt等
③ 键盘上的每个键都有一个扫描码。
◢ ◢ 据扫描码可确定操作的是哪个键、是按下键还是释放键;
◢ ◢ 扫描码用一个字节表示。低7位是扫描码的数字编码, 与键盘上的键一一对应;最高位D7位表示键的操作状态:当按下键时, D7=0 ; 当释放键时, D7=1
④ 键盘接口对按下键和释放键均向计算机发出中断申请, 如果中断响应条件满足, CPU转去执行键盘中断子程。键盘中断子程类型号为09H。
⑤ 键盘中断子程功能(09H类型中断子程)
◢ 从键盘接口读取操作键的扫描码;
◢ 将扫描码转换成字符码;大部分键的字符码为ASCII码,无ASCII码键(如组合键Shift、Ctrl等)的字符码为0。
◢ 将键的扫描码、字符码存放在键盘缓冲区,
供其它有关键盘的中断子程应用。
3. 单字符输入 ( 01H、07H、08H功能)
① 入口参数 无
功能号 AH = 01H
类型号 21H
出口参数 AL = 键入字符的ASCII码
实现功能 等待从键盘输入一个字符,
并在屏幕上回显,光标移动,
检测Ctrl-Break键
例 利用键盘输入的字符产生分支:
MOV AH, 1 ;等待从键盘输入
INT 21H
CMP AL, ‘Y’ ;是’Y’?
JZ yes
CMP AL, ‘y’ ;是’y’?
JZ yes
no: . . .
原创力文档

文档评论(0)