一、实验目的和要求

1、熟练掌握汇编语言的程序格式,程序设计方法;学会使用masm6.11对源程序进行编译、链接、调试和运行

2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。

3、利用^Break退出程序的方法及局限性。

4、汇编程序的编写

、实验环境

DOSBox 0.74

三、实验内容与过程

1.利用INT 21 09H号功能调用显示字符串。验证以下程序

1) 用A命令在100H处键入下列程序:

MOV AH, 9

MOV DX,110

INT 21

INT 20

2) 用A命令在110H处键入下列字符串的ASCII码:

DB  'This is a sample!$'

3) 用N命令和W命令将此程序(包括数据区)存入文件名为AA.COM的磁盘文件中。(存入前BX:CX必须置为文件长度值)。

4) 用Q命令退出DEBUG。

5) 在DOS命令下打AA,运行此程序,即在屏幕上显示'This is a sample!'字符串,若不出现,用DEBUG检查程序有无错误。

汇编语言程序设计实验四_字符串

答:如图所示,根据步骤1~5进行操作后,程序成功运行。

2.利用INT 21H 2号功能显示字符:

1)用A命令在100H处键入下列程序:

XOR DL,DL

MOV   CX,100

LOP:  MOV   AH,2

INT 21

INC DL

PUSH CX

MOV CX,8

DELY: PUSH CX

MOV CX,256

J:   LOOP  J

POP CX

LOOP   DELY

POP CX

LOOP   LOP

INT 20

2)用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同?

3)按CTRL+BREAK退出此程序,若一次不行可多做几次。

汇编语言程序设计实验四_退出程序_02

答:如图所示,根据步骤1~5进行操作后,程序成功运行。对照表上的控制字符是字母,而输出结果还有一些符号。

、实验结果与分析

3. 编写一个简化的段定义结构程序:

先提示输入数字“Input  number:0-9”,然后在下一行显示输入的数字,结束;如果不是键入了0-9 数字,就提示错误“ERROR!”,继续等待输入数字。

程序如下:

汇编语言程序设计实验四_控制字符_03

汇编语言程序设计实验四_退出程序_04

该程序使用INT 21H中的09H功能来显示提示信息和错误信息,使用01H功能来读取用户输入,使用02H功能来显示输入的数字。如果输入的不是数字,程序会跳转到标签ERROR并显示错误信息,然后重新等待用户输入。如果输入的是数字,则将其转换为数字并保存到变量num中,然后显示该数字并退出程序。

汇编语言程序设计实验四_字符串_05

编译成功后运行程序:

汇编语言程序设计实验四_控制字符_06

2.   编写一个完整的段定义结构程序:

从键盘输入一个字符串(不超过255个),将其中的小写字母转换成大写字母,然后按原来的顺序在屏幕上显示。要求对以上两个程序,进行编译,链接,调试,运行,给出具体步骤

汇编语言程序设计实验四_字符串_07

汇编语言程序设计实验四_字符串_08

编译程序的过程:

汇编语言程序设计实验四_退出程序_09

程序运行后的结果:

汇编语言程序设计实验四_控制字符_10