上海大学_计算机组成原理实验报告82011级

上海大学计算机学院 《计算机组成原理二实验》报告8 姓名: 学号: 教师:xxx 时间:xxx 地点:xxx 机位:xxx

实验名称:程序转移机制(综合实验)

一、实验目的:

1. 2. 3. 4.

学习实现程序转移的硬件机制; 掌握堆栈寄存器的使用;

深入理解PC寄存器自动加1和打入初值功能对计算机程序的深远影响; 掌握代码的分段连续存放技术和实现

二、实验原理:

程序转移:分支和循环总是可以相互替代,所以也常说程序段内的执行流程有顺序和转移两种,而程序段之间的调用也只是把执行流程转移到了另外一个程序段上。所以,任何复杂的程序流程,在硬件实现机制上只有两种情况:顺序执行和转移。硬件实现这两种情况的技术很简单:PC寄存器的自动加1功能实现程序顺序执行,PC寄存器的打入初值功能实现程序转移。

实验箱系统的程序转移硬件机制:当LDCP有效(0)时,PC被打入新值(赋初值),实现程序的转移。这一刻DBUS上的值就是转移的目标地址(被打入PC),这个地址同转移指令所在地址的关系决定了转移类型。

子程序调用和保护断点:子程序的调用和返回是两次转移,特殊点在于:返回时转移的目标一定是调用时转移的出发点。为实现这个特点,在调用转移时必须把出发地址(断点)保存起来。这个“保存”还必须有两个要求:1.不被一般用户所知或改变。2.返回转移时能方便地找到它。第一个要求决定了它不能被保存在数据存储区或程序存储区,第二个要求决定了返回指令的目标地址获得方法与其它转移指令完全不同,返回指令的目标地址一定从这个特殊的“保存区”得到,指令本身不需要再带目标地址,而其他转移指令必须自带目标地址。再考虑到子程序调用的“可嵌套性”,这个“保护区”里的数据应该有“先入后出”特点,这与“货栈”中堆放的货物相似,故称其为“堆栈”。

ST寄存器结构和子程序调用与返回控制信号:实验箱子程序调用和返回的结构由PC电路和ST电路组成。调用转移时,PC的当前值(断点)经下面的245送上DBUS,进入ST保存;然后给PC打入子程序入口地址(调用指令携带的目标地址)完成转子程序。返回转移时,返回指令开启ST的输出,并给出PC打入信号(无条件转移),

于是ST保存的断点经由DBUS打入PC,实现子程序返回。

三、实验内容:

1、用手动方式实现子程序调用转移过程(转子时PC值11H,子程序入口地址50H,且放在A寄存器)。

2、用手动方式实现子程序返回转移过程。

3、编程实现OUT寄存器交替显示11和55,交替频率为可以清晰辨识,且不小于每秒一次(实验箱的工作频率为:114.8Hz。)。

4、修改3的程序,当CY-IN孔送入1时OUT寄存器显示FF并停机。

四、 实验步骤:

一、 用手动方式实现子程序调用转移过程(转子时PC值11H,子程序入口地址50H,

且放在A寄存器): (1) 接线:ELP,STEN,X2,X1,X0,AEN,PCOE (2) 打开电源,调整进入手动模式。

(3) 将AEN置0,在K23~K16打入00010001,STEP,即将11H写到A中。

