计算机组成原理实验》报告_第1页
计算机组成原理实验》报告_第2页
计算机组成原理实验》报告_第3页
计算机组成原理实验》报告_第4页
全文预览已结束

下载本文档

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

文档简介

1、上海大学计算机学院 计算机组成原理实验报告九 姓名 刘学号教师XX 时间 周三7-9机 位 23报告成绩 实验名称:程序转移机制(综合实验) 一、实验目的 1. 学习实现程序转移的硬件机制。 2. 掌握堆栈寄存器的使用。 二、实验原理 1. 程序转移:任何复杂的程序流程,在硬件实现机制上只有两种情况:顺序执行和转移。硬件实 现这两种情况的技术很简单: PC寄存器的自动加1功能实现程序顺序执行。 PC寄存器的打入初值功能实现程序转移。 转移操作决定于“给 PC赋值”,而转移类型决定于“所赋的值同当前指令的关系”。 2. 实验箱系统的程序转移硬件机制: 若LDCP为0是附带条件的,就形成“条件转移

2、”。实验箱依靠“ PC打入电路”实现“有进位” 时转移和“计算结果为零”时转移,以及无条件转移。 3. 子程序调用和保护断点: 子程序的调用和返回是两次转移,返回时转移的目标一定是调用时转移的岀发点。在调用转移时必 须把岀发地址(断点)保存起来。1.不被一般用户所知或改变(不能被保存在数据存储区或程序存 储区)。2.返回转移时能方便地找到它(返回指令的目标地址一定从这个特殊的“保存区”得到, 指令本身不需要再带目标地址)。 4. ST寄存器结构和子程序调用与返回控制信号: 调用转移时,PC的当前值(断点)经下面的245送上DBUS进入ST保存;然后给PC打入子程序入 口地址(调用指令携带的目标

3、地址)完成转子程序。返回转移时,返回指令开启ST的输岀,并给 岀PC打入信号(无条件转移),于是 ST保存的断点经由 DBUS打入PC,实现子程序返回。 三、实验内容 1. 用手动方式实现子程序调用转移过程。 (假设转子时 PC值为11H,子程序的入口地址为 50H) 2. 用手动方式实现子程序返回转移过程。 3. 编程实现OUT寄存器交替显示11和55,交替频率为可以清晰辨识,且不小于每秒一次。 (实验箱的工作频率为:114.8Hz。) 四、实验步骤 K7 连 STEN,K6 连 PCOE K5 连 ELP, K10 K9 K8 连 X2 X1 X0 进入手动模式(TV/ME键按三次) 将P

4、C(11H)存入ST(栈寄存器) ste n pcoe elp X2 X1 X0 1 0 0 0 0 0 选中IN,数据通过IN送入PC K23K16: 00010001 STEP 将PC压入堆栈ST中 ste n pcoe elp X2 X1 X0 0 1 1 0 1 1 STEP PC改为50H ste n pcoe elp X2 X1 X0 1 0 0 0 0 0 STEP 将PC加到53H ste n pcoe elp X2 X1 X0 1 0 1 1 1 1 STEP按三次 程序返回,将 ST(11H)的值返回到 PC ste n pcoe elp X2 X1 X0 1 0 0 0

5、1 0 STEP 3、编程实现 OUT寄存器交替显示11和55,交替频率为可以清晰辨识,且不小于每秒一次。 (实验箱的工作频率为:114.8Hz。) 启动桌面上 COMPUTE.EX软件。 连接通信口: COM1/COM2 点击源程序编写程序: START: MOV A,#11H OUT CALL 50H MOV A,#55H OUT CALL 50H JMP START ORG 50H MOV A,#10H L1: SUB A,#01H / 每一次减一,减到 0为止 JZ L2 /判0条件转移 JMP L1 L2: RET END 保存,文件名后需加.asm后缀。 编译下载。 全速运行 五、

6、实验现象 将PC(11H)存入ST(栈寄存器) 显示 ST:00 PC:11 将PC压入堆栈ST中 显示 ST:11 PC:11 将PC改为50H 显示 ST:11 PC:50 将PC加到53H 显示 ST: 11H PC : 53H 程序返回,将 ST(11H)的值返回到PC 显示 ST: 11H PC : 11H 六、实验结论 实验结论与PC的+1与转移原理一致。 七、建议 八、体会 这个实验主要是对 PC的作用及用法进行实验,通过对 PCOE ELP、STEN IN、x2、x1、x0等的0、1 来实现PC的+1和转移的。PCOE为0的时候实现 PC+1, ELP、PCOE为0的时候实现

7、PC的打入,理解了 这些再借助于STEN堆栈寄存器来存放 PC之前的值,最后把 STEN存放的值打回PC中实现PC返回。最 后关于COMPUTE.EX软件的使用,一定要把程序加载到实验箱里才可以,我就是忘记了打开实验箱,最 后才发现没开实验箱。还有就是微指令ORG后面跟的是地址,是存放微指令的地址,call调用程序,格 式为:call #*H ,后面也是地址。 总的来说,这次试验还是比较简单的,只要知道原理,再慢慢想,置1或置0,就会做对了。 九、思考题 若要求11和55各显示50次后停机,应该如何修改程序? 答:答:修改的程序如下: ORG 00H MOV A,#50 L1: MOV R0,A MOV A,#11H OUT CALL 20H L2: MOV A,#5

温馨提示

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

评论

0/150

提交评论