COP2000实现BCD码的加法_第1页
COP2000实现BCD码的加法_第2页
COP2000实现BCD码的加法_第3页
COP2000实现BCD码的加法_第4页
COP2000实现BCD码的加法_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、沈阳航空航天大学课课 程程 设设 计计 报报 告告课程设计名称:计算机组成原理课程设计计算机组成原理课程设计课程设计题目:COP2000 实现实现 BCD 码的加法码的加法院(系):计算机学院专 业:计算机科学与技术班 级:学 号:姓 名:指导教师:完成日期:2013年1月11日沈阳航空航天大学课程设计报告 1目目 录录第第 1 章章 总体设计方案总体设计方案.21.1 设计原理 .21.2 设计环境 .2第第 2 章章 详细设计方案详细设计方案.32.1 算法与程序的设计与实现 .32.2 流程图的设计与实现.42.2.1 总流程图 .42.2.2 最低两位求和流程图 .52.2.3 中间两

2、位求和流程图 .62.2.4 最高两位求和流程图 .7第第 3 章章 程序调试与结果测试程序调试与结果测试.83.1 程序调试.83.2 程序测试及结果分析.8参考文献参考文献.9附录(源代码)附录(源代码).10沈阳航空航天大学课程设计报告 2第 1 章 总体设计方案1.1 设设计计原原理理 欲实现两个压缩 BCD 码的加法,且被加数,加数,和都为六位十进制数,需将两个六位十进制数输入到内存中,再 分别实现加数和被加数的 最低两位,中间两位,最高两位的带进位加法,并且依次将其进行十六进制到十进制的转换, 输入到内存中暂存, 最后将六位十进制的和 输出到寄存器中显示出来。1.2 设设计计环环境

3、境伟福 COP2000 实验箱,用汇编语言编程实现BCD 码的加法COP2000 计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。实验平台上有寄存器组 R0-R3、运算单元、累加器 A、暂存器 W、直通/左移/右移单元、 地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关 /指示灯、逻辑笔、脉冲源、 20 个按键、字符式 LCD、RS232 口。沈阳航空航天大学课程设计报告 3第 2 章 详细设计方案2.1 算法与程序的设计与实现算法与程序的设计与实现 此程序的核心在于十六进制转换

4、为十进制BCD 码的部分,以最低两位的运算为例: 一.低位 1.若低位9,正确的 BCD 码应该让低位变成对应的 09,即减A(10) ,再把 A 进给高位,由于是高位,因此高位应该是加1,即+10H-0AH=+6H 2.若低位产生进位,但这个进位是 “16 进 1” ,即低位多进了 6,因此应该给低位加上 6,即+6H 3.由于低位 BCD 码对应的十进制为 09,不可能既产生进位又低位 9 二.高位 1.若高位9,同理,应该让高位变成对应的09,即给高位减 A(10) , 再把 A 进给更高位,由于是更高位,因此更高位应该是加1,即+100H-A0H=+60H 2.若高位产生进位,但这个进

5、位是 “16 进 1” ,即高位多进了 6,因此应该给高位加上 6,即+60H 3.由于高位 BCD 码对应的十进制为 0A(可能是 A 是由于可能低位会进位,而高位和本来是 9,则会变成 A) ,不可能既产生进位又高位 9 三.由于 COP2000 中只能显示高位进位标志,而低位的进位显示不出来,所以需要把低位左移到高位,再进行运算,才能得出低位是否进位。沈阳航空航天大学课程设计报告 42.2 流程图的设计与实现流程图的设计与实现2.2.1 总流程图总流程图开始输入加数和被加数,存入内存中最低两位相加,存和到内存中中间两位相加,存和到内存中最高两位相加,存和到内存中将六位和从内存取出并显示结

