定点原码两位乘法器的设计
原码两位乘运算器的逻辑实现

P =2 ( X Y ) , P P =2 ( X Y ) P
P =2 ( P
+ X Y)
() 2
考虑到每次只有最低两位乘数 Y 参与运算.且每次右移两位 ,于是得部分积的x Y)+x 一)= ( .( 一+ )X 4 P+ 2 )/ ( 3)
设 _] …墨.其中 x为符号位, x =x F []=Y , ・ ,其 中 Y为符 号位 , Y Y Y ,
则乘积 [] z 一[] ・[] X Y =z x・ ) ( Y ,其中乘积 的符 号位 z X毋 =X【 F f Y ,X ,… ,y y - . ) 2 - - 。 Y
维普资讯
加法器增 设一个 高位 £o 一个进 位触 发器 c 是 为 了保 证 +2 微操 作 的实现 ,且 最 高进位 不丢 失。 和 F B
B1
Ai
Bi
Bi +1
An
Bn
f 1 图 )
B f fC
C ∑l F
∑ ∑ O 2
∑一 ∑ i 2 i
( 2) 图
1 — 1 9
2 .原码两位乘的算法
() 3 式说明当前部分积 P2 i的值取决于乘数最低两位 Y . — 的四种情况:
当 Y Y=0时 .P 右 移两位 : — o 0 当 Y Y=1 ,P十 — . 时 0 x右移两 位 ; 当 Y Y=0 ,P 2  ̄1 时  ̄ X右 移两位 ; + 当 Y Y=1 ,P 3 — 1 时  ̄ X右 移两 位 。 +
收稿 日期 :20 — 5 2 0 1 0— I 作者简介:蒋万君 { 5-) I 6 ,男,重庆开县人 .重庆 三峡 学院计算机科 学系讲师 9
一
1 一 1 B
定点原码二位乘法器的设计

定点原码二位乘法器的设计一、整体设计思路1.电路的延迟时间:实现高效的运算速度。
2.电路的面积:尽量减小电路的面积,提高可集成度。
3.电路的功耗:尽量降低功耗,减少能源消耗。
基于这些因素,我将采用并行的乘法器设计来实现定点原码乘法器。
二、定点原码二位乘法器的模块划分1.部分积生成模块部分积生成模块的功能是将两个乘数转换为部分积,并按位相乘。
实现方式如下:a.采用一组与门实现两个乘数的与运算,得到与运算结果。
b.采用多个与门与二进制补码的最低位(即符号位)进行与运算,得到部分积。
2.部分积加法器模块部分积加法器模块的功能是将部分积相加,得到最终的积。
实现方式如下:a.采用全加器来实现两个部分积的加法,得到低位结果。
b.采用多级进位的加法器结构,将各级进位相加,得到高位结果。
3.结果输出模块结果输出模块的功能是将最终的积输出。
实现方式如下:a.通过多路选择器选择最终结果。
b.针对负积的情况,采用运算结果的补码表示。
三、定点原码二位乘法器的运算流程1.输入两个乘数(被乘数和乘数)。
2.经过部分积生成模块将两个乘数转换为部分积。
3.经过部分积加法器模块将部分积相加,得到最终的积。
4.经过结果输出模块输出最终的积。
四、定点原码二位乘法器的性能评估1.运算速度:通过计算电路的延迟时间来评估。
2.面积:通过计算电路的逻辑门数量来评估。
3.功耗:通过计算电路的总功耗来评估。
通过对定点原码二位乘法器进行综合评估,可以进一步优化其设计,提高乘法器的性能和效率。
总结:定点原码二位乘法器是计算机系统中的重要组成部分,其设计需要考虑到电路的延迟时间、面积和功耗等因素。
通过采用并行计算的方式,将定点原码乘法器的设计划分为部分积生成模块、部分积加法器模块和结果输出模块,并详细介绍了每个模块的功能和实现方式。
通过对乘法器的性能评估,可以进一步优化设计,提高乘法器的性能和效率。
定点原码二位乘法器的设计在计算机系统中具有重要的应用价值。
定点原码两位乘法器的设计说明

