精品实验二汇编语言基础实验应用优秀

  • 格式:pdf
  • 大小:154.20 KB
  • 文档页数:8

下载文档原格式

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

实验二

汇编语言基础实验应用

实验二汇编语言基础实验应用

DOS功能调用练习

实验目的:

1.介绍常用DOS功能调用

2.熟悉DOS功能调用的使用

实验要求:根据要求编写程序。

实验内容:

常用DOS功能调用介绍:

DOS功能调用格式:

(1)将调用参数装入制定的寄存器;

(2)如需功能号,把它装入AH;

(3)如需子功能号,把它装入AL;

(4)INT21H

1.从键盘输入一个字符并回显在屏幕上

MOV AH,1

INT21H

返回值AL=输入字符的ASCII码

支持Ctrl_C或Ctrl_Break的中断处理(即结束程序)。

2.从键盘输入一个字符,不回显

MOV AH,7

INT21H

返回值AL=输入字符的ASCII码

不支持Ctrl_C或Ctrl_Break的中断处理(即结束程序)。

3.从键盘输入一个字符,不回显

MOV AH,8

INT21H

返回值AL=输入字符的ASCII码

支持Ctrl_C或Ctrl_Break的中断处理(即结束程序)。

4.输入字符串到缓冲区

MOV DS,缓冲区所在段的段地址

MOV DX,缓冲区首偏移地址

MOV AH,10;或写为0AH

INT21H

输入字符串以回车结束,如果输入的字符数超过缓冲区容量,多余的字符无法输入。

缓冲区定义格式:

BUFFER DB最大字符数,实际输入字符数(不包括回车字符),字符串(包括回车字符)

例如:

BUFFER db20,?,20dup(?)

6.显示一个字符

MOV DL,要显示字符的ASCII码

MOV AH,2

INT21H

7.显示字符串

MOV DS,字符串所在段的段地址

MOV DX,字符串首偏移地址

MOV AH,9

INT21H

字符串定义格式:

STRING DB‘……$’字符串必须以字符$结束。

例1:输入一个字符,将其存入字节变量CHAR中,并在第二行显示其后继字符。用到了1号和2号功能,其中1号功能可以用7号或8号功能代替,其区别详见功能介绍。DATA SEGMENT

CHAR DB?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

MOV AH,1

INT21H;输入一个字符

MOV CHAR,AL;存入变量CHAR中

MOV DL,0AH

MOV AH,2

INT21H;显示换行符(换行符的功能为将光标移至下一行的当前位置)

MOV DL,0DH

MOV AH,2

INT21H;显示回车符(回车符的功能为将光标移至本行行首)

MOV AL,CHAR

INC AL;取得后继字符的ASCII码

MOV DL,AL

MOV AH,2

INT21H;显示字符

MOV AH,4CH

INT21H;退出程序

CODE ENDS

END START

例2:输入姓名并存入MYNAME缓冲区中。用到了0A号功能和9号功能。

DATA SEGMENT

MESSAGE DB‘Please enter your English name:$’

MYNAME DB21,?,21DUP(?);缓冲区最多容纳21个字符(包括回车)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

LEA DX,MESSAGE

MOV AH,9

INT21H;输出字符串

LEA DX,MYNAME

MOV AH,0AH

INT21H;输入字符串

MOV AH,4CH

INT21H

CODE ENDS

END START

实验题目:

编写程序实现:编写程序实现输入1个学生的学号,姓名,性别,年龄,并保存在变量中,然后再将这1个学生的信息以一行的形式显示出来。要求:输入信息利用1号或0Ah号功能,输出信息利用2号或9号功能。

数据段定义示例:(也可以自己根据需要定义变量的结构)注意程序粘贴到记事本后引号需要改写为英文输入法的引号。

DATA SEGMENT

MESSAGE1DB‘Just knock the keyboard:’,0AH,0DH,’$’;输入提示语

MESSAGE2DB‘Oh,see them again!’,0AH,0DH,’$’;输出提示语

STUDENT_NUMBER DB11,?,11DUP(?);假设学号为10个字符

STUDENT_NAME DB21,?,21DUP(?);假设姓名不超过20个字符

STUDENT_SEX DB?;性别F/M

STUDENT_AGE DB3,?,3DUP(?);年龄为2个字符00~99

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

;Enter your code here

MOV AH,4CH