6_DOS系统功能调用及BIOS调用实验

合集下载

DOS系统功能调用

DOS系统功能调用

实验5 DOS系统功能调用实验题目:完善“调用宏DOSINT:调用DOS系统功能实现字符串的输出和输入,其中10号功能需要的字符数要求从键盘输入”,要求输入的数字是多位数。

实验目的:1. 掌握DOS系统功能的调用过程和方法;2. 熟悉源程序基本组成:assume的使用、段寄存器的赋值、程序返回;3. 掌握MASM、LINK、DEBUG等工具的使用。

实验设备:硬件:PC机软件:DOS操作系统、编辑软件、MASM 5.0实验内容:1. 程序代码DOSINT MACRO NOMOV AH,NOINT 21HENDMDA TA SEGMENTERRSTR DB 'ERROR NUMBER!$'Hello DB 'Hello World!$'Q DB 10X DW 2R DB 1T DW 0STRING DB ?,?,30 DUP(?),'$'DA TA ENDSCODE SEGMENTASSUME DS:DA TA,CS:CODEBEGIN: MOV AX,DATAMOV DS,AX ;初始化DSMOV DX,OFFSET Hello ;串首地址送DXDOSINT 9 ;宏调用MOV BX,TMOV CX,XNEXT2:DOSINT 1 ;宏调用SUB AL,30HCMP CX,2JB NEXT1MUL QMOV BX,AXJMP NEXT3NEXT1:CBWADD AX,BXNEXT3:LOOP NEXT2DIV RADD AL,30HCALL ASCIINUM ;子程序调用MOV STRING,ALLEA DX, STRING ;取预留空间首地址DOSINT 10MOV DL,0AH ;输出换行MOV AH,02HINT 21HMOV DL,0DH ;输出回车MOV AH,02HINT 21HMOV SI,OFFSET STRINGADD SI,2NEXT5:MOV AL,[SI]CMP AL,0DHJZ NEXT4MOV DL,ALDOSINT 02HINC SIJMP NEXT5NEXT4:DOSINT 4CH ;宏调用返回DOS ;子程序名:ASCIINUM;功能:ASCII码转化为二进制数ASCIINUM PROCPUSH DXCMP AL,30H ;’0’?JB ERRCMP AL,39H ;’9’?JBE CHNGCHNG: SUB AL,30HJMP EXITERR:LEA DX,ERRSTRDOSINT 9EXIT: POP DXRETASCIINUM ENDPCODE ENDSEND BEGIN2. 调试过程(具体应用DEBUG指令及其结果)实验思考与总结:通过本次实验,我明白了宏调用的方法及宏调用与子程序的区别。

BIOS调用和DOS调用

BIOS调用和DOS调用

一.概述BIOS是Basic Input Output System的缩写,是固化在只读存储器ROM中的基本输入输出程序。

BIOS保存着微机系统最重要的基本输入输出程序、系统信息设置、开机自检程序和系统启动自举程序等,用来进行系统测试、初始化引导程序、对I/O设备进行控制。

DOS是Disk Operation System(磁盘操作系统)的缩写,是用来控制和管理计算机的硬件资源、方便用户使用的程序集合。

由于这些软件程序存放在磁盘上,而且主要功能是进行文件管理和输入输出设备管理,故称为磁盘操作系统。

磁盘操作系统是人和机器交互的界面,用户通过操作系统使用和操作计算机。

DOS和BIOS提供了大量的可供用户直接使用的系统服务程序。

DOS系统中的IO.SYS(基本输入输出模块)通过BIOS控制、管理外部设备。

一般来说,用户可以通过用4种方式控制PC的硬件。

(1)应用高级语言中的语句进行控制。

但高级语言中的I/O语句比较少,执行速度慢。

(2)应用DOS提供的一些功能服务程序来控制,可对显示器、键盘、打印机、串行通信等字符设备提供输入输出服务。

DOS提供了近百种I/O功能服务程序可供调用,这是一种高层次的调用,编程者无须对硬件有太深的了解。

使用DOS调用,编程简单,调试方便,可移植性好。

(3)应用BIOS提供的功能程序来控制硬件,这是低层次的控制,要求编程者对硬件有相当深入的了解。

BIOS调用速度快,适用于高速运行的场合,但使用BIOS调用的汇编语言或c语言程序可移植性比较差另外,BIOIS固化在ROM中,不依赖于DOS操作系统。

(4)直接使用汇编语言编程进行控制。

要求编程者对I/O设备的地址、功能比较熟悉。

二.中断和中断向量表1.中断(Interrupt)a.中断的概念中断是指在计算机运行期间,由于程序的事先安排或者系统内发生的非寻常的或非预期的急需处理事件,使CPU暂时中止当前正在执行的程序而转去执行相应的事件处理程序的过程。

实验六 DOS功能调用程序设计

实验六  DOS功能调用程序设计

