当前位置:文档之家› 微机原理第二次实验报告

微机原理第二次实验报告

微机原理第二次实验报告
微机原理第二次实验报告

实验二:加法及判断程序调试实验实验报告

健行理工1402班 陈丽红 2

一、实验目的

1. 掌握编写汇编语言源程序的基本方法和基本框架。

2. 学会编写顺序结构、分支结构和循环结构的汇编程序,掌握宏定义与宏调用的方法。

3.掌握程序中数据的产生与输入输出的方法。

二、实验内容

1. 用汇编语言编写一个加法程序: 1325十9839,用ASCII 码的形式将加数与被加数存放在数据区DATA1和DATA2中,并将相加结果显示输出。

2. 设有一组数据: 5,-4,0,3,100,-51,编程判断:每个数是>0、=0、还是<0 ?并输出其判断结果。

即:

?????<-=>=0

100

01x x x y 当当当 三、程序说明

3.1实验内容一:

(1) 两个数据先以相反的顺序以ASCII 码的形式存放在数据段的DATA1和DATA2中,相加时从DATA1和DATA2的起始字节开始相加,也就是从数的个位数开始相加。相加后的结果存放在DATA2开始的存储单元中,同时用DL 保存进位位。

(2)对于本题来说,题目为两个四位数相加,所以定义循环数为4。

(3) 程序中的加法运算是ASCII 码运算,后面应加一条ASCII 码加法调整指令AAA ,经AAA 调整的加法指令,将ASCII 码的数据高4位清“0”,因此要将结果每位数高4位拼成3,变成ASCII 码存到DATA2中。

(4)一位运算结束后将用于保存进位位的DL 复原,进入循环,进行下一位求和计算。

(5)由于计算是从个位数相加开始,所以存入DATA2中的数据应该以相反的顺序输出,故再进行一轮循环输出,得到最终的计算结果。

3.2实验内容二:

(1)首先将原始数据(5,-4,0,3,100,-51)装入起始地址为VAR 的字节存储单元中。

(2)将判断结果以字符串的形式分别存放在数据区中,以便在显示输出时调用。

(3)判断部分采用CMP 指令。从数据区中取出一个数送给AL ,之后与0进行比较,得到分支结构,分别输出“Y=0”、“Y=+1”和“Y=-1”。

(4)程序中存在一个循环结构,对于本题,循环次数为6,调用6次分支结构后结束。

四、程序总框图

4.1实验内容一程序框图

开始

将DATA1 的偏移地址SI

将DATA2 的偏移地址D I

定义循环次数CX=4

取DATA1一位数BL

进行加法运算,并调整,

将每一位运算结果拼成ASCII码

保存到DATA2 中

N

(CX)-1=0?

Y

重新定义循环次数CX为5

通过DI减1,将保存的结果以相反

的顺序输出

N

(CX)-1=0?

Y

结束

相关主题
文本预览
相关文档 最新文档