加减法指令的实现Word文档下载推荐.docx

上传人:b****5 文档编号:19554261 上传时间:2023-01-07 格式:DOCX 页数:15 大小:105.39KB
下载 相关 举报
加减法指令的实现Word文档下载推荐.docx_第1页
第1页 / 共15页
加减法指令的实现Word文档下载推荐.docx_第2页
第2页 / 共15页
加减法指令的实现Word文档下载推荐.docx_第3页
第3页 / 共15页
加减法指令的实现Word文档下载推荐.docx_第4页
第4页 / 共15页
加减法指令的实现Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

加减法指令的实现Word文档下载推荐.docx

《加减法指令的实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《加减法指令的实现Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

加减法指令的实现Word文档下载推荐.docx

MOVRI,A

(4)程序跳转指令

程序跳转指令可分为无条件跳转指令和有条件跳转指令两大类.它可以根据寄存器的内容是否为零来标志(ZD),有进位标志(CY),也可以根据实际情况自行设置。

无条件跳转指令    JMPaddr

   ZD=0时跳转JZaddr

CY=0时跳转JCaddr

自定义的跳转语句JNaddr

(5)存储器操作类指令

存储器读/写指令,用来把内在单元写入寄存器中或把寄存器中的内容写入存储器。

LDDaddr(addrA)

STAaddr(A)addr)

4.2操作数寻址方式和编码

操作数寻址方式就是形成操作数有效地址的方法.寻址过程不是用X和D的不同组合形成操作数有效地址的过程.其图示如下:

OP

X

D

(1)立即数寻址

操作数直接给出在指令字中,即指令字中直接给出的不是操作数地址,而是操作数本身。

主要用法:

把一个确定的数据传送到一个通用寄存器中。

单字指令:

双字指令:

(2)直接寻址

在指令的操作码地址字段直接给出操作数在存储器中的地址

(3)寄存器寻址

寄存器中存放操作数,指令中给出寄存器编号(名字、地址),寄存器寻址在指令中占用位数少,有利于缩短指令字长度,取数、保存结果迅速方便,是最基本、最简单的寻址方式。

(4)寄存器间接寻址

寄存器中存放操作数的地址,根据该地址去读写存储器,形式地址为寄存器编号(名字)

5微程序及其实现的方法

在本实验平台的硬件设计中,采用24位微指令,若微指令采用全水平不编码纯控制场的格式,那么至少可以有24个微操作控制信号,可由微代码直接实现。

由于本实验中,模型机指令系统规模较小,功能也不太复杂,所以采用全水平不编码纯控制场的微指令格式.在模型机中,用指令操作码的高压4位作为核心扩展成8位的微程序入口地址MD0-MD7,这种方法称为”按操作码散转”(如下图所示)。

微程序地址形成

MD7

MD6

MD5

MD4

MD3

MD2

MD1

MD0

I7

I6

I5

I4

1

按操作码散转

指令操作码

微程序首地址

MD7,MD6

MD1,MD0

MD7-MD0

003H

007H

00BH

00FH

013H

017H

01BH

01FH

023H

027H

02BH

02FH

033H

037H

03BH

03FH

每条指令由不超过4条的微指令组成,那么可根据下表组成每条微程序的首地址。

微指令的运行顺序为下地址确定法,每条微指令执行过后微地址自动加1,指向下一条微地址。

00

取微指令

01

02

03

减法指令微程序

(1)

04

减法指令微程序

(2)

05

06

07

08

09

减法指令微程序(3)

0A

0B

0C

0D

0E

……

取指微指令

MOV指令微程序

(1)

MOV指令微程序

(2)

MOV指令微程序(3)

6模型机当中时序的设计安排。

因为模型机已经确定了指令系统,微指令采用编码纯控制场的格式,微程序入口地址采用操作码散转方式,微地址采用计数增量方式,所以可确定模型机中时序单元中所产生的每一拍的作用。

在此次实验中,由监控单元产生一个PLS-O的信号来控制时序产生。

PLS-O信号经过时序单元的处理产生了4个脉冲信号(如下图所示:

)。

4个脉冲信号组成一个微周期,为不同的寄存器提供工作脉冲。

PLS1:

微地址寄存器的工作脉冲,用来设置微程序的首地址及微地址加1。

PLS2:

PC计数器的工作脉冲,根据微指令的控制实现PC计数器加1和重置PC计数器(跳转指令)等功能。

PLS3:

把24位微指令打入3片微指令锁存器。

PLS4:

把当前总线上的数据打入微指令选通的寄存器中。

SIGN

PLS1

PLS2

PLS3

PLS4

7设计指令执行流程。

模拟机的指令执行流程为:

在模型机处于停机状态时,模型机的微地址寄存器被清零,微地址锁存器输出无效(为高)。

在处于停机状态时,脉冲PLS1对微地址寄存器(74LS161)无效,微地址寄存器保持为零。