附录
编写实验报告
DOS功能调用程序设计 DOS功能调用程序设计 实验内容 1、实验内容 1)键盘输入字符(或字符串)并显示程序设计 键盘输入字符(或字符串) 2)显示器上显示26个英文字符程序设计(一个个显示)。 显示器上显示26个英文字符程序设计(一个个显示)。 26个英文字符程序设计
2、实验目的 了解DOS功能调用程序结构,掌握其编程与调试方法。 了解DOS功能调用程序结构,掌握其编程与调试方法。 DOS用程序设计 DOS功能调用程序设计
见附录) 6、实验报告要求(见附录)
1)实验报告要求有实验目的、要求、 1)实验报告要求有实验目的、要求、设备或仪 实验报告要求有实验目的 程序设计、步骤、数据分析。 器、程序设计、步骤、数据分析。数据分析填 报告本的原始数据栏 原始数据栏。 在报告本的原始数据栏。 2)画出实验内容1)2)程序设计流程图 画出实验内容1)2)程序设计流程图、 2)画出实验内容1)2)程序设计流程图、写出程 序清单并有简要注释。 序清单并有简要注释。 3)写出实验过程中所遇到的问题与解决的办法 写出实验过程中所遇到的问题与解决的办法。 3)写出实验过程中所遇到的问题与解决的办法。
数据分析并记录
DOS功能调用程序设计 DOS功能调用程序设计 1)工作原理 5、程序设计 1)工作原理 DOS系统中设置了两层内部子程序可供用户使用 系统中设置了两层内部子程序可供用户使用: DOS系统中设置了两层内部子程序可供用户使用: 基本输入输出模块BIOS DOS层功能模块 BIOS, 基本输入输出模块BIOS,DOS层功能模块 DOS系统功能调用 类型码:21H) 系统功能调用( DOS系统功能调用(类型码:21H) 为了使用方便, DOS层功能模块所提供的100个子程序 层功能模块所提供的100 为了使用方便,将DOS层功能模块所提供的100个子程序 00H~63H统一顺序编号 为了掌握DOS系统I/O 统一顺序编号, DOS系统I/O功能调用和 从00H~63H统一顺序编号,为了掌握DOS系统I/O功能调用和 参数使用的方法。DOS系统I/O功能调用可以通过 系统I/O功能调用可以通过INT 21H软中 参数使用的方法。DOS系统I/O功能调用可以通过INT 21H软中 断指令调用DOS系统功能,调用方法如下: DOS系统功能 断指令调用DOS系统功能,调用方法如下:

DOS系统功能调用

DOS系统功能调用

1、常用的输入/输出系统功能调用 常用的输入/ (4) 控制台输入(8号调用) (1) 键盘输入(1号调用) 格式: 格式: MOV AH, 8 MOV AH, 1 INT 21H INT 21H (2) 显示输出(2号调用) 用于输入密码,输入的内 容在显示器上不显示。 格式: (5) 显示字符串(9号调用) MOV AH, 2 格式: MOV DL, 待显示的字符 MOV DX, 字符串的偏 INT 21H 移地址 (3) 打印输出(5号调用) MOV AH, 9 格式: INT 21H MOV DL, 待打印的字符 功能:将数据区中DS:DX MOV AH, 5 所指定的以‘$’结束字符的 INT 21H 字符串从显示器上显示出来 。
DOS系统功能调用 DOS系统功能调用
对数据的输入输出, 对数据的输入输出,大多数现代计算机都有两种资源 可供使用:一种是与硬件相关的基本输入输出系统; 可供使用:一种是与硬件相关的基本输入输出系统; 另一种是与硬件无关的基本输入输出系统, 另一种是与硬件无关的基本输入输出系统,即由操作 系统提供的输入输出功能,常称DOS功能调用。 DOS功能调用 系统提供的输入输出功能,常称DOS功能调用。 INT 21H 功能调用包括字符输入 、 字符输出 、 磁盘 21H 功能调用包括字符输入、 字符输出、 控制、 文件管理、 记录操作、 目录操作、 控制 、 文件管理 、 记录操作 、 目录操作 、 动态存储分 网络功能等。 配、网络功能等。 DOS功能调用的步骤 功能调用的; 1) 将功能号赋给AH; 置入口参数; 2) 置入口参数; 执行“ 21H ; 3) 执行“INT 21H”; 分析出口参数。 4) 分析出口参数。
(6) 键盘输入字符串(10号调用) 格式: LEA DX, 键盘缓冲区首偏移地址 MOV AH, 10 INT 21H 功能:从键盘往DS:DX所指定的键盘输入缓 冲区输入字符串并从显示器上显示。

DOS系统功能调用

DOS系统功能调用
微机与接口技术
4.3 DOS和BIOS功能调用 4.3.1 概述
系统功能调用——由OS提供的一组实现特殊功能的子程 序供程序员在程序中调用,以减轻编程工作量。 系统功能调用有两种,一种称为DOS功能调用,另一种 称为BIOS功能调用。 用户程序在调用这些系统服务程序时,不是用CALL命 令,而是采用软中断指令INT n来实现。 在DOS系统中,功能调用都是用软中断指令INT 21H来 实现的。
3.源程序的基本结构:顺序、分支、循环、过程
14
微机与接口技术
4.4.2 循环程序设计 循环程序的结构形式
循环初始状态 循环初始状态 循环体 循环控制条件
Y
循环体 循环控制条件
N
N DO_WHILE
Y DO_UNTIL
15
微机与接口技术
例1.试编制一个程序把BX寄存器内的二进制数用十六进制数 的形式在屏幕上显示出来。(单重循环)
10
微机与接口技术
例:键入一字符串,把它存放内存中并在屏幕上显示。
DATA SEGMENT BUFSIZE DB 50 ACTCHAR DB ? CHARTEXT DB 50 DUP(20H) DB ‘ $’ DATA ENDS CODE SEGMENT MOV DX ,OFFSET BUFSIZE MOV AH,0AH INT 21H MOV DX, OFFSET CHARTEXT MOV AH,09H INT 21H
9、 INT 28H~3FH
4
微机与接口技术
2. DOS系统功能调用(INT 21H)
INT 21H 是一个具有近90个子功能的中断服务程序。这些子 功能的编号称为功能号。 INT 21H的功能: 设备管理:键盘输入、显示器输出、打印机输出等。 目录管理:查找目录项、查找文件、文件改名等。 文件管理:打开、关闭、读/写、删除文件等。 其它 使用方法: 置功能号AH 设置 入口参数 执行 INT n 分析 出口参数

汇编语言---dos和bios功能调用

汇编语言---dos和bios功能调用

下面介绍一下其他功能: 下面介绍一下其他功能: (1)AH=25H:设置中断向量 ) : 入口参数: 中断号。 入口参数:AL=中断号。 中断号 DS:DX=中断向量。 中断向量。 : 中断向量 功能: 所指中断号的中断向量设置为DS: 。 功能:将AL所指中断号的中断向量设置为 :DX。 所指中断号的中断向量设置为 (2)AH=35H:获取中断向量 ) : 入口参数: 中断号。 入口参数:AL=中断号。 中断号 出口参数: : 中断向量。 出口参数:ES:BX=中断向量。 中断向量 功能: 的指中断号的中断向量由ES: 返回 返回。 功能:将AL的指中断号的中断向量由 :BX返回。 的指中断号的中断向量由 (3)AH=31H:程序终止并驻留内存 ) : 入口参数: 返回码。 入口参数:AL=返回码。 返回码 DX=驻留内存的节数(1字=16字节)。 驻留内存的节数( 字 字节)。 驻留内存的节数 字节 功能:终止程序执行,全由DX所确定的一部分代码工 功能:终止程序执行,全由 所确定的一部分代码工 数据仍留在内存中。 数据仍留在内存中。
• ③ 应用BIOS提供的功能程序来控制硬件。这是低层次 控制,要求编程者对硬件有相当深入的了解。当BIOS 与DOS提供的功能相同时,应首先选用DOS。BIOS固 化在ROM中,不依赖于DOS操作系统,使用BIOS软中 断调用子程序可直接控制系统硬件。BIOS调用速度快, 适用于高速运行的场合。中断调用可用软件中断指令 “INT n”来实现,n为中断类型码。使用BIOS调用的汇 编语言和C语言的程序可移植性比较差。 • • ④ 直接使用汇编语言编程进行控制。要求编程者对I/O 设备的地址、功能比较熟悉。
习 题 1.假设 假设VAR1和VAR2为字变量,LAB为标号,试指出下 为字变量, 为标号, 假设 和 为字变量 为标号 列指令的错误之处: 列指令的错误之处: (1)ADD VAR1,VAR2 ) , (2)SUB AL,VAR1 ) , (3)JMP LAB[SI] ) (4)JNZ VAR1 ) (5数据 画图说明下列语句所分配的存储空间及初始化的数据 值。 ,-12H,3 DUP (1)BYTE_VAR DB ‘BYTE’,12,- ) , ,- , ,?,2 (0,?, DUP(1,2),?) ,?, ( , ),?) ,?,-5, (2)WORD_VAR DW 5 DUP(0,1,2),?,- , ) , , ,?,- ‘BY’,‘TE’,256H , ,

