微机原理课程设计---编程计算2数组的代数和
- 格式:doc
- 大小:48.00 KB
- 文档页数:3
北京信息科技大学
信息管理学院
实验报告
课程名称微机原理课程设计
实验项目实验1-(2) 编程计算2数组的代数和
实验仪器PC、TDN86/88教学实验系统、Wmd86联机软件
专业
班级/学号
学生姓名
实验日期
实验地点
成绩
指导教师
一、实验目的
1.掌握分支程序和循环程序结合应用的设计、调试方法。
二、实验内容
设有数组Xi 和Yi 。Xi 数组中有X1 ,…,Xl0;Yi 数组中有Y1 ,…,Y10。试编制程序计算 Z1= X1 +Y1 Z5 = X5 +Y5 Z8= X8—Y8
Z2= X2 +Y2 Z6 = X6— Y6 Z9= X9 + Y9
Z3= X3 —Y3 Z7 = X7 —Y7 Z10=X10+Y10
Z4= X4 —Y4
结果存入z 数组。
三、流程图
否 否 是
是 开始
各取下标指向元素,存入寄存器
逻辑尺为0
元素相加,存入空数
组,指向下一个元素
元素相减,存入空数
组,指向下一个元素
CX=0
结束
把两组数存入两个
数组
四、实验过程
DATA SEGMENT
BUF1 DB 01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH ;存入第一组数
BUF2 DB 01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH ;存入第二组数
BUF3 DB 10 DUP(?) ;设置空数组
LOGIC DW 00ECH ;设置逻辑尺
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA ;初始化数据段
MOV DS,AX
MOV CL,0AH ;设置数组长度
MOV SI,0H ;设置下标
A1: MOV AL,BUF1[SI] ;取下标对应数组一元素
MOV BL,BUF2[SI] ;取下标对应数组二元素
ROR LOGIC,1H ;逻辑尺循环右移一位
JC A3 ;判断是否为加法,不是则跳转到A3,加法则继续执行
ADD AL,BL ;两数组元素相加
MOV BUF3[SI],AL ;相加结果存到新数组
INC SI ;下标向后移一位
LOOP A1 ;循环执行A1
JMP STOP ;终止控制
A3: SUB AL,BL ;两数组元素相减
MOV BUF3[SI],AL ;相减结果存到新数组
INC SI ;下标向后移一位
LOOP A1 ;循环执行A1
STOP: JMP STOP ;终止控制
CODE ENDS
END START
五、实现结果及分析
运行程序,然后在调试区键入D0200:0000,即可查看结果。经验证结果正确。
六、实验总结:
通过这次试验,我对数据在内存中的存放形式又有了更深的了解,汇编语言虽然编写起来不如C语言方便,但是执行速度快,可以直观地看到数据的处理顺序和形式。