上海大学计算机组成原理实验报告11

上海大学计算机组成原理实验报告11

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

上海大学计算机学院 《计算机组成原理二实验》报告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打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 JZEXIT 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 L5SUB 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.在

上海大学计算机组成原理实验13,上海大学计算机组成原理实验报告11.doc相关推荐

  1. 西南交通大学计算机程序设计实验13,西南交通大学C++实验报告.doc

    PAGE 20 PAGE 21 计算机程序设计基础 (C++) 实 验 报 告 信息学院计算机教育中心 二零一二年三月 目录 TOC \o "1-3" \h \z \u 实验__1 ...

  2. 实验13 简单FTP 程序设计

    实验13简单FTP 程序设计 实验目的:设计一个简单的FTP 客户端,支持用户登录,浏览目录列表,上传 文件和下载文件的功能. 实验内容: 程序的伪代码如下: (假定FTP 用户名为user_name ...

  3. 计算机组成流水系统可以,计算机组成原理实验十三建立指令流水系统实验

    计算机组成原理实验十三建立指令流水系统实验 评阅计算机组成原理实验报告十三姓名 学号 时间 四7-9 地点 行健楼 606机房 一 建立指令流水系统实验 1. 实验内容及要求(1)实验内容:1. 分析 ...

  4. 新视窗java_《计算机组成原理实验》教学大纲 - 兰州大学信息科学与工程学院.DOC...

    <计算机组成原理实验>教学大纲 - 兰州大学信息科学与工程学院 目 录 <C++课程设计>教学大纲1 <C语言课程设计>教学大纲3 <C语言课程设计>教 ...

  5. 计算机组成原理写一个运算器,计算机组成原理运算器的实现实验报告.doc

    信息与管理科学学院计算机科学与技术 实验报告 课程名称: 计算机组成原理 实验名称: 运算器实验 姓 名: 班 级: 指导教师: 学 号: 实 验 室: 组成原理实验室 日 期: 2013-11-16 ...

  6. 计算机组成原理实验箱D7,计算机组成原理与系统结构实验仪教学设备,上海求育...

    原标题:计算机组成原理与系统结构实验仪教学设备,上海求育 上海求育QY-JXSY30计算机组成原理与系统结构实验箱 上海求育QY-JXSY30计算机组成原理与系统结构实验箱是一款八位,十六位兼容设计的 ...

  7. 生成计算机组成原理:8位算术逻辑运算实验数据

     74LS181 ALU真值表如下: 代码实现:  /*计算机组成原理数据生成器使用与第一次实验实现了74LS181的逻辑结构 如果发现那个有问题请自行修改 */#include <stdio. ...

  8. 计算机组成原理分时传送电路设计,计算机组成原理和系统结构实验仪,FPGA设计,上海求育...

    原标题:计算机组成原理和系统结构实验仪,FPGA设计,上海求育 上海求育QY-JXSY46计算机组成原理与系统结构实验箱 上海求育QY-JXSY46计算机组成原理与系统结构实验箱是采用八位机主板和十六 ...

  9. 计算机组成nzvc的含义,计算机组成原理学生用实验指导

    <计算机组成原理学生用实验指导>由会员分享,可在线阅读,更多相关<计算机组成原理学生用实验指导(41页珍藏版)>请在人人文库网上搜索. 1.1.2TEC2机的指令系统与汇编语言 ...

最新文章

  1. AI一分钟 | 英伟达发布最强核弹—无人车AI芯片DRIVE Xavier;百度硅谷首次开放无人车试乘:上车前要先签免责书
  2. 超级干货丨优美的课程笔记,吴恩达点赞的深度学习课程信息图
  3. JAVA并发编程实战---第三章:对象的共享
  4. linux系统如何创建python文件_linux如何运行python脚本
  5. 经典Sql大全--转
  6. 【洛谷P1774】最接近神的人
  7. EXPLAIN mysql性能调优
  8. python selenium 验证码识别_Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录...
  9. 判断抽样检验产品是否合格的步骤
  10. NP 10抗菌肽是什么?有什么作用?
  11. 虚幻属性系统(反射)
  12. 腾讯地图定位 代码
  13. c语言%hx输出大写,C语言输出函数printf
  14. import上一级目录的模块(Python)
  15. 《Sony Vegas Pro 12标准教程》——第1章 基础篇——基础知识 1.1 影视剪辑的概念...
  16. 南京邮电大学计算机专业录取分数线2019,南京邮电大学录取分数线
  17. virtual box虚拟机软件如何加快虚拟系统中的网速?
  18. 不止微信、支付宝!一文带你了解所有小程序平台
  19. darksky 经纬度_使用DarkSky API构建天气应用
  20. [转]BLDC电机控制算法是很难 那是你没搞清原理

热门文章

  1. 数据库MySQL相关操作||创建数据库、显示所有数据库、切换数据库、显示数据库下的数据库表、删除数据库
  2. 升级计算机方案,关于计算机升级方案
  3. owncloud8 php,owncloud-8.2.3
  4. mysql取消操作系统_Linux下的MySQL简单操作(服务启动与关闭、启动与关闭、查看版本)...
  5. java 文件树形_java 显示树形文件结构,类似windows的tree命令
  6. Mysql 零距离-入门(三)数据类型
  7. 按规律插入一个数字到数组中
  8. 安庆机器人编程选_安庆市首届中小学机器人创客竞赛举行 460名选手比智慧拼创新 科技感满满!...
  9. oracle 拉文件进ubuntu,ubuntu 18-20 安装oracle java 打开jnlp文件
  10. postman-常见问题解决方案记录