2020年计算机组成原理课程设计_第1页
2020年计算机组成原理课程设计_第2页
2020年计算机组成原理课程设计_第3页
2020年计算机组成原理课程设计_第4页
2020年计算机组成原理课程设计_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理课程设计

文档仅供参考,不当之处,请联系改正。

计算机组成原理课程设计报告

一、课程设计目的

1.在实验机上设计实现机器指令及对应的微指

令(微程序)并验证,从而进一步掌握微程序设

计控制器的基本方法并了解指令系统与硬件结

构的对应关系;

2.经过控制器的微程序设计,综合理解计算机

组成原理课程的核心知识并进一步建立整机系

统的概念;

3.培养综合实践及独立分析、解决问题的能力。

二、课程设计的任务

针对COP实验仪,从详细了解该模型机的

指令/微指令系统入手,以实现乘法和除法运算

功能为应用目标,在COP的集成开发环境下,

设计全新的指令系统并编写对应的微程序;之后

编写实现乘法和除法的程序进行设计的验证。

三、课程设计使用的设备(环境)

1.硬件

•COP实验仪

文档仅供参考,不当之处,请联系改正。

•PC机

2.软件

•COP仿真软件

四、课程设计的具体内容(步骤)

L详细了解并掌握COP模型机的微程序控制

器原理,经过综合实验来实现

该模型机指令系统的特点:

①总体概述

COP模型机包括了一个标准CPU所具备所有

部件,这些部件包括:运算器ALU、累加器A、

工作寄存器W、左移门L、直通门D、右移门R、

寄存器组R0-R3、程序计数器PC、地址寄存器

MAR、堆栈寄存器ST、中断向量寄存器IA、输入

端口IN、输出端口寄存器OUT、程序存储器EM、

指令寄存器IR、微程序计数器uPC、微程序存储

器uM,以及中断控制电路、跳转控制电路。其

中运算器和中断控制电路以及跳转控制电路用

CPLD来实现,其它电路都是用离散的数字电路

组成。微程序控制部分也能够用组合逻辑控制来

代替。

模型机的指令码为8位,根据指令类型的不

文档仅供参考,不当之处,请联系改正。

同,能够有0到2个操作数。指令码的最低两位

用来选择RO-R3寄存器,在微程序控制方式中,

用指令码做为微地址来寻址微程序存储器,找到

执行该指令的微程序。而在组合逻辑控制方式

中,按时序用指令码产生相应的控制位。在本模

型机中,一条指令最多分四个状态周期,一个状

态周期为一个时钟脉冲,每个状态周期产生不同

的控制逻辑,实现模型机的各种功能。模型机有

24位控制位以控制寄存器的输入、输出,选择

运算器的运算功能,存储器的读写。

模型机的缺省的指令集分几大类:算术运算

指令、逻辑运算指令、移位指令、数据传输指令、

跳转指令、中断返回指令、输入/输出指令。

②模型机的寻址方式

表1模型机的寻址方式

模型机的寻址方式说指令举

指令说明

寻址方式明例

操作数为累将累加器A

CPLA

累加器寻加器A的值取反

址隐含寻址累将累加器A

OUT

加器A的值输出到

文档仅供参考,不当之处,请联系改正。

输出端口寄

存器OUT

将寄存器RO

参与运算的

的值加上累

寄存器寻数据在ADD

加器A的值,

址R0〜R3的寄A,RO

再存入累加

存器中

器A中

参与运算的将寄存器R1

数据在存储的值作为地

寄存器间器EM中,数MOV址,把存储器

接寻址据的地址在A,@R1EM中该地址

寄存器的内容送入

R0-R3中累加器A中

将存储器EM

参与运算的

中40H单元

数据在存储

的数据与累

存储器直器EM中,数AND

加器A的值

接寻址据的地址为A,40H

作逻辑与运

指令的操作

算,结果存入

数。

累加器A

立即数寻参与运算的SUB从累加器A

址数据为指令A,#10H中减去立即

文档仅供参考,不当之处,请联系改正。

的操作数。数10H,结果

存入累加器

A

