基于复杂模型机两个8位二进制数乘法的实现Word格式文档下载.docx

上传人:b****4 文档编号:17798758 上传时间:2022-12-10 格式:DOCX 页数:15 大小:74.98KB
下载 相关 举报
基于复杂模型机两个8位二进制数乘法的实现Word格式文档下载.docx_第1页
第1页 / 共15页
基于复杂模型机两个8位二进制数乘法的实现Word格式文档下载.docx_第2页
第2页 / 共15页
基于复杂模型机两个8位二进制数乘法的实现Word格式文档下载.docx_第3页
第3页 / 共15页
基于复杂模型机两个8位二进制数乘法的实现Word格式文档下载.docx_第4页
第4页 / 共15页
基于复杂模型机两个8位二进制数乘法的实现Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于复杂模型机两个8位二进制数乘法的实现Word格式文档下载.docx

《基于复杂模型机两个8位二进制数乘法的实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于复杂模型机两个8位二进制数乘法的实现Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

基于复杂模型机两个8位二进制数乘法的实现Word格式文档下载.docx

四、具体实现:

1.画出算法流程图

该流程图使用了以下6个寄存器CX,AD,A,B,RL,RH;

其中CX作为计数以及辅助生成AD的,CX变化为

10000000初始值

00000001

00000010

……

10000000程序结束

AD作为被乘数的高低位划分数据,其中被乘数B中高位对应的AD的位置1,低位置0:

00000000初始值

00000001CXORAD->

AD

00000011

11111111

另流程图中所用6个寄存器在实现中使用MEM代替,CX,AD,A,B使用R2作RL,R3作RH,左移1位等价右移7位。

2.根据算法实现,若需修改指令系统,画出修改后的微程序流程图

3.编写修改指令系统后的二进制代码表

二进制数微代码表

地址

十六进制表示

高五位

S3-S0

A字段

B字段

C字段

UA5-UA0

00

000001

00000

0000

000

000001

01

006D43

110

101

000011

03

107070

00010

111

001

110000

04

002405

010

000101

05

04B201

1001

011

06

002407

000111

07

013201

0010

08

106009

001001

09

183001

00011

0A

106010

010000

0B

0C

103001

0D

200601

00100

0E

005341

0F

0000CB

001011

10

280401

00101

11

12

06B201

1101

13

002414

010100

14

05B201

1011

15

002416

010110

16

01B201

0011

17

002418

011000

18

043201

1000

1B

1C

10101D

011101

1D

10608C

001100

1E

10601F

011111

1F

101020

100000

20

28

101029

101001

29

00282A

100

101010

2A

04E22B

101011

2B

04928C

2C

10102D

101101

2D

002C2E

101110

2E

04E22F

101111

2F

30

001604

000100

31

001606

000110

32

006D48

001000

33

006D4A

001010

34

003401

35

000035

110101

36

006D51

010001

37

001612

010010

38

001613

010011

39

001615

010101

3A

001617

010111

3B

3C

006D5C

011100

3D

006D5E

011110

3E

006D68

101000

3F

006D6C

101100

4.编写微程序

两个8位二进制数的乘法运算程序如下:

;

机器指令

$P0020;

INPUTTOR0

$P0100

$P0222;

INPUTTOR2

$P0300

$P0461;

SETR1TO00

$P0500

$P0663;

SETR3TO00

$P0700

$P0863;

SETR3TOF8

$P09F8

$P0AD3;

STORER3TO80ASATAG

$P0B80

循环主体

$P0C63;

SETR3TO01

$P0D01

$P0E1B;

ANDR2,R3

$P0FF0;

BZCTO12

$P1012

$P1101;

ADDR0,R1

$P1263;

$P1301

$P14AD;

RRR3,R1

$P15AE;

RRR3,R2

$P1663;

SETR3TO7F

$P177F

$P181E;

ANDR3,R2

$P1963;

SETR3TO80

$P1A80

$P1B17;

ANDR1,R3

$P1C9E;

ORR3,R2

$P1D63;

$P1E01

$P1FAF;

RRR3,R3JUSTTOMAKEFZNOTEQUALONETHENBZCDEPENDSONFC

