计算机组成原理多级中断实验,计算机组成原理实验指导书-201511修订

这篇博客详细介绍了计算机组成原理实验,涵盖脱机运算器、基础汇编语言程序设计、存储器部件及多级中断实验。实验内容包括理解AM2901运算器的功能、使用微型开关控制运算、汇编程序设计、存储器扩展以及中断处理流程。实验要求学生预习、操作并分析问题,通过编写和运行程序来加深对计算机内部工作原理的理解。
摘要由CSDN通过智能技术生成

《计算机组成原理实验指导书-201511修订》由会员分享,可在线阅读,更多相关《计算机组成原理实验指导书-201511修订(27页珍藏版)》请在人人文库网上搜索。

1、计算机组成原理实验指导书马莉 修订2015年11月目 录实验一 脱机运算器实验-1实验二 基础汇编语言程序设计-3实验三 存储器部件实验与多级中断实验-10实验四 微程序控制器实验-17附录一 TEC-2000教学机的操作与使用方法练习说明-21附录二 TEC-2000教学机的指令系统-24实验一 脱机运算器实验实验目的深入了解AM2901运算器的功能与具体用法,4片AM2901的级连方式,深化运算器部件的组成、设计、控制与使用等诸项知识。实验说明脱机运算器实验,是指让运算器从教学计算机整机中脱离出来,此时,它的全部控制与操作均需通过两个12位的微型开关来完成,这就谈不上执行指令,只能通过开关。

2、、按键控制教学机的运算器完成指定的运算功能,并通过指示灯观察运算结果。下面先把与该实验直接有关的结论性内容汇总如下。12位微型开关的具体控制功能分配如下所述:A口、B口地址:送给AM2901器件用于选择源与目的操作数的寄存器编号;I8I0:选择操作数来源、运算操作功能、选择操作数处理结果和运算器输出内容的3组3位的控制码;SCi、SSH和SST:用于确定运算器最低位的进位输入、移位信号的入出和怎样处理AM2901产生的状态标志位的结果。实验内容1将教学机左下方的5个拨动开关置为1XX00(单步、16位、脱机);先按一下“RESET”按键,再按一下“START”按键,进行初始化。2接下来,按下页。

3、表格所列的操作在十六位机上进行运算器脱机实验,将结果填入表中。其中D1取为0101H(H表示十六进制),D2取为1010H。通过两个12位的红色微型开关向运算器提供控制信号,通过16位数据开关向运算器提供数据,通过指示灯观察运算结果及状态标志。实验要求1实验之前认真预习,看清实验要求、执行步骤,查找TEC2000简明操作卡,填写下面的表格,将实验过程中每一步运算所需的24位控制信号填入表中,也可以在表格中增加或修改一些运算功能。2实验过程中认真操作,听从教师安排,按时开始和结束实验过程;仔细分析遇到的问题并设法解决,做好实验过程与实验结果的记录工作;防止损坏设备。3实验之后认真完成实验报告,包。

4、括实验预习与数据准备情况,实验中遇到的问题和解决的办法及效果,实验操作过程与实验结果的分析整理等总结性的内容,实验中尚未完全理解或解决的问题,实验的收获及心得体会,对实验安排的建议与意见等。压START键后CZVSALU输出压START键前CZVS(4位二进制)ALU输出(4位十六进制)控制信号(用二进制数据表示)B口0000A口不用SSH00SCi00SST001I8I0算术逻辑运算*D1+0R0*D2+0R1R0+R1R0R0-R1R0R1-R0R1R0R1R1R0R1R0R0R1R0(R0R1)R02*R0R0R0/2R0注:用*作标记的运算,表示D1、D2的数据是由拨动开关SW给出的。。

5、表格中的一系列运算是连续执行的,即每一步运算是在前一步运算结果的基础上运行的。实验二 基础汇编语言程序设计实验目的1学习和了解TEC-2000十六位机监控命令的用法;2学习和了解TEC-2000十六位机的指令系统;3学习简单的TEC-2000十六位机汇编程序设计。实验内容1使用监控程序的R命令显示修改寄存器内容、D命令显示存储器内容、E命令修改存储器 内容;2使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序, 用T、P命令单步运行并观察程序单步执行情况。实验要求1在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。2实验前仔细阅读附录一和附录二。实验步骤1。

