COP2000实现原码一位除法

合集下载

定点原码一位乘法器讲课教案

定点原码一位乘法器讲课教案

定点原码一位乘法器沈阳航空工业学院课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位乘法器的设计院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计环境 (2)第2章详细设计方案 (4)2.1顶层方案图的设计与实现 (4)2.1.1创建顶层图形设计文件 (4)2.1.2器件的选择与引脚锁定 (5)2.2第二层模块的设计与实现 (7)2.3功能模块的设计与实现 (7)2.3.1移位模块的设计与实现 (7)2.3.2 乘数移位模块的设计与实现 (10)2.3.3选择模块的设计与实现 (12)2.3.4 控制模块的设计与实现 (13)2.3.5 其他模块的设计与实现 (15)2.4仿真调试 (16)第3章编程下载与硬件测试 (19)3.1编程下载 (19)3.2硬件测试及结果分析 (19)参考文献 (20)附录(电路原理图) (21)第1章总体设计方案1.1 设计原理原码一位乘,两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。

例:X=0.1100,Y=0.1110,计算乘积X*Y。

0.1100* 0.111000001100110011000.10101000在计算时,逐次按乘数每1位上的值是1还是0,决定相加数取被乘数的值还是取零值,而且相加数逐次向左偏移1位,最后一起求积。

由于在计算机内多个数据一般不能同时相加,一次加法操作只能求出两数之和,因此每求得一个相加数,就与上次部分积相加每次计算时,相加数逐次向左偏移一位,由于最后的乘积位数是乘数(被乘数)的两倍,因此加法器也需增到两倍。

部分积右移时,乘数寄存器同时右移一位,所以用乘数寄存器的最低位来控制相加数取被乘数或零,同时乘数寄存器接收部分积右移出来的一位,完成运算后,部分积寄存器保存乘积的高位部分,乘数寄存器中保存乘积的低位部分。

COP2000实现原码数的排序

COP2000实现原码数的排序

目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3设计环境 (1)第2章详细设计方案 (3)2.1算法与程序的设计与实现 (3)2.2流程图的设计与实现 (4)第3章程序调试与结果测试 (9)3.1程序调试 (9)3.2程序测试及结果分析 (9)参考文献 (11)附录(源代码) (12)第1章总体设计方案1.1设计原理本次课程设计是利用COP2000指令集进行编程,实现对给定存单元00H-0FH中的16个8bit原码数从小到大排序的功能。

首先,将存单元00H-0FH中的数据取出来,并利用冒泡排序法将存中的16个原码数视为无符号数进行排序;排序之后的结果存入存单元0DH-0DFH。

冒泡的原理是比较相邻的元素,如果第一个比第二个大,就交换他们两个,对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,针对所有的元素重复以上的步骤,选出最大的沉底,然后在剩下的数中依次重复上一步骤。

最后利用统计16个数中正数的个数设计循环将负数从新排序,将排序之后的新数列放到存地址0EH-0EFH中,这样实现了本次课设要求。

1.2设计思路本次课程设计是实现对于原码数的从小到大排序。

首先,需要将给定存单元中的数取出来存入新的存单元中,然后对新的存单元中的数进行排序;排序的方法是冒泡排序法,将有符号的原码数视为无符号数,采用冒泡排序对其进行排序;将排完序的数重新统计,统计16个数中正数的个数,设计循环将负数按照一定顺序放到所有正数之前,最后将所有的正数采用循环遍历方式依次插入到负数之后剩下的位置。

1.3设计环境利用伟福COP2000型计算机组成原理实验仪软件和计算机,在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,#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---------------跳转到MM地址COP2000计算机组成原理实验软件截图如图1.1所示:图1.1COP2000计算机组成原理软件第2章详细设计方案2.1 算法与程序的设计与实现本次课程设计采用伟福COP2000实验仪软件和计算机实现有符号数排序的功能,利用伟福COP2000的指令集编程实现。

定点原码一位除法器的设计

定点原码一位除法器的设计