COP模型机指令的最低两位(IR0和IR1)

用来寻址R0〜R3四个寄存器;IR2和IR3与ELP

微控制信号,Cy和Z两个程序状态信号配合,

控制PC的置数即程序的转移。各种转移的条件

判断逻辑如下所示:

PC置数逻辑

当ELP=1时,不允许PC被预置

当ELP=0时

当IR3=1时,无论Cy和Z什么状

态,PC被预置

当IR3=0时

若IR2=0,则当Cy=l时PC被

预置

若IR2=L则当Z=1时PC被

预置

本模型机时序控制采用不定长机器周期的

同步控制方式,一条指令最多分四个节拍。

系统提供的默认指令系统包括以下7类指令:

文档仅供参考,不当之处,请联系改正。

田4)二宿比j型田=田狂皿任七匕人

ADDA,R?ANDA,R?MAA,R?JCMM

ADDA,@R?ANDA,@R?MOVA,@R?JZMM

ADDA,MMANDA,MMMOVA,MMJMPMM

ADDA,#HANDA,#HMOVA,#11CALLMMRET

ADDCA,R?ORA.R?MOVR?.A

移位指令:中断皈回指输入/输出

AADDDCPAA,/@aDKOr

RRARETIREADMM

ADDCA,MM

RLAWRITEMM

ADDCA,#11

RRCAIN

该模型机微指令系统的特点(包括其微

指令格式的说明等):

①总体概述

该模型机的微命令是以直接表示法进行编码

的,其特点是操作控制字段中的每一位代表一个

微命令。这种方法的优点是简单直观,其输出直

接用于控制。缺点是微指令字较长,因而使控制

存储器容量较大。

②微指令格式的说明

模型机有24位控制位以控制寄存器的输

入、输出,选择运算器的运算功能,存储器的读

文档仅供参考,不当之处,请联系改正。

写。微程序控制器由微程序给出24位控制信号,

而微程序的地址又是由指令码提供的,也就是说

24位控制信号是由指令码确定的。该模型机的

微指令的长度为24位,其中微指令中只含有微

命令字段,没有微地址字段。其中微命令字段采

用直接按位的表示法,哪位为0,表示选中该微

操作,而微程序的地址则由指令码指定。这24

位操作控制信号的功能如表2所示:(按控制信

号从左到右的顺序依次说明)

表2微指令控制信号的功能

操作招

控制信号的说明

制信号

外部设备读信号,当给出了外设的地址

XRD

后,输出此信号,从指定外设读数据。

EMW

程序存储器EM写信号。

R

EMRD程序存储器EM读信号。

将程序计数器PC的值送到地址总

PCOE

线ABUS±o

将程序存储器EM与数据总线

EMEN

DBUS接通,由EMWR和EMRD

文档仅供参考,不当之处,请联系改正。

决定是将DBUS数据写到EM中,

还是从EM读出数据送到DBUSo

将程序存储器EM读出的数据打入指

IREN

令寄存器IR和微指令计数器FiPCo

中断返回时清除中断响应和中断

EINT

请求标志,便于下次中断。

PC打入允许,与指令寄存器的

ELP

IR3、IR2位结合,控制程序跳转。

MARE将数据总线DBUS上数据打入地址

N寄存器MARo

MARO将地址寄存器MAR的值送到地址

E总线ABUS±0

OUTE将数据总线DBUS上数据送到输出

N端口寄存器OUT里。

将数据总线DBUS上数据存入堆栈

STEN

寄存器ST中。

读寄存器组R0~R3,寄存器R?的

RRD

选择由指令的最低两位决定。

写寄存器组R0~R3,寄存器R?的

RWR

选择由指令的最低两位决定。

决定运算器是否带进位移位,

CN

CN=1带进位,CN=0不带进位。

文档仅供参考,不当之处,请联系改正。

将标志位存入ALU内部的标志寄

FEN

存器。

X2

X2、XI、X0三位组合来译码选择

XI

将数据送到DBUS上的寄存器。

X0

将数据总线DBUS的值打入工作寄

WEN

存器W中。

