欢迎来到天天文库
浏览记录
ID:18647555
大小:325.50 KB
页数:18页
时间:2018-09-20
《董睿-cop2000实现有符号数排序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:COP2000实现有符号数的排序院(系):计算机学院专业:计算机科学与技术(嵌入式系统方向)班级:14010105学号:2011040101210姓名:董睿指导教师:张德园完成日期:2014年01月10日沈阳航空航天大学课程设计报告目录第1章总体设计方案21.1设计原理21.2设计思路2第2章详细设计方案42.1算法与程序的设计与实现42.2流程图的设计与实现5第3章程序调试与结果测试93.2程序测试及结果分析9参考文献11附录(源代码)13-I-沈阳航空航天大学课程设计报告第1章总体设计方案1.1设
2、计原理本次课程设计是利用COP2000指令集进行编程,实现对于内存中10个8bit有符号数(补码形式)的排序。利用冒泡排序法先将内存中的10个有符号的数视为无符号数进行排序;冒泡的原理是先将十个数逐一比较,选出最大的沉底,然后在剩下的数中依次重复上一步骤。然后利用统计十个数中正数的个数设计循环将负数从新排序。1.2设计思路本次课程设计是对于有符号数排序。可以分解成两部分,一部分是将有符号的数视为无符号的数,对其进行冒泡排序;另一部分是统计十个数中正数的个数设计循环将负数从新排序。1.3设计环境利用伟福COP2000型计算机组成原理实验仪软件和计算机,在COP2000试验仪软件上
3、编程实现有符号数(补码形式)的排序。伟福COP2000试验仪软件的指令集分为如下大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入输出指令。本程序用到的指令集为:(1)算术逻辑运算指令SUBA,#II-----------从累加器中减去立即数后加入累加器A中ANDA,#II-----------累加器A“与”立即数IIADDA,#II------------累加器A加立即数IIADDA,R?------------将寄存器中的数打入到累加器A中(2)数据传送指令MOVR?,#II----------将立即数II送到寄存器R?中-17-沈阳航空
4、航天大学课程设计报告MOVMM,A-----------将累加器A中的值送到存储器MM地址中MOVA,#II------------将立即数II送到累加器A中MOVR?,A------------将累加器A中的值送到寄存器A中MOVA,R?------------将寄存器R?的值送到累加器A中MOVA,MM-----------将存储器MM地址中的值送到累加器A中MOV@R?,A-------------将累计器A的值送到间址存储器中(3)跳转指令JZMM---------------若零标志位置1,跳转到MM地址JCMM---------------若进位标志置1,跳转到MM
5、地址JMPMM---------------跳转到MMCOP2000计算机组成原理实验软件截图如图1.1所示:图1.1COP2000计算机组成原理软件-17-沈阳航空航天大学课程设计报告第2章详细设计方案2.1算法与程序的设计与实现本次课程设计采用伟福COP2000实验仪软件和计算机实现有符号数排序的功能,利用伟福COP2000的指令集编程实现。算法具体描述:(1)将十个有符号数存储到内存中:将10个有符号数存入到内存中,数据存入到内存地址0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H,0B8H,0B9H中。(2)将十个有符号数视为无符号数利用冒
6、泡排序法排序:首先将10个有符号数视作无符号数进行冒泡排序。冒泡排序算法的运作如下:1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。(3)判断正数数量n:首先设计程序判断有多少个正数,设此时有正数n个。将排序后的数先和80H相与,再减去80H,若此时为0,则判断这个数为负数,若不为0,则判断这个数为正数。(4)正负数排序:从0BnH取数放到0C0H
7、中,0BnH后继连续地址中存的数均为负数。再在其中设置一个循环程序,循环次数为10-n,以此将10-n个负数依次放到以0C0H开头的地址中。从0B0H开头的地址取出正数放到负数的后面。运算结束。-17-沈阳航空航天大学课程设计报告2.2流程图的设计与实现1.将十个有符号数存储到内存中如图2.2.1所示:将10个有符号数存入到内0B0h—0B9h中开始结束图2.2.1存数流程图2.设置冒泡排序循环次数如图2.2.2所示:冒泡循环的次数9存入到0D1h中开始结束图2.2.2设置循环次数流程图-1
此文档下载收益归作者所有