6、关闭电源,将大板上的COMl口与PC机的串口相连;2接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可;3置控制开关为00101(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同;4按一下“RESET”按键,再按一下“START”按键,主机上显示:TEC-2000 CRT MONITORVersion 2.0 2001.10Computer Architecture Lab,Tsinghua UniversityCopyright Jason He5用R命令。

7、查看寄存器内容或修改寄存器的内容1)在命令行提示符状态下输入:R ;显示寄存器的内容注:寄存器的内容在运行程序或执行命令后会发生变化。2)在命令行提示符状态下输入:R R0 ;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格,也可有个或数个空格主机显示:寄存器原值:xxxx在后面输入新的值0036再用R命令显示寄存器内容,则R0的内容变为0036。6用D命令显示存储器内容在命令行提示符状态下输入:D 2000会显示从2000H地址开始的连续120个字的内容;连续使用不带参数的D命令,起始地址会自动加120(即78H)。7用E命令修改存储器内容在命令行提示符状态下输入:E 2000屏幕。

8、显示:2000 xxxx(地址单元的原有内容):(光标在此闪烁等待输入)输入0000(提示快捷使用方法:用E命令连续修改内存单元的值时,每修改完个,按一下空格键,系统会自动给出下一个内存单元的值,等待修改;按回车键则退出E命令。)依次改变地址单元20012005的内容为:1111 2222 3333 4444 5555用D命令显示这几个单元的内容D 2000可以看到这六个地址单元的内容变为0000 1111 2222 3333 4444 5555。8用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程序并观察运行结果。1)在命令行提示符状态下输入:A 2000;表示该程序从20。

9、00H(内存RAM区的起始地址)地址开始屏幕将显示:2000:输入如下形式的程序:2000:MVRD R0,AAAA ;MVRD与R0之间只有一个空格,其他指令相同2002:MVRD R1,55552004:ADD R0,R12005:AND R0,R12006:RET ;程序的最后一个语句,必须为RET指令2007: ;直接敲回车键,结束A命令输入程序的操作过程若输入有误,系统会给出提示并显示出错地址,用户只需在该地址重新输入正确的指令即可。2)用U命令反汇编刚输入的程序在命令行提示符状态下输入:U 2000在相应的地址会得到输入的指令及其操作码。注:连续使用不带参数的U命令时,将接着从上一。

10、次反汇编的最后一条语句之后继续反汇编。3)用G命令运行前面刚键入的源程序G 2000程序运行结束后,观察程序的运行结果,记录寄存器R0和R1的值。R0=?R1=?4)用P或T命令,单步执行这段程序,观察指令执行结果在命令行提示符状态下输入:T 2000寄存器R0=?T寄存器R1=?T寄存器R0=?T寄存器R0=?用P命令执行过程同上。注:T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序一次执行完成。T、P命令每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下一条将要执行的指令。7举例编写汇编程序,用“A”命令输入,运行并观察结果1)例1:设计一个小程序,。

11、从键盘上接收一个字符并在屏幕上输出显示该字符。在命令行提示符状态下输入:A 2000屏幕将显示:2000:输入如下形式的程序:2000:IN 81 ;判断键盘上是否按了一个键2001:SHR R0 ;即串行口是否有了输入的字符2002:SHR R02003:JRNC 2000 ;未输入完则循环测试2004:IN 80 ;接收该字符2005:OUT 80 ;在屏幕上输出该字符2006:RET ;每个用户程序都必须用RET指令结束2007: ;(按回车键即结束输入过程)注:在十六位机中,基本I0接口的地址是确定的,数据口的地址为80H,状态口的地址为81H。用“G”命令运行程序在命令行提示符状态下。

12、输入:G 2000执行上面输入的程序。光标闪烁等待输入,用户从键盘键入字符后,屏幕会显示该字符。该例建立了一个从主存2000H地址开始的小程序。在这种方式下,所有的数字都约定使用16进制数,故数字后不用跟字符H。每个用户程序的最后一个语句一定为RET汇编语句。因为监控程序是选用类似子程序调用方式使实验者的程序投入运行的,用户程序只有用RET语句结束,才能保证程序运行结束时能正确返回到监控程序的断点,保证监控程序能继续控制教学机的运行过程。2)例2:设计一个小程序,用次数控制在终端屏幕上输出0到9十个数字符。在命令行提示符状态下输入:A 2020屏幕将显示:2020:从地址2020H开始输入下列。