将数据总线DBUS的值打入累加器

AEN

A中。

S2

S2、SI、SO三位组合决定ALU做

S1

何种运算。

SO

COP中有7个寄存器能够向数据总线输出数

据,但在某一特定时刻只能有一个寄存器输出

数据.由X2,XI,X0决定那一个寄存器输出数

据。

X2XI输出寄存器

X0

00IN_OE夕卜

0部输入门

00IA_OE中

1断向量

文档仅供参考,不当之处,请联系改正。

01ST_OE堆

0栈寄存器

01PC_OE

1PC寄存器

10D_OE直

0通门

10R_OE右

1移门

11L_OE左

0移门

11没有输出

1

COP中的运算器由一片EPLD实现.有8种运

算,经过S2,SI,SO来选择。运算数据由寄存器

A及寄存器W给出,运算结果输出到直通门D。

文档仅供参考,不当之处,请联系改正。

01A|W或

0

01A&W与

1

10A+W+C带

0进位加

10A-W-C带

1进位减

11〜AA

0取反

11A输

1出A

2o计算机中实现乘法和除法的原理

(1)无符号乘法

①实例演示(即,列4位乘法具体例子演

算的算式):

1001;被

乘数

X0101;乘

文档仅供参考,不当之处,请联系改正。

0000;初始值

(零)

+0101(0);乘

数最低位为1,部分积加乘数,被乘数左移

9

位,乘

数右移

一位。

0101;部

分积

+0000(1);乘

数最低位为0,部分积加0,被乘数左

;移

一位,

乘数右

移一

位。

00101;部

分积

+0101(1);乘

数最低位为1,部分积加被乘数,被乘数左

;移

文档仅供参考,不当之处,请联系改正。

-------------------一位,乘数

右移一位。

011001;部分积

+0000(0);乘

数最低位为0,部分积加0,被乘数左移一

位,乘

数右移

一位。

(0)0011001;计

算完毕,结果为0011001

即:1001X0110=0011001

②硬件原理框图:

文档仅供参考,不当之处,请联系改正。

在模型机上实现无符号数乘法运算时,采

用“加法一移位”的重复运算方法。那么,

无符号乘法的硬件原理框图如图2所示。

③算法流程图:

在模型机上实现无符号数乘法运算时,采用

“加法一移位”的重复运算方法。因此,无符号

乘法的算法流程图如图3所示。

文档仅供参考,不当之处,请联系改正。

③算法流程图

文档仅供参考,不当之处,请联系改正。

文档仅供参考,不当之处,请联系改正。

(2)无符号除法

①实例演示(即,列4位除法具体例子演

算的算式):

被除数为01100100(二进制),即为十进制的

100;除数为1001(二进制),即为十进制的9。

那么,能够经过笔算得到:

011001004-1001=1011-0001

即十进制运算结果为:

1004-9=11-1

无符号除法的实例演示如图4所示

01011

1i6"liooio

o;被除数

100

1;除数

;减去除数

1101

0

文档仅供参考,不当之处,请联系改正。

余数为负,c=l,商上0

100

1;

商左移一位,除数右移

一位

;加上

除数

00011

1;余数为正,C=0,商上1

100

1;商

左移一位,除数右移

一位

;减去除数

111110

0;余数为

负,C=l,商上0

100

1;商左移一位,除数右移一位

;加上

除数

文档仅供参考,不当之处,请联系改正。

0000101

0;余数为正,C=0,商上1

100

1;商左移一

位,除数右移一位

;减去除数

0000000

1;余数为正,C=0,商上1,余数为1

;余数为正不用处理

②硬件原理框图:

文档仅供参考,不当之处,请联系改正。

图5无符号除法的硬件原理框图

在模型机上实现无符号数除法运算时,采

用“加减交替算法”的运算方法。那么,无

符号除法的硬件原理框图如图5所示。

③算法流程图:

文档仅供参考,不当之处,请联系改正。

文档仅供参考,不当之处,请联系改正。

3.对应于以上算法如何分配使用COP实验仪

中的硬件

(初步分配,设计完成后再将准确的使用情况填

写在此处)