调用dos功能和bios功能时的基本步骤

调用dos功能和bios功能时的基本步骤

调用dos功能和bios功能时的基本步骤调用DOS(Disk Operating System)功能和BIOS(BasicInput/Output System)功能时,需要按照以下基本步骤进行。

调用DOS功能的基本步骤:1.进入DOS环境:在操作系统中打开命令提示符窗口,或者通过启动计算机时按下F8键选择“进入DOS”。

2. 输入命令:在命令提示符下,输入要执行的DOS命令,例如dir、cd等。

3.执行命令:按下回车键执行输入的命令。

4.查看结果:根据命令的不同,DOS会显示相应的结果。

在调用DOS功能时的基本步骤通常是简单的以文本命令的形式输入要执行的操作,然后由DOS解析和执行这些命令,然后显示结果。

DOS功能通常用于执行文件管理、目录导航和基本任务管理等功能。

调用BIOS功能的基本步骤:1.启动计算机:按下电源按钮启动计算机。

2. 进入BIOS设置:在计算机启动过程中,按下指定的键(通常是Del、F2或F10键)进入BIOS设置界面。

3.导航和选择:在BIOS设置界面中,使用键盘上的方向键、回车键和其他特定键来导航和选择不同的选项。

4.修改设置:选择要修改的特定设置项,如启动设备顺序、日期和时间设置等,并按照界面指示进行修改。

5.保存和退出:保存对设置的修改,并退出BIOS设置界面。

6.重启计算机:计算机将会重新启动,并应用修改后的BIOS设置。

BIOS是嵌入在计算机主板上的固件,控制计算机的启动和硬件功能等。

调用BIOS功能时的基本步骤主要涉及进入BIOS设置界面、导航和选择设置项、修改设置并保存,最后重启计算机生效。

总而言之,调用DOS功能和BIOS功能的基本步骤都是通过命令行或设置界面进行操作,但在具体实施过程中,还会涉及到不同的命令和设置选项,具体步骤会有所变化。

调用dos功能和bios功能时的基本步骤

调用dos功能和bios功能时的基本步骤

调用dos功能和bios功能时的基本步骤调用DOS(磁盘操作系统)功能和BIOS(基本输入/输出系统)功能是在计算机系统中执行低级别任务的基本步骤。

下面将详细介绍这两个过程的基本步骤和关键点。

调用DOS功能的基本步骤如下:1.获取DOS功能的入口点:DOS是一种基于磁盘的操作系统,其提供了一系列的系统调用接口,可以通过中断向量来获取DOS的入口点地址。

2.设置传递参数:在调用DOS功能之前,需要将参数传递给DOS。

可以通过设置特定的寄存器来传递参数,例如AH寄存器用于指定DOS功能的编号,其他寄存器则用于传递更具体的参数。

3. 调用DOS功能:在参数设置完成后,可以通过软中断(int 21h)来调用DOS功能。

软中断是一种由软件主动触发的中断,通过将特定的中断号(21h)放入中断向量表中的对应位置,即可触发DOS的相应功能。

4.处理返回结果:在完成DOS功能调用后,需要根据DOS的返回结果进行适当的处理。

返回结果可以通过寄存器的值进行判断,例如AL寄存器用于返回DOS功能的执行状态。

5.释放和恢复资源:在使用完DOS功能后,应当及时释放和恢复占用的资源,以保证系统的正常运行。

例如,对于打开的文件或设备,应当及时关闭和释放。

调用BIOS功能的基本步骤如下:1.获取BIOS功能的入口点:BIOS是一种固化在计算机主板中的低级别系统软件,其提供了一系列的硬件访问接口。

可以通过读取中断向量表来获取BIOS功能的入口点地址。

2.设置传递参数:与调用DOS功能类似,调用BIOS功能也需要将参数传递给BIOS。

可以通过特定的寄存器来传递参数,例如AH寄存器用于指定BIOS功能的编号,其他寄存器用于传递更具体的参数。

3. 调用BIOS功能:在参数设置完成后,可以通过软中断(int 10h,int 13h等)来调用BIOS功能。

不同的BIOS功能对应不同的中断号,通过将特定的中断号放入中断向量表中的对应位置,即可触发BIOS的相应功能。

DOS系统功能调用

DOS系统功能调用