13、程序:2020:MVRD R2,000A;送入输出字符个数2022:MVRD R0,0030;“0”字符的ASCII码送寄存器R02024:OUT 80 ;输出保存在R0低位字节的字符2025:DEC R2 ;输出字符个数减12026:JRZ 202E ;判10个字符输出完否,已完,则转到程序结束处2027:PUSH R0 ;未完,保存R0的值到堆栈中2028:IN 81 ;查询接口状态,判字符串行输出完成否,2029:SHR R0 ;202A:JRNC 2028 ;未完成,则循环等待202B:POP R0 ;已完成,准备输出下一字符并从堆栈恢复R0的值202C:INC R0 ;得到下一个要输。

14、出的字符202D:JR 2024 ;转去输出字符202E:RET202F:该程序的执行码放在2020H起始的连续内存区中。若送入源码的过程中有错,系统会进行提示,等待重新输入正确的汇编语句。输入过程中,在应输入语句的位置直接打回车则结束输入过程。用“G”命令运行程序在命令行提示符状态下输入:G 2020记录执行结果:【思考题】当把IN 81,SHR R0,JNC 2028三条语句换成3个MVRR R0,R0语句,该程序执行过程会出现什么现象?试分析并实际执行一次。类似的,若要求在终端屏幕上输出A到Z共26个英文字母,应如何修改例2中给出的程序?请验证之。将程序写入实验报告。例3:从键盘上连续打。

15、入多个属于0到9的数字符并在屏幕上显示,遇非数字符结束输入过程。在命令行提示符状态下输入:A 2040屏幕将显示:2040:从地址2040H开始输入下列程序:(2040)MVRD R2,0030 ;用于判数字符的下界值MVRD R3,0039 ;用于判数字符的上界值(2044)IN 81 ;判键盘上是否按了一个键SHR R0 ;即串行口是否有了输入的字符SHR R0JRNC 2044 ;没有输入则循环测试IN 80 ;输入字符到R0MVRD R1,00FFAND R0,R1 ; R0的高位字节内容清零CMP R0,R2 ;判输入字符字符0否JRNC 2053 ;若为否,则转到程序结束处CMP 。

16、R3,R0 ;判输入字符字符9否JRNC 2053 ;若为否,则转到程序结束处OUT 80 ;输出刚输入的数字符JMPA 2044 ;转去程序前边2044处等待输入下一个字符(2053)RET在命令行提示符状态下输入:G 2040光标闪烁等待键盘输入,若输入09十个数字符,则在屏幕上回显;若输入非数字符,则屏幕不再显示该字符,出现命令提示符,等待新命令。【思考题】本程序中为什么不必判别串行口输出完成否?设计打入AZ和09的程序,遇其它字符结束输入过程。运行通过后将程序写入实验报告。3)例4:计算1到10的累加和。在命令行提示符状态下输入:A 2060屏幕将显示:2060:从地址2060H开始输。

17、入下列程序:(2060)MVRD R1,0000 ;置累加和的初值为0MVRD R2,000A ;最大的加数MVRD R3,0000(2066)INC R3 ;得到下一个参加累加的数ADD R1,R3 ;累加计算CMP R3,R2 ;判是否累加完JRNZ 2066 ;未完,开始下一轮累加RET在命令行提示符状态下输入:G 2060运行过后,可以用R命令观察寄存器的内容。结果为: R1=? R2=? R3=?哪个寄存器的内容为累加和?4)例5:设计一个有读写内存和子程序调用指令的程序,功能是读出内存中的字符,将其显示到显示器的屏幕上,转换为小写字母后再写回存储器原存储区域。将被显示的6个字符AF。

18、送入到内存20F0H开始的存储区域中。在命令行提示符状态下输入:E 20F0屏幕将显示:20F0 内存单元原值按下列格式输入:20F0 内存原值:0041 内存原值:0042 内存原值:0043内存原值:0044 内存原值:0045 内存原值:0046在命令行提示符状态下输入:从地址2080H开始输入下列程序:(2080)MVRD R3,0006 ;指定被读数据的个数MVRD R2,20F0 ;指定被读、写数据内存区首地址(2084)LDRR R0,R2 ;读内存中的一个字符到R0寄存器CALA 2100 ;调用地址为2100子程序,完成显示、转换并写回的功能DEC R3 ;检查输出的字符个数。

