2022年2022年广工计算机组成原理实验报告 .pdf
计算机学院计算机科学与技术专业班_组、学号姓名协作者_ 教师评定实验题目基础汇编语言程序设计一、实验目的:(1)学习和了解 TEC-XP+教学实验系统监控命令的用法;(2)学习和了解 TEC-XP+教学实验系统的指令系统;(3)学习简单的 TEC-XP+教学实验系统汇编语言程序。二、实验设备与器材:TEC-XP+教学实验系统 ,仿真终端软件。三、 实验内容:1、学习联机使用 TEC-XP+教学实验系统和仿真终端软件PCEC; 2、学习使用 WINDOWS 界面的串口通讯软件;3、使用监控程序的R 命令显示 /修改寄存器内容、 D 命令显示存储器内容、 E 命令修改存储器内容;4、使用 A 命令编写一小段汇编程序, U 命令反汇编刚输入的程序, 用 G 命令连续运行改程序,用T、P 命令单步运行并观察程序单步执行的情况。四、 实验步骤:一、实验具体操作步骤:1、准备一台串口工作良好的PC 机;2、将 TEC-XP 放在实验台上,打开实验箱的盖子,确定电源处于断开状态;3、将黑色电源线一端接220V 交流电源,另一端插在TEC-XP 试验箱电源插座上;4、取出通讯线,将通信线的9 芯插头接在试验箱的串口“COM1”或“ COM2”上,另一端接到 PC 机的串口上;5、将 TEC-XP 实验系统左下方的6 个黑色控制器开关置为001100, ,控制开关名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 25 页 - - - - - - - - - 的功能在开关上、 下方有标识; 开关拨向上方表示 “1” ,拨向下方表示 “0” , “x”表示任意,其他实验相同;6、打开电源,船形开关和5v 电源指示灯亮。7、在 PC 机上运行 PCEC16.EXE 文件,直接回车。8、按一下“ RESET”按键,再按一下“ START”按键在主机上显示:TEC2000 CRT MONITOR Version 1.0 April 2001 Computer Architectur Lab,Tsinghua University Programmed by He Jia 二、实验注意事项:几种常见的工作方式(开关拨到上方表示为1,拨到下方为 0)工作方式5 个拨动开关连续运行程序、组合逻辑控制器、联机、16 位机00110 连续运行程序、微程序控制器、联机、16位机00010 单步、手动置指令、组合逻辑控制器、联机、16 位机11110 单步、手动置指令、微程序控制器、联机、16 位机11010 16 位机、脱机运算器实验1XX00 三、仿真终端软件的操作成功运行PCEC16.EXE 的界面四、实验示例:1. 用 R命令查看寄存器内容或修改寄存器的内容 1 )在命令行提示符状态下输入:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 25 页 - - - - - - - - - R ;显示寄存器的内容注:寄存器的内容在运行程序或执行命令后会发生变化。 2 )在命令行提示符状态下输入: R R0 : 修改寄存器 R0的内容,被修改的寄存器与所赋值之间可以无空格,也可由一个或数个空格主机显示:寄存器原值: _ 在该提示符下输入新的值0036 再用 R命令显示寄存器的内容,则R0的内容变为 0036。测试结果如下图: 3. 用命令修改存储器内容在命令提示符状态下输入: E2000 屏幕显示: 2000 地址单元的原有内容:光标闪烁等待输入输入 0000 依次改变地址单元20012005的内容为: 1111 2222 3333 4444 5555 注意:用 E 命令连续修改内存单元的值时,每修改完一个,按一下空格名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 25 页 - - - - - - - - - 键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E命令。 5. 用 A命令花不如一段汇编源程序, 主要是想累加器送入数据和进行运算,执行程序并观察运行结果。 1)在命令行提示符状态下输入: A 2000:表示该程序从2000H (内存 RAM 区的起始地址)地址开始屏幕将显示: 2000:输入如下形式的程序: 2000:MVRD R0,AAAA ;MVRD 与 R0之间有且只有一个空格,其他指令相同 2002:MVRD R1 ,5555 2004:ADD RO ,R1 2005:AND R0 ,R1 2006:RET ;程序的最后一个语句,必须为RET指令 2007: (直接敲回车键,结束A命令输入程序的操作过程)若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 25 页 - - - - - - - - - 2 )用 U命令反汇编刚输入的程序在命令行提示符状态下输入: U 2000在相应的地址会得到输入的指令及其操作码注:连续使用不带参数的U 命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。 3 )用 G命令运行前面键入的源程序 G 2000程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中 R0和 R1的值均为 5555H ,说明程序运行正确。 4 )用 P或 T命令,但不执行这段程序,观察指令执行结果在命令行提示符状态下输入: T 2000寄存器 R0被赋值为 AAAAH T寄存器 R1被赋值为 5555H T做加法运算,和放在R0 ,R0 的值变为 FFFFH T做与运算,结果放在R0 ,R0的值变为 5555H 用 P命令执行过程同上注:T 总是执行单条指令, 但执行 P命令时,则把每一个 CALL语句连同被调用的子程序依次执行完成。 T,P命令每次执行后均显示所由通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。运行结果如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 25 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 25 页 - - - - - - - - - 例 1:设计一个小程序,从键盘上接收一个字符并在屏幕上数出显示该字符。 在命令行提示符状态下输入:A 2000屏幕将显示:2000:输入如下形式的程序:2000:IN 81 :判断键盘上是否按了建2001:SHR R0 :即串行口是否有输入的字符2002:SHR R0 2003:JRNC 2000 :未输入完则循环测试2004:IN 80 :接收该字符2005:OUT 80 :在屏幕上输出显示字符62006:RET :每个用户程序都必须用RET指令结束2007: : (按回车即结束输入过程)注:在十六位机中,基本I/O 接口的地址是确定的,数据口的地址为80,状态口的地址为81。用“G ”命令运行程序在命令提示符状态下输入:G 2000执行上面输入的程序光标闪烁等待输入,用户从键盘入字符后,屏幕会显示该字符。该例建立了一个从主存2000H地址开始的小程序。这种方式下,所有的数字都约定使用16 进制数,故数字后不用跟字符H。每个用户程序的最后一个语句一定为 RET汇编语句。因为监控程序是用类似子程序调用方式使实验者的程序投入运行的, 用户程序只有用 RET语句结束,才能保证程序运行结束时能正确返回到监控程序的断点,保证监控程序能继续控制教学机的运行过程。测试如下图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 25 页 - - - - - - - - - 五、实验心得学会了联机使用TEC-XP 教学实验系统和仿真终端软件PCEC,教学实验系统监控命令的用法, 了解了 TEC-CP 教学实验系统的指令系统, 试着做汇编程序设计,在尝试中发现汇编程序设计的方法,理解指令代码的意义及程序所能实现的功能,并对基础汇编语言程序设计有了初步的了解,增加了自己学习的兴趣和提高了自己的动手操作的能力。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 25 页 - - - - - - - - - 计算机学院网络工程专业 1 班_组、学号姓名协作者 _ 教师评定 _ 实验题目脱机运算器实验一、实验目的:1、深入了解 AM2901 运算器的功能与具体用法。2、深化运算器部件的组成、设计、控制与使用等知识。二、实验设备与器材:TEC-XP+ 教学实验系统三、实验说明和原理:脱机运算器实验, 是指让运算器从数学计算机整机中脱离出来,此时,他的全部控制与操作均需通过两个12 位的卫星开关来完成,这就谈不上执行指令,只能通过开关, 案件控制数学机的运算器完成指定的运算功能,并通过指示灯观察运算器结果。下面先把前边几讲过的,与该实验直接有关的结论性内容汇总如下。一、12 位微型开关的具体控制功能分配如下:A口,B口地址:送给 AM2901 器件用于选择源与目的操作数的寄存器编号:I8-I0 :选择操作数来源,运算操作功能,选择操作数处理结果和运算器输出内容的 3 组 3 位的控制码:SCI,SSH和 SST :用于确定运算器最低位的进位输入,移位信号的入/ 出和怎样处理 AM2901产生的状态标志位的结果。二、开关位置说明:做脱机运算器实验时, 要用到提供 24 位控制信号的微动开关和提供16 位数据的拔动开关。微动开关是红色的,一共有三个,一个微动开关可以提供12 位的控制信号,三个开关分别标有SWI1 micro switch 、 SW2 micro switch 和 SW3 micro switch ;数据开关是黑色的, 左边的标有 SWH 的是高 8 位,右边的标有 SWL 的是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 25 页 - - - - - - - - - 低 8 位。微动开关与控制信号对应关系见表(从左到右):SW1 Micro switch SW2 Micro switch SW3 Micro switch T3-T0 REQ/MIO/WE I2-I0 I8-I7 I6-I3 B PORT A PORT SST SSH SCI DC2 DC1 三、开关检测红色微动开关是该实验系统使用寿命最短的器件,开关好坏的检测方法比较简单,用户将五个控制机器工作方式的开关置于“1XX000 ” ,从左面其第二个和第三个的开关处于任意位置,然后将两个未动开关上的24 小纽子依次置为1(开关拨到上方为1) ,看对应的指示灯是否亮,如果有一个或数个指示灯不亮,则一般是开关除了问题。四、实验内容:在脱机方式下,对于给定指令分析其执行过程中运算步骤,通过对AM2901 运算器所需的控制信号的设置,使之完成运算,并核对运算结果。五、实验步骤:在脱机方式下,通过设置SW1 ,SW2 ,SW3 各微码字段和数据开关,可实现多种运算。以实现 AAAAH-R1 为例说明操作过程。1、按照下表中的微码和数据开关,对运算器的功能进行设置。操作步骤如下:微动开关数据开关I8-I6 I5-I3 I2-I0 SST SSH SCi B A D15-D0 011 000 111 001 00 00 0001 不用AAAAH 5、将教学机左下方的5 个拨动开关置为11XX00(单步 ,16 位, 脱机); 先按一下”RESET ”按键 , 再按一下” START ”按键 , 进行初始化 . 6、通过 16 个数据开关设置立即数AAAAH 。7、通过 SW1 、SW2 、SW3 设置各微码。3、按一次 START 键,立即数 XXXXH 置入 R1,通过显示灯查看按START 键后的输出。若要进行其他操作:(1) 程序设置 SW1 、SW2 、SW3 数据开关,通过显示灯观察输出。(2) 然后按 START 键执行操作。 通过显示灯观察按START 键后的输出, 检查运算结果是否正确。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 25 页 - - - - - - - - - 4、接下来 , 按下表所列的操作在机器上进行运算器脱机实验, 将结果填入表中 :其中,D1 取为 0101H,D2取为 1010H,通过两个 12位的红色微型开关向运算器提供控制信号 , 通过 16 位数据开关向运算器提供数据, 通过指示灯观察运算结果及状态标志 . 运算I8-I0 SST SSH SCI B A 压 START 前压 START 后ALU输出CZVS ALU输出CZVS *D1+0-R0 011000111 001 00 00 0000 不用0101 随机0101 0000 *D2+0-R1 011000111 001 00 00 0001 不用1010 0000 1010 0000 R0+R1-R0 011000001 001 00 00 0000 0001 1111 0000 2121 0000 R0-R1-R0 011001001 001 00 01 0000 0001 0101 0000 F0F1 1000 R1-R0-R1 011001001 001 00 01 0001 0000 0F0F 1000 0E0E 1000 R0VR1-R0 011011001 001 00 00 0001 0000 0F0F 1000 0F0F 1010 R0R1-R0 011100001 001 00 00 0000 0001 1010 1010 0101 1010 R0R1-R0 011110001 001 00 00 0000 0001 1010 1010 0101 1000 (R0R1)-R0 011111001 001 00 00 0000 0001 FEFE 1000 0E0E 1001 2*R0-R0 111000011 001 00 00 0000 不用FEFE 1001 FDFC 0001 R0/2-R0 101000011 001 00 00 0000 不用FDFC 0001 7EFE 0001 注: 用*标记的运算 , 表示 D1,D2的数据是由拨动开关SW 给出的, 开关给的是二进制的信号 , 注意二进制和十六进制间的转换. 六、思考题:问题:分析比较各指令按START 键前和按 START 键后的值,是否有不同并解释。前后结果有些不同,按”START ”按键之前 ,ALU 输出的是计算结果 , 参照ALU的操作周期的时序可知A,B 口数据锁存是在时钟的下降沿, 通用寄存器的接收是在低电平 , 所以要想寄存器接收ALU的计算结果必须按一次”START ”按键 . 七、实验心得:了解了 AM2901运算器的功能与具体用法并深化运算器部件的组成、设计、控制与使用等知识。 一开始因为不了解按钮的实际作用和功能,一直出现错误的结果,经请教同学再进一步把指导书看懂后,最终实现了本实验的操作。 深刻让我理解到做实验前要好好进行预习工作,上课时认真听老师的讲解和指导,对于遇到自己没办法解决的事可以请教老师或同学,学会对问题的分析, 找寻错误的原因,分析遇到的各种现象,判断结果是否正确。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 25 页 - - - - - - - - - 计算机学院网络工程专业班_组、学号姓名协作者_ 教师评定 _ 实验题目存储器部件教学实验一、实验目的:8、熟悉 ROM 芯片和 RAM 芯片在功能和使用方法等方面的相同和差异之处;学习用编程器设备向 EEPROM芯片内写入一批数据的过程和方法。9、理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。10、了解静态存储系统使用的各种控制信号之间正常的时序关系。11、了解如何通过读、写存储器指令实现对58C65ROM 芯片的读、写操作。12、加深理解对存储器部件在计算机整机系统中的作用。二、实验设备与器材:TEC-XP+ 教学计算机三、实验说明与原理:1、内存储器原理内存储器是计算机中存放正在运行中的程序和相关数据的部件。在教学计算机存储器部件设计中, 出于简化和容易实现的目的, 选用静态存储器芯片实现内存储器的存储体,包括唯读存储区和随读写存储区两部分,ROM 存储区选用 4 片长度 8 位、 容易 8KB的 58C65芯片实现,RAM 存储区选用 2 片长度 8位、容量 2KB的 6116 芯片实现,每 2 个 8 位的芯片合成一组用于组成16位长度的内存字, 6个芯片被分成 3 组,其地址空间分配关系是:0-1777h 用于第一组 ROM ,固化监控程序,2000-2777h 用于 RAM ,保存用户程序和用户数据, 其高端的一些单元作监控程序的数据区, 第二组 ROM 的地址范围可以由用户选择, 主要用于完成扩展内存容量的教学实验。地址总线的低 13 位送到 ROM 芯片的地址线引脚,用于选择芯片内的一个存储字。用于实现存储字的高位字节的3个芯片的数据线引脚、实现低位字节的3名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 25 页 - - - - - - - - - 个芯片的数据线引脚分别连接在一起接到数据总线的高、低位字节,是实现存储器数据读写的信息通路。 数据总线要通过一个双向三态门电路与CPU 一侧的内部总线 IB 相连接,已完成存储器、接口电路和CPU之间的数据通讯。2、扩展教学机的存储空间四、实验内容:1、完成存储器扩展的教学实验,需为扩展存储器选择一个地址,并注意读写和等控制信号的正确状态。2、用监控程序的D 、E 命令对存储器进行读写,比较RAM(6116) 、EEPROM(28 系列芯片) 、EPROM(27 系列芯片)在读写上的异同。3、用监控程序的 A命令编写一段程序,对RAM(6116 )进行读写,用 D命令查看命令是否正确。4、用监控程序的A命令编写一段程序,对扩展存储器EEPROM(28 系列芯片)进行读写,用 D命令查看结果是否正确;若不正确,分析原因,改写程序,重新运作。(2) 实验步骤:1. 检查 FPGA 下方的标有“ /CE”的四组插针均是左边两个短接;2. 检查 RAM (6116)上方的标有“ /WE ”的插针应是左边两个短接;3RAM (6116)支持即时读写,可直接用A、E命令向扩展的存储器输入程序或改变内存单元的值。 RAM 中的内容在断电后会消失,重新启动实验机后会发现内存单元的值发生了改变。1用 E命令改变内存单元的值并用D命令观察结果。 在命令行提示符状态下输入: E 2020 屏幕将显示: 2020 内存单元原值:按如下形式键入: 2020 原值:2222 (空格)原值:3333 (空格)原值:4444 (空格)原值:5555* 在命令行提示符状态下输入: D2020 屏幕将显示从 2020 内存单元开始的值,其中2020H2023H 的值为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 25 页 - - - - - - - - - 2222 3333 4444 5555 断电后重新启动教学实验机,用D命令观察内存单元20202023的值。会发现原来置入到这几个内存单元的值已经改变,用户在使用 RAM 时,必须每次断电重新启动后都要重新输入程序或修改内存单元的值。0000 FFF7 0000 FFFF 2用 A命令输入一段程序,执行并观察结果。 在命令行提示符状态下输入: A 2000屏幕将显示: 2000:按如下形式键入: 2000 :MVRD R0 ,AAAA 2002 :MVRD R1 ,5555 2004 :AND R0 ,R1 2005 :RET 2006 : 在命令行提示符状态下输入: T 2000 R0的值变为 AAAAH ,其余寄存器的值不变。 R0=AAAA 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 25 页 - - - - - - - - - T R1的值变为 5555H ,其余寄存器的值不变。 R0=AAAA R1=5555 T R0的值变为 0000H ,其余寄存器的值不变。 R0=0000 在命令行提示符状态下输入: G 2000 运行输入的程序。 R0=0000 R1=5555 在命令行提示符状态下输入: R屏幕显示: R0=0000 R1=5555 R2=采用单步和连续两种方式执行一段程序,查看结果,断电后发生什么情况?答:断电前,单步和连续结果一样; 断电后,单步可以运行, 但前后结果不一样,断电后,连续不可运行。 RAM 芯片可直接用 A命令键入程序,但断电会丢失,要再次调适该程序必须重新输入,对那些较长的程序或经常用到的程序可通过交叉汇编,在上位机生成代码文件,每次加电启动后不用重新输入,只需通过PCEC16 将代码文件传送给下位机即可。4、将扩展的 ROM 芯片插入标有“ EXTROMH”和“ EXTROML”的自锁紧插座,要注意芯片插入的方向,带有半圆形缺口的一方朝左插入。如果芯片插入方向不对,会导致芯片烧毁,然后锁紧插座。5、将扩展芯片下方的插针按下列方式短接:将标有“/MWR ”和“ RD ”的三个插针左面两个短接,将标有“/MWR ” “/OE” “GND ”的三个插针左边两个短接。6、将扩展芯片上方标有EXTROMH和 EXTROML 的“/CS”信号用自锁紧线短接,然后短接到 MEMDC 138 芯片的上方的标有“ 40005fff ”地址单元。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 25 页 - - - - - - - - - 注意:标有/CS 的圆孔针与标有 MEM/CS 的一排圆孔针中的任意一个都可以用导线相连;连接的地址范围是多少,用户可用的地址空间就是多少。7、将标有“ DataBus 15-8”和“ DataBus 7-0”的数据总线的指示灯下方的插针短接。8、 将标有“ DataBus 15-8 ”和“ AdressBus 7-0 ”的数据总线的指示灯下方的插针短接。下面以 2764A为例,进行扩展 EPROM 实验。9、 EPROM 是紫外线可擦除的电可改写的只读存储器芯片。在对 EPROM 进行重写前必须先擦除并判断芯片是否为空,再通过编程器进行编程。将芯片 0000001F的内存单元的值置成01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 将变成好的芯片插在扩展芯片的高位,低位不插,按上面的提示插好插针。(1) 用 D命令看内存单元 0000001F的值。可以看到内存单元的值为: 01FF 02FF 03FF 04FF1FFF 。(2)用 E命令向芯片内存单元置值,再用D命令查看,会发现原来的指没有改变;(3)用 A命令向芯片所在的地址渐入程序,用U命令反汇编,会发现地址保持原来的值。该试验说明,EPOROM 不能直接修改和编程,必须先擦除,再通过编程器编程。(4)将教学其断电后重启,用D命令看内存单元的0000001F的内容,会发现数值不变, EPROM 的内容在断电后会保持。0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 001E 001F 10、AT28C64B 的读操作和一般的RAM 一样,而其写操作,需要一定的时间,大约为 1 毫秒。因此,需要编写一延迟程序,在对EEPROM 进行写操作时,调用该子程序,以完成正确的读写。1)用 E命令改变内存单元的值并用D命令观察结果。在命令行提示符状态下输入:E 5000 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 25 页 - - - - - - - - - 屏幕将显示: 5000 内存单元原值:按如下形式键入:三、原值: 2424(按空格)原值: 3636(按空格)原值: 4848(按空格)原值:5050在命令行提示符状态下输入: D 5000 屏幕将显示 5000H 507FH内容单元的值,从 5000 开始的连续四个内存单元的值依次为 2424 3636 4848 5050. 断电后重新启动, 用 D命令观察看内存单元50005003的值,会发现这四个单元的值没有发生改变,说明EEPROM的内容断电后可保存。2)AT28C64B 存储器不能直接用A命令出入程序,单字节的指令可能会写进去,双字节指令的低位会出错 (建议试一试),可将编写好的程序用编程器写入片内;也可以将程序放到RAM (6116)中,调用延时子程序,访问AT28C64B 中的内存地址。下面给出的程序,在5000H 500FH单元中依次写入数据000H 、0001H 、00FH 。从 2000H单元开始输入主程序:(2000)MVRD R0,0000 MVRD R2,0010;R2记录循环次数 MVRD R3,5000;R3的内容为 16 为内存地址(2006)STRR R3,R0 ;将 R0寄存器的内容放到 R3给出的内存单元中 CALA 2200;调用程序地址为2200 的延时子程序 INC R0;R0加 1 INC R3;R3加 1 DEC R2;R2减 1 JRNZ 2006 ;R2不为 0 跳转到 2006H RET 从 2200H单元开始输入延时子程序:PUSH R3 MVRD R3, FFFF 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 25 页 - - - - - - - - - (2203) DEC R3 JRNZ 2203 POP R3 RET 运行主程序,在命令提示符下输入: G 2000 。程序执行结束后,在命令提示符下输入: D 5000 ;可看到从 5000H开始的内存单元的值变为5000: 0000 0001 0002 0003 0004 0005 0006 0007 5008: 0008 0009 000A 000B 000C 000D 000E 000F 六、思考题:1)为何能用 E命令直接写 AT28C64B 的存储单元,而 A命令则有时不正确;答:E命令是储存寄存器指令A时监控器指令, 而 E直接多个程序写入 AT28C64B的存储单元, 写入的速度快, A命令只能是一次写入执行一条程序,是延迟指令,所以用 E命令直接写 AT28C64B 的存储单元,而 A 命令则有时不正确。2)修改延时子程序,将其延时改短,可将延时子程序中R3的内容赋成 00FF或0FFF等,再看运行结果。七、实验心得通过本次实验,虽然对 ROM 芯片和 RAM 芯片在功能和使用方法和差异之处有了一定的了解, 但对于我来说, 在一些问题上还是没有办法解决;学习了用编程EEPROM 芯片内写入一批数据的过程和方法。在编程时,对于给的问题能产生深刻的思考,进一步了解了实验的目的, 通过自身的思考, 扩展了自己的思维能力,不管怎么说,自己有动手操作和对问题的思考,总是能给我带来不错的收获。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 25 页 - - - - - - - - - 计算机学院网络工程专业班_组、学号姓名协作者 _ 教师评定_ 实验题目组合逻辑控制器部件教学实验一、实验目的:六、深入理解计算机控制器的功能、组成知识。七、深入的学习计算机各类典型指令的执行流程。八、对指令格式、寻址方式、指令系统、指令分类等建立具体总概念。九、学习组合逻辑控制器的设计过程和相关技术。二、实验设备与器材:TEC-XP教学计算机三、实验说明和原理:控制器设计是学习计算机总体组成和设计的最重要部分。要在TEC-XP16教学计算机完成这项实验,必须清楚地懂得:1.TEC-XP+ 教学机的组合逻辑控制器主要由MACH 器件组成。2.TEC-XP+ 教学机上已实现了29 条基本指令。3. 应了解监控程序的A命令只支持基本指令,扩展指令应用E 命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行有扩展指令的程序。4. 要明白TEC-XP+ 教学机支持的指令格式及指令执行流程分组情况;理解TEC-XP+ 教学机中已经设计好并正常运行的各类指令的功能、格式和执行流程,也包括控制器设计的实现中的具体路线的控制信号的组成。5. 要明确自己要实现的指令功能、格式、执行流程设计中必须遵从的约束条件。为了完成自己设计几条指令的功能、格式和执行流程,并在教学计算机上实现、调试正确的内容,具体过程包括:(1) 、确定指令格式和功能, 要受到教学机已有硬件的约束,应尽量与已实现指名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 25 页 - - - - - - - - - 令的格式和分类办法保持一致。(2) 、划分指令执行步骤并设计每一步的执行功能,设计节拍状态的值, 应参照已实现指令的处理办法来完成, 特别注意的是, 读取指令的节拍只能用原来已实现的,其他节拍的节拍状态也应尽可能地与原用节拍的状态保持一致和相近。(3) 、在指令流程表中真写每一个控制信号的状态值,基本上是个查表填数的过程,应特别仔细,并有意识地体会这些信号的控制作用。(4) 、在给出的 mach的源文件中添加扩展指令的控制信号的逻辑表达式,编译适配后下载到 MACH 器件中。(5) 、 写一个包含你设计的指令的程序, 通过运行该程序检查执行结果的正确性,初步判断你的设计是否正确; 如果有问题, 通过几种办法查出错误并改正,继续调试,直到完全正确。四、实验内容:1、看懂 TEC-XP+ 教学计算机功能组件和线路逻辑关系分析教学计算机已经设计好并正常运行的几条典型指令(ADD 、SHR 、OUT 、MVRD 、CALA 、RET )的功能、格式、执行流程。2、设计几条指令的功能、格式、执行流程,并在教学计算机上实现、调试正确。例如 ADC 、JRS 、JRNS 、LDRA 等。3、单条运行指令,查看指令的功能、格式、执行流程。4、用监控程序的 AE命令编写一段小程序,观察运行结果。五、实验步骤:用教学计算机以实现的基本指令很扩展指令写程序并运行,测试扩展的指令是否正确。1. 接通教学机电源。2. 将教学机左下方的 6 个拨动开关置为 111100. 3. 按一下“ RESET ”按键。4. 通过 16 位的数据开关 SWH 、SWL 置入 16 位的指令操作码。5. 在单步方式下,通过指示灯观察各类型基本指令的节拍。(1)选择基本指令的A组指令中的 ADD 指令,观察其节拍流程:1)置拨动开关 SW 00000000 00000001;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 25 页 - - - - - - - - - 2)按 RESET 按键;节拍指示灯 T3 T0显示 1000;3)按 START 按键;节拍指示灯 T3T0显示 0000;4)按 START 按键;节拍指示灯 T3T0显示 0010;5)按 START 按键;节拍指示灯 T3T0显示 0011;(2)选择基本指令的B指令中的 PUSH 指令,观察其节拍流程:1)置拨动开关 SW 10000101 00000000;2)按 RESET 按键;节拍指示灯 T3 T0显示 1000;3)按 START 按键;节拍指示灯 T3T0显示 0000;4)按 START 按键;节拍指示灯 T3T0显示 0010;5)按 START 按键;节拍指示灯 T3T0显示 0110;6)按 START 按键;节拍指示灯 T3T0显示 0100;(3)选择基本指令的D组指令中的 CALA指令,观察其节拍流程:1)置拨动开关 SW 11000110 00000000;2)按 RESET 按键;节拍指示灯 T3 T0显示 1000;3)按 START 按键;节拍指示灯 T3T0显示 0000;4)按 START 按键;节拍指示灯 T3T0显示 0010;5)按 START 按键;节拍指示灯 T3T0显示 0110;6)按 START 按键;节拍指示灯 T3T0显示 0100;7)按 START 按键;节拍指示灯 T3T0显示 0111;8) 按 START 按键;节拍指示灯T3T0显示 0101;6. 单步方式下,通过指示灯观察各类基本指令的控制信号。(1)选择指令的 A组指令中的 SHR指令,观察其执行过程中控制信号的变化,分析其作用。(2)选择基本指令的 B组指令中的 JMPA 指令,观察其执行过程中控制信号的变化,分析其作用。(3)选择基本指令的 D组指令中的 CALA指令,观察其执行过程中控制信号的变化,分析其作用。7. 在以上几步实验的基础上, 选择几条扩展指令, 设计出扩展指令的节拍和每拍对应的控制信号。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 25 页 - - - - - - - - - 单步方式下,通过指示灯观察各类扩展指令的节拍(1)选择扩展指令的A组指令中的 RCR 指令,观察其节拍流程:1)置拨动开关 SW 00101011 00010000;2)按 RESET 按键;节拍指示灯 T3 T0显示 1000;3)按 START 按键;节拍指示灯 T3T0显示 0000;4)按 START 按键;节拍指示灯 T3T0显示 0010;5)按 START 按键;节拍指示灯 T3T0显示 0011;(2)选择扩展指令的C级指令中的 LDRA