课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位除法器的设计(系):业: 级: 号: 名:指导教师:完成日期:第1章总体设计方案1.1设计原理1.2设计环境第2章详细设计方案2.1顶层方案图的设计与实现.......2.1.1创建顶层图形设计文件........2.1.2器件的选择与引脚锁定........2.2功能模块的设计与实现.........2.2.1选择移位模块的设计与实现.2.2.2余数选择器模块的设计与实现2.2.3控制器模块的设计与实现... 2.3仿真调试...................... 第3章编程下载与硬件测试.......... . (4) (4) (4) (6) (6) (9)..10 .11.133.1编程下载..........3.2硬件测试及结果分析参考文献............... 13 13 14第1章总体设计方案1.1 设计原理定点原码一位除法的计算有恢复余数和加减交替两种算法,商的符号为除数与被除数两符号位的异或值,数值则为两数绝对值相除后的结果。

此设计方案仅采用恢复余数法进行设计。

恢复余数定点原码一位除法器实现的功能如表 1.1所示,设计的电路应实现表1.1中给定的功能。

设:X=X0 X1……X nY=Y0 Y1……Y nX0 X1,丫0丫1分别为符号位,K为两符号位的异或值X/Y=K*|X|/|Y||X|/|Y|利用恢复余数法求的,在计算机中,商只能用做减法判结果的符号为正还是为负来确定。

当差为负时,上商为0,同时还应该把除数再加到差上去,恢复余数为原来的正值之后再左移一位。

若减得的差为0或为正值时,就没有恢复余数的操作,上商为1,余数左移一位。

其计算过程如下:例:已知:X=0.0100丫=0.1000求:X/Y表1.1恢复余数定点原码一位除法器功能表恢复余数定点原码一位除法器的整体设计包含两输入寄存器模块,一个加法运算模块,一个余数移位模块,一个商移位模块和一个由触发器和计数器构成的控制模块,移位模块采用Verilog设计输入方式,其余采用原理图设计输入方式。

c语言实现原码一位两个定点数相乘

c语言实现原码一位两个定点数相乘

一、概述在计算机科学中,C语言是一种非常流行的程序设计语言,它具有高效、灵活和丰富的库函数等特点。

在C语言中实现原码一位两个定点数相乘是一个非常基础和常见的计算操作,本文将介绍如何使用C语言实现原码一位两个定点数相乘的过程。

二、原码定点数1. 定点数是计算机中用于表示实数的一种方式,它们不同于浮点数,定点数以二进制形式表示,它包含一个整数部分和一个小数部分。

2. 原码定点数中,最高位为符号位,其余位用来表示整数部分和小数部分。

当符号位为0时,表示正数,为1时表示负数。

三、原码定点数相乘1. 原码定点数相乘是指两个原码定点数相乘的操作。

2. 对于原码定点数A和B,其相乘过程可以表示为C=A×B,其中C 为相乘结果。

四、C语言实现下面是一个简单的C语言函数,实现了原码一位两个定点数相乘的功能:```c#include <stdio.h>int fix_mul(int a, int b, int n){int c;c = a * b;c = c >> n; // 将乘积右移n位,得到结果return c;}```五、代码解释1. 上述代码定义了一个名为fix_mul的函数,接受三个参数a、b、n,分别表示两个原码定点数和小数部分的位数。

2. 函数内部先将a和b相乘,然后将结果右移n位,最终得到相乘的结果,并将其返回。

六、示例下面是一个示例代码,展示了如何使用上述函数进行原码一位两个定点数相乘的操作:```c#include <stdio.h>int m本人n(){int a = 10; // 原码定点数Aint b = 20; // 原码定点数Bint n = 8; // 小数部分的位数int result = fix_mul(a, b, n);printf("The result of A * B is d\n", result);return 0;}```七、总结通过上述的介绍可以看出,使用C语言实现原码一位两个定点数相乘是一个非常简单的操作。

定点原码一位乘法器的设计

定点原码一位乘法器的设计

定点原码一位乘法器的设计定点原码乘法器是一种基本的数字运算电路,用于实现两个定点原码数的乘法运算。

在设计定点原码乘法器时,需要考虑两个关键方面:乘法运算的算法和乘法运算电路的实现。