19、JRZ 208B ;完成输出则结束程序的执行过程INC R2 ;未完成,修改内存地址JR 2084 ;转移到程序的2084处,循环执行规定的处理(208B)RET从地址2100H开始输入下列程序:(2100)OUT 80 ;输出保存在R0寄存器中的字符MVRD R1,0020ADD R0,R1 ;将保存在R0中的大写字母转换为小写字母STRR R2,R0 ;写R0中的字符到内存,地址同LOD所用的地址(2105)IN 81 ;测试串行接口是否完成输出过程SHR R0JRNC 2105 ;未完成输出过程则循环测试RET ;结束子程序执行过程,返回主程序在命令行提示符状态下输入:G 2080记录屏。

20、幕显示的运行结果:在命令行提示符状态下输入:D 20F0记录20F0H20F5H内存单元的内容:【思考题】为什么上面程序中ADD R0,R1可实现大小写字母转换?是如何实现的?将其实现原理写入实验报告。实验三 存储器部件实验与多级中断实验第一部分 存储器部件实验实验目的通过看懂教学计算机中已经使用的几个存储器芯片的逻辑连接关系和用于完成存储器容量扩展的几个存储器芯片的布线安排,在教学计算机上设计、实现并调试出存储器容量扩展的实验内容。其最终要达到的目的是:1深入理解计算机内存储器的功能、组成知识;2深入地学懂静态存储器芯片的读写原理和用他们组成教学计算机存储器系统的方法(即字、位扩展技术),控。

21、制其运行的方式;思考并对比静态存储器芯片和动态存储器芯片在特性与使用场合等方面的异同。实验说明教学计算机存储器系统由8K的ROM和2K的RAM两个存储区组成,分别用EPROM芯片(或EEPROM芯片)和RAM芯片构成。TEC-2000教学计算机中还安排了另外几个存储器器件插座,可以插上相应存储器芯片以完成存储器容量扩展的教学实验,为此必须比较清楚地了解:1TEC-2000教学机的存储器系统的总体组成及其连接关系;2TEC-2000教学机的有关存储器芯片、I0接口芯片的片选控制和读写命令的给出及具体使 用办法;3RAM和EPROM、EEPROM存储器芯片在读写控制、写入时间等方面的异同,并正确建。

22、立连线关系和在程序中完成正确的读写过程;4如何在TEC-2000教学机中使用扩展的存储器空间并检查其运行的正确性。实验内容1用监控程序的D、E命令对存储器进行读写,比较RAM(6116)、EEPROM(28系列芯片) EPROM(27系列芯片)在读写上的异同;2用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确;3用监控程序的A命令编写一段程序,对扩展存储器EEPROM(28系列芯片)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。实验要求1实验之前,应认真预先准备,写出实验步骤和具体设计内容,否则实验效率会特别低,一次实验时间根。

23、本无法完成实验任务,即使基本做对了,也很难说学懂了些什么重要教学内容;2实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要仔 细思考实验有关内容,提高学习的主动性和创造性,把自己想不太明白的问题通过实验理解清楚,争取最好的实验效果,力求达到教学实验的主要目的;3实验之后,应认真思考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的主要问题以及分析与解决问题的思路。实验报告中,还应写出自己的学习心得和切身体会,也可以对教学实验提出新的建议等。实验步骤16116支持即时读写,可直接用A、E命令向扩展的存储器输入程序或改变内存单元的值。1)用E命令改变内存单元的值并用D。

24、命令观察结果。在命令行提示符状态下输入:E 2020屏幕将显示: 2020 内存单元原值:按如下形式键入:2020 原值:2222(空格)原值:3333(空格)原值:4444(空格)原值:5555在命令行提示符状态下输入:D 2020屏幕将显示从2020内存单元开始的值,记录2020H2023H的值:断电后重新启动教学实验机,用D命令观察内存单元20202023的值,会发现什么现象?说明了什么道理? 2)用A命令输入一段程序,执行并观察结果。在命令行提示符状态下输入:A 2000屏幕将显示: 2000:按如下形式键入:2000: MVRD R0,AAAA2002: MVRD R1,555520。

25、04: AND R0,R12005: RET2006: 在命令行提示符状态下输入:T 2000R0=?R1=?TR0=?R1=?TR0=?R1=?在命令行提示符状态下输入:G 2000运行输入的程序。在命令行提示符状态下输入:R屏幕显示:R0=?R1=?【思考题】由此可得出什么结论(即RAM芯片具有什么特性)?2将扩展的高位ROM芯片(27或28系列)右侧标有CS的圆孔针与标有MEMCS的一排圆孔针中地址为40005FFF的一个用导线相连,这表示扩展的ROM的内存地址是从4000H开始,可用空间是4000H5FFFH,用户可在这个范围内输入程序或改变内存单元的值。下面以AN58C65为例,进行。