脉冲PLS2对PC计数器无效,同时PLS2把HALT=1打入启停单元中的运行状态寄存器(74LS74)中,把模型机设置为运行状态,使微程序锁存器输出有效。

PLS3把微程序锁存器00H单元(00H单元存放着取指微指令)中的内容打入微指令锁存器中,并且输出取指微指令。

PLS4把从程序存储器中读出的数据打入指令寄存器中。

在模型机处于运行状态时,脉冲PLS1将微地址寄存器(74LS161)加1,脉冲PLS2将PC计数器加1,PLS3把微程序存储器中的微指令打入微指令锁存器并且输出。

PLS4把当前总线上的数据打入当前微指令所选通的寄存器。

举例说明:

对于单字节指令ADDA,Ri,需执行下列微操作:

(PC)+1→PC;

PC加1,为下条指令字节准备

(A)→DR1;

累加器A内容送ALU

(R0)→DR2;

寄存器Ri内容送ALU

(A)+(Ri)→IDB→A;

使ALU执行加法,结果经IDB最后送如累加器A

Cn+4→CY;

据加法结果置进位标志CY;

(PC)→IAB→OAB;

PC积存器内容做访问内存地址

(PAM)→0DB→IDB→IR1;

从内存该地址单元读出指令字节送指令寄存器IR1

在源程序中指令ADDA,R0的执行过程中,时序图如下:

A→锁存器DR1

寄存器R0→锁存器DR2

ALU→A

取指微指令RAM→BUS→IR1

8源程序,程序的指令代码及微程序

8.1源程序

MOVA,#55RAM→A

MOVR0,#66RAM→R0

ADDA,R0(A)+(RO)→A

MOVR1,#33RAM→R1

SUBA,R1A-(R1)→A

STA10A→RAM

HALT停机

8.2微指令序列

地址

指令序列

微地址

微指令序列

说明

MOVA,#55

00000

4DFFFF

取指指令

0017

DDFBFF

Dbus->

A

MOVR0,#66

0018

ADDA,R0

001C

0003

FFFCF9

A→Dbus→DR1

0004

FF7F79

Ri→Dbus→DR2

0005

FFFBA9

ALU→Dbus→A

MOVR1#33

0006

ADFFFF

001B

DDBFFF

Dbus→Ri

SUBA,R1

0007

FFFCD6

0008

FF7F56

0009

FFFB86

STA10

000A

0023

D5FFFF

Dbus→IR2

0024

BBFDFF

[IR2]→bus,A→Dbus→RAM

HALT

0025

003F

FFDFFF

停机

9HKCPT的联机方式与脱机方式的实现过程

9.1HKCPT的联机方式

首先启动HKCPT软件,打开主窗口.在代码窗口输入汇编源程序,然后单步运行,微单步运行过程如下表格所示:

数据流程

数据总线

地址总线

操作寄存器

00H

取指令RAM->

BUS->

IR1

5FH

IR1=5FH

MOVA,#55

17H

55H

01H

A=55H

18H

取指微指令RAM->

6CH

02H

IR1=6CH

1BH

66H

03H

寄存器R0=66H

1CH

0CH

04H

IR1=0CH

无效

DR1=55H

DR2=66H

05H

BBH

A=BBH

06H

6DH

IR1=6DH

MOVR1,#33

33H

寄存器R1=33H

1DH

07H

IR1=1DH

DR1=1DH

08H

DR2=33H

09H

88H

A=88H

0AH

8FH

IR1=8FH

23H

10H

IR2=10H

24H

RAM(10)=88H

25H

FFH

IR1=FFH

3FH

置停止状态

9.2脱机运行

按下列表格内容将数据输入模拟机

内在地址

指令助记符

指令码或立即数

立即数A

立即数66H寄存器R0

04H

OCH

A内容+R0内容寄存器A

立即数33H寄存器R0

A内容R1内容A

将A内容写入RAM地址10H

对照屏幕菜单按step键单步运行。

按RUN键进行全程运行。

注意观察脱机单步运行时运行结果是否与联机时单步运行结果一致。

10个人总结

通过本次课程设计,巩固了“电工电子学”、“数字逻辑”、“汇编语言程序设计”、和“计算机组成原理”等相关课程学习内容。

理解了“计算机组成原理”课程所讲解的原理,加深对计算机各模块协同工作的认识

课程设计是一个相当好的锻炼动手能力的过程,在实践活动中,将所学知识综合运用培养我们独立工作和创新思维的能力,取得设计与调试的实践经验。

这次设计我最大的体会就是,无论什么事情都是平时一点一滴积累的过程,学习更加如此。

正因为我平时对试验态度一般,学习不够严谨,对很多问题一知半解,认为只要过了就行了。

使得这次进行课程设计的时候感觉有点难度有时候不得不请教同学和查阅相关资料,通过努力,最后还是完成了课程设计。

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

当前位置:首页 > 解决方案 > 营销活动策划

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

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