打印输出( 号调用) 打印输出(5号调用)
格式: 格式:
MOV MOV INT DL,待打印字符的ASCII码 DL,待打印字符的ASCII码 ASCII AH, AH,5 21H 21H
功能: DL寄存器中的字符送打印 功能 : 将 DL 寄存器中的字符送打印 机打印。 机打印。
结束调用( CH号调用 号调用) 结束调用(4CH号调用)
单字符输入( 号调用) 单字符输入(1号调用)
格式: 格式: MOV AH,1 AH, INT 21H 21H 功能: 功能: 从键盘输入字符的ASCII ASCII码送入寄存 从键盘输入字符的ASCII码送入寄存 AL中 并送显示器显示。 器AL中,并送显示器显示。
单字符显示( 号调用) 单字符显示(2号调用)
BEGIN: BEGIN:
CODE
MOV MOV LEA MOV INT MOV INT ENDS END
AX ,DATA DS, DS,AX DX, DX,STR AH ,9 21H 21H AH, AH,4CH 21H 21H BEGIN
格式: 格式:
DL,待显示字符的ASCII ASCII码 MOV DL,待显示字符的ASCII码 AH, MOV AH,2 21H INT 21H
功能: DL寄存器中的字符送显示 功能 : 将 DL 寄存器中的字符送显示 CTRL〉 器 显 示 , 如 果 DL 中 为 〈 CTRL〉+ BREAK〉 ASCII码 则退出。 〈BREAK〉的ASCII码,则退出。
DATA SEGMENT DH, AH, Example STR DB 0DH,0AH,‘Example of string display! display!$’ DATA ENDS STACKSEGMENT STACK SEGMENT STACK DUP( DB 100 DUP(0) STACKENDS STACK ENDS CODE SEGMENT DS:DATA,CS:CODE,SS: ASSUME DS:DATA,CS:CODE,SS:STACK字符串输入格 Nhomakorabea: 格式:

DOS及BIOS调用

DOS及BIOS调用

与DOS相比,BIOS是在更低的层次上为用户提供系统服务 DOS相比,BIOS是在更低的层次上为用户提供系统服务 相比 是在更低的层次上 BIOS功能调用 功能调用 类型号 00 H 01 H 02 H 03 H 04 H 05 H 06 H 07 H 08 H 09 H 0A H 0B H 0C H 0D H 0E H 0F H 10 H 中断功能 被零除 单步 不可屏蔽 断点 溢出 打印屏幕 保留 保留 日时钟 键盘 保留 串口2 串口 串口1 串口 硬盘 软盘 打印机 显示器 类型号 11 H 12 H 13 H 14 H 15 H 16 H 17 H 18 H 19 H 1A H 1B H 1C H 1D H 1E H 1F H 40 H 41 H 中断功能 设备检测 存储容量 磁盘I/O 磁盘 通信I/O 通信 盒式磁带I/O 盒式磁带I/O 键盘I/O 键盘 打印机I/O 打印机 ROM BASIC 引导 日时钟 Ctrl-Break 定时器报时 显示器参数 软盘参数 图形字符扩展 保留给软盘 硬盘参数
DOS调用与BIOS调用两者的区别 DOS调用与BIOS调用两者的区别 调用与BIOS
DOS功能调用在更高层次上提供了与BIOS类同 DOS功能调用在更高层次上提供了与BIOS类同 功能调用在更高层次上提供了与BIOS 的功能。 的功能。 DOS调用与BIOS调用两者的区别 DOS调用与BIOS调用两者的区别 调用与BIOS 调用BIOS中断程序比调用DOS的复杂一些, BIOS中断程序比调用DOS的复杂一些 调用BIOS中断程序比调用DOS的复杂一些, 但运行速度快,功能更强; 但运行速度快,功能更强; DOS功能调用只适用于DOS环境 功能调用只适用于DOS环境, BIOS功 DOS功能调用只适用于DOS环境,而BIOS功 能调用不受任何操作系统的约束; 能调用不受任何操作系统的约束; 某些功能只有BIOS具有。 BIOS具有 某些功能只有BIOS具有。

单片机-BIOS、DOS系统功能调用

单片机-BIOS、DOS系统功能调用

目录一、课程设计目的二、任务介绍及小组成员任务分配三、设计思想及主要流程图四、主要程序清单五、运行结果及分析六、收获、体会及建议一、课程设计目的1. 进一步熟悉BIOS、DOS系统功能调用,了解基本的显存读写技术;2. 了解响铃符以及利用PC扬声器发出不同频率声音的方法;2. 学会用汇编语言编写一个较完整的实用程序,培养自己的动手操作能力;3. 学习汇编语言程序设计的基本思路和方法,编程、调试、撰写报告等;二、任务介绍及小组成员任务分配三、设计思想及主要流程图1、时间的获取调用系统日期和时间,并将调用的日期和时间数转换成ASCII码存在系统内存区的字符串中。

将存在系统内存区的日期和时间用字符串存入显存区(显存的起始地址:B800:0000)并在合适的位置显示出来。

由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式(如利用定时器中断,中断类型号为1CH)来不断获取系统的时间,这样就形成了会跳动的电子钟了。

2、屏幕特定位置显示字符对应屏幕上的每个字符位置,显存空间都有相应的存储单元与之对应。

对应显示在屏幕上的每个字符,在存储器中由连续的两个字节表示,一个字节保存ASCII码,另一个字节保存字符的属性。

属性字节对单色显示和彩色显示都是有效的。

我们可以使用BOIS显示中断10H的各项功能来进行显示字符的编程。

3、主要流程图四、主要程序清单data segmentcount dw 1mess1 db '------------------',0dh,0ah,'$'info db 'Current time is :',0dh,0ah,'$' ;提示语datestr db '00-00-0000',0dh,0ah,'$' ;日期显示信息:month-day-yeartimestr db '00:00:00',0dh,0ah,'$' ;时间提示信息:hour:minute:second mess2 db '------------------',0dh,0ah,'$'mess3 db 'Please input"Q",to quit!',0dh,0ah,'$';提示语data endscode segmentassume cs:code,ds:datamainproc farstart:mov ax,datamov ds,axmov ah,6 ;ah=06(滚动)al=00(全屏空白)mov bh,60h ;设置背景颜色和前景颜色mov cx,0mov dx,1950h ;右下角行号,列号int 10hmov dh,5mov dl,24mov bh,0mov ah,2int 10hmov dx,offset mess3mov ah,09hint 21hmov dh,11mov dl,24mov bh,0mov ah,2int 10hmov dx,offset mess2mov ah,09hint 21hmov dh,7mov dl,24mov bh,0mov ah,2int 10hmov dx,offset mess1mov ah,09hint 21h;--------------------mov dh,8 ;设置到7行30列mov bh,0mov ah,2int 10hmov dx,offset infomov ah,09hint 21h;保存原中断向量mov al,1chmov ah,35hint 21hpush es ;获取1ch中断向量到es:bxpush bxpush ds ;保存;设置新的中断向量mov dx,offset intpromov ax,seg intpromov ds,axmov al,1chmov ah,25hint 21h ;设置中断向量ds:dxpop dsin al,21h ;读中断屏蔽寄存器and al,11111110b ;开定时器中断out 21h,al ;写中断屏蔽寄存器sti ;开中断;等待中断s:mov ah,0 ;调用键盘I/O中断功能号0,获取键值到AL int 16hcmp ah,10Hjz quit ;是Q键,退出程序jmp s;恢复1ch原中断向量quit: pop dxmov al,1chmov ah,25hint 21hmov ax,4c00hint 21hmainendp;------------------------------------------------------------------- ;中断处理程序intpro;------------------------------------------------------------------- intpro proc near;保护现场push dspush axpush cxpush dxpush bppush esmov ax,datamov ds,axstidec countjnz exitcall dispdate ;调用函数显示日期和时间call disptimeMOV count,18;声音mov dl,07mov ah,2int 21hexit:clipop bppop espop dxpop cxpop axpop dsiretintpro endp;---------------------------------------------------------------------;显示日期子程序dispdate;---------------------------------------------------------------------dispdate proc nearpush axpush cxpush dxpush si;获取系统日期:入口:ah<-2ah,出口:cx<-year,dh<-month,dl<-day mov ah,2ahint 21hmov ax,cx ;年份转4位ascii码mov bx,10lea si,datestr+9 ;指向字符串年份最后一位mov cx,4 ;年份4位,循环4次push dx ;保存月日y: xor dx,dx ;dx清零,保存余数即个位div bx ;商存ax,余数存dxadd dl,30h ;转ascii码,存datestr字符串末尾mov [si],dldec siloop ypop dx ;还原dx,处理日mov al,dlxor ah,ahdiv bl ;求日的个位,存ah,十位存aladd ax,3030h ;分别转ascii码sub si,2mov [si],ax ;存日mov al,dh ;处理月xor ah,ahdiv bl ;求月的个位,存ah,十位存aladd ax,3030h ;分别转ascii码sub si,3mov [si],ax ;存日;显示日期字符串MOV AH,2MOV BH,0MOV DH,9MOV DL,25INT 10Hmov dx,offset datestrmov ah,09hint 21hpop sipop dxpop cxpop axretdispdate endp;-------------------------------------------------------------------- ;显示时间子程序disptime;--------------------------------------------------------------------- disptime proc nearpush axpush cxpush dxpush si;获取系统时间:入口:ah<-2ch,出口:ch<-hour,cl<-minute,dh<-second mov ah,2chint 21hmov bl,10lea si,timestrmov al,ch ;处理小时xor ah,ahdiv bladd ax,3030hmov [si],axadd si,3mov al,cl ;处理分xor ah,ahdiv bladd ax,3030hmov [si],axadd si,3mov al,dh ;处理秒xor ah,ahdiv bladd ax,3030hmov [si],ax;显示时间字符串MOV AH,2MOV BH,0MOV DH,10MOV DL,25INT 10Hmov dx,offset timestrmov ah,09hint 21hpop sipop dxpop cxpop axretdisptime endpcode endsEND START五、运行结果及分析分析:因为设置了光标位置,所以时间显示在屏幕中间。

实验二 DOS、BIOS系统功能调用

实验二 DOS、BIOS系统功能调用





键盘I/O中断调用 键盘驱动程序的中断类型号为16H,用INT 16H调用. 1、功能号 AH=0 功 能:从键盘读字符到AL中 出口参数:AL中为键盘输入字符的ASCII码。 2、功能号 AH=1 功 能:从键盘读字符到AL中,并设置ZF标志,若 有键按下,则置ZF标志位为0,否则,置ZF 标志为1。
实验内容

编写一段程序,从键盘输入字符并显示, 若输入字符达到10个则退出,若在输入字符 过程中,有回车键也要求退出。
编写一段程序,要求显示一个字符串 “DOS AND BIOS”,显示之后,按ES C退出程序。

BIபைடு நூலகம்S中断调用


IBM-PC写在ROM中的程序,一是BASIC语 言解释程序,二是基本输入/输出程序。 BIOS程序主要功能是驱动系统配置的常用 外设,程序员在编程时,可以不必过多的 关心硬件的物理特性和逻辑结构。 与DOS的系统功能调用相比,使用BIOS能 完成更复杂的输入/输出操作。
常用BIOS中断调用
显示字符串(9号功能)示例
L1:




MOV AX,data MOV DS,AX MOV DX,OFFSET MESS1 MOV AH, 09H INT 21H JMP EXIT



五、程序退出(4CH号功能) 调用格式 MOV AH,4CH INT 21H 功能: 返回DOS操作系统。
ASCII码控制字符的功能

0DH 0AH 1BH
回车功能 换行功能 ESC功能


三、控制台输入(8号功能) 调用格式 MOV AH,8 INT 21H 功能:

DOS系统功能调用及BIOS调用实验报告

DOS系统功能调用及BIOS调用实验报告

实 验 报 告学院名称 :实验名称 : DOS系统功能调用及BIOS调用班级 :学生姓名 :学生学号 :DOS 系统功能调用及BIOS 调用实验【实验目的】(1)(1) 熟悉PC 机中断系统的有关概念,了解中断向量表的概念。

机中断系统的有关概念,了解中断向量表的概念。

(2)(2) 掌握常用DOS 系统功能调用的方法。

系统功能调用的方法。

(3)(3) 掌握BIOS 中常用设备(如显示器、打印机等)驱动程序的调用方法。

中常用设备(如显示器、打印机等)驱动程序的调用方法。

【实验原理】微型计算机系统为汇编用户提供两个程序接口,一个是DOS 系统功能调用,另一个是ROM 中的BIOS BIOS((basic input/output system )。

系统功能调用和BIOS 由一系列的中断服务程序构成,它们使得程序设计人员不必详细了解硬件的内部结构和工作原理,直接调用这些中断服务程序就可以使用系统的硬件,尤其是I/O 设备的使用和管理。

用和管理。

IBM PC 中断系统为了识别和响应每一种中断中断系统为了识别和响应每一种中断,,将它们赋以0000~~FFH 中断类型号,故中断系统能出理256种中断。

每种类型的中断都对应一个中断服务程序,每个中断服务程序的入口地址包括该程序所在段的段地址和段内偏移地址,需4个存储单元来存放。

将256种中断对应的中断服务程序排成一张表,放在内存底端00000H 00000H~~003FFH 单元中,单元中,系统在响应中断时根据得到的中断类型号到该表对应的四个存储单系统在响应中断时根据得到的中断类型号到该表对应的四个存储单元中即可找到要执行的中断服务程序的入口地址。

元中即可找到要执行的中断服务程序的入口地址。

从功能上分。

中断向量表中的中断类型可分为如下三类从功能上分。

中断向量表中的中断类型可分为如下三类: :(1)(1) 磁盘操作系统DOS 提供的中断服务程序,中断类型号为20H 20H~~2FH 2FH。

实验五 DOS系统功能调用

实验五 DOS系统功能调用

功能号 0AH 功能:从键盘输入字符串到缓冲区 入口参数:缓冲区首地址→DS:DX 出口参数:无






;定义数据段如下: DATA SEGMENT MAX DB 10 最大字符数,缓冲区首地址 ACT DB 0 实际键入字符数 STR DB 10 DUP(0) 字符串首地址 DATA ENDS

注:字符串必须是以 $ 结尾。
;定义数据段如下: DATA SEGMENT X DB ‘ABCDE$’ DATA ENDS








CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA DX,X ; (设入口参数) MOV AH,9 ; (送功能号) INT 21H ;(子程序入口) MOV AH,4CH INT 21H CODE ENDS END START
实验五 DOS系统功能调用
什么是DOS系统功能调用?

分别用来实现文件管理、设备管理、目录管理等功能的一 些子程序。
如何实现调用?

每个子程序对应一个功能号,给定入口/出口参数后,用 INT 21H来调用。
调用的具体步骤是怎样的?
按下面四步:
1、设置入口参数; 3、执行
2、功能号送入AH;


a a a 3)加入“回车”和“换行”字符显示结果 a a






回车:将光标从当前位置移到本行的第一列 MOV DL,0DH MOV AH,02H INT 21H 换行:将光标从当前位置移到下一行的对应列 MOV DL,0AH MOV AH,02H INT 21H

汇编实验报告之dos和bios调用

汇编实验报告之dos和bios调用
山西大学计算机与信息技术学院
实验报告
姓名
***
学号
***
专业班级
计算机科学与技术
课程名称
汇编实验
实验日期
成绩
指导教师
李桂成
批改日期
实验名称
实验7 dos和bios调用
一.实验目的:
1、体会dos和bios的功能调用的区别,并掌握
2、体会dos和bios功能调用的优缺点并且了解每个调用能实现那些功能
二.实验内容
mov dl,win_leftc
int 10h
print:
mov cx,1
mov bx,0
cmp array[bp],'$'
je exit
mov al,array[bp]
mov ah,9
mov bl,byte ptr color[di]
int 10h
;***************************
mov bp,0
mov di,0
mov bh,0
mov al,0
mov ah,6
mov bh,70h
mov ch,win_leftr;行
mov cl,win_leftc;列
mov dh,win_rightr;
mov dl,win_rightc
int 10h
mov ah,2
mov bh,0
mov dh,win_leftr
inc bp
;*****读光标
mov ah,3
int 10h
inc dl
cmp dl,25+1
jl next
inc dh
mov dl,win_leftr
;*****置光标

第5章 DOS和BIOS系统功能调用

第5章 DOS和BIOS系统功能调用






3.非设备系统调用 非设备系统调用用于为程序设置中断矢量和建立程序段 前缀,以及读取和设置日期、时间等。 4.目录管理 目录管理包括建立子目录、取当前目录、修改当前目录、 删除目录项等。 5.扩充内存管理 扩充内存管理包括内存分配、释放,分配内存块,装入 或执行程序等。 6.扩充系统调用 扩充系统调用包括读取DOS版本号、终止进程、读取中 断矢量、查找第一个相匹配的文件、读取校验状态等。 上述各系统调用,在MS-DOS的有关资料中都有详细介 绍。如要了解和使用,请查阅相关资料。





3.异步通信口输入(3号调用) 等待从标准异步通信接口输入一个字符,并送到AL中。 系统启动时,标准异步通信接口被初始化为2400位,无 奇偶校验位,8位字长,一个停止位。使用本调用,可依上 述速率及数据格式接收一个字符并存入AL中。 4.异步通信口输出(4号调用) 将存入DL中的字符输出到标准异步通信接口,初始异步 通信接口方式同3号调用。 5.字符打印输出(5号调用) 将存于DL中的字符输出到打印机。 6.直接控制台I/O (6号调用) 本调用可以从键盘输入也可以向显示器输出。当DL设置 为0FFH时,则清CF且等待键盘输入一个字符到AL中。当DL 设置为非0FFH时,则将DL中的字符向显示器输出。本调用 不对Ctrl+Break作检查。




11.读取日期(2AH调用) 调用后的日期存放在CX: DX中。其中CX中为年号,DH中 为月号,DL中为日号(均为二进制数)。 12.设置日期(2BH调用) 调用时,CX: DX中存放有效日期。其中CX存为年号,DH 为月号,DL为日号(均为二进制数)。 若设置有效,调用后AL=0,否则AL=0FFH.

DOS上机实验报告

DOS上机实验报告

DOS上机实验报告DOS功能调⽤1.实验⽬的1)掌握简单的DOS系统功能调⽤。