26、扩展EEPROM实验。4AN58C65的读操作和RAM一样,而写操作需要一定的时间,大约为1毫秒。因此,需要编写一段延时子程序,在对EEPROM进行写操作时,调用该延时子程序,以完成正确的读写。1)用E命令改变内存单元的值并用D命令观察结果。在命令行提示符状态下输入:E 5000屏幕将显示; 5000 内存单元原值:按如下形式键入:5000 原值:2424(空格)原值:3636(空格)原值:4848(空格)原值:5050在命令行提示符状态下输入:D 5000屏幕将显示5000H507FH内存单元的值,从5000开始的连续四个内存单元的值依次为2424 3636 4848 5050。断电后重新启。

27、动,用D命令察看内存单元50005003的值,观察数值是否发生变化,说明EEPROM的内容断电后能否保持?2)AN58C65存储器不能直接用A命令输入程序(建议试一试),可将编写好的程序用编程器写入片内;也可将程序放到RAM(6116)中,调用延时子程序,访问AN58C65中的内存地址。下面给出的程序,在5000H500FH单元中依次写入数据0000H、0001H、000FH。从2000H单元开始输入主程序:(2000)MVRD R0,0000MVRD R2,0010;R2记录循环次数MVRD R3,5000 ;R3的内容为16位内存地址(2006)STRR R3,R0;将R0寄存器的内容放到。

28、R3给出的内存单元中CALA 2200;调用延时子程序INC R0;R0加11NC R3;R3加1DEC R2;R2减lJRNZ 2006;R2不为0跳转到2006HRET从2200H单元开始输入延时子程序:(2200)PUSH R3MVRD R3,000F(2203)DEC R3JRNZ 2203POP R3RET运行主程序,在命令提示符下输入:G 2000程序执行结束后,在命令提示符下输入:D 5000观察并记录从5000H开始的内存单元的值:5000:5008:【思考题】(1)为何能用E命令直接写AN58C65的存储单元,而A命令则有时不正确?(2)修改延时子程序,将其延时改短,可将延时。

29、子程序中R3的内容赋成00FF或0FFF等,再看运行结果,并记录下来(运行之前,先将5000H开始的十个单元内容清零)。R3=00FF时:R3=0FFF时:3)自行编写一段程序,实现以下功能:将从5000H开始的16个内存单元的值转存至从2050H开始的16个内存单元。【思考题】以上程序是否需要延时子程序?为什么?第二部分 中断实验实验目的学习和掌握中断的产生、响应和处理等技术。实验说明1要求中断隐指令中执行关中断功能,如果用户中断服务程序允许被中断,必须在中断服务程序中执行EI开中断命令。2教学机的中断系统共支持三级中断,由三个无锁按键确定,从右到左依次为一、二、三级中断,对应的P2、P1、。

30、P0的编码分别是0l、10、11,优先级也依次升高。这决定了它们的中断向量(即中断响应后,转去执行的程序地址)为XXX4、XXX8、XXXC;可以看到,每级中断实际可用的空间只有四个字节,故这个空间一般只存放一条转移指令,而真正的用户中断服务程序则存放在转移指令所指向的地址。实验要求1实验前应了解什么是中断向量;2中断隐指令不对应特定指令代码,因而不能用指令代码来判断是否为新指令,在实际设计中,采用当节拍T4=l时,认为是扩展指令,从而控制信号从GALlGAL7给出。这样,在扩展中断隐指令时,其节拍T4应为1。实验内容1确定中断向量表地址。中断向量表是以XXX4H为首地址的一段内存区。高12位。

31、由用户通过中断向量插针(在三个无锁按键下方的插针)确定。三级中断对应的中断向量为XXX4H、XXX8H、XXXCH。当有中断请求且被响应后,将执行存放在该中断的中断向量所指向的内存区的指令。2填写中断向量表。在上述的XXX4H、XXX8H、XXXCH地址写入三条JR转移指令,JR指令的OFFSET是偏移量,其值是要转向的地址的值减去该条转移指令的下一条指令的地址的值得到的,该值的范围在-128+127之间。但在PCEC中输入时,用户不需要计算偏移量,直接输入要转向的绝对地址即可。3编写中断服务程序。中断服务程序可以放在中断向量表之后,中断服务程序可实现在程序正常运行时在计算机屏幕上显示与优先级。