(1)无符号乘法

符号乘法对应于COP实验仪的硬件具体分

配使用情况如下表所示:

表3无符号乘法的硬件分配情况

文档仅供参考,不当之处,请联系改正。

硬件名称实现算法功能描述

计算时用来存放部分积和最后

寄存器R0

的积

①初始化时,用来存放被乘

数;

寄存器R1

②在程序执行的过程中,用来

存放向左移位后的被乘数。

①初始化时,用来存放乘数;

寄存器R2②在程序执行的过程中,用来

存放向右移位后的乘数。

执行ADDA,R?(加法)、SHLR?

(左移一位)、SHRR?(右移

累加器A

一位)等命令时所必须使用的

寄存器。

执行ADDA,R?(加法)、TEST

R?,#H(测试R2的末位)等双

寄存器W

操作数命令时所必须使用的寄

存器。

用来实现相应数据左移一位的

左移门L运算,并能够控制该运算后的

结果是否输出到数据总线。

直通门D用来控制ALU的执行结果是否

文档仅供参考,不当之处,请联系改正。

输出到数据总线。

用来实现相应数据右移一位的

右移门R运算,并能够控制该运算后的

结果是否输出到数据总线。

①控制程序按顺序正常执行;

②当执行转移指令时,从数据

程序计数线接收要跳转的地址,使程序

器PC能够按需要自动执行。

③当要从EM中读取数据时,

由PC提供地址。

存储器EM存储指令和数据。

微程序计向微程序存储器UM提供相应

数器UPC微指令的地址。

微程序存

存储相应指令的微指令。

储器UM

输出寄存能够将运算结果输出到输出寄

器OUT存器OUT(本实验未用)。

当存储于累加器A的值将要受

到破坏时,将其数据保存在堆

堆栈ST

栈ST中,使程序能够正常地执

行。

文档仅供参考,不当之处,请联系改正。

(2)无符号除法

无符号除法对应于COP实验仪的硬件具体

分配使用情况如下表所示:

表4无符号除法的硬件分配情况

硬件名称实现算法功能描述

初始化时,用来存放被除数和

寄存器R0

计算后的余数。

①初始化时,用来存放除数;

寄存器R1②在程序执行的过程中,用来

存放向右移位后的除数。

在程序执行过程中,用来保存

寄存器R2

当前算得的商。

当作计数器使用,用来控制程

寄存器R3

序是否结束(初始值5)。

①计算时用来存放中间结果;

②执行ADDA,R?(加法)、SUB

累加器A

A,R?(减法)等命令时所必须

使用的寄存器。

执行SUBA,R?(减法)等双操

寄存器W作数命令时所必须使用的寄存

器。

左移门L用来实现相应数据左移一位的

文档仅供参考,不当之处,请联系改正。

运算,并能够控制该运算后的

结果是否输出到数据总线。

用来控制ALU的执行结果是否

直通门D

输出到数据总线。

用来实现相应数据右移一位的

右移门R运算,并能够控制该运算后的

结果是否输出到数据总线。

①控制程序按顺序正常执行;

②当执行转移指令时,从数据

程序计数线接收要跳转的地址,使程序

器PC能够按需要自动执行。

③当要从EM中读取数据时,

由PC提供地址。

存储器EM存储指令和数据。

微程序计向微程序存储器UM提供相应

数器UPC微指令的地址。

微程序存

存储相应指令的微指令。

储器UM

输出寄存能够将运算结果输出到输出寄

器OUT存器OUT(本实验未用)。

当存储于累加器A的值将要受

堆栈ST

到破坏时,将其数据保存在堆

文档仅供参考,不当之处,请联系改正。

栈ST中,使程序能够正常地执

行。

4.在COP集成开发环境下设计全新的指令/微

指令系统

设计结果如表所示(可按需要增删表项)

(1)新的指令集

(设计两个不同指令集要分别列表)

表5无符号乘法新指令集

助记机器码机指令说明

符1器

码2

_FAT000000实验机占用,不可修改。复

CH_XX位后,所有寄存器清0,首

00-03先执行_FATCH_指令取