6、束图图 2.1.1 总流程图总流程图沈阳航空航天大学课程设计报告 5开始低位左移四位求和进位和的数值+06H两位求和进位和的数值+60H,和输入到内存,中间两位加数的值+1和输入到内存中结束2.2.2 最低两位求和流程图最低两位求和流程图 是 否 和大于 90H 是 否 是 否 和大于 90H 是 否图图 2.1.2 最低两位求和流程图最低两位求和流程图沈阳航空航天大学课程设计报告 6开始低位左移四位求和进位和的数值+06H两位求和进位和的数值+60H,和输入到内存,最高两位加数的值+1和输入到内存中结束2.2.3 中间两位求和流程图中间两位求和流程图 是 否 和大于 90H 是 否 是 否

7、和大于 90H 是 否图图 2.2.3 中间两位求和流程图中间两位求和流程图沈阳航空航天大学课程设计报告 7开始低位左移四位求和进位和的数值+06H两位求和进位和的数值+60H,和输入到内存和输入到内存中结束2.2.4 最高两位求和流程图最高两位求和流程图 是 否 和大于 90H 是 否 是 否 和大于 90H 是 否图图 2.2.4 最高两位求和流程图最高两位求和流程图沈阳航空航天大学课程设计报告 8第 3 章 程序调试与结果测试3.1 程序调试程序调试(1)由于此程序的 BCD 码为压缩的 BCD 码,每个字节存两位十进制数,而进位标志位只能判断高位是否进位,所以在判断低位是否进位时产生了

8、难度,此时便将两位十进制数和 “0F”相与,将高位置零后,低位左移四位到高位,便可以判断低位是否有进位了 。(2)最初在设计程序时没有考虑输入的数值放在内存单元位置的问题,导致输入内存中的数据与程序代码占用的内存单元中的数据相冲突,而不能完整的实现程序的功能。解决办法就是将输入内存的数据存到一定不被事先占用过的内存单元中,避免冲突。(3)代码中用到立即数时,忘记加 “#” ,或者写内存地址时忘记加 “H” 。诸如此类小问题,检查代码以后便可解决。3.2 程序测试及结果分析程序测试及结果分析测试阶段,用两组数检验程序的功能,用X 表示被加数,用 Y 表示加数。(1)X=013579 Y=0246

9、89输出结果为 038268(2)X=987654 Y=123456输出结果为 111110(1)中,013579+024689=038268,结果正确。(2)中,987654+123456=1111110,由于输出结果不考虑溢出,只能显示六位数,所以结果正确。沈阳航空航天大学课程设计报告 9参考文献1 唐朔飞.计算机组成原理(第 2 版)M北京:高等教育出版社,20082 王爱英.计算机组成与结构(第 4 版)M.北京:清华大学出版社,20063 白中英.计算机组成原理(第 4 版) M北京:科学出版社,2008沈阳航空航天大学程设计报告10附录(源代码)00 C0 IN01 88E6 MO

10、V 0E6H,A03 C0 IN04 88E1 MOV 0E1H,A06 C0 IN07 88E2 MOV 0E2H,A09 C0 IN0A 88E3 MOV 0E3H,A0C C0 IN0D 88E4 MOV 0E4H,A0F C0 IN10 88E5 MOV 0E5H,A12 78E2 MOV A,0E2H;取低八位14 80 MOV R0,A15 78E5 MOV A,0E5H17 81 MOV R1,A18 70 MOV A,R0;对低四位进行判断19 5C0F AND A,#0FH1B D4 RL A1C D4 RL A1D D4 RL A1E D4 RL A1F 82 MOV R2

11、,A20 71 MOV A,R121 5C0F AND A,#0FH23 D4 RL A24 D4 RL A25 D4 RL A26 D4 RL A27 83 MOV R3,A28 72 MOV A,R229 13 ADD A,R32A A035 JC T1;相加有进位跳转2C 82 MOV R2,A2D 7C90 MOV A,#90H2F 32 SUB A,R2;相加大于 9 跳转30 A035 JC T132 70 MOV A,R0沈阳航空航天大学程设计报告1133 AC38 JMP T4 T1: ;低四位之和有进位或大于 9,和加 635 70 MOV A,R036 1C06 ADD A

