好文档 - 专业文书写作范文服务资料分享网站

BIOS和DOS调用实验

天下 分享 时间: 加入收藏 我要投稿 点赞

DOS系统功能调用与BIOS中断调用 学习目标:

1、理解DOS系统功能调用和ROM BIOS中断调用的概念。

2、熟悉常用的功能调用,如键盘输入字符/字符串、显示器输出字符/字符串等的调用方法。

一、DOS系统功能调用 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指向输入缓冲区 【例】

DATA SEGMENT MAXLEN DB 100 ACLEN DB ?

STRING DB 100 DUP(?) DATA ENDS CODE SEGMENT … …

MOV AX,DATA MOV DS,AX … …

LEA DX,MAXLEN MOV AH,10 INT 21H

… …

CODE ENDS

运行程序时,若从键盘输入“YOU ARE SUCESSFUL!”(共计19个字符),则输入缓冲区MAXLEN各单元内容如下图 740)this.width=740 border=undefined> 缓冲区MAXLEN各存储单元内容 (2)显示输出

1) 2号调用——在显示器上显示输出单个字符 调用格式: MOV DL,待显示字符的ASCII码 MOV AH,2 INT 21H

功能:将DL中的字符送显示器显示。 【例】显示输出大写字母A

MOV DL,41H ;或写为 MOV DL,'A' MOV AH,2 INT 21H

2) 9号调用——在显示器上显示输出字符串 调用格式: LEA DX,字符串首偏移地址 MOV AH,9 INT 21H

功能:将当前数据区中DS:DX所指向的以'$'结尾的字符串送显示器显示。 【例】在显示器上显示字符串“YOU ARE SUCESSFUL!” DATA SEGMENT

STRING DB ' YOU ARE SUCESSFUL! $ ' DATA ENDS CODE SEGMENT … …

MOV AX,DATA

BIOS和DOS调用实验

DOS系统功能调用与BIOS中断调用学习目标:1、理解DOS系统功能调用和ROMBIOS中断调用的概念。2、熟悉常用的功能调用,如键盘输入字符/字符串、显示器输出字符/字符串等的调用方法。一、DOS系统功能调用1、什么是DOS系统功能调用系统功能调用是DOS为用户提供的常用子程序(80多个),可在汇编语言程序中直接调用
推荐度:
点击下载文档文档为doc格式
7tq529c6jc0ne2d1fb1d
领取福利

微信扫码领取福利

微信扫码分享