指。

ADD000001将累加器A中的数加入到寄

R?,AXX存器R?中,并影响标志位。

04-07

TEST000101II寄存器R?“与"立即数

R?,#XXH,只改变标志位,并不改

II14-17变R?中的数值。

文档仅供参考,不当之处,请联系改正。

MOV001001II将立即数II存放到寄存器

R?,#XXR?中。

II24-27

SHL001010寄存器R?中的数不带进位

R?XX向左移一位,并不影响标志

28-2B位。

SHR001011寄存器R?中的数不带进位

R?XX向右移一位,并不影响标志

2C-2F位。

JZ001101MM若零标志位置1,跳转到MM

MMXX地址。

34-37

JMP001110跳转到MM地址。

MMXX

38-3B

OVER001111程序结束。

XX

3C-3F

表5无符号除法的新指令集

助记机器码机指令说明

符1器

文档仅供参考,不当之处,请联系改正。

码2

_FAT000000实验机占用,不可修改。复

CH_XX位后,所有寄存器清0,首

00-03先执行_FATCH_指令取

指。

ADD000001将累加器A中的数加入到寄

R?,AXX存器R?中,并影响标志位。

04-07

II

ADD000010将立即数H加入到寄存器

R?,#XXR?中,并影响标志位。

II08-0B

SUB000011从寄存器R?中减去累加器A

R?,AXX中的数,并影响标志位。

0C-0F

SUB000100II从寄存器R?中减去立即数

R?,#XXII,并影响标志位。

II10-13

TEST000101II寄存器R?“与"立即数

R?,#XXH,只改变标志位,并不改

II14-17变R?中的数值。

PUSH000110将累加器A中的数据压入堆

文档仅供参考,不当之处,请联系改正。

AXX栈寄存器STo

18-1B

000111

POP将堆栈寄存器ST中的数据

XX

A弹出到累加器A中。

1C-1F

MOV001000将寄存器R?中的数放入累

A,R?XX加器A中。

20-23

MOV001001II将立即数II存放到寄存器

R?,#XXR?中。

II24-27

SHL001010寄存器R?中的数不带进位

R?XX向左移一位,并不影响标志

28-2B位。

SHR001011寄存器R?中的数不带进位

R?XX向右移一位,并不影响标志

2C-2F位。

JC001100MM若进位标志位置1,跳转到

MMXXMM地址。

30-33

JZ001101MM若零标志位置L跳转到MM

文档仅供参考,不当之处,请联系改正。

MMXX地址。

34-37

JMP001110跳转到MM地址。

MMXX

38-3B

OVER001111程序结束。

XX

3C-3F

(2)新的微指令集

无符号乘法的新微指令集

助记状微微程数据数据地址运移位P

符态地序输出打入输出算控制CC

址器

_FATT000CBFF指令PC输A输写+1

CH_FF寄存出出入

器IR

文档仅供参考,不当之处,请联系改正。

01FFFFA输+1

FF出

02FFFFA输+1

FF出

03FFFFA输+1

FF出

ADDT204FFF7寄存寄存A输+1

R?,AEF器值器W出

R?

T105FFFAALU寄存加+1

98直通器R?运

志算

C,Z

TO06CBFF指令PC输A输写+1

FF寄存出出入

器IR

07FFFFA输+1

FF出

TESTT314C7FF存贮寄存PC输A输+1+1

R?,#EF器值器W出出

IIEM

文档仅供参考,不当之处,请联系改正。

T215FFF7寄存寄存A输+1

F7器值器A出

R?

T116FFFEALU寄存与+1

93直通器R?运

志算

C,Z

TO17CBFF指令PC输A输写+1

FF寄存出出入

器IR

MOVT124C7FB存贮寄存PC输A输+1+1

R?,#FF器值器出出

IIEMR?

TO25CBFF指令PC输A输写+1

FF寄存出出入

器IR

26FFFFA输+1

FF出

27FFFFA输+1

FF出

SHLT228FFF7寄存寄存A输+1

文档仅供参考,不当之处,请联系改正。

R?F7器值器A出