2)掌握在PC机上建⽴、汇编、链接、调试汇编语⾔程序的过程。

2.实验设备微型计算机、MASM.EXE、LINK.EXE、TD.EXE3.实验原理本节要⽤到的DOS功能命令包括:从键盘输⼊单个字符的语句如下:MOV AH,1INT 21H以上两条指令执⾏后,(AL)=从键盘输⼊的字符在屏幕上显⽰单个字符的语句如下:MOV DL,<要显⽰的字符>MOV AH,2INT 21H返回操作系统的语句如下:MOV AH,4CHINT 21H注意:源程序中所有语法符号都必须是半⾓符号,⽽且不允许汉字字符。

在屏幕上显⽰字符串的语句如下:LEA DX,<字符串变量名,字符串必须以字符′$′作为结束>MOV AH,9INT 21H从键盘上输⼊字符串的语句如下:LEA DX,<键盘缓冲区名>MOV AH,0AHINT 21H4.实验内容(1)字符的输⼊和输出从键盘读⼊⼀个⼩写字母,输出字母表中倒数与该字母序号相同的那个字母。

例如输⼊⾸字母a,则输出最后⼀个字母z,输⼊第4个字母d则输出倒数第4个字母w。

程序流程图如图错误!⽂档中没有指定样式的⽂字。