一、乘法运算的算法设计:1.符号位的处理:定点原码乘法器需要考虑乘法运算的符号位。

根据乘法运算的规则,当两个数的符号位不同时,乘积的符号位为负;当两个数的符号位相同时,乘积的符号位为正。

因此,在乘法运算时,首先需要对两个乘数的符号位进行判断和处理。

2.乘法运算的主体部分:乘法运算的主体部分是通过将两个乘数的每一位进行相乘,并将结果相加得到乘积的每一位。

一般来说,乘法运算可以采用移位和加法的方式来实现。

a.移位操作:在乘法运算中,需要将乘数的每一位与被乘数的每一位相乘,并将结果相加。

因此,首先需要将乘数的每一位与被乘数的每一位相乘,移位操作可以实现该过程。

b.加法操作:乘法运算中,需要将乘数的每一位与被乘数的每一位相乘,得到中间的结果,然后将中间结果相加,得到最终的乘积。

这一步骤可以通过加法器电路来实现。

二、乘法运算电路的实现设计:在设计定点原码乘法器的电路时,需要考虑各个功能模块的实现:1.符号位处理电路:由于定点原码乘法器需要考虑两个乘数的符号位,因此需要设计一个符号位处理电路。

该电路可以根据两个乘数的符号位来判断乘积的符号位,并给出相应的控制信号。

2.移位操作电路:移位操作电路用于实现乘数的每一位与被乘数的每一位相乘。

可以采用多路选择器和移位寄存器来实现。

多路选择器用于选择当前操作的两个数位,移位寄存器用于保存被乘数的每一位。

3.加法器电路:加法器电路用于将乘数的每一位与移位操作电路中移位后的结果相加。

可以采用并行加法器来实现,通过级联多个全加器,实现两个二进制数的加法运算。

4.乘积结果输出电路:乘积结果输出电路用于将最终的乘积输出。

可以通过选择器来选择最后一位的结果,并将结果输出到寄存器中,供后续电路使用。

设计定点原码乘法器的步骤如下:1.分析乘法运算的算法,确定各个功能模块的需求和输入输出信号。

计算机组成原理课设 定点原码一位除法器的设计

计算机组成原理课设 定点原码一位除法器的设计

沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码一位除法器的设计院(系):计算机学院专业:计算机科学与技术班级:94010101学号:2009040101013姓名:胡桂林指导教师:周大海完成日期:2012年1月13日沈阳航空航天大学课程设计报告目录第1章总体设计方案 (1)1.1设计环境 (1)1.2设计原理 (2)第2章详细设计方案 (4)2.1总流程图 (4)2.2上商置0模块流程图 (6)2.3上商置1模块流程图 (6)2.4商的符号流程图 (7)第3章测试结果 (9)3.1程序仿真 (9)3.2仿真测试一 (9)3.3仿真测试二 (10)附录 (11)参考文献 (14)第1章总体设计方案1.1 设计环境伟福COP2000实验箱,用汇编语言编程实现定点原码一位除法器COP2000 计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。

实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器W、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20 个按键、字符式LCD、RS232 口。

COP2000集成调试软件(即仿真测试软件)共分为6部分:(1)主菜单区实现实验仪的各项功能的菜单,包括[文件][编辑][汇编][运行][帮助]五大项,各项线面做详细介绍。

(2)快捷图标区快速实现各项功能按键(3)源程序/机器码区在此区域有源程序窗口,反汇编窗口,EM程序代码窗口。

源程序用于输入,显示,编辑汇编源程序:反汇编窗口显示程序编译后的机器码及反汇编的程序;EM程序代码窗口用数据方式机器码。

(4)机构图/逻辑波形区结构图能结构化显示模型机的各部件,以及运行时数据走向寄存器值;逻辑波形图能显示模型机运行时所有信号的程序。

恢复余数法定点原码一位除法器的设计17页word

恢复余数法定点原码一位除法器的设计17页word