R?

T129FFF9ALU寄存A输左移+1

DF左移器出

R?

TO2ACBFF指令PC输A输写+1

FF寄存出出入

器IR

2BFFFFA输+1

FF出

SHRT22CFFF7寄存寄存A输+1

R?F7器值器A出

R?

T12DFFF9ALU寄存A输右移+1

BF右移器出

R?

TO2ECBFF指令PC输A输写+1

FF寄存出出入

器IR

2FFFFFA输+1

FF出

JZT134C6FF存贮寄存PC输A输+1写

文档仅供参考,不当之处,请联系改正。

MMFF器值器PC出出入

EM

TO35CBFF指令PC输A输写+1

FF寄存出出入

器IR

36FFFFA输+1

FF出

37FFFFA输+1

FF出

JMPT138C6FF存贮寄存PC输A输+1写

MMFF器值器PC出出入

EM

TO39CBFF指令PC输A输写+1

FF寄存出出入

器IR

3AFFFFA输+1

FF出

3BFFFFA输+1

FF出

OVERTO3CCBFF指令PC输A输写+1

FF寄存出出入

器IR

文档仅供参考,不当之处,请联系改正。

3DFFFFA输+1

FF出

3EFFFFA输+1

FF出

3FFFFFA输+1

FF出

无符号除法的新微指令集

助记状微微程数据数据地址运移位吁P

符态地序输出打入输出算控制CC

址器

_FATTO00CBFF指令PC输A输写+1

CH_FF寄存出出入

器IR

01FFFFA输+1

FF出

02FFFFA输+1

FF出

03FFFFA输+1

FF出

ADDT204FFF7寄存寄存A输+1

R?,AEF器值器W出

文档仅供参考,不当之处,请联系改正。

R?

T105FFFAALU寄存加+1

98直通器R?运

志算

C,Z

TO06CBFF指令PC输A输写+1

FF寄存出出入

器IR

07FFFFA输+1

FF出

ADDT308FFF7寄存寄存A输+1

R?,#F7器值器A出

IIR?

T209C7FF存贮寄存PC输A输+1+1

EF器值器W出出

EM

T10AFFFAALU寄存加+1

98直通器R?运

志算

c,z

文档仅供参考,不当之处,请联系改正。

TOOBCBFF指令PC输A输写+1

FF寄存出出入

器IR

SUBT3OCFFFFALU寄存A输+1

R?,A8F直通器W出

T2ODFFF7寄存寄存A输+1

F7器值器A出

R?

T1OEFFFAALU寄存减+1

99直通器运

R?标算

志位

C,Z

TOOFCBFF指令PC输A输写+1

FF寄存出出入

器IR

SUBT310FFF7寄存寄存A输+1

R?,#F7器值器A出

IIR?

T211C7FF存贮寄存PC输A输+1+1

EF器值器W出出

EM

文档仅供参考,不当之处,请联系改正。

T112FFFAALU寄存减+1

99直通器R?运

志算

C,Z

TO13CBFF指令PC输A输写+1

FF寄存出出入

器IR

TESTT314C7FF存贮寄存PC输A输+1+1

R?,#FF器值器W出出

IIEM

T215FFF7寄存寄存A输+1

F7器值器A出

R?

T116FFFEALU寄存与+1

93直通器R?运

志算

C,Z

TO17CBFF指令PC输A输写+1

FF寄存出出入

器IR

文档仅供参考,不当之处,请联系改正。

PUSHT118FFEFALU堆栈A输+1

A9F直通寄存出

器ST

TO19CBFF指令PC输A输写+1

FF寄存出出入

器IR

1AFFFFA输+1

FF出

IBFFFFA输+1

FF出

POPT1ICFFFF堆栈寄存A输+1

A57寄存器A出

器ST

TOIDCBFF指令PC输A输写+1

FF寄存出出入

器IR

IEFFFFA输+1

FF出

IFFFFFA输+1

FF出

MOVT120FFF7寄存寄存A输+1

A,R?F7器值器A出

文档仅供参考,不当之处,请联系改正。

R?

TO21CBFF指令PC输A输写+1