课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码两位乘法器的设计院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:目录航空工业学院........................................ 错误!未定义书签。
第1章总体设计方案. (1)1.1设计原理 (1)1.2设计思路 (3)1.3设计环境 (4)第2章功能模块的设计与实现 (5)2.1顶层电路的设计与实现 (5)2.1.1创建顶层图形设计文件 (5)2.1.2器件的选择与引脚锁定 (5)2.2基本功能模块的组成及工作原理 (7)2.2.1被乘数模块的组成及工作原理 (7)2.2.2乘数模块的组成及工作原理 (9)2.2.3选择模块的组成及工作原理 (10)2.2.4移位模块的组成及工作原理 (12)2.3仿真调试 (13)第3章编程下载与硬件测试 (15)3.1编程下载 (15)3.2硬件测试及结果分析 (15)参考文献 (17)附录(电路原理图) (18)第1章总体设计方案1.1 设计原理定点原码两位乘与定点原码一位乘一样,符号位的运算和数值部分是分开进行的,但为了提高运算速度,所以采用了原码两位乘,因为原码两位乘是用乘数的末两位的状态来决定新的部分积如何形成,可提高运算速度。
乘数和被乘数都用原码表示。
两位乘数有四种可能的组合,每种组合对应与以下操作:00——相当与0*X。
部分积+0,右移两位;01——相当与1*X。
部分积+X,右移两位;10——相当与2*X。
部分积+2X,右移两位;11——相当与3*X。
部分积+3X,右移两位。
与一位乘法比较,多出了+2X和3X两种情况。
把X左移1位即得到2X,在机器通常采用左斜送一位来实现。
可是+3X一般不能一次完成,如分成两次进行,又降低了计算速度。
解决问题的办法是:以(4X-X)来代替3X运算,在本次运算中只执行-X,而+4X则归并到下一步执行,此时部分积以右移了两位,上一步欠下的+4X已变成+X,在实际线路中要用一个触发器C来记录是否欠下+4X,若是,则C变为1。
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语言实现原码一位两个定点数相乘是一个非常简单的操作。
定点乘法器设计

防止符号位扩展
• 例: B = 9 = (001001)2,A = 10 = (01010)2, AB = 90 = (01011010)2的执行过程。
防止符号位扩展
• 防止符号扩展的方式解决部分积是负数时可能产生的问题。
• 假定所有的部分积都为负,那么所有符号扩展的“1”的和
是:sig ns(m /2) (1 ( 1 )2n)4i 2n( 1 )(2m1)
= (-2bn-1 + bn-2+bn-3)2n-2 -bn-32n-3 +bn-42n-4+ … +b020
j
B (2b2i1b2i b2i1)22i i0
二阶Booth算法—控制信号编码
b2i+1b2ib2i-1 重编码
000
0
001
1
010
1
011
2
100
-2
101
-1
110
-1
111
-0
乘法计算方法
• 用笔算进行乘法计算的方法为:
0101 1010
0000 0101 0000 0101 00110010
术语
被乘数 乘数
部分积
乘积
乘法运算的关键
• 要提高乘法计算速度,需要:
➢ 加快部分积的形成 ➢ 减少部分积数目
✓ 采用多位扫描、跳过连续的0/1串和对乘数重编码(如 Booth算法)等处理方法
符号与数值分别控制
NEG B1
B2
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
1
1
0
定点原码二位乘法器的设计

课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码二位乘法器的设计院(系):专业:班级:学号:姓名:指导教师:说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。
报告和电子数据必须作为实验现象重复的关键依据。
学术诚信声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。
尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。
与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。
报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。
本人签名: 日期:年月日课程设计任务书目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (3)1.3设计环境 (3)第2章详细设计方案 (5)2.1顶层方案图的设计与实现 (5)2.2创建顶层图形设计文件 (5)2.3器件的选择与引脚锁定 (6)第3章功能模块的设计与实现 (7)3.1控制器模块的设计与实现 (7)3.2选择器模块的设计与实现 (7)3.3乘数模块的设计与实现 (8)3.4部分积模块的设计与实现 (9)3.5原码两位乘法器模块的设计与实现 (10)第4章编程下载与硬件测试 (12)3.1编程下载 (12)3.2硬件测试及结果分析 (12)参考文献 (13)第1章 总体设计方案1.1设计原理原码两位乘的乘数和被乘数用原码表示,根据乘数最后两位的取值情况,依次求出被乘数对应的4种选择值,然后与上次部分积相加之后,再对本次得出的部分值右移两位,循环执行,直至乘数的高两位运算完成为止。
两位乘数共有四种状态,对应的四种状态可得表1.表中2倍的被乘数可通过乘数将X 左移1位得到2X ,在机器内通常采用左斜送一位来实现。
原码两位乘法器