$P20F0;

BZCTO40

$P2140

$P2263;

$P237F

$P241D;

ANDR3,R1TOMAKETHEHBOFR1AS0

$P2563;

$P2601

$P27AF;

RRR3,R3JUSTTO...

$P28C3;

LAD80TOR3

$P2980

$P2A73;

R3++

$P2BF0;

BZCTOTHEENDWHICHIS90

$P2C90

$P2DD3;

STAR3TO80

$P2E80

$P2FE0;

JMPTOTHEENTRANCEOFTHECYCLE

$P300C

条件转移指令分支

$P4063;

$P4180

$P429D;

ORR3,R1TOMAKETHEHBOFR1AS1

$P43E0;

JMPTO25

$P4425

程序结尾

$P9034;

OUTPUTR1

$P9140

$P9238;

OUTPUTR2

$P9340

$P9450;

STOP

微指令

//**StartOfMicroControllerData**//

$M00000001;

NOP

$M01006D43;

PC->

AR,PC加1

$M03107070;

MEM->

IR,P<

1>

$M04002405;

RS->

B

$M0504B201;

A加B->

RD

$M06002407;

$M07013201;

A与B->

$M08106009;

AR

$M09183001;

IO->

$M0A106010;

$M0B000001;

$M0C103001;

$M0D200601;

RD->

MEM

$M0E005341;

A->

PC

$M0F0000CB;

NOP,P<

3>

$M10280401;

IO

$M11103001;

$M1206B201;

A加1->

$M13002414;

$M1405B201;

A减B->

$M15002416;

$M1601B201;

A或B->

$M17002418;

$M18043201;

A右环移->

$M1B005341;

$M1C10101D;

A

$M1D10608C;

AR,P<

2>

$M1E10601F;

$M1F101020;

$M2010608C;

$M28101029;

$M2900282A;

RI->

$M2A04E22B;

$M2B04928C;

A,P<

$M2C10102D;

$M2D002C2E;

$M2E04E22F;

$M2F04928C;

$M30001604;

$M31001606;

$M32006D48;

$M33006D4A;

$M34003401;

$M35000035;

$M36006D51;

$M37001612;

$M38001613;

$M39001615;

$M3A001617;

$M3B000001;

$M3C006D5C;

$M3D006D5E;

$M3E006D68;

$M3F006D6C;

//**EndOfMicroControllerData**//

5.编写机器指令验证

联机装入调试

五、调试运行结果:

输入FD*FE,输出FB06。

六、所遇问题及解决方法:

实验时不知道如何利用已有设备利用加法进行两个8位数乘法运算,通过上网查询知道了方法,并以此设计复杂模型机;

然后是开始时对机器程序不太了解,对微指令与机器指令之间的运行不太明白,后来在同组成员和其他同学的帮助与讨论下明白了它们之间的联系和运行顺序。

七、实验总结:

1、经过实验,深层次的了解了微指令系统以及它存在的意义;

2、体会到了机器语言的速度之快以及变成之繁琐,贯通了从电路到桌面应用这一系列体系知识;

3、复杂模型是对前面简单模型的升华,使我们更深入了解了机器程序的执行过程;

4、模型机的设计是一个新的知识,在编写时遇到了很多问题与难处,因此我们在编写时需要不断查阅课本,加深理解。

八、心得体会:

1、复杂模型机的实现比较简单,就是微程序的编写比较繁琐;

2、以后再遇到这种繁琐的程序,先仔细构思,画出流程图再编写,就能容易出错;

3、复杂模型机的调试是一个极其繁琐的过程,我们编写是要细心认真,调试出现问题时要耐心检查;

4、通过本次实验收获丰富,在做这次实验之前,通过深入的预习,理解了实验原理、明确了实验的目的,按部就班地连线,逐步完成了实验的要求。

在实验过程中,我认真进行实验操作和思考实验有关的内容,把自己不太明白的问题通过实验理解清楚。

通过这次实验我更加深刻的理解了计算机的工作原理,懂得了复杂模型机设计与实现的基本操作,加深了对书本知识的认识。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1