上海大学计算机组成原理实验报告8级_第1页
上海大学计算机组成原理实验报告8级_第2页
上海大学计算机组成原理实验报告8级_第3页
上海大学计算机组成原理实验报告8级_第4页
上海大学计算机组成原理实验报告8级_第5页
全文预览已结束

下载本文档

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

文档简介

1、上海大学计算机学院计算机组成原理二实验报告8姓名: 学号: 教师:xxx时间:xxx 地点:xxx 机位:xxx实验名称:程序转移机制(综合实验)一、实验目的:1. 学习实现程序转移的硬件机制;2. 掌握堆栈寄存器的使用;3. 深入理解PC寄存器自动加1和打入初值功能对计算机程序的深远影响;4. 掌握代码的分段连续存放技术和实现二、实验原理:程序转移:分支和循环总是可以相互替代,所以也常说程序段内的执行流程有顺序和转移两种,而程序段之间的调用也只是把执行流程转移到了另外一个程序段上。所以,任何复杂的程序流程,在硬件实现机制上只有两种情况:顺序执行和转移。硬件实现这两种情况的技术很简单:PC寄存

2、器的自动加1功能实现程序顺序执行,PC寄存器的打入初值功能实现程序转移。实验箱系统的程序转移硬件机制:当LDCP有效(0)时,PC被打入新值(赋初值),实现程序的转移。这一刻DBUS上的值就是转移的目标地址(被打入PC),这个地址同转移指令所在地址的关系决定了转移类型。子程序调用和保护断点:子程序的调用和返回是两次转移,特殊点在于:返回时转移的目标一定是调用时转移的出发点。为实现这个特点,在调用转移时必须把出发地址(断点)保存起来。这个“保存”还必须有两个要求:1.不被一般用户所知或改变。2.返回转移时能方便地找到它。第一个要求决定了它不能被保存在数据存储区或程序存储区,第二个要求决定了返回指

3、令的目标地址获得方法与其它转移指令完全不同,返回指令的目标地址一定从这个特殊的“保存区”得到,指令本身不需要再带目标地址,而其他转移指令必须自带目标地址。再考虑到子程序调用的“可嵌套性”,这个“保护区”里的数据应该有“先入后出”特点,这与“货栈”中堆放的货物相似,故称其为“堆栈”。ST寄存器结构和子程序调用与返回控制信号:实验箱子程序调用和返回的结构由PC电路和ST电路组成。调用转移时,PC的当前值(断点)经下面的245送上DBUS,进入ST保存;然后给PC打入子程序入口地址(调用指令携带的目标地址)完成转子程序。返回转移时,返回指令开启ST的输出,并给出PC打入信号(无条件转移),于是ST保

4、存的断点经由DBUS打入PC,实现子程序返回。三、实验内容:1、用手动方式实现子程序调用转移过程(转子时PC值11H,子程序入口地址50H,且放在A寄存器)。2、用手动方式实现子程序返回转移过程。3、编程实现OUT寄存器交替显示11和55,交替频率为可以清晰辨识,且不小于每秒一次(实验箱的工作频率为:114.8Hz。)。4、修改3的程序,当CYIN孔送入1时OUT寄存器显示FF并停机。四、 实验步骤:一、 用手动方式实现子程序调用转移过程(转子时PC值11H,子程序入口地址50H,且放在A寄存器):(1) 接线:ELP,STEN,X2,X1,X0,AEN,PCOE(2) 打开电源,调整进入手动

5、模式。(3) 将AEN置0,在K23K16打入00010001,STEP,即将11H写到A中。PCOESTENX2X1X011011 (4) 将ELP置0,X2X1X0置为000,STEP,即将11H打入PC单元 。(5)将STEN置0,X2X1X0置为100,STEP,即将PC中11H打入ST。(6)循环(3), (4),将50H打入PC。二、用手动方式实现子程序返回转移过程:1将ST设为允许输出,PC设为允许写STENELPX2X1X0110102.按下小键盘STEP脉冲键,将ST的值送入到PC寄存器中。三、编程实现OUT寄存器交替显示11和55,交替频率为可以清晰辨识,且不小于每秒一次(

6、实验箱的工作频率为:114.8Hz。):1在windows环境运行CP226软件(如双击图标),进入它的主界面2在 “源程序” 编辑中,打入如下指令:L1:MOV A,#11HOUTCALL 50HMOV A,#55HOUTCALL 50HJMP L1ORG 50HMOV A,#05HDELAY:SUB A,#01HJZ EXITJMP DELAYEXIT:RETEND3.在“汇编”中点击“汇编下载”,然后点击“全速运行”,观察现象。四、修改3的程序,当CYIN孔送入1时OUT寄存器显示FF并停机:1在windows环境运行CP226软件(如双击图标),进入它的主界面2在 “源程序” 编辑中,

7、打入如下指令:L3:MOV A,#11H OUT MOV A,#16HL1:JC L5 SUB A,#01H JZ L2 JMP L1L2:JC L5MOV A,#55H OUT MOV A,#16HL4:SUB A,#01H JZ L3 JMP L4L5:MOV A, #FFH OUTEND3.在“汇编”中点击“汇编下载”,然后点击“全速运行”,观察现象4.用导线接JIR2和JIR3至开关处,将它们置0时,观察现象五、实验现象:1. 按下小键盘STEP脉冲键,ST寄存器显示11;按下STEP键,IN处灯亮,再按下,PC寄存器显示11。2. 按下小键盘STEP脉冲键,PC寄存器显示50。3. 点击“全速运行”,OUT寄存器循环显示11和55。4. 点击“全速运行”,OUT寄存器循环显示11和55,当JIR2和JIR3都置0时,OUT寄存器显示FF,不再循环。六、体会通过这次实验,我学习到了实现程序转移的硬件机制,再次实用cp226集成开发环境,有进一步熟悉了其使用方法。在做第一、二个实验时,由于操作不是非常熟练,于是再多练习熟识其原理后,总算顺利结束。第三个实验其实比较顺利,汇编也得到了改进。七、思考题若要求11和55各显示50次后停机,应该如何修改程序?ORG 00HMOV A,#50L1:MOV R0,AMOV A,#11HOU

温馨提示

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

评论

0/150

提交评论