4) 0 0 1
+B +000.111111 还帐 000.111000
(XY)原=1.111000000111
C Cn-1Cn CJ .111001 0
11.1110 0
0111.11 0
000111. 1 000111
原码两位乘法器
例2. X原=0.00111, Y原= 1.01001 ,求(XY)原
0.111111 × 0.011110
000000 111111 111111 111111
111111 + 000000
0.111111 × 0.011110
1111110
???????
+
111111
2X 3X X
原码两位乘法器
①算法分析
Yi(高位)
0 0 1 1
Yi+1(低位)
0 1 0 1
如何实现+3X操作?
初值: A = 000.000000 B = X = 000.00111
2B = 000.01110 -B = 111.11001
C = Y = 00.010010 CJ = 0
;部分积 ;被乘数 ; ; ;乘数 ;欠账触发器
原码两位乘法器
步数 条件 操作
Cn-1CnCJ
1) 1 0 0
+2B
2
2) 0 0 0
单精度定点乘法 原码两位乘法器
原码两位乘法器
• 原码一位乘法,计算部分积并计算 累加和的次数与乘数的位数有关, 所以它的速度较慢。
0.111111 × 0.011110
000000 111111 111111 111111 111111 + 000000
原码两位乘法器
定点小数的乘法运算及实现

