ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:320.10KB ,
资源ID:2097541      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2097541.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(cop实现有符号数排序.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

cop实现有符号数排序.docx

1、cop实现有符号数排序沈阳航空航天大学 课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:COP2000实现有符号数的排序院(系):计算机学院专 业:计算机科学与技术班 级:34010102学 号:2013040101078姓 名:葛轩指导教师:张德园完成日期:2016年01月14日目 录第1章 总体设计方案 21.1 设计原理 21.2 设计思路 21.3 设计环境 2第2章 详细设计方案 42.1 算法与程序的设计与实现 42.2 流程图的设计与实现 5第3章 程序调试与结果测试 93.1 程序调试 9 列举出调试过程中存在的问题 3.2 程序测试及结果分析 9参考文

2、献 11附 录(源代码) 12第1章 总体设计方案1.1 设计原理本次课程设计是利用COP2000指令集进行编程,实现对于内存中10个8bit有符号数(补码形式)的排序。利用冒泡排序法先将内存中的10个有符号的数视为无符号数进行排序;冒泡的原理是先将十个数逐一比较,选出最大的沉底,然后在剩下的数中依次重复上一步骤。然后利用统计十个数中正数的个数设计循环将负数从新排序。1.2 设计思路本次课程设计是对于有符号数排序。可以分解成两部分,一部分是将有符号的数视为无符号的数,对其进行冒泡排序;另一部分是统计十个数中正数的个数设计循环将负数从新排序。1.3 设计环境利用伟福COP2000型计算机组成原理

3、实验仪软件和计算机,在COP2000试验仪软件上编程实现有符号数(补码形式)的排序。伟福COP2000试验仪软件的指令集分为如下大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入输出指令。本程序用到的指令集为:(1) 算术逻辑运算指令SUB A,#II-从累加器中减去立即数后加入累加器A中AND A, #II -累加器A“与”立即数IIADD A,#II-累加器A加立即数IIADD A, R?-将寄存器中的数打入到累加器A中(2)数据传送指令MOV R?,#II-将立即数II送到寄存器R?中MOV MM, A -将累加器A中的值送到存储器MM地址中MOV A

4、,#II-将立即数II送到累加器A中MOV R?,A-将累加器A中的值送到寄存器A中MOV A,R?-将寄存器R?的值送到累加器A中MOV A, MM -将存储器MM地址中的值送到累加器A中MOV R?,A-将累计器A的值送到间址存储器中(3)跳转指令JZ MM-若零标志位置1,跳转到MM地址JC MM-若进位标志置1,跳转到MM地址JMP MM-跳转到MMCOP2000计算机组成原理实验软件截图如图1.1所示:图1.1COP2000计算机组成原理软件第2章 详细设计方案2.1 算法与程序的设计与实现本次课程设计采用伟福COP2000实验仪软件和计算机实现有符号数排序的功能,利用伟福COP20

5、00的指令集编程实现。算法具体描述:(1) 将十个有符号数存储到内存中:将10个有符号数存入到内存中,数据存入到内存地址0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H,0B8H,0B9H中。(2) 将十个有符号数视为无符号数利用冒泡排序法排序:首先将10个有符号数视作无符号数进行冒泡排序。冒泡排序算法的运作如下:1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3. 针对所有的元素重复以上的步骤,除了最后一个。4. 持续每次对越来越少的元素重复上面的

6、步骤,直到没有任何一对数字需要比较。(3) 判断正数数量n:首先设计程序判断有多少个正数,设此时有正数n个。将排序后的数先和80H相与,再减去80H,若此时为0,则判断这个数为负数,若不为0,则判断这个数为正数。(4) 正负数排序:从0BnH取数放到0C0H中,0BnH后继连续地址中存的数均为负数。再在其中设置一个循环程序,循环次数为10-n,以此将10-n个负数依次放到以0C0H开头的地址中。从0B0H开头的地址取出正数放到负数的后面。运算结束。2.2 流程图的设计与实现1.将十个有符号数存储到内存中如图2.2.1所示:图2.2.1存数流程图2.设置冒泡排序循环次数如图2.2.2所示:图2.

7、2.2设置循环次数流程图3.将十个有符号数视为无符号数利用冒泡排序如图2.2.3所示:图2.2.3冒泡排序流程图4.统计十个数中正数数量n如图2.2.4所示:图2.2.4判断正数数量流程图5.将是个数中正负数从新排序如图2.2.5所示:图2.2.5正负数排序流程图第3章 程序调试与结果测试3.1 程序调试问题1 : 在将排好顺序的数据存储到00地址的内存中解决方法:由于程序一部分会占用00H地址的内存,所以将排好的数据存储到0C0H地址的内存中;问题2 : 在10个数排序过程后,会出现14个数;解决方法:由于程序排序过程中设定的循环次数大于十个数中的正数的个数,所以将排序过程中后面的循环次数设

8、定为与正数的个数相等;问题3: 此汇编程序具有局限性,只能适应四个负数;解决方法: 统计十个数中正数的个数将其保存到内存中,然后设计循环从新排序。 3.2 程序测试及结果分析软件测试用源程序,COP2000软件,其输入采用立即数方法;测试数据:(1)需排序的有符号数:5,85,84,4,62,89,96,54,46,23 排序后的有符号数:84,85,89,96,4,5,23,46,54,62图3.2.1结果图1(2)需排序的有符号数:98,1,41,32,88,72,66,87,80,5 排序后的有符号数:80,87,88,98,1,5,32,41,66,72图3.2.2结果图2(3) 需排

9、序的有符号数:81,82,83,84,85,86,87,88,89,90 排序后的有符号数:81,82,83,84,85,86,87,88,89,90 图3.2.3结果图3参考文献1 唐朔飞.计算机组成原理(第二版)M.北京:高等教育出版社,20082 王爱英.计算机组成与结构(第四版)M.北京:清华大学出版社,20063 白中英.计算机组成原理(第四版)M.北京:科学出版社,2008附录(源代码)mov a,#20hmov 0b0h,amov a,#87hmov 0b1h,amov a, #25hmov 0b2h,amov a,#21hmov 0b3h,amov a,#95hmov 0b4h

10、,amov a,#41hmov 0b5h,amov a,#46hmov 0b6h,amov a,#51hmov 0b7h,amov a,#63hmov 0b8h,amov a,#93hmov 0b9h,amov a,#9hmov 0d0h,amov a,#0bahmov r1,alun:mov a,#0b0hmov r2,amov a,#0b1hmov r3,aqushu:mov a,r2mov r0,amov a,r3subc a,r0jc jhdizhi:mov a,r2add a,#1mov r2,amov a,r3add a,#1mov r3,asubc a,r1jz overjmp

11、qushujh:mov a,r2mov r0,amov a,r3mov r2,amov a,r0mov r3,ajmp dizhipanduancishu:mov a,r1sub a,#1mov r1,amov a,#0d0hmov r0,amov a,r0sub a,#1mov r0,asubc a,#0jz xianshijmp lunover:jmp panduancishuxianshi:mov a,#0b0hshow:mov r0,amov a,r0outmov a,r0add a,#1mov r0,asub a,#0bahjz kjmp showk:mov a,#0b0hmov r

12、0,amov a,#0b9hmov r1,amov a,#0e0hmov r2,amov a,#0f0hmov r3,amov a,#00hmov 0eeh,amov 0efh,aloop1: mov a,r0 and a,#80h jz loop2 jmp loop3loop2: mov a,0eeh add a,#01h mov 0eeh,a mov a,r0 mov r2,a mov a,r2 add a,#01h mov r2,a mov a,r0 sub a,r1 jz loop4 mov a,r0 add a,#01h mov r0,a jmp loop1 loop3: mov a

13、,0efh add a,#01h mov 0efh,a mov a,r0 mov r3,a mov a,r3 add a,#01h mov r3,a mov a,r0 sub a,r1 jz loop4 mov a,r0 add a,#01h mov r0,a jmp loop1 loop4: mov a,#00h mov r0,a mov r1,a mov r2,a mov r3,a loop5:jmp loop5课程设计总结: 主要从以下几方面总结:1 通过这次课程设计,我学会了COP2000的使用方法和汇编语言的操作,了解了如何通过代码实现实验目的。2 本次课程设计中达到了关于课题的基本要求,开始编辑的时候使用了机器所占的内存的范围,经过后来的多次询问和修改,才慢慢的调试出结果,虽然自己还有很多地方有所不足,但是还是很骄傲。 3 通过这次课程设计深刻的知道了自己编程的能力,尤其是在减缩代码的过程中很苦恼。4 本次课程设计中遇到了很多问题,开始并不想改动,最后静下心来慢慢改,最后成功了。这次课程设计让我明白做事情应该有耐心。特备感谢老师的指导,这次课程设计是我上大学以来收获最大的一次,非常开心能够独立完成这次课程设计指导教师评语:指导教师(签字): 年 月 日课程设计成绩

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2