32、相对应的不同字符。4编写主程序。可编写一死循环程序,要求先开中断。实验步骤1置控制开关为00001。2填写中断向量表。1)选择3级中断的中断向量为2104H、2108H、210CH。2)教学机右下方,标有“INT VECTOR”的12列3个一组的插针对应中断向量的高12位(左为高位)。每一列上面的2个短接,表示该位为1;下面的2个短接,表示该位为0,则根据选择的中断向量,这12列插针应表示为0010 0001 0000。3)填写中断向量表:从2104H单元开始输入下面的程序(2104)JR 2120 ;跳转到中断服务程序(2108)JR 2130 ;跳转到中断服务程序(2l0C)JR 2140。

33、 ;跳转到中断服务程序3编写中断服务程序。该中断服务程序,先开中断,显示字符“BI”和对应的中断优先级“1”、“2”或“3”后,等待从键盘输入一个字符。在键盘输入一个字符后,显示该字符和字符“EI”,然后退出当前中断服务程序,返回中断断点,继续执行。用A、E命令从2120H单元开始输入下面的程序(标有*的语句表示要用E命令输入)2120:PUSH R0;R0进栈2121:PUSH R3;R3进栈2122:MVRD R3,31;将字符1的ASCII码送寄存器R32124:JR 21502130:PUSH R02131:PUSH R32132:MVRD R3,32;将字符2的ASCII码送寄存器R。

34、32134:JR 21502140:PUSH R02141:PUSH R32142:MVRD R3,33;将字符3的ASCII码送寄存器R32144:JR 2150*2150:6E00;EI,开中断2151:MVRD R0,0042;将字符“B”赋值给R0,B即Begin的缩写。2153:CALA 2200;调用子程序,完成显示2155:MVRD R0,0049;将字符“I”赋值给R0,I即Interrupt的缩写。2157:CALA 2200;调用于程序,完成显示2159:MVRR R0,R3;将R3的内容送R0215A:CALA 2200;调用于程序,完成显示215C:IN 81;判键盘上。

35、是否按了一个键215D:SHR R0;即串口是否有了输入字符215E:SHR R0215F:JRNC 215C;若没有,等待2160:IN 80;输入字符到R02161:MVRD R0,0045;将字符“E”赋值给R0,E即End的缩写。2163:CALA 2200;调用于程序,完成显示2165:MVRD R0,0049;将字符“I”赋值给R0,I即Interrupt的缩写。2167:CALA 2200;调用于程序,完成显示2169:MVRR R0,R3;将R3的内容送R1216A:CALA 2200;调用子程序,完成显示216C:POP R3;R3出栈216D:POP R0;R0出栈*216。

36、E:EF00;IRET中断返回2200:PUSH R0;R0进栈2201:IN 81;查询接口状态,判字符输出完成否2202:SHR R02203:JRNC 2201;未完,循环等待2204:POP R0;R0出栈2205:OUT 80;输出R0的值2206:RET9编写主程序。从地址2000H开始输入下列程序:*2000:6E00;EI,开中断2001:MVRD R0,0036;将字符6的ASCII码送寄存器R02003:CALA 2200;输出该字符2005:MVRD R0,4000;延时子程序2007:DEC R02008:JRNZ 20072009:JR 2001;跳到2001循环执行。

37、该程序200A:RET10运行主程序,等待、响应中断。在命令行提示符状态下输入:G 2000观察并记录程序运行结果。实验四 微程序控制器实验实验目的通过运行教学计算机中已经设计好并正常执行的数条基本指令(例如,ADD、MVRR、OUT、MVRD、JR、RET等指令)的功能、格式和执行流程,最终要达到的目的是:1深入理解计算机微程序控制器的功能、组成知识;2深入地学习计算机各类典型指令的执行流程;3对指令格式、寻址方式、指令系统、指令分类等建立具体的总体概念;4学习微程序控制器的设计过程和相关技术。实验说明控制器设计是学习计算机总体组成和设计的最重要的部分。要在TEC-2000教学计算机上完成这。

38、项实验,必须比较清楚地懂得:1TEC-2000教学机的微程序控制器主要由微程序小板和教学机上的7片GAL20V8组成;2TEC-2000教学机上已实现的全部基本指令和留给用户实现的19条扩展指令的控制信号都是由微程序小板上的7片MPROM给出的;3应了解监控程序的A命令只支持基本指令,扩展指令应用E命令将指令代码写入到相应的存储单元中;不能用T、P命令单步调试扩展指令,只能用G命令执行扩展指令;4要明白TEC-2000教学机支持的指令格式及指令执行流程分组情况;理解TEC-2000教学机中已经设计好并正常运行的各类指令的功能、格式和执行流程,也包括控制器设计与实现中的具体线路和控制信号的组成。。