-1所⽰。

图错误!⽂档中没有指定样式的⽂字。

-1字符输⼊输出的程序流程图程序框架如下:DSEG SEGMENTDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART: MOV AX,DSEGMOV DS,AXMOV AH,1INT 21HMOV BL,'z'MOV CL,'a'ADD CL,BLSUB CL,ALMOV DL,CLMOV AH,2INT 21HKEY:MOV AH,1INT 16HJZ KEYMOV AH,4CHINT 21HCSEG ENDSEND START(2)字符串的输⼊和输出从键盘输⼊⼀个字符串(以下说明中,假定键盘缓冲区的名字为KBUF,要显⽰的字符串变量名为STR),将输⼊的字符串传送给STR变量,在屏幕上显⽰STR变量中的内容。

实验6 DOS系统功能调用

实验6 DOS系统功能调用

实验六DOS系统功能调用(2学时)
实验目的
1.掌握CALL指令的使用方法。

2.掌握子程序的定义
3.掌握主程序与子程序之间的调用关系及其调用方法
4.掌握主程序与子程序间参数的传递方法(寄存器、存储器、堆栈)
实验内容
1.从键盘输入两个不相等的十进制无符号数存入内存中符号地址NUM1
及NUM2处,比较两数的大小,如果NUM1>NUM2,屏幕显示
NUM1>NUM2!,否则屏幕显示NUM1<NUM2!。

