
实验五 模型机综合实验.docx
6页实验五模型机综合实验(微程序控制器)一、 实验目的:(1) 认识模型机的缺省指令/微指令系统,熟悉了此套指令/微指令(2) 了解并学会C0P2000软件的使用方法,工作过程二、 实验要求:使用COP2000计算机组成原理实验软件输入、修改程序,汇编成机器码并下载到实验 仪上,由软件控制程序实现单指令执行、单微指令执行、全速执行,并在软件上观察指令 或微指令执行过程中数据的走向、各控制信号的状态、各寄存器的值三、 实验说明:在综合实验中,模型机作为一个整体来工作的,所有微程序的控制信号由微程序存储 器uM输出,而不是由开关输出在做综合实验之前,先用8芯电缆连接J1和J2,这样实 验仪的监控系统会自动打开uM的输出允许,微程序的各控制信号就会接到各寄存器、运 算器的控制端口此综合实验使用的指令是模型机的缺省指令/微指令系统等做完本综 合实验,熟悉了此套指令/微指令后,用户可以自己设计的指令/微指令系统在用微程序控制方式做综合实验时,在给实验仪通电前,拔掉实验仪上所有的手工连 接的接线,再用8芯电缆连接J1和J2,控制方式开关拨到“微程序控制”方向若想用 COP2000软件控制组成原理实验仪,就要启动软件,并用快捷图标的“设置”功能打开设 置窗口,选择实验仪连接的串行口,然后再按“连接COP2000实验仪”按钮接通到实验仪。
四、 实验过程:实验1、数据传送实验/输入输出实验(1)在COP2000软件中的源程序窗口输入下列程序MOVA, #12HMOVA, ROMOVA, @R0MOVA, 01HINOEND(2)将程序另存为EX1.ASM,将程序汇编成机器码,反汇编窗口会显示出程序地址、机器码、反汇编指令程序地址机器码反汇编指令指令说明007C 12MOV A, #12立即数12H送到累加器A0270MOV A, R0寄存器R0送到累加器A0374MOV A, @R0R0间址的存储器内容送到累加器A0478 01MOV A, 01存储器01单兀内容送到累加器A06C0IN端口 IN内容输入到累加器A07C4OUT累加器A内容输出到端口 OUT(3)按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输 入/输出状态,各控制信号的状态,PC及uPC如何工作实验2、数据运算实验(加/减/与/或)(1)在COP2000软件中的源程序窗口输入下列程序ADDCA, R1SUBA, @R0ANDA, #55HORA, 02HEND(2)将程序另存为EX2.ASM,将程序汇编成机器码,反汇编窗口会显示出程序地址、机器 码、反汇编指令。
程序地址机器码反汇编指令指令说明0021ADDC A, R1累加器A的值加上寄存器R1加进位0135SUB A, @R0累加器A减去R1间址的存储器内容025C 55AND A, #55累加器A逻辑与立即数55H0468 02OR A, 02累加器A逻辑或存储器02单兀的内容(3) 按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输 入/输出状态,各控制信号的状态,PC及uPC如何工作见“EX2.ASM程序跟踪结果”详细 介绍)(4) 在了解数据运算的原理,可以加上一些数据传输指令给累加器A或寄存器R?赋值,再 运算,并观察运算结果实验3、移位/取反实验(1)在COP2000软件中的源程序窗口输入下列程序MOV RR RLC CPL ENDA,#55HAAA(2)将程序另存为EX3.ASM,将程序汇编成机器码,反汇编窗口会显示出程序地址、机器码、反汇编指令程序地址机器码反汇编指令指令说明007C 55MOV A, #55立即数55H存入累加器A02D0RR A不带进位右移累加器A03DCRLC A带进位左移累加器A04E4CPL A累加器A内容取反(3)按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输 入/输出状态,各控制信号的状态,PC及uPC如何工作。
实验4、转移实验(1)在COP2000软件中的源程序窗口输入下列程序MOVA,#01LOOP:SUBA,#01JCLOOPJZLOOPJMP0CPLAEND(2)将程序另存为EX4.ASM,将程序汇编成机器码,反汇编窗口会显示出程序地址、机器 码、反汇编指令程序地址机器码反汇编指令指令说明007C 01MOV A, #01立即数01H存入累加器A023C 01SUB A, #01累加器A减104A0 02JC 02若有进位跳到程序02地址06A4 02JZ 02若A=0跳转到程序02地址08AC 00JMP 00无条件跳转到程序开始(3)按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输 入/输出状态,各控制信号的状态,PC及uPC如何工作观察在条件满足和不满足的情况下, 条件跳转是否正确执行见“EX4.ASM程序跟踪结果”详细介绍)实验5、调用实验(1)在COP2000软件中的源程序窗口输入下列程序MOV A,#00HLOOP:CALL INCAJMP LOOPINCA:ADD A,#1 RETEND码、反汇编指令程序地址机器码反汇编指令指令说明007C 55MOV A, #00立即数00H存入累加器A02BC 06CALL 06调用子程序04AC 02JMP 02跳转到02地址,循环执行061C 01ADD A, #01累加器A加108CCRET子程序返回(3)按快捷图标的F7,执行“单微指令运行”功能,观察执行每条微指令时,寄存器的输入 /输出状态,各控制信号的状态,PC及uPC如何工作。
观察在调用子程序和从子程序返回时,堆栈的工作情况五、实验心得初次接触这样的实验,刚开始觉得很茫然,不知道从何处着手,但通过老师的指导后, 慢慢地就理解了做这个实验的要求和目的本实验要求我们熟悉实验仪的各个模块和它的功 能,通过实验,浅显的理解了计算机内部各个部件的功能,各个寄存器的连接方式和数据流 通方式一开始在书上看到的一些什么指令系统、微指令等等东西的时候不知所云,因为他 们都是计算机能够识别而我们很难认识的此外,他们听上去又很抽象,感觉跟人的思维完 全不同,不不能从形象的角度来见识见识他们,所以很难理解但是在这次试验后,我对它 就有了一个形象化的认识实验过程中出现了一系列问题,但都在老师的细心指导和同学们的帮助下逐一解决了, 此外,从他们身上我也学习到了很多很多的有用的东西关于这一系列问题都在于我们对实 验仪还是不太熟悉,相信通过这次的实验,我们定会加深对它的理解并能充分掌握试验仪各 个部件之间的关系,对以后做此类将有很大的帮助。












