DOS系统功能调用是如何实现的?
- 提问者网友:酱爆肉
- 2021-05-24 07:19
- 五星知识达人网友:几近狂妄
- 2021-05-24 07:28
1、什么是DOS系统功能调用
系统功能调用是DOS为用户提供的常用子程序(80多个),可在汇编语言程序中直接调用。这些子程序的
主要功能包括:
(1)设备管理(如键盘、显示器、打印机、磁盘等的管理)
(2)文件管理和目录操作
(3)其他管理(如内存、时间、日期等管理)
这些子程序给用户编程带来很大方便,用户不必了解有关的设备、电路、接口等方面的问题,只需直接调用即可。
2、调用方法
DOS功能调用的子程序已按顺序编号——功能号(00H~68H),其调用方法是:
(1) 功能号→AH
(2) 入口参数→指定寄存器
(3) INT 21H
用户只须给出以上三方面信息,DOS就可根据所给信息自动转入相关子程序执行。
3、常用的系统功能调用
(1)键盘输入
1) 1号调用——从键盘输入单个字符
调用格式: MOV AH,1
INT 21H
功能: 等待从键盘输入一个字符并送入AL。
执行时系统将扫描键盘,等待有健按下,一旦有健按下,就将其字符的ASCII码读入,先检查是否Ctrl-Break,若是,退出命令执行;否则将ASCII码送AL,同时将该字符送显示器显示。
2) 10号调用——从键盘输入字符串
功能: 从键盘接收字符串送入内存的输入缓冲区,同时送显示器显示。
调用前要求: 先定义一个输入缓冲区
MAXLEN DB 100 ;第1个字节指出缓冲区能容纳的字符个数,即缓冲区长度,不能为0
ACLEN DB ? ;第2个字节保留,以存放实际输入的字符个数
STRING DB 100 DUP(?) ;第3个字节开始存放从键盘输入的字符串。
调用格式: LEA DX,MAXLEN(缓冲区首偏移地址)
MOV AH,10
INT 21H
注意:调用时,要求DS:DX指向输入缓冲区
参考:www.wxiu.com