微机原理课程设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1设计概述

此次课程设计为键盘录入转换程序设计,满足以下要求:通过键盘连续录入可显示多个字符,遇“.”时终止;字符串以空格和“.”分隔,输入完成后,空格前的字符串以正向在屏幕上显示,“.”前的字符串以反向在屏幕上显示。

程序设计主要包括调用DOS系统的INT 21H功能从键盘输入字符然后显示字符,通过调用相应的字程序判断输入的字符是否为空格和“.”,当输入“.”时终止字符的输入,配合调用另一子程序来实现空格前的字符串在屏幕向以正序显示,“.”前的字符串在屏幕上以反序显示,从而完成此次课程设计。

由于本程序设计大量使用调用DOS系统的INT 21H功能,本报告书将首先介绍DOS 系统的INT 21H功能,然后进行详细的程序设计。

2 程序设计相关知识介绍

2.1 DOS及其功能调用

DOS操作系统从两个层次上向用户提供与操作系统的接口,普通用户可以通过键盘命令在命令处理模块层次上和操作系统互交,高级用户可以通过软件中断的方式在DOS的较低层次上合操作系统交互,包括DOS中断调用和BIOS功能调用。

DOS操作系统将输入输出管理程序编制成一系列子程序,不仅系统可以使用,用户也可以像调用子程序一样方便的调用它们。这些子程序或常驻内存,或固化在系统的ROM 中。

目前DOS常用的9类中断(20H~27H和2FH)分为两种:

1.DOS专用中断:INT22H、INT23H和INT24H,用户不能使用。

2.DOS可调用中断:INT20H、INT27H(程序退出)、INT21H(系统功能调用)、INT25H、INT26H(磁盘R/W中断)、INT 2FH(假脱机打印文件)。

DOS系统功能调用的方式是通过执行软中断指令INT21H来实现的。当寄存器AX中设置不同的值时,该指令将完成不同的功能。在21H类型所对应的中断程序中包含了一系列最常用的功能子程序,这些子程序分别分别实现外部设备管理功能、文件读写和管理功能、目录管理功能等,所以21H类型中断几乎包括了整个系统的功能,系统功能调用的名称也就由此而来。

DOS启动成功后,INT21H的中断向量(中断处理程序首地址)被初始化在中断向量表中向量地址为84H到87H的4个字节单元内。所有系统功能调用的各自功能的介绍见表1,有些系统调用功能简单,不需要设置入口参数,或者说没有出口参数。详细的功能、入口参数、出口参数要求可见专门的手册。通常,默认标准设备为:标准输入设备(控制台输入)是键盘;输出设备(控制台输出)是显示器;标准辅助设备是第一个RS232串口异步通讯接口,打印输出为第一个并行接口等。

表1 字符I/O系统功能调用

1.功能01H、07H和08H

功能描述:从标准输入设备(如:键盘)读入一个字符。该中断在处理过程中将一直处于等待状态直到有字符可读为止。该输入还可被重定向,如果这样做,则无法判断文件是否已到文件尾。

入口参数:AH=01H,过滤掉控制字符,并回显。

AH=07H,不过滤掉控制字符,不回显。

AH=08H,过滤掉控制字符,不回显。

出口参数:AL=输入字符的ASCII码。

例如:读键盘输入一个字符并且回显的程序。

MOV AH,1

INT 21H

2.功能02H

功能描述:向标准输出设备(如:屏幕)输出一个字符。该输出还可被重定向,如果这样做,则将无法判断磁盘是否满。

入口参数:AH=02H,DL=待输出字符的ASCII码。

出口参数:无。

其基本格式如下:

MOV AH,2

MOV DL,要显示的字符的ASCII

INT 21H

3.功能03H

功能描述:从辅助设备读入一个字符,该辅助设备的缺省值为COM1。

入口参数:AH=03H。

出口参数:AL=读入字符的ASCII码。

4.功能04H

功能描述:向辅助设备输出一个字符,该辅助设备的缺省值为COM1

入口参数:AH=04H,DL=待输出字符的ASCII码。

出口参数:无。

5.功能06H

功能描述:控制台(如:键盘、屏幕)输入/输出。如果输入/输出操作被重定向,那么,将无法判断文件是否已到文件尾,或磁盘已满。

入口参数:AH=06H,DL=输入/输出功能选择。

出口参数:若DL=00H-FEH,则此功能为输出,DL为待输出字符的ASCII码;若DL =0FFH,则此功能为输入,此时:若ZF=1,则无字符可读,否则,AL=读入字符的ASCII 码。

6. 功能09H

功能描述:输出一个字符串到标准输出设备上。如果输出操作被重定向,那么,将无法判断磁盘已满。

入口参数:AH=09H,DS:DX=待输出字符的地址,待显示的字符串以’$’作为其结束标志,否则会引起屏幕混乱。显示时在字符串结束前加上回车及换行的ASCII码0DH和0AH,可使光标自动换行。

出口参数:无。

其基本格式如下:

MOV AH,9

LEA DX,<字符串>

INT 21H

7.功能0AH

功能描述:从标准输入设备上读入一个字节字符串,遇到“回车键”结束输入(输入的字符在标准的输出设备上有回显)。如果该输入操作被重定向,那么,将无法判断文件是否已到文件尾。

入口参数:AH=0AH,DS:DX=存放输入字符的起始地址。第一个字节为缓冲区的最大容量,可认为是入口参数;第二个字节为实际输入的字符数(不包括回车键),可看作出口参数;从第三个字节开始存放实际输入的字符串;字符串以回车键结束,回车符是接受的最后一个字符;若输入的字符数超过缓冲区的最大容量,则多出的部分被丢弃,系统并发出响铃,直到输入“回车”键才结束输入。

出口参数:无。

例如:用DOS系统调用0AH从键盘输入一个字符串

STR1 DB 10,? 10 DUP(?)

……

LEA DX,STR1

MOV AH,OAH

INT 21H

8.功能0BH

功能描述:检查标准输入设备上是否有字符可读,该输入操作可被重定向。

相关文档
最新文档