要求:
子程序将从键盘输入的十进制数转换为二进制形式,保存到寄存器中。

给出子程序的说明文件
实验准备
1.预习子程序定义的方法
2.根据实验内容,选择合适的主程序与子程序参数传递的方法
3.给出完整的子程序的描述(入口参数、出口参数、功能),子程序的流
程图及代码
4.给出完整的源代码
实验步骤
1.输入,汇编并将此程序连接成EXE文件。

2.通过设置断点和单步执行命令调试此程序,给出调试的过程并观察和
记录CALL 、RET指令执行结果
实验报告要求
1.写出子程序的描述,(入口参数、出口参数、功能)
2.给出实验内容中主程序与子程序的分析、流程图
3.说明实验内容中主程序与子程序参数传递的方法
4.写出实现内容中完整的源程序
5.写出每次过程调用、返回及进出栈指令前后的SP和堆栈内容。

6.写出详细的调试过程,包含调试中遇到的问题,并说明解决的方法。

8086DOS和BIOS功能调用

8086DOS和BIOS功能调用

第5章 汇编语言程序设计
① 磁盘读写中断。INT 25H、INT 26H分别用来读 和写磁盘上的若干扇区,这实际上是两条BIOS调用。 ② 程序退出中断。INT 20H、INT 27H都为程序的 退出命令。 ③ 假脱机打印文件中断。INT 2FH用来实现假脱机 打印文件命令PRINT。 ④ 系统功能调用。又称为DOS功能调用,是指 INT 21H 中断。它是可供系统程序和应用程序调用的一个极 其重要的中断,内含近百个子功能。
第5章 汇编语言程序设计
3、BIOS中断调用
在IBM-PC机的ROM存储器中包含一些基本输入输 出子程序。这些基本输入输出子程序简称为BIOS。它们 的功能与DOS中字符I/O功能相似,用户也可通过软件 中断方式直接调用。由于BIOS提供的字符I/O功能直接 依赖于硬件,因而调用它们比调用DOS字符I/O功能速 度更快。例如: ☆键盘输入子程序。调用指令为 INT 16H ☆屏幕显示子程序。调用指令为 INT 10H ☆打印输出子程序。调用指令为 INT 17H
第5章 汇编语言程序设计
1、DOS中断及功能调用
DOS常用的9类中断(20H~27H和2FH)可分为两
种:
⑴ DOS专用中断。DOS专用中断是指INT 22H、 INT 23H、 INT 24H 3个中断,属DOS操作时专用,用 户不要直接使用。 ⑵ DOS可调用中断。DOS可调用中断是指INT 20H、 INT 21H、 INT 25H、 INT 26H、 INT 27H和 INT 2FH 6个中断。这6个中断都供用户直接调用,但 都必须要满足一定的入口条件。其中:
第5章 汇编语言程序设计
⑵ 0AH号调用(字符串输入) 从键盘接收字符串到内存输入缓冲区,要求事 先定义一个输入缓冲区,缓冲区第一个字节指出缓冲 区的字符个数,不能为零。第二个字节保留已用作填 写输入的字符实际个数。从第三个字节开始存放从键 盘上接收的字符。调用时,要求DS:DX指向输入缓冲 区的首地址。键入字符串以回车结束。 例如,从键盘输入一个小于50个字符的字符串 数据。其程序设计方法是:
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.6 DOS系统功能调用及BIOS调用实验
2.6.1 实验目的
1、熟悉PC机中断系统的有关概念,了解中断向量表的作用。

2、掌握常用DOS系统功能调用的方法。

3、掌握BIOS中常用设备(如显示器、打印机等)驱动程序的调用方法。

2.6.2 实验预习要求
1、复习常用DOS系统功能调用方法。

2、复习BIOS调用方法。

3、读懂“2.6.4 实验内容”中给出的源程序,以便上机调试。

4、从“2.6.5 实验习题”中任选一道题目,编写源程序,以便上机调试。

2.6.3中断系统、DOS系统功能调用及BIOS调用简介
微型计算机系统为汇编用户提供了两个程序接口,一个是DOS系统功能调用,另一个是ROM中的BIOS(basic input/output system)。

系统功能调用和BIOS由一系列的中断服务程序构成,它们使得程序设计人员不必详细了解硬件的内部结构和工作原理,直接调用这些中断服务程序就可以使用系统的硬件,尤其是I/O设备的使用与管理。

如下表所示,IBM PC中断系统为了识别和响应每一种中断,将它们赋以00~FFH中断类型号,故中断系统能处理256种中断。

每种类型的中断都对应一个中断服务程序,每个中断服务程序的入口地址包括该程序所在段的段地址和段内偏移地址,需4个存储单元来存放。

将256种中断对应的中断服务程序排成一张表,放在内存底端00000H~003FFH单元中,系统在响应中断时根据得到的中断类型号到该表对应的四个存储单元中即可找到要执行的中断服务程序的入口地址。

PC机中断向量表
从功能上分,中断向量表中中断类型可分为三类:
1、磁盘操作系统DOS提供的中断服务程序,中断类型号从20H到2FH。

