COP2000实现补码两位乘_第1页
COP2000实现补码两位乘_第2页
COP2000实现补码两位乘_第3页
COP2000实现补码两位乘_第4页
COP2000实现补码两位乘_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳航空航天大学课程设计报告 -目目 录录第第 1 章章 总体设计方案总体设计方案.11.1 设计原理.11.2 设计思路.11.3 设计环境.1第第 2 章章 详细设计方案详细设计方案.42.1 算法与程序的设计与实现.42.2 流程图的设计与实现.5第第 3 章章 程序调试与结果测试程序调试与结果测试.93.1 程序调试.9列举出调试过程中存在的问题.93.2 程序测试及结果分析.9参考文献参考文献.10附附 录(源代码)录(源代码).11沈阳航空航天大学课程设计报告 第 1 章 总体设计方案-0-第 1 章 总体设计方案1.1设计原理设计原理在计算机中,二进制的基本算术运算多是采用补码进

2、行的。本次课设的补码两位乘是根据补码一位乘推导出来,补码两位乘可以使用和补码一位乘类似的硬件,而计算速度接近补码一位乘的两倍。本次课设需要构造补码两位乘规则表,计算中可以根据查表依次运算下去。表 1 补码两位乘规则表Yn+1YnYn-1Yn+1+Yn-2Yn-1操作0000部分积+0,右移 2 位001-2部分积加 2-X补,右移两位0101部分积+X补,右移两位011-1部分积+-X补,右移两位1001部分积+X补,右移两位101-1部分积+-X补,右移两位1102部分积+2X补,右移两位1110部分积+0,右移两位1.2设计思设计思路路(1)被乘数 X,乘数 Y 均以补码形式参加运算,乘法

3、的每一步对乘数的两位进行,即右移两位。(2)乘数Y在计算时采用两位符号位,初始附加位添一个 0。(3)被乘数X在计算时采用三位符号位。(4)部分积初始为 0,计算过程中采用三位符号位。(5)每一步计算,按照乘数的最低三位的值查找操作规则表 1,根据上一步的部分积和规则表的操作,计算本步的部分积。(6)每步操作后,将部分积和乘数右移两位,乘数右移后,原来的最低两位被移除出舍弃,其余各位位权依次下降。重复(4) ,但最后一步操作不右移。1.3设计环境设计环境利用伟福 COP2000 型计算机组成原理实验仪软件和计算机,在 COP2000 实验仪软件上编程实现补码两位乘。伟福 COP2000 实验仪

4、软件的指令集分为如下大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中沈阳航空航天大学课程设计报告 第 1 章 总体设计方案-1-断返回指令、输入输出指令。本程序所用到的相应的指令集如下:(1)算术逻辑运算指令ADD A, R? 将寄存器 R?的值加入到累加器 A 中ADD A,#II 立即数#II 加入到累加器 A 中SUB A,#II 从累加器中减去立即数后加入到累加器 A 中AND A,R? 累加器 A 与寄存器 R?的值OR A,R? 累加器 A 或寄存器 R?的值(2)数据传送指令MOV A,R? 将寄存器 R?的值送到累加器 A 中MOV A,MM 将存储器 M

5、M 地址中的值送到累加器 A 中MOV MM,A 将累加器 A 中的值送到存储器 MM 地址中MOV R?,A 将累加器 A 中的值送到寄存器 A 中MOV R?#II 将立即数 II 送到寄存器 R?中RR A 累加器右移指令RL A 累加器左移指令(3)跳转指令JC MM 若进位标志置 1,跳转到 MM 地址JZ MM 若零标志位置 1,跳转到 MM 地址JMP MM 跳转到 MM如下为 COP2000 计算机组成原理实验软件截图:沈阳航空航天大学课程设计报告 第 1 章 总体设计方案-2-图图 2 2 COP2000COP2000 运行环境运行环境沈阳航空航天大学课程设计报告 第 2 章

6、 详细设计方案-3-第 2 章 详细设计方案2.1 算法与程序的设计与实现算法与程序的设计与实现 本课设采用伟福 COP2000 实验仪软件和计算机实现补码两位乘功能,利用伟福 COP2000 的指令集编程实现。算法具体描述:(1) 计算复杂性包括:+X补,+2X补,+-X补,+2-X补;(2) 进行初始化,并且设置计数单元与建立特殊表。因为每次计算需要进行三次移位,所以用 MOV A,#03H 与 MOV 9AH,A 来将循环次数存入内存单元。然后再进行初始化操作,将存储部分积的 R1 置零,再将用来存储特殊表的 90H,97H 内存单元置零。接下来再通过输入的被乘数判断其正负,如果被乘数是

7、负,在前面两位加上 1,如果是整数则无需操作,直接构造特殊表。(3) 输入乘数后,将乘数移至最前端,执行 LOOP2,首先设置移位次数,取出成熟后,判断乘数的后两位及附加位的值,根据所查的值访问特殊表,进而确定加数,之后将部分积与加数相加得到新的部分积,得到结果后,判断总循环是否结束,之后进行判断移位的操作,部分积的最高位如果是 1,移位后仍然置 1。部分积最低位如果是 1,乘数右移之后最高位置 1.(4) 根据乘数后两位及附加位来确定 R3,并通过 R3 间接访问特殊表。将访问的数据作为加数与部分积相加,然后判断两次循环是否结束,如果两次运算循环结束,则结束运算,否则将部分积与乘数同时右移两

