- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BCD码的加法课案
沈阳航空航天大学
课 程 设 计 报 告
课程设计名称:计算机组成原理课程设计
课程设计题目:COP2000实现BCD码的加法
院(系):计算机学院
专 业:计算机科学与技术
班 级:3401010x
学 号:20130401010xx
姓 名:张伟
指导教师:杨华
完成日期:2016年 1 月 15 日
目 录
第1章 总体设计方案 3
1.1 设计原理 3
1.2 设计思路 3
1.3 设计环境 3
第2章 详细设计方案 5
2.1 算法与程序的设计与实现 5
3.程序核心部分流程图。如图2.2.3所示 6
图2.2.3 核心部分流程图 7
第3章 程序调试与结果测试 8
3.1 程序调试 8
3.2 程序测试及结果分析 8
参考文献 10
附 录(源代码) 11
第1章 总体设计方案
设计原理
课程设计要求加数、被加数以及和都采用压缩的BCD码,都是6位十进制数,但是从COP2000上面只能输入两位十六进制数,即8位二进制数。所以在设计时将6位十进制数分为3组,每组2位,进行相加,找6个存储单元对3组数的低位运算和高位运算进行存储,最后两两求和,将最低两位、中间两位、最高两位结果分别放入r3、r2、r1中。设计时最核心的四个问题我认为分别是将最低位数据左移四位,将数据与F0相与,设计计数单元与进位位存储单元。
设计思路
COP2000上面每次只能输入两个十六进制数,即8个二进制数,现在欲将6位十进制数输入,只能分成3组,3组分别相加。在进行加法时,要考虑到进位,但是COP2000只能判别最高位是否有进位,所以在进行加法时,将最低位数据左移4次,放到最高位,便可以顺利解决判断进位问题。在进行每组数据最高位加法时,要将数据与0F0H相与,使低四位清零。在进行加法时,由于考虑到进位问题,所以设计f7单元存储进位,进位存储单元初始时置0,每当产生进位时,
MOV A,#10H MOV 0F0H,A 使进位单元置1,所以每进行加法时,都要将进位单元数据相加。由于数据是分成三组进行,所以在进行运算时需要进行选择,初始时将计数单元置0,进行最后两位运算时计数单元加1,进行中间两位运算时,置数单元继续加1,最高两位运算在加1,当进行选择时,使计数单元数据减去2,当为最低两位时,1减2发生借位,进而执行JC所指向的地址。当计数单元数据为2减去2时,结果等于0,进而执行JZ所指向单元,当计数单元数据为3时,减去2,结果为1,不执行JC与JZ的指令,执行JMP所指向的地址。三组数据的低位高位结果分别放入6个存储空间中,最后R0存储最高位两位数据计算结果,R1存储中间两位数据计算结果,R3存储最低两位数据计算结果。
设计环境
COP2000实验平台对应的模型机为8位机,数据总线和地址总线均为8位。包括一个标准CPU所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、右移门R、直通门D、寄存器组R0~R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器。
在COP2000仿真软件上实现编程,所应用的编程语言为汇编语言。在伟福试验仪中有相关的模型机指令集分为几大类:算术运算指令、数据传输指令、移位指令、逻辑运算指令、跳转指令、中断返回指令、输入输出指令。
本程序所用到的相应的指令集
(1)算术逻辑运算指令
ADD A, R?------------将寄存器R?的值加入累加器A中
ADD A,#II---------- 立即数#II加入累加器A中
SUB A,#II-----------从累加器中减去立即数后加入累加器A中
AND A,#II-----------累加器A“与”立即数II
(2)数据传送指令
MOV A,R?------------将寄存器R?的值送到累加器A中
MOV A,MM------------将存储器MM的地址的值送到累加器A中
MOV MM,A------------将累加器A的值送到存储器MM的地址中
MOV R?,#II------------将立即数II存放到寄存器R?中
MOV R?,A------------将累加器A中的值送到寄存器A中
(3)移位指令
RR A----------------累加器A右移
RL A----------------累加器A左移
(4)跳转指令
您可能关注的文档
- 全国自考预防医学(二)历年真题及部分答案.doc
- arm接口技术-学生.doc
- AXI4-协议规范.ppt
- 全国大学英语四级考试讲座PPT.ppt
- 全国计算机等级三级信息安全技术试题第二卷.docx
- AXI总线介绍.pptx
- 全国计算机等级考试一级考点.docx
- Azkaban-开源任务调度程序(使用篇).docx
- A_江苏卫生信息数据集(基础管理数据).doc
- A万波-大数据时代商业银行业内部审计研究与实践.docx
- 2025年中小学学校春季开学典礼校长致辞 合计12份.docx
- 2025年学校春季开学典礼校长讲话致辞 汇编12份.docx
- 2025年学校春季开学典礼校长致辞 (合计12份).docx
- 2025年贵州遵义市凤冈中石化交旅能源发展有限公司招聘笔试参考题库附带答案详解.pdf
- 2025年浙江金华市国通二手车交易市场有限责任公司招聘笔试参考题库附带答案详解.pdf
- 2025年安徽滁州市来安县新型工业科技投资有限公司招聘笔试参考题库附带答案详解.pdf
- 2025年福建福州市连江县供销合作社联合社基层企业招聘笔试参考题库附带答案详解.pdf
- 2025年江苏苏州市昆山花桥商务城物业管理有限公司招聘笔试参考题库附带答案详解.pdf
- 安全生产考核细则及奖惩规定.pdf
- 基线高纤维蛋白原血症与晚期非小细胞肺癌复发转移和预后的相关性.pdf
文档评论(0)