《计算机组成原理》由会员分享,可在线阅读,更多相关《计算机组成原理(17页珍藏版)》请在人人文库网上搜索。
1、计算机组成原理实验报告学生姓名:高彦萌班级序号:-03学 号:一、实验电路1.TEC4计算机组成原理实验系统的时序电路如下图所示。电路采用2片GAL22V10(U6、U7),可产生两级等间隔时序信号T1T4和W1W4,其中一个W由一轮T1T4循环组成,它相当于一个微指令周期或硬布线控制器的一拍,而一轮W1W4循环可供硬布线控制器执行一条机器指令。二、 微指令的设计:根据给定的12条机器指令功能和数据通路总体图的控制信号,采用的微指令格式。微指令字长共35位。其中顺序控制部分10位,后继微地址6位,判别字段4位,操作控制字段25位,各位进行直接控制。微指令格式中,信号名带有后缀“#”的信号为低有。
2、效信号,不带有后缀“#”的信号为高有效信号。对应微指令格式,微程序控制器的组成见图11。控制存储器采用5片EEPROM28C64(U8,U9,U10,U11,U12)。微地址寄存器6位,用一片6D触发器74HC174(U1)组成,带有清零端。两级与门、或门构成微地址转移逻辑,用于产生下一微指令的地址。在每一个T1上升沿时刻,新的微指令地址会打入微地址寄存器中,控制存储器随即输出相应的微命令代码。微地址转移逻辑生成下一地址,等下一个T1上升沿时打入微地址寄存器。跳转开关JUMP(J1)是一组6个跳线开关。当用短路子将它们连通时,微地址寄存器AR从本实验系统提供的微程序地址译码电路得到新的微程序地。
3、址D0-D5。当它们被断开时,用户提供自己的新微程序地址D0-D5。这样用户能够使用自己设计的微程序地址译码电路。5片28C64的地址A6(引脚4)直接与控制台开关SWC连接,当SWC=1时,微地址大于或者等于40H,当SWC=0时,微地址小于40H。SWC主要用于实现读寄存器堆的功能。微地址转移逻辑的多个输入信号中。INTQ是中断请求,本实验中可以不理会。SWA,SWB是控制台的两个二进制开关信号,实验台上线已接好。C是进位信号,IR7-IR4是机器指令代码,由于本次实验不连接数据通路,这些信号都接到二进制开关K0-K15上。三、机器指令与微程序为教学中简单明了,本试验仪使用12条机器指令,。
4、均为单字长(8位)指令。指令功能及格式如表5所示。指令的高4位提供给微程序控制器,低4位提供给数据通路。应当指出,用以上12条指令来编写实际程序是不够的。好在我们的目的不是程序设计,而主要是为了教学目的,通过CPU执行一些最简单的程序来掌握微程序控制器的工作原理。上述12条指令的微程序流程设计所示。每条微指令可按前述的微指令格式转换成二进制代码,然后写入5个28C64中。指令功能与格式名称 助记符功能指令格式R7 R6 R5 R4R2 R3R1 R0加法ADD Rd, RsRd+RsRd0 0 0 0RS1 RS0RD1 RD0减法SUB Rd,RsRd-RsRd0 0 0 1RS1 RS0R。
5、D1 RD0乘法MUL Rd,RsRd*RsRd0 0 1 0RS1 RS0RD1 RD0逻辑与AND Rd,RsRd&RsRd0 0 1 1RS1 RS0RD1 RD0存数STA Rd,RsRdRs0 1 0 0RS1 RS0RD1 RD0取数LDA Rd,RsRsRd0 1 0 1RS1 RS0RD1 RD0无条件转移JMP RsRsPC1 0 0 0RS1 RS0X X条件转移JC D若C=1则PC+DPC1 0 0 1D3 D2D1 D0停机STP暂停运行0 1 1 0X XX X中断返回IRET返回断点1 0 1 0X XX X开中断INTS允许中断1 0 1 1X XX X关中断I。
6、NTC禁止中断1 1 0 0X XX XTJS2S1S0M1LDDR1WRDLRWCEL#ALU-BUSRS-BUS#SW-BUS#IAR-BUS#LDERM3AR1-INCLDAR1LDIARM4PC-INCPC-ADDLDPCLDIRINTCINTSP3P2P1P0A5A4A3A2A1A035343332313029282726252423222120191817161514131211判断条件后继微地址为了向RAM和寄存储器堆中装入程序和数据,检查写入是否正确,并能启动程序执行,还设计了以下五个控制台操作微程序:存储器写操作(KWE):按下复位按钮CLR#后,微地址寄存器状态为全零。此时。
7、置SWC=0,SWB=1,SWA=0,按启动按钮后微指令地址转入27H,从而可对RAM连续进行手动写入。存储器读操作(KRD):按下复位按钮CLR#后,置SWC=0,SWB=0,SWA=1,按启动按钮后微指令地址转入17H,从而可对RAM连续进行读操作。启动程序(PR):按下复位按钮CLR#后,置SWC=0,SWB=0,SWA=0,用数据开关SW7-SW0设置内存中程序的首地址,按启动按钮后微指令地址转入07H,然后转到“取指”微指令。写寄存器操作(KLD):按下复位按钮CLR#后,置SWC=0,SWB=1,SWA=1,按启动按钮后微指令地址转入37H,从而可对寄存器堆中的寄存器连续进行写操作。
8、。读寄存器操作(KRR):按下复位按钮CLR#后,置SWC=1,SWB=0,SWA=0,按启动按钮后微指令地址转入47H,从而可对寄存器堆中的寄存器连续进行读操作。应当着重指出,在微指令格式的设计过程中,对数据通路所需的控制信号进行了归并和化简。细心的同学可能已经发现,微程序控制器输出的控制信号远远少于数据通路所需的控制信号。这里提供的微程序流程图是没有经过归并和化简的。仔细研究一下微程序流程图,就会发现有些信号的出现的位置完全一样,这样的信号用其中一个信号就可以代表。请看信号LDPC和LDR4,这两个信号都在微程序地址07H,1AH,1FH,26H出现,而在其他的微程序地址都不出现,因此这两。
9、个信号产生的逻辑条件是完全一样的。从逻辑意义上看,这两个信号的作用是产生新的PC,完全出现在相同的微指令中是很正常的,因此用LDPC完全可以代替LDR4。还有另一些信号,例如LDDR1和LDDR2,出现的位置基本相同。LDDR2和LDDR1的唯一不同是在地址14H的微指令中,出现了LDDR2信号,但是没有出现LDDR1信号。LDDR1和LDDR2是否也可以归并成一个信号呢?答案是肯定的。微程序流程图中只是指出了在微指令中必须出现的信号,并没有指出出现其他信号行不行,这就要根据具体情况具体分析。在地址14H的微指令中,出现LDDR1信号行不行呢?完全可以。在地址14H出现的LDDR1是一个无用的。
10、信号,同时也是一个无害的信号,它的出现完全没有副作用,因此LDDR1和LDDR2可以归并为一个信号LDDR1。根据以上两条原则,我们对下列信号进行了归并和化简:LDIR(CER) 为1时,允许对IR加载,此信号也可用于作为双端口存储器右端口选择CER。LDPC(LDR4) 为1时,允许对程序计数器PC加载,此信号也可用于作为R4的加载允许信号LDR4。LDAR1(LDAR2) 为1时,允许对地址寄存器AR1加载,此信号也可用于作为对地址寄存器AR2加载。LDDR1(LDDR2) 为1时,允许对操作数寄存器DR1加载,此信号也可用于作为对操作数寄存器DR2加载。M1(M2) 当M1=1时,操作数。
11、寄存器DR1从数据总线DBUS接收数据;当M1=0时,操作数寄存器DR1从寄存器堆RF接收数据。此信号也可用于作为操作数寄存器DR2的数据来源选择信号。在对微指令格式进行归并和化简的过程中,我们有意保留了一些信号,没有化简,同学们可以充分发挥创造性,提出更为简单的微指令格式。还要说明的是,为什么微指令格式可以化简,而试验台数据通路的控制信号为什么不进行化简?最主要的原因是前面进行的各个实验的需要,例如LDDR1和LDDR2这两个信号,在做运算器数据通路实验时,是不能设计成一个信号的。还有一个原因是考虑到实验时易于理解,对某些可以归并的信号也没有予以归并。四实验任务:常规型微程序控制器组成实验A。
12、:(1)按实验要求,连接试验台的数码开关K0-K15、控制开关、按钮开关、时钟信号源和微程序控制器。注意:本次实验只做微程序控制器本身的实验,故微程序控制器输出的微命令信号与执行部件(数据通路)的连线暂不连接。连线完成后应仔细检查一遍,然后才可加上电源。(2)观察时序信号用双踪示波器观测时序产生器的输入输出信号:MF,W1-W4,T1-T4。比较相位关系,画出其波形,并标注测量所得的脉冲宽度。观察时需将TJ1接低电平,DB,DZ,DP开关均置为0状态,然后按QD按钮,则连续产生T1,T2,T3,T4,W1,W2,W3,W4。了解启停控制信号的功能,并熟练地使用连接这些控制信号的按钮或开关。(3。
13、)熟习微指令格式的定义,按此定义将控制台指令微程序的8条微指令按十六进制编码,列于下表。三种控制台指令的功能由SWC,SWB,SWA三个二进制开关的状态来指定(KRD=001B,KWE=010B,PR=000B)。此表必须在预习时完成。微指令地址微指令编码微指令地址微指令编码00H3CH07H17H27H3FH3DH3EH单拍(DP)方式执行控制台微程序,读出上述八条微指令,用P字段和微地址指示灯跟踪微指令执行情况,并与上表数据对照。用连续方式执行KWE和KRD(将TJ1接地),画出A0(28C64的地址A0)信号波形,作出解释。(4)用P3和SWC,SWB,SWA的状态组合,观察验证三种控制。
14、台指令KWE,KRD,PR微地址转移逻辑功能的实现。(5)熟习05H,10H两条微指令的功能和P2测试的状态条件(IR4-IR7),用二进制开关设置IR7-IR4的不同状态,观察ADD至STP九条机器指令微地址转移逻辑功能的实现。(用逻辑笔测试有关逻辑电路的电平,分别做出测试记录,自行设计表格。)(6)设置IR7-IR4的不同组合,用单拍方式执行ADD至STP九条机器指令微程序,用微地址和P字段指示灯跟踪微程序转移和执行情况。用逻辑笔测试小插座上输出的微命令信号,记录ADD,SUB,LDA,STA四条机器指令的微命令信号,B:实验步骤:第一步,接线跳线开关J1用短路子短接。控制器的输入C接K0。
15、,IR4接K1,IR5接K2,IR6接K3,IR7接K4,TJI接K5,SKIP接GND。合上电源。按CLR#按钮,使实验系统处于初始状态。第二步,观察时序信号波形令K5(TJI)= 0,置DP = 0,DZ = 0,DB =0。按QD按钮,则时序部分开始不停止的运行,直到按CLR#按钮为止。用双踪示波器观察MF、T1、T2、T3、T4、W1、W2、W3、W4信号。观察的方法是同时观察两路信号,以便比较相位。可按下述顺序进行:MF和T1,T1和T2,T2和T3,T3和T4,T1和W1,W1和W2,W2和W3,W3和W4。根据观察的结果,可画出波形图。波形图的图形请参看第一节图3的基本时序图。M。
16、F的周期为1000毫秒,占空比为50%。第三步,微地址转移演示控制存储器地址0号单元存放的第一条微指令,其判断测试字段P3P2P1P0=1000,下地址字段0111B(07H)1.置SWC = 0、SWB = 0、SWA = 1,开机,按CLR#按钮后,使实验系统处于初始状态,控制存储器地址为0, 取出第一条微指令.经P3测试地址转换逻辑产生下一条微指令的地址为B(17H),按一次QD按钮(产生T1),将17H打入uAR,加至控制存储器的地址线上,微地址17H单元存放的微命令输出.17H单元开始的是一段从双端口RAM左端口读数的微程序(KWE).2.置SWC = 0、SWB = 1、SWA =。
17、 0,按CLR#按钮后,控制存储器地址为0, 取出第一条微指令.经P3测试地址转换逻辑产生下一条微指令的地址为B(27H),按一次QD按钮(产生T1),将27H打入uAR,加至控制存储器的地址线上,微地址27H单元存放的微命令输出.27H单元开始的是一段向双端口RAM左端口写数的微程序(KWE).3.置SWC = 0、SWB = 1、SWA = 1,开机,按CLR#按钮后,控制存储器地址为0, 取出第一条微指令.经P3测试地址转换逻辑产生下一条微指令的地址为B(37H),按一次QD按钮(产生T1),将37H打入uAR,加至控制存储器的地址线上,微地址37H单元存放的微命令输出.37H单元开始的。
18、是一段向寄存器堆写数的微程序(KLD).4.置SWC = 1、SWB = 0、SWA = 0,开机,按CLR#按钮后,控制存储器地址为0, 取出第一条微指令.经P3测试地址转换逻辑产生下一条微指令的地址为B(47H),按一次QD按钮(产生T1),将47H打入uAR,加至控制存储器的地址线上,微地址47H单元存放的微命令输出.47H单元开始的是一段从寄存器堆读数的微程序(KRR).5.置SWC = 0、SWB = 0、SWA = 0,开机,按CLR#按钮后,控制存储器地址为0, 取出第一条微指令.经P3测试地址转换逻辑产生下一条微指令的地址为B(07H),按一次QD按钮(产生T1),将07H打入。
19、uAR,加至控制存储器的地址线上,微地址07H单元存放的微命令输出.07H单元存放的是一条输入机器语言程序首地址并传给PC的微指令.第四步,微程序的执行过程一条机器指令的从取指到执行需要经过执行多条微指令来完成.TEC-4计算机取指微指令存放在控制器05H的单元.取出指令以后,根据机器指令的操作码转到不同的微地址执行.下面以加法指令为例,说明微指令的执行过程.1.第一条指令(05H单元)输出的微命令有:置M3=0,LDAR2=1(将PC的值打入AR2);置CER=1,LDIR=1(从RAM的右端口取出机器指令放入IR);置PC-INC=1(PC+1-PC).由于这条微指令的P3P2P1P0=0。
20、100,下地址字段为B,取出的操作码IR7IR4=0000,经P2测试地址转移产生下一条微指令的地址为B(10H),按QD按钮(产生T1),将10H打入uAR,加至控制存储器的地址线上,微地址10H单元存放的微命令输出.2.第二条指令(10H单元)输出的微命令有:置M1=0,LDAR1=1(将寄存器堆B端口的数据打入DR1);置M2=0,LDIR2=1(将寄存器堆A端口的数据打入DR1).由于这条微指令的P3P2P1P0=0000,下地址字段为B(3BH),下一条微指令的地址为3BH.按QD按钮(产生T1),将3BH打入uAR,加至控制存储器的地址线上,微地址3BH单元存放的微命令输出.3.第。
21、三条指令(3BH单元)输出的微命令有:使S2=0,S1=1,S0=0(ALU进行加法运算);ALU_BUS=1(运算结果送往数据总线DBUS).LDER=1(将DBUS上的数据打入暂存寄存器ER).由于这条微指令的P3P2P1P0=0000,下地址字段为B(34H),下一条微指令的地址为B(34H),按QD按钮(产生T1),将34H打入uAR,加至控制存储器的地址线上,微地址34H单元存放的微命令输出.4.第四条指令(34H单元)输出的微命令有:使WRD=1(将暂存寄存器ER中的数据写入WR1,WR0选中的寄存器中).由于这条微指令的P3P2P1P0=0000,下地址字段为B(0FH),下一条。
22、微指令的地址为B(0FH),按QD按钮(产生T1),将0FH打入uAR,加至控制存储器的地址线上,微地址0FH单元存放的微命令输出.第五步置DP=1,DB=0,DZ=0(单拍运行,每次只运行一条微指令)每按一次QD按钮,顺序产生T1,T2,T3,T4各一个脉冲.用逻辑笔分别观测T1T4.第六步置SWC=0,SWB=0,SWA=0(启动程序PR),通过单拍运行方式观测验证各条机器指令的微地址转移逻辑功能CPU组成与机器指令执行实验A:(1)对机器指令系统组成的简单程序进行译码。将下表的程序按指令格式手工汇编成十六进制机器代码,此项任务应在预习时完成。地址指令机器代码00HLDA R0,R20 1。
23、 0 1 1 0 0 001HLDA R1,R30 1 0 1 1 1 0 102HADD R0,R10 0 0 0 0 1 0 003HJC+51 0 0 1 0 1 0 104HAND R2,R30 0 1 1 1 1 1 005HSUB R3,R20 0 0 1 1 0 1 106HSTA R3,R20 1 0 0 1 0 1 107HMUL R0,R10 0 1 0 0 1 0 008HSTP0 1 1 0 09HJMPR11 0 0 0 0 1 (2)按照下面框图,参考前面实验的电路图完成连线,控制器是控制部件,数据通路(包括上面各模块)是执行部件,时序发生器是时序部件。连线包括控制。
24、台、时序部分、数据通路和微程序控制器之间的连接。其中,为把操作数传送给通用寄存器组RF,数据通路上的RS1,RS0,RD1,RD0应分别与IR3至IR0连接,WR1,WR0也应接到IR1,IR0上。(3)将上述任务(1)中的程序机器代码用控制台操作存入内存中,并根据程序的需要,用数码开关SW7-SW0设置通用寄存器R2,R3及内存相关单元的数据。注意:由于设置通用寄存器时会破坏内存单元的数据,因此应先设置寄存器的数据,再设置内存数据。(4)用单拍(DP)方式执行一遍程序,列表记录通用寄存器堆RF中四个寄存器的数据,以及由STA指令存入RAM中的数据(程序结束后从RAM的相应单元中读出),与理论。
25、分析值作对比。单拍方式执行时,注意观察微地址指示灯、IR/DBUS指示灯、AR2/AR1指示灯、微地址指示灯和判断字段指示灯的值,以跟踪程序中取指令和执行指令的详细过程(可观察到每一条微指令)。(5)以单指(DZ)方式重新执行程序一遍,注意观察IR/DBUS指示灯、AR2/AR1指示灯的值(可观察到每一条机器指令)。列表记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。注意:单指方式执行程序时,四个通用寄存器和RAM中的原始数据与第一遍执行程序的结果有关。(6)以连续方式(DB,DP,DZ都设为0)再次执行程序。这种情况相当于计算机正常运行程序。由于程序中有停。
26、机指令STP,程序执行到该指令时自动停机。列表记录RF中四个寄存器的数据,以及由STA指令存入RAM中的数据,与理论分析值作对比。注意,程序执行前的原始数据与第二遍执行结果有关。请修改程序,RF数据由主存加载。B:实验步骤:第一步,对机器指令系统组成的简单程序进行译码。地址指令机器代码00HLDAR0,R258H01HLDA R1,R35DH02HADD R0,R104H03HJC +596H04HAND R2,R33EH05HSUB R3,R21BH06HSTA R3,R24BH07HMUL R0,R124H08HSTP60H09HJMP R184H第二步,接线本实验的接线比较多,需仔细。1。
27、将跳线开关J1用短路子短接。时序发生器的输入TJI接控制存储器的输出TJ。控制器的输入C接运算器ALU的C。控制器的输入IR7、IR6、IR5、IR4依次指令寄存器IR的输出IR7、IR6、IR5、IR4。共6条线。2控制器的输出LDIR(CER)、LDPC(LDR4)、PC_ADD、PC_INC、M4、LDIAR、LDAR1(LDAR2)、AR1_INC、M3、LDER、IAR_BUS#、SW_BUS#、RS_BUS#、ALU_BUS、CEL#、LRW、WRD、LDDR1(LDDR2)、M1(M2)、S2、S1、S0 依次与数据通路的对应信号连接。共27条线。3指令寄存器IR的输出IR0接双。
28、端口寄存器堆的RD0、WR0,IR1接RD1、WR1,IR2接RS0,IR3接RS1。共6条线。合上电源。按CLR#按钮,使实验系统处于初始状态。第三步,利用控制台微程序KLD设置通用寄存器R2、R3的值在本操作中,我们打算使R2 = 60H,R3 = 61H。1令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令SWC = 0、SWB = 1、SWA = 1,使实验系统处于寄存器加载工作方式KLD。按CLR#按钮,使实验系统处于初始状态。2 在SW7SW0上设置一个存储器地址,该存储器地址供设置通用寄存器使用。该存储器地址最好是不常用的一个地址,以免设置通用寄存器操作破坏。
29、重要的存储器单元的内容。例如可将该地址设置为0FFH。按一次QD按钮,将0FFH写入AR1和AR2。3 在SW7SW0上设置02H,作为通用寄存器R2的寄存器号。按一次QD按钮,则将02H写入IR。4 在SW7SW0设置60H,作为R2的值。按一次QD按钮,将60H写入IR指定的R2寄存器。5 在SW7SW0上设置03H,作为通用寄存器R3的寄存器号。按一次QD按钮,将03H写入IR。6 在SW7SW0设置61H,作为R3的值。按一次QD按钮,将61H写入R3。7 设置R2、R3结束,按CLR#按钮,使实验系统恢复到初始状态。第四步,利用控制台微程序KWE存程序机器代码本操作中,我们从00地址。
30、开始存10个机器代码:58H,5DH,04H,95H,3EH,1BH,4BH,24H,60H,84H。在60H存入24H,用于给R0置初值;在61H存入83H,用于给R0置初值。1 令DP = 0,DB = 0,DZ =0,使实验系统处于连续运行状态。令SWC = 0、SWB = 1、SWA = 0,使实验系统处于写双端口存储器工作方式KWE,如图所示。按CLR#按钮,使实验系统处于初始状态。2 置SW7SW0为00H,按QD按钮,将00H写入AR1。3 置SW7SW0 为58H,按QD按钮,将58H写入存储器00H单元。AR1自动加1,变为01H。4 置SW7SW0为5DH,按QD按钮,将5。
31、DH写入存储器01H单元。AR1自动加1,变为02H。5 按QD按钮,使AR1+1。AR1此时为02H。6 重复进行下去,一直到将84H写入存储器09H单元。按CLR#按钮,使实验系统恢复到初始状态。7 置SW7SW0为60H,按QD按钮,将60H写入AR1。8 置SW7SW0 为24H,按QD按钮,将24H写入存储器60H单元。AR1自动加1,变为61H。9 置SW7SW0 84H,按QD按钮,将83H写入存储器61H单元。按CLR#按钮,使实验系统恢复到初始状态。第五步,用单拍(DP)方式执行一遍程序。在单拍执行过程中,首先要随时监测AR2的值和IR的值,以判定程序执行到何处,正在执行哪条。
32、指令。监测微地址指示灯和判断字段指示灯,对照微程序流程图,可以判断出微指令的地址和正在进行的微操作。程序执行的结果如下:初值:R0未定,R1未定,R2 = 60H,R3 = 61H。存储器60H单元的内容是24H,61H单元的内容是83H。1 LDA R0,R2执行结果 R2 = 60H,R0 = 24H。2 LDA R1,R3执行结果 R3 = 61H,R1 = 83H。3 ADD R0,R1执行结果 R0 = 0A7H,R1 = 83H,C = 0。4JC +5执行结果转移到03H,因为C = 0。5AND R2,R3执行结果 R2 =60 H,R3 =61H。6SUB R3,R2执行结果。
33、 R2 = 60H,R3 = 01H7STA R3,R2执行结果 R2 = 60H,R3 = 01H,存储器60单元的内容为01H。8MUL R0,R1执行结果 R0 = 15H,R1 = 83H9STP执行结果:无变化10JMP R1执行结果 转移到83H。第一遍执行结束。执行结果是R0 = 15H,R1 = 83H,R2 = 60H,R3 = 01H,存储器60H单元的内容是01H,61H单元的内容是83H。第六步,用单指(DZ)方式执行一遍程序。初值: R0 = 15H,R1 = 83H,R2 = 60H,R3 = 01H,存储器60H单元的内容是01H,61H单元的内容是83H。1LD。
34、A R0,R2执行结果 R2 = 60H,R0 = 01H。2LDA R1,R3执行结果 R3 = 01H,R1 = 5DH。3ADD R0,R1执行结果 R0 = 5EH,R1 = 5DH,C = 044JC +5执行结果转移到03H,因为C = 0。5AND R2,R3执行结果 R2 =00 H,R3 =01H。6SUB R3,R2执行结果 R2 = 00H,R3 = 01H7STA R3,R2执行结果 R2 = 00H,R3 = 01H,存储器00单元的内容为01H。8MUL R0,R1执行结果 R0 = 0B6H,R1 = 5DH9STP执行结果:无变化10JMP R1执行结果 转移到。
35、5CH第二遍执行结束。执行结果是R0 = 9CH,R1 = 5CH,R2 = 00H,R3 = 01H,存储器60H单元的内容是01H,61H单元的内容是83H,00H单元的内容为01H。第七步,用连续方式执行一遍程序由于00单元的内容已被修改,因此在执行前应首先恢复00H单元的内容58H。初值:R0 = 0B6H,R1 = 5DH,R2 = 00H,R3 = 01H,存储器60H单元的内容是01H,61H单元的内容是83H,00H单元的内容为58H。1LDA R0,R2执行结果 R2 = 00H,R0 = 58H。2LDA R1,R3执行结果 R3 = 01H,R1 = 5DH。3ADD R。
36、0,R1执行结果 R0 = 0B5H,R1 = 5DH,C = 044JC +5执行结果转移到03H,因为C = 0。5AND R2,R3执行结果 R2 =00 H,R3 =01H。6SUB R3,R2执行结果 R2 = 00H,R3 = 01H7STA R3,R2执行结果 R2 = 00H,R3 = 01H,存储器00单元的内容为01H。8MUL R0,R1执行结果 R0 = 41H,R1 = 5DH9STP执行结果:无变化五、实验感想:刚开始时,对于我要做什么真的是一点都不明白,后来随着时间的推移,对着书本研究和同学们一起探讨,渐渐地找到了方向。做实验的第一天和第二天,依据老师的安排把书本。
37、上那四十多条微指令转化为二进制代码,仔细弄清指令的流程图,把整个流程图搞懂。第三天就是要开始动手做第一个实验了,和同学们一起探讨、研究,经过很多困难总算是把老师的要求完成了,也就是知道如何去完成实验,不仅仅只是在思考。经过大家的探讨,我知道了自己的问题所在。也完善了自己的实验。接下来的几次课程我们大家一起研究剩下的两个实验,因为第二个试验跟第一个试验差不多,只要把程序设计出来就可以了,步骤跟第一个差不多,所以相对来说要简单些。但是对于之后一个中断的实验,我们没有很好的完成,这也是本次实验的一个遗憾的地方、最后老师将中断作为了选作实验,由于时间的关系,我们也没有继续做下去,而是把已经做到的成果找老师顺利验收了,由于练习的次数很多,所以整个验收过程还是比较顺利的。在回答完老师提出的附加问题后,我们的课程设计就结束了。在这次试验中,流程图看上去很庞大,很复杂化,但是,只要认真去研究,搞清楚原理,理解里面每个步骤之间的关系,这个实验也就不那么复杂了,关键是要静下心去研究,去思考,去设计。这种实验其实是一种很快乐的活动,特别是每当成功的完成一个实验时,那种感觉就很让人兴奋。这种实验课的意义非常好,不但有助于提高我们的动手能力,而且还培养了我们的兴趣,真正起到了良好的教育作用。