8、位再根据有效位来通过 R3 访问特殊表。相加移位运算结束后再将部分积与乘数同时右移一位,将数据位置有效,输出数据。沈阳航空航天大学课程设计报告 第 2 章 详细设计方案-4-2.2 流程图的设计与实现流程图的设计与实现本部分包含实现中主要部分的流程图1.构造规则表:图 2.2.1 构造规则表流程图开始输入被乘数 X存入 R090H 存入 0,91H 存入X补92H 存入X补,93H 存入 2X补94H 存入 2-X补,95H 存入-X补96H 存入-X补,97H 存入 0结束沈阳航空航天大学课程设计报告 第 2 章 详细设计方案-5-2.乘数处理操作:图 2.2.2 乘数处理操作流程图开始输入

9、乘数 Y左移两位并存入 R2结束沈阳航空航天大学课程设计报告 第 2 章 详细设计方案-6-3.运算否是图 2.2.3 运算流程图开始根据乘数后两位及附加位来确定 R3,并通过 R3 简洁访问特殊表将访问到的数据作为加数与部分积相加判断两次循环是否结束将部分积与乘数同时右移两位结束沈阳航空航天大学课程设计报告 第 2 章 详细设计方案-7-4.输出图 2.2.4 输出流程图开始将部分积与乘数同时右移一位将数据位置有效结束沈阳航空航天大学课程设计报告 第 3 章 程序调试与结果测试-8-第 3 章 程序调试与结果测试3.1 程序调试程序调试调试过程中存在的问题:(1) 在输入以字母开头的十六进制

10、数时,没有在字母前加上 0,导致语法错误。(2) 在执行带进位右移操作是 RRC A,因为之前没对指令集充分了解,导致用了错误的指令 RR A。(3) 在对部分积移位操作时,如果最高位是 1 时,移位最高位仍然置 1,当时考虑不够充分,没有置 1,导致程序出错。3.2 程序测试及结果分析程序测试及结果分析 结果展示:输入:2B 23输出:13 08沈阳航空航天大学课程设计报告 参考文献-9-参考文献1唐朔飞 计算机组成原理(第 2 版).北京.高等教育出版社.20082白中英 计算机组成原理(第 4 版).北京.科学出版社.2008沈阳航空航天大学课程设计报告 附录-10-附 录(源代码)MO

11、V A,#03HMOV 9AH,AMOV A,#00HMOV R1,AMOV 90H,AMOV 97H,ALOOP:INMOV R0, AAND A,#20HJZ M0MOV A,R0OR A,#0C0HMOV R0,AM0:MOV A,R0MOV 91H,AMOV 92H,ARL AMOV 93H,AMOV A,R0CPL AADD A,#01HMOV 95H,AMOV 96H,ARL AMOV 94H,ALOOP1:INRL ARL AMOV R2,ALOOP2:MOV A,#02HMOV 9BH,AMOV A,R2RR AAND A,#07HADD A,#90HMOV R3,AMOV A

12、,R1沈阳航空航天大学课程设计报告 附录-11-ADD A,R3MOV R1,AMOV A,9AHSUB A,#01HJZ LASTMOV 9AH,AMARK1:MOV A,R1AND A,#80HJZ LOOP3MOV A,R1RRC AJC LOOP4OR A,#80HMOV R1,AMOV A,R2RR AMOV R2,AMARK2:MOV A,9BHSUB A,#01HJZ LOOP2MOV 9BH,AJMP MARK1LOOP3:MOV A,R1RRC AJC LOOP5MOV R1,AMOV A,R2RR AMOV R2,AJMP MARK2LOOP4:OR A,#80HMOV R

13、1,AMOV A,R2RR AOR A,#80HMOV R2,AJMP MARK2LOOP5:MOV R1,A沈阳航空航天大学课程设计报告 附录-12-MOV A,R2RR AOR A,#80HMOV R2,AJMP MARK2LAST:MOV A,R1RRC AJC LOOP6MOV R1,AAND A,#3FHOUTMOV A,R2RR AMOV R2,AAND A,#0F8HOUTJMP EDLOOP6:MOV R1,AAND A,#3FHOUTMOV A,R2RR AOR A,#80HOUTED:END沈阳航空航天大学课程设计报告-13-课程设计总结:课设本身的目的便是为了考察学生的个

14、人学习和动手能力,本课程设计总结:课设本身的目的便是为了考察学生的个人学习和动手能力,本次课程设计对我来说是个很大的挑战,因为我个人认为我的计算机组成原理这次课程设计对我来说是个很大的挑战,因为我个人认为我的计算机组成原理这门课程学的并不是很好,好在查阅了很多资料,也让我充分了解了补码两位乘门课程学的并不是很好,好在查阅了很多资料,也让我充分了解了补码两位乘的原理。此次课程设计我也学到了很多基本理论,对我充分认识计算机的运算的原理。此次课程设计我也学到了很多基本理论,对我充分认识计算机的运算过程也有很大帮助。同时,我对过程也有很大帮助。同时,我对 COP2000 实验仪器及软件也有了充分的了解。实验仪器及软件也有了充分的了解。对我今后的实践也会有很大的帮助,同时也感谢老师课前的答疑,消除了我部对我今后的实践也会有很大的帮助,同时也感谢老师课

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论