39、实验内容首先看懂TEC-2000教学计算机的功能部件组成和线路逻辑关系,然后分析教学计算机中已经设计好并正常运行的几条典型指令(例如,ADD、MVRR、OUT、MVRD、JRC、CALA、RET等指令)的功能、格式和执行流程,注意各操作功能所对应的控制信号的作用。实验要求1应在实验前掌握所有控制信号的作用,在脱机运算器实验中,已给出了与运算器有关的控制信号的作用;2实验过程中,应认真进行实验操作,既不要因为粗心造成短路等事故而损坏设备,又要仔细思考实验有关内容,提高学习的主动性和创造性,把自己想不太明白的问题通过实验理解清楚,争取最好的实验效果,力求达到教学实验的主要目的;3实验之后,应认真思。

40、考总结,写出实验报告,包括实验步骤和具体实验结果,遇到的主要问题以及分析与解决问题的思路。大家应该认识到,遇到一些问题是好事情,通过分析与解决这些问题,才提高了自己的工作能力,学习到更多的知识。还未理解清楚,但实验结果正确了就匆忙结束实验,并没有达到教学实验的目的。实验报告中,还应写出自己的学习心得和切身体会,也可以对教学实验提出新的建议等。实验步骤1接通教学机电源;2将教学机左下方的5个拨动开关置为11001(单步、手动置指令、微程序、16位、联机);3按一下“RESET”按键;4通过16位的数据开关SWH、SWL置入指令操作码;5在单步方式下,通过指示灯观察并记录各类基本指令的微码。1)选。

41、择基本指令的A组指令中的ADD指令,观察其节拍流程(1)置拨动开关SW= ;(表示指令ADD R0,R1)(2)按RESET按键;小板指示灯Microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭; (3)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ;下址的指示灯显示 ;(本拍完成公共操作0PC、DI#=0)(4)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成公共操作PCAR、PC+1PC)(5)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本。

42、拍完成公共操作MEMIR)(6)以上三步为公共操作,其它指令同;(7)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成MAP操作功能)(8)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍执行ADD指令,DRDR+SR操作)(9)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成STRQ、CC#=INT#公共操作功能)(10)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成PCA。

43、R、PC+1PC、CC#=0的公共操作功能)2)选择基本指令的B组指令中的MVRD指令,观察其节拍流程(1)置拨动开关SW= ;(表示指令MVRD)(2)按RESET按键;小板指示灯Microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭;(3)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(4)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(5)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(6)以上三步为公共操作,其它指令同。(7)。

44、按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(8)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成PCAR、PC+1PC、CC#=0操作)(9)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成MEMDR、CC#=0操作)(10)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成STRQ、CC#=INT#操作)(11)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯。

45、显示 ,下址的指示灯显示 ;(本拍完成PCAR、PC+1PC、CC#=0的公共操作功能)3)选择基本指令的D组指令中的CALA指令,观察其节拍流程(1)置拨动开关SW= ;(表示指令CALA)(2)按RESET按键;小板指示灯Microp亮(只要选择微程序,该灯在指令执行过程中一直亮),其它灯全灭;(3)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(4)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(5)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;。

46、(6)以上三步为公共操作,其它指令同。(7)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(8)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成PCAR、PC+lPC操作)(9)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成MEMQ操作)(10)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成SP-1SP、PCAR操作)(11)按START按键;小板指示灯CI30、SCC30显示。

47、 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成PCMEM、QPC、CC#=O操作)(12)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成STRQ、CC#=INT#操作)(13)按START按键;小板指示灯CI30、SCC30显示 ,微址指示灯显示 ,下址的指示灯显示 ;(本拍完成PCAR、PC+lPC、CC#=0操作)。7根据以上记录的结果,查找简明操作卡,填写下表:0、DC10、DC2SSH、SCI0、SSTA口B口SB、I53SA、I860、I200、M#、R、W#SCC30CI30下址微址操作功能0PCDI#=0PCARPC。