补码两位乘
将比较Yi-1Yi的状态与比较YiYi+1的状态所执行的运算合成一 步 对照:补码一位乘法 2(Yi- Yi-1 ) + (Yi+1-Yi) = Yi+ 1+ Yi - 2Yi-1 Yi+ Yi+1- 2Yi-1 0 1 1 2 -2 -1 -1 0 操作 +0,2→ +[X]补, 2→ +[X]补, 2→ +2[X]补, 2→ +2[-X]补, 2→ +[-X]补, 2→ +[-X]补, 2→ +0, 2→ 17
+
+
+ +
1 1 1 1
1 1 1 1
积低部
∴[Z]原=1,10001111
原码两位乘
原码一位乘依据Yi 决定操作,原码两位乘每次根据 连续两位乘数Yi+1Yi (=2Yi+1+Yi)决定本次操作 n位数的乘法一般只需n/2次操作
Yi+1 Yi 00
01 10 2 11
1 1 2 i 1 1 2 2
0
0→Cj,2→ -|X|
1→Cj,2→ +|X| 0→Cj,1→
00011100
1
00001110
0
积高位
积低位
最后一步只移一位 10
[Z]原=1,00111000000111
4.3.2 补码乘法运算
Booth法。目标:求[X· Y]补 设被乘数X、乘数Y均为n+1位的定点小数,
X补=x0.x1x2…xn, Y补=y0.y1y2…yn。 则[Y]补=y0· 20+y1· 2-1+· · · · · · +yn· 2-n
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点原码二位乘法器的设计目录第1章总体设计方案 (1)1.1设计原理 (1)1.2设计思路 (3)1.3设计环境 (5)第2章功能模块的设计与实现 (6)2.1总体的设计与实现 (6)2.1.1总体方案的逻辑图 (6)2.2基本功能模块的组成及工作原理 (8)2.2.1被乘数模块的组成及工作原理 (8)2.2.2乘数模块的组成及工作原理 (8)2.2.3选择模块的组成及工作原理 (9)2.2.4 移位模块的工作原理 (9)第3章程序仿真与测试 (10)3.1程序仿真 (10)3.2仿真测试及结果分析 (10)参考文献 (12)附录(汇编程序) (13)第1章总体设计方案1.1 设计原理定点原码两位乘与定点原码一位乘一样,符号位的运算和数值部分是分开进行的,但为了提高运算速度,所以采用了原码两位乘,因为原码两位乘是用乘数的末两位的状态来决定新的部分积如何形成,可提高运算速度。
乘数和被乘数都用原码表示。
两位乘数有四种可能的组合,每种组合对应的操作如表1.1所示表1.1 乘数组合与部分积关系对照表乘数y n-1y n 新的部分积00 新部分积等于原部分积右移两位01 新部分积等于原部分积加被乘数后右移两位10 新部分积等于原部分积加2倍被乘数后右移两位11 新部分积等于原部分积加3倍被乘数后右移两位与一位乘法比较,多出了+2X和3X两种情况。
把X左移1位即得到2X,在机器内通常采用左斜送一位来实现。
可是+3X一般不能一次完成,如分成两次进行,又降低了计算速度。
解决问题的办法是:以(4X-X)来代替3X运算,在本次运算中只执行-X,而+4X则归并到下一步执行,此时部分积以右移了两位,上一步欠下的+4X已变成+X,在实际线路中要用一个触发器C来记录是否欠下+4X,若是,则C变为1。
因此实际操作用Yi-1,Yi,C三位来控制,运算规则如下所示:表1.2 判断值对应的操作以及C值的变化情况组合值Yi-1 Yi C 操作C值变化0 0 0 0 部分积+0;右移两位C=01 0 0 1 部分积+x;右移两位C=01 0 1 0 部分积+x;右移两位C=02 0 1 1 部分积+2x;右移两位C=02 1 0 0 部分积+2x;右移两位C=031 0 1 部分积-x ;右移两位 C=1 3 1 1 0 部分积-x ;右移两位 C=1 4 1 1 1 部分积+0;右移两位 C=1 定点原码两位乘法器实现的功能应如下面例子所示,设计的电路应实现下面 例子给定的功能。
用原码两位乘方法求X*Y ,已知X=07H ,Y=16H (这里的0或1表示符号位)。
2X=0010.1110表 1.3 07H*16H 的计算过程部分积 乘数 C j 说明000.0000 0110 0 开始,部分积为0,C j =0+010.1110 y n-1y n C j =100,加2x*,保持C j =0010.1110 0110000.1011 1001 0 —>2位,得新的部分积,乘数同时—>2位 +001.0111 y n-1y n C j =010,加x*,保持C j =0010.0010 1001 0000.1000 1010 —>2位得最终结果实现定点原码两位乘法的流程框图如1.1所示.图1.1 定点原码两位乘法器逻辑电路框图1.2 设计思路设计的定点原码两位乘法器是用一个乘数模块,一个被乘数模块和部分积模块以及移位模块和选择模块构成。
顾名思义,乘数模块以及被乘数模块即用来存储乘数和被乘数的模块,思路是把乘数存储在R1中,被乘数则存储在R2中。
部分积则和书上所说的一样,先全部清零,在这里,我将把部分积存储在R0中。
因为原码两位乘涉及到欠位,所以R3中存储欠位。
思路大概如下。
将要计算的乘数以及被乘数分别输进存储器中,然后分别计算出x*以及2x方便以后计算。
然后再提出两数的符号位并进行异或运算(比如17H,06H的符号位计算则为1异或0最后经过移位运算可得出最终的符号位模式10,00)。
下面便是具体计算过程:记部分积为000.0000,判断y n-1y n C j的值并加上对应的值然后将部分积右移两位,同时将乘数右移两位,重复计算,计算次数达到2的时候判断附加位,如果附加位为1,则加x*并右移两位得结果,否则直接得出结果。
最终,要进行符号位运算。
由于上面已经计算好符号位为10或者00,所以将上面的步骤得到的结果与7FH相与去掉上面结果的最高位,再将算好的符号位加到结果上则可得到最终结果。
根据课设题目要求,采用伟福COP2000和实验箱进行设计并实现定点原码两位乘,所以本题目需要试用软件进行调试,首先需要进行编程。
以下会给出几个本程序中将用到的汇编语言以及其对应的注释:表 1.4 程序部分操作的注释ADD A,R? 将寄存器R?的值加入累加器A中ADDC A,R? 将寄存器R?的值加入累加器A中,带进位SUB A,R? 从累加器A中减去寄存器R?的值AND A,R? 累加器A“与”寄存器R?的值OR A,R? 累加器A“或”寄存器R?的值JZ MM 若零标志位置1,跳转到MM地址JMP MM 跳转到MM地址CPL A 累加器A取反,再存入累加器A中OUT 将累加器A中的数据输出到输出端口RR A 累加器A右移一位RL A 累加器A左移一位NOP 空指令1.3 设计环境软件环境:伟福COP2000型计算机组成原理实验仪COP2000 计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。
实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器W、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20 个按键、字符式LCD、RS232 口。
COP2000集成调试软件(即仿真测试软件)共分为6部分:(1)主菜单区实现实验仪的各项功能的菜单,包括[文件][编辑][汇编][运行][帮助]五大项,各项线面做详细介绍。
(2)快捷图标区快速实现各项功能按键(3)源程序/机器码区在此区域有源程序窗口,反汇编窗口,EM程序代码窗口。
源程序用于输入,显示,编辑汇编源程序:反汇编窗口显示程序编译后的机器码及反汇编的程序;EM程序代码窗口用数据方式机器码。
(4)机构图/逻辑波形区结构图能结构化显示模型机的各部件,以及运行时数据走向寄存器值;逻辑波形图能显示模型机运行时所有信号的程序。
(5)微程序/跟踪区微程序表格用来显示程序运行时微程序的时序,及每个时钟脉冲各控制位的状态,跟踪表用来记录显示程序及微程序执行的轨迹,指令系统可以帮助你设计新的指令系统。
(6)寄存器状态区用来显示程序执行时各内部寄存器的值。
第2章功能模块的设计与实现2.1 总体的设计与实现被乘数x存放在寄存器R2中,乘数y存放在寄存器R1中,存储器R0中存放部分积,R3中暂时存放需要进行判断的值。
根据所设计的算法器,运算中要对乘数y进行计算,被乘数x需要计算出[-X]补和2x方便以后计算。
与原码一位乘不同的是,需要在乘数(当乘数位数为偶数时)的最高位前加两个0。
这样,当乘数最高两个有效位出现“11”时,需要将C j置“1”,再与所添补的两个0结合呈001状态,以完成加x*的操作(此步不必移位)。
以上所说的便是其中的一种小情况,剩余的几种状况在这里不重复说明。
2.1.1总体方案的逻辑图总体方案在前面的图1.1中相信大家能够大致的了解程序的主要流程,下面将对上面总体框图中的几个小部分给出更为具体的工作流程图。
下面是对乘数y与被乘数x的符号位进行异或的操作:图2.1计算最终结果的符号位下面是计算【-X 】补和2x 的流程图图2.2计算【-X 】补和2x下面是得出最终结果的工作流程图图2.3 最终结果输出2.2 基本功能模块的组成及工作原理定点原码两位乘法器是由一个乘数模块,一个被乘数模块和部分积模块以及选择器模块和移位模块为基础而实现的,设计要求用汇编语言实现算法,所以先在仿真软件上进行汇编并仿真然后再在实验箱上进行操作。
2.2.1被乘数模块的组成及工作原理(1)被乘数模块的组成被乘数模块主要涉及3个寄存器,1个移位寄存器,1个加法器。
(2)被乘数模块的工作原理被乘数模块主要的功能是实现把X转换成0,X,2X以及-X然后再由选择器模块选择出那一个送到加法器里。
对2X的实现才用移位寄存器来实现,用其左移的功能将X左移一位得到2X,-X用加法器和寄存器得到,采用取反加一的办法实现。
2.2.2乘数模块的组成及工作原理(1)乘数模块的组成乘数模块由寄存器和移位电路组成。
沈阳航空航天大学课程设计报告(2)乘数模块的工作原理乘数模块主要功能是右移两位将乘数最低两位移出,所移出的两位去控制被乘数模块去选择向加法器所送的数,移位由一个移位电路实现右移两位,在移位的同时乘数本身右移两位。
2.2.3选择模块的组成及工作原理(1)选择模块的组成选择模块由8个4选1的选择器组成,8个4路选择器分别去选择由被乘数模块转换完的0,X,2X,-X,由8个4路选择器分别表示8位,再组合成一个数输出。
(2)选择模块的工作原理表 2.1 选择模块的工作原理组合值Yi-1 Yi C 操作C值变化0 0 0 0 部分积+0;右移两位C=01 0 0 1 部分积+x;右移两位C=01 0 1 0 部分积+x;右移两位C=02 0 1 1 部分积+2x;右移两位C=02 1 0 0 部分积+2x;右移两位C=03 1 0 1 部分积-x;右移两位C=13 1 1 0 部分积-x;右移两位C=14 1 1 1 部分积+0;右移两位C=1根据以上给出的表格对应的进行选择加的数据。
2.2.4 移位模块的工作原理由于在本算法器中需要多次进行移位,所以移位相对于本算法器来说是不可或缺的一部分。
在实现移位功能的时候,将数据全部用2进制代码表示,然后进行左右移位的运算,结果依旧存放在原属寄存器中,在进行运算的时候直接调用移位后的数据,中间可节省大部分的时间精力。
第3章结果测试3.1 程序仿真将先前编好的汇编语言存放在仿真软件中,并进行调试结果,同时对程序进行改进等操作。
由于设计的原码两位乘程序比较复杂,代码长度较长,所以在编程的时候要耐心,一步一步的跟踪进行运算,并随时调试代码中的错误和改善代码长度。
3.2 仿真测试及结果分析利用COP2000实验仪进行仿真测试,最终得出结果如下。
当x=07H,y=06H时的仿真结果如下图所示。
已知x=07H,y=06H,不算符号位计算可得,x*y=2AH,将其写为2进制代码可得:0010.1010,又有最终符号位的最终结果为0000.0000,所以将最终符号位加到不带符号位的结果上可得:0010.1010,即最终结果应为2AH。