计算机组成大型实验报告机器指令设计实验Word文件下载.docx

上传人:b****6 文档编号:19817537 上传时间:2023-01-10 格式:DOCX 页数:18 大小:1,012.97KB
下载 相关 举报
计算机组成大型实验报告机器指令设计实验Word文件下载.docx_第1页
第1页 / 共18页
计算机组成大型实验报告机器指令设计实验Word文件下载.docx_第2页
第2页 / 共18页
计算机组成大型实验报告机器指令设计实验Word文件下载.docx_第3页
第3页 / 共18页
计算机组成大型实验报告机器指令设计实验Word文件下载.docx_第4页
第4页 / 共18页
计算机组成大型实验报告机器指令设计实验Word文件下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

计算机组成大型实验报告机器指令设计实验Word文件下载.docx

《计算机组成大型实验报告机器指令设计实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机组成大型实验报告机器指令设计实验Word文件下载.docx(18页珍藏版)》请在冰豆网上搜索。

计算机组成大型实验报告机器指令设计实验Word文件下载.docx

算术加

ADDR0,[ADDR]

110001DR

ADDR

寄存器内容送存储器

STA[ADDR],R0

110010DR

输出

OUTPORTAR,[ADDR]

110011DR

转移

JMPADDR

110100XX

 

表2-微指令字段编码表

编码+译码

BTO

OTB

FS=1

FS=0

FUNC

000

 

PC+1(T4)

001

B-DA1(T4)

ALU-B#

J

(1)

M-W#(T3)

010

B-DA2(T4)

299-B#

J

(2)

M-R#(T2)

011

B-IR(T3)

SR-B#

J(3)

I/O-W#(T3)

100

B-DR(T4)

DR-B#

J(4)

I/O-R#(T2)

101

B-SP(T4)

SI-B#

J(5)

INT-R#(T2)

110

B-AR(T3)

SP-B#

CyCn#

INT-E#(T3)

111

B-PC#

PC-B#

CyNCn#

表3-散转微地址形成规则表

散转条件

散装微地址形成规则

j

(1)条件

指令码I7I6=11时,

散转入口地址=微代码下址(OR)0,1,0,I5,I4,I3,I2

指令码I7I6!

=11时,

散转入口地址=微代码下址(OR)0,0,0,I7,I6,I5,I4

j

(2)条件

散转入口地址=微代码下址(OR)0,0,0,0,0,I3,I2

j(3)条件

散转入口地址=微代码下址(OR)0,0,0,0,0,KB,KA

j(4)条件

散转入口地址=微代码下址(OR)0,0,0,0,0,FC,FZ

j(5)条件

散转入口地址=微代码下址(OR)0,INT,0,0,0,0,0

注:

表格中FC为进位标志,FZ为零标志。

本实验只要到J

(1),J(3),J(4)四条散转条件。

表4-简单模型计算机机器指令表

指令功能

IN

ADD

STA

OUT

JMP

指令符号

数据输入

数据传输

跳转

微程序入口地址

30H

31H

32H

33H

34H

(2)微程序流程图

根据实验八的机器指令和控制台指令可以画出图2所示的流程图。

图2-模型计算机指令执行流程图

三、四条指令的微程序代码设计

根据实验要求的汇编程序,发现并不需要INCDR这条指令,所以也没有对其进行微代码的设计。

另外显然PC->

AR,PC+1->

PC;

01H->

02H

RAM->

IR;

02H->

03H

J

(1)散转;

03H->

(10H)

三条微指令动作为公操作。

因此我们只需要考虑除此之外的其他微指令动作。

下面对4条指令,逐条进行解释分析。

1.无借位减:

SUBDR,[ADDR]

a.指令功能:

(SR)-(DR)->

DR,影响Cy,Zi标志位。

当(SR)<

(DR)时,Cy=1,当(SR)=DR时,Zi=1。

b.指令格式:

二字节指令

c.指令流程:

PC->

J

(1)散转;

PC;

35H->

12H

AR;

12H->

13H

DA1;

13H->

14H

DR->

DA2;

14H->

15H

DA1-DA2->

DR;

15H->

01H

微地址

微代码

FS

S3

S2

S1

S0

M

Ci

N

下址

微指令注释

35H

DC4012

1

0010010

AR,PC=PC+1

C10013

0010011

AR

210014

0010100

DA1

500015

0010101

DA2

87D801

0000001

DR

2.带进位加:

ADDCDR,[ADDR]

(SR)+(DR)+Cy->

当(SR)+(DR)+Cy>

255时,Cy=1,当(SR)+(DR)+Cy=256时,Zi=1。

.这条指令可实现多字节的加法操作。