(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设为允许写

三、编程实现OUT寄存器交替显示11和55,交替频率为可以清晰辨识,且不小于每秒一次(实验箱的工作频率为:114.8Hz。):

1.在windows环境运行CP226软件(如双击图标),进入它的主界面 2.在 “源程序” 编辑中,打入如下指令: L1:

MOV A,#11H OUT

CALL 50H MOV A,#55H OUT

CALL 50H JMP L1 ORG 50H MOV A,#05H DELAY: SUB A,#01H JZ EXIT JMP DELAY EXIT: RET END

3.在“汇编”中点击“汇编下载”,然后点击“全速运行”,观察现象。 四、修改3的程序,当CY-IN孔送入1时OUT寄存器显示FF并停机: 1.在windows环境运行CP226软件(如双击图标),进入它的主界面 2.在 “源程序” 编辑中,打入如下指令: L3:MOV A,#11H OUT

MOV A,#16H L1:JC L5 SUB A,#01H JZ L2 JMP L1 L2:JC L5

MOV A,#55H OUT

MOV A,#16H

L4:SUB A,#01H JZ L3 JMP L4

L5:MOV A, #FFH OUT END

3.在“汇编”中点击“汇编下载”,然后点击“全速运行”,观察现象 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 00H MOV A,#50 L1:

MOV R0,A MOV A,#11H OUT CALL L3 L2:

MOV A,#55H OUT CALL L3 MOV A,R0 SUB A,#01 JZ L6 JMP L1

L3:

MOV A,#1000H L4:

SUB A,#01H JZ L5 JMP L4 L5: RET L6: END

上海大学计算机学院 《计算机组成原理二实验》报告8 姓名: 学号: 教师:xxx 时间:xxx 地点:xxx 机位:xxx

实验名称:程序转移机制(综合实验)

一、实验目的:

1. 2. 3. 4.

学习实现程序转移的硬件机制; 掌握堆栈寄存器的使用;

深入理解PC寄存器自动加1和打入初值功能对计算机程序的深远影响; 掌握代码的分段连续存放技术和实现

二、实验原理:

程序转移:分支和循环总是可以相互替代,所以也常说程序段内的执行流程有顺序和转移两种,而程序段之间的调用也只是把执行流程转移到了另外一个程序段上。所以,任何复杂的程序流程,在硬件实现机制上只有两种情况:顺序执行和转移。硬件实现这两种情况的技术很简单:PC寄存器的自动加1功能实现程序顺序执行,PC寄存器的打入初值功能实现程序转移。

实验箱系统的程序转移硬件机制:当LDCP有效(0)时,PC被打入新值(赋初值),实现程序的转移。这一刻DBUS上的值就是转移的目标地址(被打入PC),这个地址同转移指令所在地址的关系决定了转移类型。

子程序调用和保护断点:子程序的调用和返回是两次转移,特殊点在于:返回时转移的目标一定是调用时转移的出发点。为实现这个特点,在调用转移时必须把出发地址(断点)保存起来。这个“保存”还必须有两个要求:1.不被一般用户所知或改变。2.返回转移时能方便地找到它。第一个要求决定了它不能被保存在数据存储区或程序存储区,第二个要求决定了返回指令的目标地址获得方法与其它转移指令完全不同,返回指令的目标地址一定从这个特殊的“保存区”得到,指令本身不需要再带目标地址,而其他转移指令必须自带目标地址。再考虑到子程序调用的“可嵌套性”,这个“保护区”里的数据应该有“先入后出”特点,这与“货栈”中堆放的货物相似,故称其为“堆栈”。

ST寄存器结构和子程序调用与返回控制信号:实验箱子程序调用和返回的结构由PC电路和ST电路组成。调用转移时,PC的当前值(断点)经下面的245送上DBUS,进入ST保存;然后给PC打入子程序入口地址(调用指令携带的目标地址)完成转子程序。返回转移时,返回指令开启ST的输出,并给出PC打入信号(无条件转移),

于是ST保存的断点经由DBUS打入PC,实现子程序返回。

三、实验内容:

1、用手动方式实现子程序调用转移过程(转子时PC值11H,子程序入口地址50H,且放在A寄存器)。

2、用手动方式实现子程序返回转移过程。

3、编程实现OUT寄存器交替显示11和55,交替频率为可以清晰辨识,且不小于每秒一次(实验箱的工作频率为:114.8Hz。)。

4、修改3的程序,当CY-IN孔送入1时OUT寄存器显示FF并停机。

四、 实验步骤:

一、 用手动方式实现子程序调用转移过程(转子时PC值11H,子程序入口地址50H,

且放在A寄存器): (1) 接线:ELP,STEN,X2,X1,X0,AEN,PCOE (2) 打开电源,调整进入手动模式。

(3) 将AEN置0,在K23~K16打入00010001,STEP,即将11H写到A中。

(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设为允许写

三、编程实现OUT寄存器交替显示11和55,交替频率为可以清晰辨识,且不小于每秒一次(实验箱的工作频率为:114.8Hz。):

1.在windows环境运行CP226软件(如双击图标),进入它的主界面 2.在 “源程序” 编辑中,打入如下指令: L1:

MOV A,#11H OUT

CALL 50H MOV A,#55H OUT

CALL 50H JMP L1 ORG 50H MOV A,#05H DELAY: SUB A,#01H JZ EXIT JMP DELAY EXIT: RET END

3.在“汇编”中点击“汇编下载”,然后点击“全速运行”,观察现象。 四、修改3的程序,当CY-IN孔送入1时OUT寄存器显示FF并停机: 1.在windows环境运行CP226软件(如双击图标),进入它的主界面 2.在 “源程序” 编辑中,打入如下指令: L3:MOV A,#11H OUT

MOV A,#16H L1:JC L5 SUB A,#01H JZ L2 JMP L1 L2:JC L5

MOV A,#55H OUT

MOV A,#16H

L4:SUB A,#01H JZ L3 JMP L4

L5:MOV A, #FFH OUT END

3.在“汇编”中点击“汇编下载”,然后点击“全速运行”,观察现象 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 00H MOV A,#50 L1:

MOV R0,A MOV A,#11H OUT CALL L3 L2:

MOV A,#55H OUT CALL L3 MOV A,R0 SUB A,#01 JZ L6 JMP L1

L3:

MOV A,#1000H L4:

SUB A,#01H JZ L5 JMP L4 L5: RET L6: END


相关文章

  • 计算机组成原理实验教学大纲
  • <计算机组成原理>实验教学大纲 学时课程总:80 学分:5 实验学时: 16 实验个数:4 实验学分:0.5 课程性质:必做 适用专业:计算机科学.软件/网络工程 教材及参考书: 1. <计算机组成原理实验指导书>, ...查看


  • 计算机组成实验报告模板 2015-12-1修订版
  • 华 中 科 技 大 学 课 程 实 验 报 告 目 录 1 2 3 实验目的 ................................................................................. ...查看


  • 机械原理实验报告书
  • 机械原理实验指导书 广东海洋大学寸金学院 教 务 处教 材 科 机械工程教研室 2005年9月 实验一:机械认识实习 机构现场实习报告 一.平面连杆机构 1.根据机构中移动副数目的不同,平面四杆机构可分为 . 和 三大类型. 2.根据连架杆 ...查看


  • 复杂模型机的组成与运行实验报告
  • 内蒙古师范大学计算机与信息工程学院 <计算机组成原理> 课程设计报告 题目十五:复杂模型机的组成与运行 目 录 1[ 任务描述] ................................................. ...查看


  • 原码一位乘法器
  • 课 程 设 计 报 告 课程设计名称:课程设计题目: 院(系):专 业:班 级:学 号:姓 名:指导教师:完成日期: 计算机组成原理课程设计 定点原码一位乘法器的设计 目 录 第1章 总体设计方案 ..................... ...查看


  • 大学化学实验报告(全)1951320
  • 化学原理Ⅱ实 验 王业飞 吕开河 葛际江 戴彩丽 焦 翠 于连香 中国石油大学(华东)石油工程学院 2007 年 2 月 目 录 前言 ------------------------------1 实验一 三组分相图的制备-------- ...查看


  • 计算机组装及操作实验报告
  • 学院班级: 131214 7 学生学号: 13121391 学生姓名: 高奎林 同作者: 无 实验日期:2012年10月18日星期4 班 目录: 实验课目:打字练习 . ................................... ...查看


  • 萃取塔实验讲义
  • 萃取塔实验讲义 一. 实验目的 真仿真方仿真东方仿东方东 1. 了解脉冲填料萃取塔的结构. 2. 掌握填料萃取塔的性能测定方法. 3. 掌握萃取塔传质效率的强化方法. 二. 实验原理 1.填料萃取塔是石油炼制.化学工业和环境保护部分广泛应用 ...查看


  • 简易函数信号发生器
  • 课程设计任务书 (一)设计目的 1.掌握信号发生器的设计方法和测试技术. 2.了解单片函数发生器IC8038的工作原理和应用. 3.学会安装和调试分立元件与集成电路组成的多级电子电路小系统. (二)设计技术指标与要求 1.设计要求 (1)电 ...查看


热门内容