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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

COP实现有符号数的排序.docx

1、COP实现有符号数的排序沈阳航空航天大学 课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:COP2000实现有符号数的排序院(系):计算机学院专 业:计算机科学与技术班 级:班级学 号:学号姓 名:姓名指导教师:老师完成日期:2015年01月16日第1章 总体设计方案1.1设计原理 本次课程设计是利用COP2000指令集进行编程,实现对于内存中10个8bit有符号数(补码形式)的排序。先将数已补码形式输入,后转化为移码,因为移码可以直接比较大小,后对10个数进行冒泡排序,小的数沉底,排序完成后再将移码转化为补码,排序完成。1.2设计思路本次课程设计是对于有符号数排序。可

2、以分解成三部分,第一部分将有符号数已补码形式输入,后加上80H转化为移码。第二部分将10个数进行冒泡排序。第三部分将10个移码形式的数再转化为补码形式。1.3设计环境利用伟福COP2000型计算机组成原理实验仪软件和计算机,在COP2000试验仪软件上编程实现有符号数(补码形式)的排序。伟福COP2000试验仪软件的指令集分为如下大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入输出指令。本程序用到的指令集为:(1)算术逻辑运算指令SUB A,#II-从累加器中减去立即数后加入累加器A中 ADD A,#II-累加器A加立即数IIADD A, R?-将寄存器中

3、的数打入到累加器A中(2)数据传送指令MOV R?,#II-将立即数II送到寄存器R?中MOV MM, A -将累加器A中的值送到存储器MM地址中MOV A,#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计算机

4、组成原理软件第2章 详细设计方案2.1 算法与程序的设计与实现 本次课程设计采用伟福COP2000实验仪软件和计算机实现有符号数排序的功能,利用伟福COP2000的指令集编程实现。算法具体描述:(1)将十个有符号数存储到内存中:将10个有符号数以补码形式存入到内存中,数据存入到内存地址0E0H,0E1H,0E2H,0E3H,0E4H,0E5H,0E6H,0E7H,0E8H,0E9H中。 (2)将补码形式转变为移码: 将每个数都加上80H,将补码转变为移码。 (3)将十个有符号数进行冒泡排序: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第

5、一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 (4)将排好的数转化为补码: 将每个数加上80H,将移码转化为补码。2.2 流程图的设计与实现1.将十个有符号数存储到内存中如图2.2.1所示:图2.2.1存数流程图2.设置冒泡排序循环次数如图2.2.2所示图2.2.2设置循环次数流程图3.将十个移码形式的有符号数利用冒泡排序如图2.2.3所示: 图2.2.3冒泡排序流程图第3章 程序调试与结果测试3.1 程序调试问题1 : 在将排好顺序的数据存储到00地址

6、的内存中解决方法:由于程序一部分会占用00H地址的内存,所以将排好的数据存储到0E0H地址的内存中;3.2 程序测试及结果分析 (1)需排序的有符号数:81,92,34,B2,00,21,A3,13,2B,17 排序后的有符号数:81,92,A3,B2,00,13,17,21,2B,34 图3.2.1结果图1(2)需排序的有符号数:71,82,46,A3,00,25,B4,10,35,42 排序后的有符号数:82,A3,B4,00,10,25,35,45,46,71图3.2.2结果图2(3)需排序的有符号数:63,46,B2,A6,00,38,47,D4,56,88 排序后的有符号数:88,A

7、6,B2,D4,00,38,46,47,56,63 图3.2.3结果图3参考文献1 唐朔飞.计算机组成原理(第二版)M.北京:高等教育出版社,20082 王爱英.计算机组成与结构(第四版)M.北京:清华大学出版社,20063 白中英.计算机组成原理(第四版)M.北京:科学出版社,2008附 录(源代码)MOV A,#00H;A累加器赋初值0MOV A,#81H;输入有符号数(补码形式)ADD A,#80H;将补码转换为对应的移码MOV 0E0H,AMOV A,#92HADD A,#80HMOV 0E1H,AMOV A,#34HADD A,#80HMOV 0E2H,AMOV A,#0B2HADD

8、 A,#80HMOV 0E3H,AMOV A,#00HADD A,#80HMOV 0E4H,AMOV A,#21HADD A,#80HMOV 0E5H,AMOV A,#0A3HADD A,#80HMOV 0E6H,AMOV A,#13HADD A,#80HMOV 0E7H,AMOV A,#2BHADD A,#80HMOV 0E8H,AMOV A,#17HADD A,#80HMOV 0E9H,A;将9个转换为移码形式的补码数存入存储器E0到E9中MOV A,#9MOV 0F0H,A;将排序需要的循环次数存入存储器F0中LOOP1: ;对移码进行冒泡排序MOV A,0F0HYY:MOV R3,A;

9、寄存器R3中为本次循环中需要比较的次数MOV R0,#0E0HMOV R1,#0E1HYY:MOV A,R0SUB A,R1;实现间址存储器R0与R1中值相减JC LOOP2;进位标志置1即R0中值小于R1中值,则跳至地址LOOP2MOV A,R0MOV R2,AMOV A,R1MOV R0,AMOV A,R2MOV R1,A ;若R0中值不小于R1中值则交换R0,R1中值LOOP2: ;一次比较完成后R0,R1值加1使下一次比较下一组数 MOV A,R0;R3值减1本次比较中需要比较的组数在减少ADD A,#1MOV R0,AMOV A,R1ADD A,#1MOV R1,AMOV A,R3S

10、UB A,#1MOV R3,AJZ LOOP3 ;R3为0则一次循环结束跳至LOOP3JMP DDLOOP3:MOV A,0F0HSUB A,#1;每结束一次循环,下一次都减少一次比较MOV 0F0H,AJZ NEXT;直到F0存储器中所存数为0循环结束冒泡排序完成JMP HHNEXT:MOV A,0E0HADD A,#80HMOV 0E0H,A;将存储器E0到E9中已排好序的移码形式的数转换为对应的补码MOV A,0E1HADD A,#80HMOV 0E1H,AMOV A,0E2HADD A,#80HMOV 0E2H,AMOV A,0E3HADD A,#80HMOV 0E3H,AMOV A,

11、0E4HADD A,#80HMOV 0E4H,AMOV A,0E5HADD A,#80HMOV 0E5H,AMOV A,0E6HADD A,#80HMOV 0E6H,AMOV A,0E7HADD A,#80HMOV 0E7H,AMOV A,0E8HADD A,#80HMOV 0E8H,AMOV A,0E9HADD A,#80HMOV 0E9H,AFF:JMP FF课程设计总结:主要从以下几方面总结:1通过这次课程设计,我学会了COP2000的使用方法和汇编语言的操作,了解了如何通过代码实现实验目的。2本次课程设计的题目较为简单,设计的思路很容易想,就是将补码形式转化为移码形式,这样就可以直接进行冒泡排序了,就是机器语言不太熟悉,编写之前要先熟悉一下语言。 3通过这次课程设计深刻的知道了自己编程的能力,尤其是在减缩代码的过程中很苦恼。4本次课程设计中遇到的问题不是很多,因为思路清晰而且题目也不是很难,再加上这学期计算机组成原理学的还不错,所以完成的比较顺利。特备感谢老师的指导,这次课程设计是我上大学以来收获最大的一次,非常开心能够独立完成这次课程设计指导教师评语:指导教师(签字): 年 月 日课程设计成绩

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1