【上海大学计算机组成原理实验报告】七、程序转移机制

一、实验目的

  1. 学习实现程序转移的硬件机制。

  2. 掌握堆栈寄存器的使用。

二、实验原理

  1. 根据实验指导书的相关内容,实验箱系统的程序转移硬件机制在于,当LDPC有效时,如果此时DUBS上的值就是转移的目标地址,则此目标地址被打入PC,从而实现程序的转移;若LDPC为0是附带条件的,就形成"条件转移"。实验箱依靠"PC打入电路"实现"有进位"时转移和"计算结果为0"时转移,以及无条件转移。

  2. 为了实现返回时转移的目标一定是调用时转移的出发点,在调用转移时必须把出发地址保存起来,保存的位置应具备同时具备"不被一般用户所知或改变"以及"返回转移时能方便地找到它"的特点。

  3. 本实验箱所使用的子程序调用和返回的结构由PC电路和ST组成。

三、实验内容

实验任务一:手动方式实现子程序调用转移过程

假设调用子程序指令的下一条指令存放在11H单元,子程序的入口地址为22H。

(1)实验步骤

  1. 注释仪器,打开电源,手不要远离电源开关,随时准备关闭电源,注意各数码管、发光管的稳定性,静待10秒,确信仪器稳定、无焦糊味。

  2. 按Reset键初始化系统,并设置实验箱进入手动模式。

  3. 按照下表对实验箱线路进行连接:

  4. 将11H存入PC寄存器。用开关K23~K16,设置数值为11H,并按下表设置对应信号:

按下STEP键,将数据送PC。

  1. 将PC中的数据压入ST寄存器中。按下表设置对应信号:

设置完毕后按下STEP键,将数据压入ST寄存器中。

  1. 将22H存入PC寄存器。用开关K23~K16,设置数值为22H,并按下表设置对应信号:

按下STEP键,将数据送PC。

  1. 将PC加到25H。按下表设置对应信号:

按STEP键,观察PC寄存器变化。

(2)实验现象

①将PC(11H)存入 ST( 栈寄存器 )

显示ST:00 PC:11`

②将PC压入堆栈ST中

显示 ST:11 PC:11

③将PC改为22H

显示ST:11 PC:22

④将PC加到25H

显示ST:11 PC:25H

实验任务二:手动方式实现子程序返回转移过程

(1)实验步骤

  1. 保持实验任务一的接线,按下表设置对应信号:

按下STEP,观察实验箱情况。

(2)实验现象

ST显示:11;PC显示:11

实验任务三:编程实现OUT寄存器交替显示11和55

要求交替频率为可以清晰辨识,且不小于每秒一次。(实验箱的频率为114.8Hz)

(1)实验步骤

  1. 拔下实验箱上的接线,并将开关K23-K16全部置0,开关K15~K0全部置1,按下Reset键初始化系统。

  2. 打开电脑上的CP226软件,点击源程序编写如下代码:

  3. 将文件保存为.asm文件,并进行编译和下载。

  4. 通过单微指令运行文件,观察运行情况并记录实验结果。

(2)实验现象

将程序编译和下载后,发现实验箱上的OUT寄存器能正常交替显示11和55。

(3)实验结论

  1. 通过手动方式实现子程序调用转移以及返回转移,验证了PC寄存器既可以通过打入初值功能实现程序转移,也可以通过自动加1功能实现程序顺序执行。

  2. 通过一系列正确的设计,我们成功地通过CP226软件完成了"让OUT寄存器交替显示11和55"的功能。

四、建议

  1. 在测试程序时,如果发现OUT寄存器交替显示的频率过快,应注意L1循环的设计是否合理。

  2. 在编写汇编代码时,要注意大小写,当前串行口连接无效时,可切换其他串行口进行实验。

五、体会

通过此次实验,我对程序转移的硬件机制有了更深入的理解。在实验过程中,我最初设计的延时程序段无论怎么调整交替显示的频率还是很快,经仔细分析汇编代码才发现原来自己虽然写了循环递减,但实际上程序运行的时候只减了一次就跳出了循环,这提醒我在后续进行实验时要考虑地更加深入一些。

六、思考题

若要求11和55各显示50次后停机,应该如何修改程序?

答:要实现该功能,应在一个寄存器X中存入100,每当11和55通过OUT输出一次,就将X减1,当X为0时,即表示11和55已经各显示50次,再进行停机操作。

相关推荐
蛋白界小百灵16 小时前
AAV载体包装与纯化技术全解析:从三质粒系统到衣壳定向进化
经验分享·生物技术·实验·卡梅德生物·科研实验
蛋白界小百灵2 天前
Beacon单细胞光流控筛选技术:单细胞水平的抗体筛选与细胞功能分析
经验分享·生物技术·实验·卡梅德生物·科研实验
suhan7 天前
【计算机组成原理】七、输入/输出系统:1.I/O基本概念、I/O设备(外部设备)
计算机组成原理
suhan9 天前
【计算机组成原理】汇总五、中央处理器
计算机组成原理
suhan9 天前
【计算机组成原理】五、中央处理器:2.数据通路、控制器(单总线结构、专用数据通路、硬布线控制器、微程序控制器)
计算机组成原理
suhan9 天前
【计算机组成原理】五、中央处理器:3.指令流水线(互斥、同步)
计算机组成原理
八解毒剂14 天前
【计组】中央处理器CPU
java·开发语言·计算机组成原理
啦啦啦啦啦zzzz15 天前
乘法器和除法器
计算机组成原理
我叫黑大帅19 天前
为了知道计算机为什么选择了二进制,我做了这些……
面试·程序员·计算机组成原理
suhan19 天前
【计算机组成原理】汇总二、数据的表示和运算
计算机组成原理