12、,#06H T4: ;38 11 ADD A,R139 A04D JC T2;低八位的高四位之和有进位跳转3B 83 MOV R3,A3C 7C90 MOV A,#90H3E 33 SUB A,R3;低八位的高四位之和大于 9 跳转3F A04C JC T341 73 MOV A,R342 88F0 MOV 0F0H,A;低八位之和存入内存44 78E1 MOV A,0E1H;取中间八位46 80 MOV R0,A47 78E4 MOV A,0E4H49 81 MOV R1,A4A AC5C JMP LOOP1 T3:4C 73 MOV A,R3 T2:4D 1C60 ADD A,#60H4F

13、 88F0 MOV 0F0H,A;低八位之和存入内存51 78E1 MOV A,0E1H;取中间八位53 80 MOV R0,A54 78E4 MOV A,0E4H56 81 MOV R1,A57 71 MOV A,R158 71 MOV A,R159 1C01 ADD A,#01H;低八位有进位向中间八位进 15B 81 MOV R1,A;中间八位运算 LOOP1:5C 70 MOV A,R05D 5C0F AND A,#0FH5F D4 RL A60 D4 RL A61 D4 RL A62 D4 RL A63 82 MOV R2,A64 71 MOV A,R165 5C0F AND A,#

14、0FH67 D4 RL A68 D4 RL A沈阳航空航天大学程设计报告1269 D4 RL A6A D4 RL A6B 83 MOV R3,A6C 72 MOV A,R26D 13 ADD A,R36E A079 JC TT170 82 MOV R2,A71 7C90 MOV A,#90H73 32 SUB A,R274 A079 JC TT176 70 MOV A,R077 AC7C JMP TT4 TT1:79 70 MOV A,R07A 1C06 ADD A,#06H TT4:7C 11 ADD A,R17D A091 JC TT27F 83 MOV R3,A80 7C90 MOV A

15、,#90H82 33 SUB A,R383 A090 JC TT385 73 MOV A,R386 88F1 MOV 0F1H,A;中间八位存入内存88 78E6 MOV A,0E6H;取高八位8A 80 MOV R0,A8B 78E3 MOV A,0E3H8D 81 MOV R1,A8E AC9F JMP LOOP2 TT3:90 73 MOV A,R3 TT2:91 1C60 ADD A,#60H93 88F1 MOV 0F1H,A;中间八位存入内存95 78E6 MOV A,0E6H;取高八位97 80 MOV R0,A98 78E3 MOV A,0E3H9A 81 MOV R1,A9B

16、 71 MOV A,R19C 1C01 ADD A,#01H9E 81 MOV R1,A LOOP2:9F 70 MOV A,R0沈阳航空航天大学程设计报告13A0 5C0F AND A,#0FHA2 D4 RL AA3 D4 RL AA4 D4 RL AA5 D4 RL AA6 82 MOV R2,AA7 71 MOV A,R1A8 5C0F AND A,#0FHAA D4 RL AAB D4 RL AAC D4 RL AAD D4 RL AAE 83 MOV R3,AAF 72 MOV A,R2B0 13 ADD A,R3B1 A0BC JC TTT1B3 82 MOV R2,AB4 7C

17、90 MOV A,#90HB6 32 SUB A,R2B7 A0BC JC TTT1B9 70 MOV A,R0BA ACBF JMP TTT4 TTT1:BC 70 MOV A,R0BD 1C06 ADD A,#06H TTT4:BF 11 ADD A,R1C0 A0D5 JC TTT2C2 83 MOV R3,AC3 7C90 MOV A,#90HC5 33 SUB A,R3C6 A0D4 JC TTT3C8 73 MOV A,R3C9 88F2 MOV 0F2H,ACB 81 MOV R1,ACC 78F1 MOV A,0F1HCE 82 MOV R2,ACF 78F0 MOV A,0F0HD1 83 MOV R3,A T:D2 ACD2 JMP T; TTT3:D4 73 MOV A,R3沈阳航空航天大学程设计报告14 TTT2:D5 1C60 ADD A,#60HD7 88F2 MOV 0F2H,AD9 81 MOV R1,ADA 78F1 MOV A,0F1HDC 82 MOV R2,ADD 78F0 MOV A,0F0HDF 83 MOV R3,A 沈阳航空航天大学程设计报告15

温馨提示

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

评论

0/150

提交评论