课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:恢复余数法定点原码一位除法器的设计院(系):*************专业:*************班级:*************学号:*************姓名:*************指导教师:*************完成日期:*************目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (1)1.3设计环境 (3)第2章详细设计方案 (4)2.1顶层方案图的设计与实现 (4)2.1.1创建顶层图形设计文件 (4)2.1.2器件的选择与引脚锁定 (4)2.1.3 编译、综合、适配 (6)2.2功能模块的设计与实现 (6)2.2.1寄存器模块的设计与实现 (6)2.2.2数据选择器模块的设计与实现 (7)2.2.3补码器模块的设计与实现 (8)2.2.4加法器模块的设计与实现 (8)2.2.5移位寄存器模块的设计与实现 (9)2.3仿真调试 (10)第3章编程下载与硬件测试 (12)3.1编程下载 (12)3.2硬件测试及结果分析 (12)参考文献 (13)附录(电路原理图) (14)第1章总体设计方案1.1 设计原理定点原码一位除法器的原理是根据人工进行二进制除法的规则:判断被除数与除数的大小,若被除数小,则上商0,并在余数最低位补0,再用余数和右移一位的除数比,若够除,则上商1,否则上商0。

然后继续重复上述步骤,直到除尽(即余数为0)或已得到的商的位数满足精度要求为止。

上述计算方法要求加法器的位数为除数位数的两倍。

但分析后,会发现右移除数,可以通过左移被除数(余数)来代替,左移出界的被除数(余数)的高位都是无用的0,对运算不会产生任何影响。

另外,上商0还是1是计算者用观察比较的办法确定的,而计算机只能用做减法判断结果的符号为负还是为正来确定。

当差为负时,上商为0,同时还应把除数再加到差上去,恢复余数为原来的正值之后再将其左移一位。

COP2000实现补码两位乘

COP2000实现补码两位乘

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

本次课设的补码两位乘是根据补码一位乘推导出来,补码两位乘可以使用和补码一位乘类似的硬件,而计算速度接近补码一位乘的两倍。

本次课设需要构造补码两位乘规则表,计算中可以根据查表依次运算下去。

1.2设计思路(1)被乘数X,乘数Y均以补码形式参加运算,乘法的每一步对乘数的两位进行,即右移两位。

(2)乘数[Y]在计算时采用两位符号位,初始附加位添一个0。

(3)被乘数[X]在计算时采用三位符号位。

(4)部分积初始为0,计算过程中采用三位符号位。

(5)每一步计算,按照乘数的最低三位的值查找操作规则表1,根据上一步的部分积和规则表的操作,计算本步的部分积。

(6)每步操作后,将部分积和乘数右移两位,乘数右移后,原来的最低两位被移除出舍弃,其余各位位权依次下降。

重复(4),但最后一步操作不右移。

1.3设计环境利用伟福COP2000型计算机组成原理实验仪软件和计算机,在COP2000实验仪软件上编程实现补码两位乘。

伟福COP2000实验仪软件的指令集分为如下大类:算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入输出指令。