FF寄存出出入

器IR

22FFFFA输

FF出

23FFFFA输

FF出

MOVT124C7FB存贮寄存PC输A输+1+1

R?,#FF器值器出出

IIEMR?

TO25CBFF指令PC输A输写+1

FF寄存出出入

器IR

26FFFFA输+1

FF出

27FFFFA输+1

FF出

SHLT228FFF7寄存寄存A输+1

R?F7器值器A出

R?

T129FFF9ALU寄存A输左移+1

文档仅供参考,不当之处,请联系改正。

DF左移器出

R?

TO2ACBFF指令PC输A输写+1

FF寄存出出入

器IR

2BFFFFA输+1

FF出

SHRT22CFFF7寄存寄存A输+1

R?F7器值器A出

R?

T12DFFF9ALU寄存A输右移+1

BF右移器出

R?

TO2ECBFF指令PC输A输写+1

FF寄存出出入

器IR

2FFFFFA输+1

FF出

JCT130C6FF存贮寄存PC输A输+1写

MMFF器值器PC出出入

EM

TO31CBFF指令PC输A输写+1

文档仅供参考,不当之处,请联系改正。

FF寄存出出入

器IR

32FFFFA输+1

FF出

33FFFFA输+1

FF出

JZT134C6FF存贮寄存PC输A输+1写

MMFF器值器PC出出入

EM

TO35CBFF指令PC输A输写+1

FF寄存出出入

器IR

36FFFFA输+1

FF出

37FFFFA输+1

FF出

JMPT138C6FF存贮寄存PC输A输+1写

MMFF器值器PC出出入

EM

TO39CBFF指令PC输A输写+1

FF寄存出出入

器IR

文档仅供参考,不当之处,请联系改正。

3AFFFFA输+1

FF出

3BFFFFA输+1

FF出

OVERTO3CCBFF指令PC输A输写+1

FF寄存出出入

器IR

3DFFFFA输+1

FF出

3EFFFFA输+1

FF出

3FFFFFA输+1

FF出

5.用设计完成的新指令集编写实现无符号二进

制乘法、除法功能的汇编语言程序

(1)乘法

4位乘法的算法流程图与汇编语言程序清

单:

文档仅供参考,不当之处,请联系改正。

MOVRO,#00H

MOVRI,#09H

MOVR2,#06H

文档仅供参考,不当之处,请联系改正。

LOOP:TESTR2,#0FH

JZLAST

TESTR2,#01H

JZNEXT

MOVA,RI

ADDRO,A

NEXT:SHLRI

SHRR2

JMPLOOP

LAST:OVER

(2)除法(选作)

4位除法的算法流程图与汇编语言程序清

单:

TT必

文档仅供参考,不当之处,请联系改正。

文档仅供参考,不当之处,请联系改正。

MOVRO,#64H

MOVRI,#09H

MOVR2,#0H

MOVR3,#05H

TESTR1,#OFH

JZOVERFLOW

MOVA,RI

PUSHA

SHLRI

SHLRI

SHLRI

SHLRI

MOVA,RI

SUBRO,A

JCZERO

JMPOVERFLOW

ZERO:SHLR2

SHRRI

文档仅供参考,不当之处,请联系改正。

SUBR3,#01H

JZDEAL

MOVA,RI

ADDRO,A

JCONE

JMPZERO

ONE:SHLR2

ADDR2,#01H

SHRRI

SUBR3,#01H

JZDEAL

MOVA,RI

SUBRO,A

JCZERO

JMPONE

DEAL:TESTR0,#80H

JZLAST

POPA

ADDRO,A

JMPLAST

OVERFLOW:MOVR2,#0FFH

LAST:OVER

文档仅供参考,不当之处,请联系改正。

6.上述程序的运行情况(跟踪结果)

按下表填写描述以上各程序运行情况的内容。按

每个程序一张表进行。

程序运行的过程

汇编程机指令说明微程PC运行时

指令序器序C寄存器

地码或存储

址器的值

0000实验机占用,CBFFF

温馨提示

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

评论

0/150

提交评论