48、+1PCMEMIRMAP#DR+SRDRPCARPC+1PCCC#=0PCARPC+1PC指令ALLALLALLALLADDMVRDCALA附录一 TEC-2000 教学机的操作与使用方法练习说明TEC-2000教学计算机的操作与使用方法,主要指通过由监控程序提供的监控命令控制教学计算机的运行功能。教学计算机处于正常运行状态时,它通过串行接口和PC机仿真终端相连接,通过常用的A、D等监控命令可以进行联机操作。这些监控命令,实现类似于PC机DOS系统下的Debug程序的功能,包括A、U、G、T、P、R、D、E共8条命令,其格式为一个英文字母(大小写随意)表示的命令名、一个空格(可有可无)跟命令参。

49、数,下面分别介绍。(1)单条汇编命令A格式:A adr 这里的 adr 表示此处的地址参数adr为任选项,由4位十六进制的数组成(下同),无此参数时,系统将取默认值。功能:完成单条指令的汇编操作,把产生出来的教学计算机的执行代码放入对应的内存单元中。命令名后的地址将是头一条汇编语句的执行码的内存单元地址。每条语句汇编完成之后,系统将相应修改地址值,以便正确处理下条汇编语句。在应该输入汇编语句位置不给出汇编语句而直接回车,则结束A命令的运行过程。(2)反汇编命令U格式:U adr功能:每次从指定的(或默认的)地址反汇编15条指令,并将结果显示在终端屏幕上。反汇编完成之后,已将该命令的默认地址修改。

50、好。接下来键入不带参数的U命令时,将接着从上一次反汇编的最后一条语句之后继续反汇编。(3)执行程序命令G格式:G adr功能:从指定的(或默认的)地址连续地运行一个用户程序。为了使程序执行后能返回监控程序,要求每个用户程序的最后一条指令一定为RET指令。(4)、(5)单指令执行程序命令T和P格式:T adr 或 P adr功能:从指定的(或PC中的当前地址)开始,单条指令方式执行用户程序。通常情况下,每按一次T或P将执行一条指令。它们的区别是,T总是执行单条指令,但执行P命令时,则把每一个CALL语句连同被调用的子程序一次执行完成。每次执行后均显示所有通用寄存器及状态寄存器的内容,并反汇编出下。

51、一条将要执行的指令。(6)显示/修改寄存器内容命令R格式:R 寄存器名 功能:不带参数时,是显示全部寄存器及状态寄存器的值,并反汇编当前PC所指的一条指令,其中状态的显示格式为:“F=8位二进制数”,其各位的值分别对应于C、Z、V、S,P1、P0、0、0的值。带参数时,如R R0表示要通过输入新值来修改相应寄存器R0的内容。(7)显示存储器内容命令D格式:D adr功能:从指定(或默认的)地址开始显示内存128个存储字的内容。连续的D命令,保证显示内容前后正确的连续关系,即每次执行D命令,会将默认的地址值加上128。(8)修改存储器内容命令E格式:E adr功能:从指定(或默认的)地址逐字节修。

52、改每个内存单元的内容,要求用户打入一个新的值,相应内存单元的内容将被修改。接下来若打入空格键,可以开始修改下一个字,如打入的是回车键,则会结束E命令的执行过程。使用上述8条命令,就可以完成所期望的操作。用A命令键入教学计算机的一段汇编源程序,主要是向累加器送入数据和执行运算。A 2000(回车) ;程序的起始地址选为16进制的2000(即内存RAM 2000:MVRDR0,AA ;区的起始地址),这里的数据均为16进制。2002:MVRDR1,552004:ADD R0,R12005:AND R0,R12006:RET ;程序的最后一个语句,必须为RET指令2007:(直接敲回车键,结束A命令。

53、的输入程序的操作过程)用G命令运行前面刚输入的程序。G 2000(回车)程序运行结束后,可以看到程序的运行结果,屏幕显示各寄存器的值,其中R0和R1的值均为55,说明程序运行正确。当然也可以用P或T命令,逐条地执行这段程序中的指令,每执行一条指令就停下来,以便查看每一条指令的运行结果。T 2000(回车)(结果从略,自己到实验中去看)T (回车)(结果从略,自己到实验中去看)继续打入T命令,直到程序结束(不能用P、T命令运行程序的最后那条指令RET)。可以用R命令显示和修改有关寄存器的值,例如:R 不带参数则显示所有通用寄存器的值,状态字的值,下一条待执行指令的内容;带寄存器名参数时,是修改寄存器内容,例如,R R3 命令,回车后首先显示R3。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值