c.指令流程:

PC;

IR;

J

(1)散转;

36H->

18H

AR;

18H->

19H

DA1;

19H->

1AH

DA2;

1AH->

1BH

DA1+DA2+Cy->

1BH->

d.微程序代码:

36H

DC4018

0011000

C10019

0011001

21001A

0011010

50001B

0011011

DR,CyCn

3.C条件转移:

JMPC[ADDR]

若Cy=1,则[ADDR]->

PC,否则顺序执行下条指令。

影响Cy,Zi标志位。

b.指令格式:

37H->

41H

41H->

42H

42H->

43H

J4#条件散转转移;

43H->

(44H)

若Cy=0;

44H->

若Cy=1;

46HDA1->

46H->

37H

DC4041

1000001

C10042

1000010

210043

1000011

024044

1000100

44H

000001

NULL

45H

000000

0000000

46H

E44101

DA1->

PC,PC+1有效

4.存储器内容送通用寄存器LDADR,[ADDR]

(ADDR)->

DR,不影响Cy,Zi标志位。

39H->

3CH

3CH->

3DH

3DH->

3EH

DR;

3EH->

39H

DC403C

0111100

C1003D

0111101

21003E

0111110

843C01

根据这四条指令微代码可以得到如图3所示流程图。

图3-新增指令逻辑结构图

四、汇编程序设计

1.程序功能

程序功能是对输入开关上的数据和存储器某一单元中的数据进行加法操作,结果累计在存储器某个单元中,当累计值大于256时转而进行减法操作,即把此存储器单元中的值减去输入开关上的数据,结果送同一存储器单元中,当操作结果小于0时再转而进行加法操作,使输出显示顶上出现数据连续加,然后连续减,减到0时候连续加。

这样连续加、连续减直到拨动

结束程序运行为止。

2.程序流程图

3.汇编程序代码:

端口号(POATAR)只有一个,为00H。

主存储器单元地址为30H存放数据,用主存储器单元31H,32H来存放跳转地址。

由于JMPC[ADDR]跳转的是ADDR所指内容,故需要额外的开销。

如果尝试把C条件转移改成JMPCADDR也是很简单的事情,具体可以查看附件excel表格MY-CODE.XLS中的“汇编代码1”表。

每次存储器值更新,都通过OUT指令进行存储器内容送入输出设备(00H)显示。

另外,由于简单模型机机器指令并没有立即数传输给寄存器或存储器,因此存储器清零操作需要一定的技巧。

我们采用的方法是先把存储器内容传给寄存器,然后存储器内容减去寄存器内容,值送入寄存器,该值为0,然后把该值通过寄存器送入存储器。

详细的汇编程序代码如下表4所示。

主存窗口截图:

主存储器地址

指令码

汇编代码

说明

00H

E4H

LADR0,[30H]

存储器清零

D4H

SUBR0,[30H]

04H

C8H

STA[30H],R0

05H

06H

CCH

OUT[00H],[30H]

07H

08H

09H

COH

INR0,[00H]

存储器内容=存储器内容+输入值

0AH

0BH

C4H

ADDR0,[30H]

0CH

0DH

C8H

STA[30H],R0

0EH

0FH

10H

11H

DCH

JMPC[32H]

存储器内容>

=265?

D0H

JMP09H

16H

C0H

存储器内容=存储器内容-输入值

17H

1CH

1DH

1EH

1FH

JMPC[31H]

存储器内容<

0?

20H

21H

JMP16H

22H

[ADDR]

五、实验结果记录

对同一程序进行了多次实验,表5记录了其中的4组。

可以发现当数据从0增大至超过256后,截取数的高位,剩下低8位,相对于加上给数后又减去256。

进位符Cy=1,开始做减操作,显然该数减去输入数值必定小于0,相对于下溢,相当与减去该数后又加上256。

由于加的数与减的数是一样的,因此此时,输出结果呈现交替变化。

实验截图:

表5-实验结果记录

实验结果

输入值

58H

61H

第1次输出

86H

72H

第2次输出

B0H

C9H

ABH

C2H

第3次输出

23H

第4次输出

1D

第5次输出

第6次输出

第7次输出

第8次输出

六、实验过程中出现的问题与解决方案

(1)微代码数据量比较大,校验多次以后才确保了正确。

(2)起初完成了要求的功能,但后来发现每次CLR有效时并没有清零,后来检查并询问了已经成功的同学解决了该问题。

将R0与存储单元[30H]的数自身相减。

(3)明确理解J(4)散转以后,加入了微地址47H,用以判断达到256H时做减法操作。

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

当前位置:首页 > 工作范文 > 制度规范

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

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