其中类型号为21H的DOS
系统功能调用使用较多,如前面实验中用到的单个字符输入、单个字符显示、字符串显示、字符串输入等操作就是通过调用DOS系统功能(中断类型号为21H,功能号(调用号)分别为01H、02H、09H、0AH)来实现的。

有关DOS系统功能调用(INT 21H)中各功能号对应的功能列表见附录A。

2、系统主板BIOS芯片提供的BIOS中断服务程序,包括系统内部中断,中断类型号从00H到07H;
系统8级外部中断,中断类型号从08H到0FH;设备驱动程序,中断类型号从10H到1FH等。

3、用户定义的中断,中断类型号从60H到7FH、F1H到FFH。

用户可根据实际需要编写自己的中断服
务程序,并将该服务程序的入口地址写入中断向量表中相应的存储单元,以便对它们进行调用。

有关中断服务程序的编写与调用方法将在“2.7 中断服务程序设计实验”中介绍。

需要说明的是,许多功能既可以通过DOS系统功能调用实现,也可以通过BIOS调用实现,实际使用时应根据具体情况选择使用,一般原则为:能通过DOS系统功能调用实现的功能不使用BIOS调用实现。

有关详细介绍请参阅教材“5.5.6 常用系统功能调用和BIOS中断调用”一节。

2.6.4实验内容
制作电子时钟,在屏幕上实时显示系统当前时间。

程序运行结果如下图所示。

要求:
①屏幕显示方式设置为80⨯25黑白文本方式(使用BIOS中断调用,中断类型号为10H,功能号
为00H,(AL)=2);
②在开始显示实时时钟和结束之
前清屏(使用BIOS中断调用,中断类
型号为10H,功能号为06H,(AL)
=0);
③按任意键退出程序的执行(使
用DOS系统功能调用,中断类型号为
21H,功能号为0BH,当返回值(AL)
=FFH时有键按下,当(AL)=00H时
无键按下);
1、编程指导
(1)屏幕显示方式设置宏指令SETCRT
SETCRT MACRO
MOV AH, 0 ;功能号为0
MOV AL, 2 ;将屏幕设置为80⨯25黑白文本方式
INT 10H
ENDM
(2)清屏宏指令CLEAR
C LEAR MACRO
MOV AH, 06H ;功能号为6
MOV AL, 0 ;清窗口
INT 10H
ENDM
(3)光标位置设置宏指令
CURSOR MACRO ROW, CLM
MOV AH, 02H ;功能号为2(置光标位置)
MOV BH, 00H ;页号(文本方式时为0)
MOV DH, ROW ;行号送DH
MOV DL,CLM ;列号送DL
INT 10H
ENDM
(4)按任意键退出程序指令
MOV AH, 0BH ;功能号为0BH(检测键盘状态)
INT 21h
CMP AL, 00H ;(AL)为0时无键按下
JNZ EXITT ;有键按下时退出
JMP LOOPR ;无键按下时继续循环显示当前时间EXITT: ……
2、程序框架
DATA SEGMENT
BUF1 DB "Current time is:$"
HOUR DB 20H,20H,':','$'
MINUTE DB 20H,20H,':','$'
SECOND DB 20H,20H,':','$'
MSECOND DB 20H,20H,'$'
INFOR DB " Press any key to exit...$"
DATA ENDS
STACK SEGMENT STACK
SNUM DW 20H DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX, DA TA
MOV DS, AX
MOV AX, STACK
MOV SS, AX
MOV AX, LENGTH SNUM
TIMER1 MACRO REG, ADR
PUSH AX
PUSH BX
LEA SI, ADR
MOV AL, REG
MOV AH, 00
MOV BL, 10
DIV BL
ADD AL, 30H
MOV [SI], AL
ADD AH, 30H
INC SI
MOV [SI], AH
POP BX
POP AX
ENDM
SETCRT ;将屏幕设置为80 25黑白文本方
CLEAR ;清屏
CURSOR 3, 22 ;设置光标位置以便显示BUF1中的提示信息
STRDSPY BUF1
CURSOR 7,23 ;设置光标位置以便显示INFOR中的提示信息
STRDSPY INFOR
LOOPR: MOV AH, 2CH
INT 21H ;取当前时间。

CH=小时(0-23),CL=分(0-60)
;DH=秒(0-60),DL=1/100秒(0-99),均为二进制形式PUSH CX
MOV CH,DL
TIMER1 CH,MSECOND ;将毫秒值转换为ASCII码并存MSECOND单元
MOV CH, DH
TIMER1 CH, SECOND ;将秒值转换为ASCII码并存MSECOND单元
POP CX
TIMER1 CL,MINUTE ;将分值转换为ASCII码并存MSECOND单元
TIMER1 CH,HOUR ;将小时值转换为ASCII码并存MSECOND单元
CURSOR 5,24 ;设置光标位置以便显示当前时间
STRDSPY HOUR
STRDSPY MINUTE
STRDSPY SECOND
STRDSPY MSECOND
MOV AH,0BH ;检测是否有键按下
INT 21h
CMP AL, 00H
JNZ EXITT ;有键按下则退出
JMP LOOPR ;无键按下继续显示当前时间
EXITT: SETCRT
CLEAR
MOV AH, 4CH
INT 21H
CODE ENDS
END START
2.6.5 实验习题
1、编写在屏幕上显示如下信息的程序:
今天是XXXX年XX月XX日星期X
按任意键退出…
提示:读取日期信息使用DOS系统功能调用功能号为2AH的中断服务程序。

该中断服务程序返回信息如下:CX=年份(1980~2099),DH=月份(1~12),DL=日(0~31),AL=星期(0~6,其中0为周日)。

2、编写沿屏幕对角线(从左上角到右下角)显示符号“$”的程序,当显示到右下角时重新从左上角开
始显示,直到有键按下时结束程序的执行。

提示:屏幕设置为80⨯25黑白文本方式;在当前光标处显示字符使用BIOS INT 10H(功能号为09H)实现;在当前光标处显示字符后应延时一段时间,然后重新设置屏幕为80⨯25黑白文本方式并清屏(INT 10H,功能号为06H,(AL)=0)。

2.6.6 实验报告要求
1、补全“2.6.4 实验内容”中源程序框架内未写出的程序代码,读懂该程序,并说明你在调试该程序过
程中遇到了哪些问题,是如何处理的?
2、从“2.6.5实验习题”中任选一道题目,画出流程图,编写源程序,并说明在调试过程中遇到了哪些
问题,是如何处理的。

3、写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。

相关文档
最新文档