设计一条条件转移指令

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

实验人:赵汝鹏学号: 09381052 日期: 2010-12-15 院(系):计算机科学系专业(班级):网络工程

实验题目:设计一条条件转移指令

一.实验目的

1.了解和掌握微程序控制器的组成和工作原理;

2.进一步了解和掌握计算机各部分的组成及相互关系;

3.了解微指令的执行过程,掌握微程序的设计方法,理解动态微程序设计的概念;

4.进一步认识和掌握计算机各指令的执行过程,搞清楚计算机的运行原理。

二.实验内容

设计一条指令,实现的功能是:

当DR=SR时,则原PC(IP)+OFFSET->PC;

当DRPC。

否则执行下条汇编指令。(注:OFFSET为位移量;ADDR为某内存单元地址)

三.实验器材

TEC-2实验计算机、电脑各一台

四.实验分析与设计

(2)指令功能

功能:设计一条指令,实现的功能是:

当DR=SR时,则原PC(IP)+OFFSET->PC;

当DRPC。

否则执行下条汇编指令。(注:OFFSET为位移量;ADDR为某内存单元地址)

(3)设计分析

由于要根据DR与SR运算结果进行跳转,所以在110先让DR-SR产生DR与SR

的信息在状态寄存器。在111这里如果Z=1,则跳转至114进行下一步操作,否则

继续执行下一条;在112这里如果S=1,则转115进行下一步操作,否则执行下一

条。如果111与112都没有跳转,证明DR-SR>0,则让PC等于下一条指令的地址。

操作码选择DB,因为如此IR8-10位是011,CC非的值等于S非的值。

(4) 微程序

110:DR-SR 0000 0E01 9110 0088

111:PC->AR, 如果DR=SR转114 0045 0370 9030 5002

112:PC+1->AR,如果DR

113:PC+1->PC,转4A 0029 0300 B030 5400

114:IP+OFFSET->PC 0029 0300 30D6 5000

115:ADDR->PC 0029 0300 30F0 5000

(5) 加载到微控存程序段

A800

800:MOV R1, 900

802:MOV R2, 6

804:MOV R3, 110

806:LDMC

807:RET

808:

G800

(6) 运行程序段

A820

820:MOV R7, 7

822:MOV R8, 8

824:MOV R9, 0

826:NOP

827:NOP

828:NOP

829:MOV R9, 1

82B:RET

82C:MOV R9, 2

82E:RET

82F:MOV R9, 3

831:RET

832:

E826

DB78 0006 082F

G820

第一种情况是DR

输入R查看后R9=0003

第二种情况是DR=SR

E821

0008

G820

输入R查看后R9=0002

第三种情况是DR>SR

E821

0009

G820

输入R查看后R9=0001

五.实验心得

本次试验将微指令,指令的操作都混在了一起,而且要求能熟练设计条件转移指令,因此难度上提高了不少。如果不强制限制一种情况要使用SCC=7的话,会简单很多,但是试验要求到,只能在IR8-10位那里选一个能符合转移情况的数字作为操作码,经观察发现D8可以让CC非等于C非,D9可以让CC非等于Z非,而DB可以让CC非等于S非,分别可以作为为负,为零,为负的判断,本次试验选择了DB。而在汇编程序的设计上也要花点心思,因为如果发生了DR<=SR的情况,汇编程序是会根据PC跳转到我们自己设计的地址去的,所以应该在那些地址执行一个操作,如写入R9一个数,以检验试验是否成功,同时还要为程序的三种分支分别写上RET,以结束汇编程序。

相关文档
最新文档