组成原理课设关于累加器
沈阳航空航天大学
课 程 设 计 告
课程设计名称:计算机组成原理课程设计
课程设计题目:COP2000实现数据累加
院(系):计算机学院
专 业:计算机科学与技术
班 级:
学 :
姓 名:
指导教师:
完成日期:
目 录
第1章 总体设计方案1
1.1设计原理1
1.2设计思路1
1.3设计环境2
第2章 详细设计方案4
2.1 算法与程序的设计与实现4
2.1.1算法具体描述4
2.2 流程图的设计与实现5
2.2.1流程图具体分析5
第3章 程序调试与结果测试8
3.1 程序调试8
3.2 程序测试及结果分析8
参考文献10
附 录(源代码)11
第1章 总体设计方案
设计原理
实现无符 数的累加功能,计算1+2+…………+99+100。应用累加器和4个寄存器可以实现这个程序。根据该程序可以拓展到对连续内存地址的数据进行累加。连续内存地址的累加与累加相比,需要对于内存地址进行累加并且从内存地址中读数,然后将读出的数据进行累加求和。在累加求和部分,两个程序的原理是相同的。
设计思路
每个运算步骤需要用到累加器A,需要一个寄存器存储100以控制循环,一个寄存器存储从1开始每次加1递增的累加数。由于5050的十六进制是13BA,一个寄存器最大只能存放FF,所以需要用到两个计算器存放累加的结果。
我用R0存储控制循环的数;用R1存放累加数,用R2和R3存放累加和,其中R2存放高位,R3存放低位。
对于连续内存地址数据进行累加时,数据输入,在COP2000软件中,为了直观简便观看调试程序,可用立即数送入;而在硬件测试中,应采用中断方式输入,其优点是可连续输入不同数据,灵活,用户输入数据,如:
LOOP1:
JMP LOOP1
ORG 20H
IN
两种方式产生结果相同。在中断程序中可以加入循环控制数据和内存地址自动累加语句,可以控制输入的数据个数。
连续内存地址累加和数据累加相比,只有数据输入部分不同,最基本的原理是相同的,所以还是用R0存储控制循环的数;用R1存放累加数,用R2和R3存放累加和,其中R2存放高位,R3存放低位。
设计环境
利用伟福COP2000型计算机组成原理实验仪软件和计算机,在COP2000试验仪软件上编程实现数据的累加。伟福COP2000试验仪软件的指令集分为如下大类:算术运算指令、数据传送指令、跳转指令、中断返回指令、输入输出指令。
伟福COP2000计算机组成原理实验仪软件截图如1.3所示:
本程序所用到的相应的指令集
算术逻辑运算指令
SUB A,#II———–从累加器中减去立即数后加入累加器A中
AND A, #II———–累加器A“与”立即数II
ADDC A,R———将寄存器R值加入累加器A中,考虑进位
(2) 数据传送指令
MOV R#II———-将立即数II送到寄存器R
MOV MM, A ———–将累加器A中的值送到存储器MM地址中
MOV A,#II————将立即数II送到累加器A中
MOV RA————将累加器A中的值送到寄存器A中
MOV A,R———–将寄存器R值送到累加器A中
MOV A, MM ———–将存储器MM地址中的值送到累加器A中
MOV @RA————-将累计器A的值送到间址存储器中
(3)跳转指令
JZ MM—————若零标志位置1,跳转到MM地址
JC MM—————若进位标志置1,跳转到MM地址
JMP MM—————跳转到MM
如下为COP2000计算机组成原理实验软件截图:
图 1.3 伟福COP2000计算机组成原理试验仪软件截图
第2章 详细设计方案
2.1 算法与程序的设计与实现
本课设采用伟福COP2000实验仪软件和计算机实现数据累加的功能,利用伟福COP2000的指令集编程实现。
2.1.1算法具体描述
从1累加到100是一个重复一百次的循环,控制循环的条件则必然是一个等于一百的数,每执行一次循环就减一,当此数减到零跳出循环。
本程序的核心思想就是:累加和=累加和+累加数,然后累加数加1。在开始没有进入循环时需要先将1存入寄存器R1,并且将1存入R3,循环的控制数初始值应该是9
相关资源:截取软件够累的-其它工具类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!