本程序所用到的相应的指令集如下:(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 将存储器MM地址中的值送到累加器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计算机组成原理实验软件截图:图2 COP2000运行环境第2章详细设计方案2.1 算法与程序的设计与实现本课设采用伟福COP2000实验仪软件和计算机实现补码两位乘功能,利用伟福COP2000的指令集编程实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:COP2000实现原码一位除法院(系):计算机学院专业:计算机科学与技术班级:24010103学号:2012040101012姓名:程院指导教师:杨华日15月01年2015完成日期:沈阳航空航天大学课程设计报告目录第1章总体设计方案 (2)1.1设计原理 (2)1.2设计思路 (2)1.3设计环境 (2)第2章详细设计方案 (4)2.1总体方案的设计与实现 (4)2.1.1总体方案的逻辑图 (4)2.1.2算法流程图 (5)2.2功能模块的设计与实现 (6)2.2.1 模块的设计与实现 (6)第3章验证测试 (9)3.1验证测试 (9)参考文献 (10)附录(源代码)…………………………………………………………………………111--沈阳航空航天大学课程设计报告错误!未指定书签。

第1章总体设计方案第1章总体设计方案1.1设计原理原码一位除,即两个原码数相除,商的符号为除数和被除数的符号异或值。

采用汇编语言实现定点原码一位除法器,算法为恢复余数法。

利用恢复余数的方法来进行运算。

1.2设计思路算法为恢复余数法,先用被除数减去除数,如果结果为正数商1,然后左移,如果是负数商0然后加上Y的补,继续运算。

实验开始时将实验数据从实验箱的开关输入到R0,R1,R2三个寄存器中,R0为被除数,R1为除数,R2为商。

运算过程采用恢复余数法。

主要判断被除数减去除数的商值。

如果为负,商0然后加除数然后左移。

如果商值为正商1,左移。

数据都存放在寄存器中,最后结果在OUT寄存器中显示。

1.3设计环境COP2000 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。

其中运算器和中断控制电路以及跳转控制电路用CPLD 来实现,其它电路都是用离散的数字电路组成。

微程序控制部分也可以用组合逻辑控制来代替。

模型机的指令码为8 位,根据指令类型的不同,可以有0 到2 个操作数。

指令码的最低两位用来选择R0-R3 寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。

而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。

在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实2--沈阳航空航天大学课程设计报告错误!未指定书签。

第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 R?,#II------------将立即数II存放到寄存器R?中MOV R?,A------------将累加器A中的值送到寄存器A中(3)移位指令RR A----------------累加器A右移RL A----------------累加器A左移(4)跳转指令JZ MM---------------若零标志位置1,跳转到MM地址JMP MM---------------跳转到MM(5)位运算AND A,R?------------累加器A“与”寄存器R?的值(6)输入输出OUT--------------------将累加器A中数据输出到输出端口3--沈阳航空航天大学课程设计报告错误!未指定书签。

第2章详细设计方案第2章详细设计方案2.1 总体方案的设计与实现定点原码一位除,算法为恢复余数法,当余数为负时,需加上除数,将其恢复城原来的余数。

商值的确定是通过比较被除数和除数的绝对值的大小,即x”-y”实现的,而计算机内只设加法器,所以需要将x”-y”操作变为|x|补+|y|补得操作。

总体方案的逻辑图 2.1.1除数R1 被除数R0左移位加法器移位7次8 移位和加控制加法器商R2输出结果OUT2.1图,R1R0是被除数8R1、、R2均是位的寄存器。

R02.1.1如上逻辑框图中所示,OUT 为商。

其结果在中输出。

,R2是除数4--沈阳航空航天大学课程设计报告错误!未指定书签。

第2章详细设计方案2.1.2算法流程图处N1左移一位R左移一被除R1R计数R计数0N R1减除被除R N被除R Y2.2 图算法流程图5--沈阳航空航天大学课程设计报告错误!未指定书签。

第2章详细设计方案算法流程图如图2.3所示。

除法开始前,R2寄存器被清0,准备接收商,被除数的原码放在R0寄存器中,除数的原码放在R1寄存器中,计数器R3中存放需要移位的次数。

除法开始后,首先判断除数是否为0,若除数为0则进行处理,若不为0,则用被除数减去除数,若运算结果大于0,商上1。

若结果小于0,商上0。

然后被除数左移一位,计数器减1。

当计数器R3内容为0时,结束运算。

2.2 功能模块的设计与实现2.2.1 模块的设计与实现2.2.1.1 功能描述主要模块包括:循环控制模块、加减运算模块、商符运算模块。

循环控制模块:通过计数器内容控制运算过程。

若计算器大于0,继续进行运算;若计算器为0,结束运算。

主要应用恢复余数过程。

开始被除数减去除0数大于的-Y加上补,左移直接左移输出商值循环模块流程图2.3 图6--沈阳航空航天大学课程设计报告错误!未指定书签。

第2章详细设计方案加减运算模块:实现加减运算功能,当余数为正时,商加1 ,当余数为负时,商加0。

器得到差值结束图2.4加减模块流程图商符运算模块:通过异或运算求出商的符号。

开始商左移7次寄存器上的数得到商结果OUT寄存器输出结果结束商结果显示流程图2.5图7--沈阳航空航天大学课程设计报告错误!未指定书签。

第2章详细设计方案本设计可以进行定点原码一位除法运算。

通过以上几个关键模块实现。

主要方法是恢复余数法,在运算过程中主要是判断被除数和除数之间的差来决定运算过程的。

移位模块流程2.2.1.2 数据输入流程图R0 输入被除数R1 输入除数结束数据输入流程图2.6图8--沈阳航空工业学院课程设计报告参考文献错误!未指定书签。

第3章验证测试3.1 验证测试输入被除数:A3H输入除数:07H图2.7验证9--沈阳航空工业学院课程设计报告参考文献错误!未指定书签。

参考文献[1] 李景华. 可编程程逻辑器件与EDA技术[M].北京:东北大学出版社,2001[2] COP2000 实验指导书[3] 唐朔飞.计算机组成原理(第二版)[M].北京:高等教育出版社,2008[4] 王冠.Verilog HDL与数字电路设计[M].北京:机械工业出版社,2005[5] 江国强.EAD技术习题与实验[M].北京:电子工业出版社,2005[6] 杜建国.Verilog HDL硬件描述语言[M].北京:国防工业出版社,200410--附录(源代码)MOV R0,#82HMOV R1,#04HMOV R2,#00HMOV R3,#07H ; 数据执行次数MOV A,R0MOV 9FH,AMOV A,R1MOV 9EH,AMOV A,R0 ; 数据存入AND A,#7FH ; 去掉符号MOV R0,AMOV A,R1AND A,#7FHMOV R1,AMOV A,R1SUB A,#00H ; 断定除数是否为零JZ OVERFLOWMOV A,R0SUB A,R1MOV R0,ALOOP:JZ NEXTAND A,#80HSUB A,#00HJZ S1SUB A,#80HJZ S2S1: ;为正上“1”MOV A,R0RL ASUB A,R1MOV R0,AMOV A,R2RL AADD A,#01HMOV R2,AMOV A,R3SUB A,#01HJZ NEXTMOV R3,AMOV A,R011--JMP LOOPS2: ;为负上“0”MOV A,R0ADD A,R1RL ASUB A,R1MOV R0,AMOV A,R2RL AMOV R2,AMOV A,R3SUB A,#01HJZ NEXTMOV R3,AMOV A,R0JMP LOOPNEXT: ;根据最后的余数断定上0或上1 MOV A,R0MOV R3,AAND A,#80HSUB A,#00HJZ OUT1SUB A,#80HJZ OUT2OUT1: ;为正上1MOV A,R2RL AADD A,#01HAND A,#7FH ;7位表示MOV R2,AJMP FOUT2: ; 为负上0 MOV A,R2RL AADD A,#00HAND A,#7FH ;7位表示MOV R2,AJMP FF: ;断定符号为正负12--MOV A,9FHAND A,#80HMOV R0,AMOV A,9EHAND A,#80HSUB A,R0SUB A,#00HJZ FF2JMP FF1FF1: ;异号结果为1 MOV A,R2OR A,#80HMOV R2,AOUTJMP OVERFF2: ;同号结果为0 MOV A,R2OR A,#00HMOV R2,AOUTJMP OVEROVER:JMP OVER OVERFLOW:END13--不知起初拿到课程设计题目,课程设计总结:本次课程设计让我收获颇丰,我对这次课程设计要道如何去实现设计要求,经过前几天查阅资料,老师帮助求有了更深的了解,知道了具体应该怎样操作,怎样去实现原码一位除法器实验箱C p200样去操还让我想说本次课程设计不但使我们复习了计算机组成原理课程的内容我们加深了对计算们复习并应用了算法设计与分析以及汇编语言课程的内容系统概念的理解我们平时在享受信息我衷心感谢学校和老师给我们安排了这次课程设计而这次的课程设代带来的方便迅捷的同时也养成了懒惰急于求成的坏习惯我们不允许我们偷懒,每个人必须下足功夫才能够完成,而在完成的过程中这难道不值得感心态也悄然发生了变化从开始的些许抵触转变为乐在其中增强我们的动手吗?我衷心的希望学校学院能给我安排更多的此类实践课程最后感谢几位指导教师的悉心讲解和耐心促进理论知识的消化吸收践能力导,谢谢您指导教师评语指导教签课程设计成14--。

相关文档
最新文档