实验一监控程序与汇编实验实验时间:第周星期年月日节实验室:实验台:(以上部分由学生填写,如有遗漏,后果由学生本人自负)1、实验目的1)了解教学计算机的指令格式、指令编码、选择的寻址方式和具体功能。2)了解汇编语言的语句与机器语言的指令之间的对应关系,学习用汇编语言设计程序的过程和方法。3)学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地位和作用。2、实验平台硬件平台:清华大学TEC-XP实验箱的MACH部分软件平台:监控程序、PC端指令集仿真软件3、实验要求1)学习联机使用TEC-XP教学实验系统和仿真终端软件;2)使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容;3)使用A命令写一小段汇编程序,使用U命令观察汇编码与机器码之间的关系,用G命令连续运行该程序,用T命令单步运行并观察程序单步执行情况。**代码不得写到0000——1FFF的地址单元中,如有违反将被取消当堂成绩4、操作步骤及实验内容1)实验箱功能开关设置及联机操作:1.将实验箱COM1口与PC机相连;2.设置功能状态开关为00110;3.于PC端运行;4.按RESET,START键,若PC端出现如下输出(如图所示),则操作成功;图2)仿真软件相关操作:1.在项目文件夹找到并启动;图2.点击文件-启动监控程序;图4.若PC端出现如下输出(如图所示),则操作成功;图3)理解下列监控命令功能:A、U、G、R、E、D、T1.A命令:完成指令汇编操作,把产生的指令代码放入对应的内存单元中,可连续输入。不输入指令直接回车,则结束A命令(如图所示);图2.U命令:从相应的地址反汇编15条指令,并将结果显示在终端屏幕上(如图所示);图注:连续使用不带参数的U命令时,将从上一次反汇编的最后一条语句之后接着继续反汇编。3.G命令:从指定(或默认)的地址运行一个用户程序(如图所示);图4.R命令:显示、修改寄存器内容,当R命令不带参数时,显示全部寄存器和状态寄存器的值(如图所示);图5.E命令:从指定(或默认)地址逐字显示每个内存字的内容,并等待用户打入一个新的数值存回原内存单元(如图所示);图6.D命令:从指定(或默认)地址开始显示内存120个存储字的内容(如图所示);图7.T命令:从指定地址(或当前地址)开始单条指令方式执行用户程序(如图所示);图4)编程中不能随意使用的寄存器及他们分别表示什么含义:1.R4:R4是操作系统的栈顶指针,指向堆栈的顶部;2.R5:R5是程序寄存器,里面的值总是指向当前程序运行点的地址;5)根据所学知识编写:从键盘输入一个数字,则计算该值到10的累加和,结果存入R2中。1.通过A命令编写程序(强烈建议同学们自己思考编程,不要直接照搬代码,);图2.通过G命令运行程序;图我们看到R2的值为37(十六进制),程序运行成功。实验二脱机运算器实验实验时间:第周星期年月日节实验室:实验台:(以上部分由学生填写,如有遗漏,后果由学生本人自负)1、实验目的1)理解运算器芯片Am2901的功能和内部组成,运行中使用的控制信号及各自的控制作用;2)理解4片Am2901构成16位运算器的具体方案,各数据位信号、各控制位信号的连接关系;3)使用24位微型开关中的23位控制信号确定运算与处理功能。2、实验平台硬件平台:清华大学TEC-XP实验箱的AM2901运算器部分软件平台:PC端脱机运算器仿真程序3、实验要求1)了解TEC-XP运算器基本组件2901的工作原理;2)了解TEC-XP实验箱是如何使用4片2901构成16位运算器;3)了解并掌握24位控制开关相应的序列所实现的控制功能;4)基于以上所学完成ppt最后要求的实验内容(控制信号表格)。4、操作步骤及实验内容1)实验方式功能开关设置为:1XX002)运算器芯片为,该芯片为几位的芯片:Am29014片4位芯片3)运算器四个标志位C、Z、V、S分别为什么含义:C:进位标志位,C=1时表示有进位Z:零标志位,Z=1时表示运算结果为0V:溢出标志位,V=1时表示溢出S:符号标志位,S=1时表示为负4)完成表格中操作,写出每部操作对应的指令,观察每部操作与控制信号的关系:1.启动PC端脱机运算器仿真程序图2.输入指令编码注:在实验箱上,ALU输出不需要触发,而软件模拟器则需要鼠标点击触发,故表中压START前的ALU输出对应的是软件压START后的ALU输出a.图b.图c.图d.图e.图f.图g.图h.图i.图j.图k.图5)完成以下操作,并将控制信号添到表中:功能功能对应汇编指令控制信号I8-6I5-3I2-0SSTSSHSCIB地址A地址R_1_←1234MVRD01100011100100000001不用R_9_←789FMVRD01100011100100001001不用R_1_←R_9_-R_1_SUB011010001001000100011001R_1_←R_1_+1INC01100001100100010001不用R_10_←R_1_MVRR011000100001000010100001R10←R10ΛR_1_AND011100001001000010100001Q←R_10_MVRR0110001000010000不用1010控制作用基本指令集或者扩展指令集指令Y的输出、通用寄存器接收、Q寄存器接收运算功能选择数据组合选择状态寄存器接收CinB端口地址A端口地址功能按START之前按START之后Y15-Y0CZVSY15-Y0CZVSR_1_←1234?1234?????1234????R_9_←789F?789F?????789F????R_1_←R_9_-R_1_?666B????5407????R_1_←R_1_+1?666C?????666D????R_10_←R_1_?666C?????666C????R10←R10ΛR_1_?666C?????666C????Q←R_10_?666C?????666C????注:脱机运算器模拟程序只能输入4为二进制数,故5)在此不予演示。实验三存储器扩展实验实验时间:第周星期年月日节实验室:实验台:(以上部分由学生填写,如有遗漏,后果由学生本人自负)1、实验目的1)深入理解计算机内存储器的功能、组成知识;2)深入地学懂静态存储器芯片的读写原理和用它们组成教学计算机存储器系统的方法(即字、位扩展技术),控制其运行的方式;注意:思考并对比静态和动态存储器芯片在特性和使用场合等方面的同异之处。2、实验平台硬件平台:清华大学TEC-XP实验箱、扩展芯片HN58C65p—25软件平台:监控程序、PC端指令集仿真软件3、实验要求1)完成硬件跳线连接、芯片扩充2)掌握RAM和EEPROM在存储上的区别3)完成验证代码编写4、操作步骤及实验内容1)实验功能开关设置及联机操作步骤(参考实验一);001102)完成HN58c65p-25两片EEPROM的物理扩展;3)完成必要的跳线设置,课堂中扩展的EEPROM的地址范围为;4000-5FFF4)用监控程序的D、E命令对存储器进行读写,比较RAM(6116)、EEPROM(28系列芯片)存储性质上的异同,给出结果描述,并解释原理;用E命令对RAM和EEPROM写入后,关闭电源,再打开电源,用D命令查看写入的内容,RAM在断电后不保存写入的内容,而EEPROM保存。注:在模拟器环境下无法分辨二者区别,故在此不予演示。5)用监控程序的A命令分别对RAM(6116)和扩展存储器EEPROM(28系列芯片)进行读写,用U命令查看结果是否正确,如不正确,分析原因;对于RAM来说正确,对于ROM来说不正确原因:ROM读写比较缓慢,当一次烧录2个地址单元的内容时,第二个地址单元烧录不成功,便执行下一个地址单元了,因此为了烧录成功,需要在写入操作时,每写一个地址单元,等待1ms。注:在模拟器环境下二者皆烧录正确,故在此不予演示。6)基于以上所学完成:从键盘上输入一个0-9的数字,将从该数字开始到F的所有数据存储到扩展之后的5000开始的EEPROM存储器单元中。图运行程序后,我们用D命令查看,数据已经存入;图实验四中断实验实验时间:第周星期年月日节实验室:实验台:(以上部分由学生填写,如有遗漏,后果由学生本人自负)1、实验目的理解中断的原理,学习和掌握中断产生、响应、处理等技术,其中主要涉及到如下几点:1)中断源的捕捉2)中断向量表的查询3)中断服务处理程序(ISR)2、实验平台硬件平台:清华大学TEC-XP实验箱的右下角中断按钮部分软件平台:监控程序、PC端中断实验仿真系统3、实验要求1)了解中断的原理2)了解向量中断和非向量中断的区别3)了解中断源、中断向量表以及中断服务处理程序之间的联系4)搞清楚三个中断源的优先级,以及中断的嵌套规则4、操作步骤及实验内容1)实验功能开关设置;000102)了解中断源按键在TEC—XP实验系统的位置,说明三个中断源的优先级(按左中右);优先级左中右3)给出三个中断源对应在中断向量表的地址;左:240CH:JR2460中:2408H:JR2440右:2404H:JR24204)解释三条扩展指令的使用方法和写法EI,IRET和DI;EI:开中断指令,用E命令写入6E00(如图)图IRET:中断返回指令,用E命令写入EF00(如图)图DI:关中断指令,用E命令写入6F00(如图)图5)读懂实验ppt中的中断实例程序,编写程序实现如下内容:a主程序循环显示字母'M',如果捕捉到中断源1的时候在屏幕循环显示数字1;捕捉到中断源2的时候在屏幕上循环显示数字2;捕捉到中断源3的时候在屏幕上循环显示数字3;b并且需要实现在中断显示的过程中,如果按下任意键则中断返回到上一级程序继续运行;c实验以优先级为主要依据的嵌套d自己编写三段中断服务子程序,不允许存在重叠(即避免使用事例程序2450地址处的程序)(1)编写主程序图(2)编写第一段中断子程序图(3)编写第二、三段中断子程序(似第一段)图图(4)编写第二、三段中断子程序(似第一段)图程序运行成功实验五I/O接口扩展实验实验时间:第周星期年月日节实验室:实验台:(以上部分由学生填写,如有遗漏,后果由学生本人自负)1、实验目的学习串行口的正确设置与使用,通过实验箱的两个串口实现两台PC的通讯2、实验平台硬件平台:清华大学TEC-XP实验箱的I/O接口部分软件平台:监控程序3、实验要求1)按照实验要求必要的连线2)扩展另外一片8251串口芯片3)根据实验ppt完成必要的跳线设置,确定扩展I/O口的地址4)根据实验要求编写代码注:串口禁止带电插拔!!!4、操作步骤及实验内容1)在对应的IC座上扩展一条双排直插的8251芯片2)完成必要的连线,将芯片旁边的/CS与标有I/O/CS的一排插孔的一个相连,确定扩展I/O的地址,给出地址及描述地址对应的寄存器名称:扩展I/O地址为A0H-AFH;对应寄存器地址A0-AF3)扩展串口在使用之前的初始化代码图4)判定一台PC是否有键输入,如果有则在另一台PC上显示出来完成以下两种模式的通讯:a两台PC连接在同一台实验箱上1PC1输入PC2输出图2PC2输入PC1输出图3同时实现PC1和PC2的双向输入输出图4猜数游戏:PC1输入一个0-9的数,PC2进行数字输入猜数,如果等于PC1输入的数字则程序输出M(Match)程序结束,如果大于则输出H(High),PC2继续输入,如果小于则输出L(Low),PC2继续输入。图图图注:拓展I/O在模拟器环境下暂无法提供实验结果