大连理工大学软件学院计算机组成原理实验报告_第1页
大连理工大学软件学院计算机组成原理实验报告_第2页
大连理工大学软件学院计算机组成原理实验报告_第3页
大连理工大学软件学院计算机组成原理实验报告_第4页
大连理工大学软件学院计算机组成原理实验报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

...wd......wd......wd...大连理工大学本科实验报告课程名称:学院〔系〕:专业:班级:学号:学生姓名:年月日实验工程列表序号实验工程名称学时成绩指导教师预习操作结果1部件实验122一位数乘法程序实验163二位数乘法程序实验8456789101112131415161718总计学分:1.536大连理工大学实验预习报告学院〔系〕:专业:班级:姓名:学号:组:___实验时间:实验室:实验台:指导教师签字:成绩:一、部件实验报告实验名称:部件实验——总线数据传输实验实验目的:了解总线在计算机中的作用及数据传输原理实验要求:把内存作为中间介质,完成存放器间的数据传输实验原理图:〔P32〕实验操作步骤〔流程图〕开始开始将开关s0-s7置11110000 上拨S13、S11把数据11110000存入373把数据11110000存入373将开关全部复位 将开关s0-s7置10101010 上拨S13、S10,下拨S10把数据10101010存入374把数据10101010存入374将开关全部复位上拨S12、S16、S15将373的数据11110000送到ROM将373的数据11110000送到ROM 将开关全部复位 上拨S9、S11将374的数据10101010送到373将374的数据10101010送到373 将开关全部复位上拨S23、S10,下拨S10将RAM中的数据11110000送到374将RAM中的数据11110000送到374结束 将开关全部复位结束实验体会、意见、建议体会:通过这次实验,我对总线的作用和数据的传输原理有了初步的了解。在实验过程中,开关的上拨顺序〔有些开关必须先于某些上拨才能正常进展〕和复位顺序很重要,一般遵照先拨后复位的顺序进展。另外S10比拟特殊是下降沿有效,所以需拨两次。 意见及建议:关于部件的实验过于简单和单调,建议增加关于部件的实验内容。大连理工大学实验预习报告学院〔系〕:专业:班级:姓名:学号:组:___实验时间:实验室:实验台:指导教师签字:成绩:二、8位微程序控制计算机预习报告1一位乘法程序的*.LST文件〔要在重要地方加注释行,尽量使原程序易读〕1 0000 ORG02 0000 STRT:3 0000 3C00 MOVR4,#04 0002 3B00 MOVR3,#05 0004 3D0A MOVR5,#106 0006 600000 JKBSTRT7 0009 408001 LDA8001H8 000C 0F MOVR7,A9 000D L1:10 000D 60000D JKBL111 0010 408001 LDA8001H12 0013 0E MOVR6,A13 0014 3001 MOVA,#414 0016 488002 STA8002H15 0019 L2:16 0019 680019 JPBL217 001C 300A MOVA,#0AH18 001E 488002 STA8002H19 0021 L3:20 0021 680021 JPBL321 0024 3010 MOVA,#10H22 0026 27 ADDA,R723 0027 488002 STA8002H24 002A L4:25 002A 68002A JPBL426 002D 3009 MOVA,#927 002F 488002 STA8002H28 0032 L5:29 0032 680032 JPBL530 0035 300A MOVA,#0AH31 0037 488002 STA8002H32 003A L6:33 003A 68003A JPBL634 003D 3010 MOVA,#10H35 003F 26 ADDA,R636 0040 488002 STA8002H37 0043 L7:38 0043 680043 JPBL739 0046 300A MOVA,#0AH40 0048 488002 STA8002H41 004B L8:42 004B 68004B JPBL843 004E 300A MOVA,#0AH44 0050 488002 STA8002H45 0053 L9:46 0053 680053 JPBL947 0056 06 MOVA,R6;把R6当作计数器48 0057 3A01 MOVR2,#149 0059 3B00 MOVR3,#00H50 005B L10:;循环加被乘数,并把结果存在R3中51 005B 2A SUBA,R252 005C 500067 JCL1153 005F 0E MOVR6,A54 0060 03 MOVA,R355 0061 27 ADDA,R756 0062 0B MOVR3,A57 0063 06 MOVA,R658 0064 58005B JMPL1059 0067 L11:60 0067 03 MOVA,R3;别离R361 0068 2D SUBA,R562 0069 500073 JCL1263 006C 0B MOVR3,A64 006D 04 MOVA,R465 006E 22 ADDA,R2;计算十位66 006F 0C MOVR4,A;把十位存入R4中67 0070 580067 JMPL1168 0073 L12:69 0073 04 MOVA,R470 0074 2A SUBA,R2;判断十位R4是否为071 0075 50008B JCL1372 0078 03 MOVA,R373 0079 C1:74 0079 680079 JPBC175 007C 488002 STA8002H76 007F C2:77 007F 68007F JPBC278 0082 3010 MOVA,#10H79 0084 24 ADDA,R480 0085 488002 STA8002H81 0088 580094 JMPOVER82 008B L13:83 008B 68008B JPBL1384 008E 3010 MOVA,#10H85 0090 23 ADDA,R386 0091 488002 STA8002H87 0094 OVER:88 0094 580000 JMPSTRT开始2一位乘法程序流程图开始00—>R50—0—>R40—>R3输入被乘数输入被乘数A—A—>R7输入乘数输入乘数AA—>R6打印打印“*〞打印空格打印被乘数打印被乘数并换行打印打印“=〞打印空格打印空格打印被乘数高位打印被乘数高位并换行打印空格打印空格打印空格#1#1—>R2R6R6—>AAA—R2—>AA<0 是R3+R7—>R3R6—>AR3+R7—>R3R6—>AA—>R6R3R3—>AAA—10—>AA<0 是否AA—>R3R4+1R4+1—>R4R4R4—>AAA—1—>AA<0 是否打印R4打印R4打印R3打印R3并换行重新开场重新开场大连理工大学实验报告学院〔系〕:专业:班级:姓名:学号:组:___实验时间:实验室:实验台:指导教师签字:成绩:三、8位微程序控制计算机实验报告实验名称:8位微程序控制计算机实验实验目的:了解微程序控制计算机的工作原理及实现方法、初步学会程序的流程图画法及程序的模块化设计、调试方法。实验要求:〔任务〕建设指令集文件〔*.DEF指令系统〕建设微程序文件〔*.M19〕编写二位乘法程序,通过调试观察汇编指令在微程序控制计算机中的实施过程,学会程序设计中的流程图,模块化设计及调试方法。实验原理图:〔P46〕要求将CPU的各信号加方向标,延伸IR〔指令存放器〕下面如何接微程序控制局部以及各部件的控制端口与微指令发出口的联结。5〕实验原理:要求通过一条具体汇编指令说明本实验计算机的工作原理及实现方法〔从PC=0、MPC=0形成开场说起,为什么程序可以连续执行〕计算机在生成MPC=0后,会执行控存中的取指令语句,一次计算机开场执行程序的第一条指令,比方JKB指令,在CPU执行完从键盘承受输入并存入相应地址空间后,从指令编码表可知JKB指令的最后一组命令是取指令信号,因此CPU又开场执行下一条指令。可知每条指令的最后一组信号都是取指令,一次CPU会以取指→译码→执行的方式循环执行。6〕指令集文件〔*.DEF〕-MOVA,Ri00000iii-MOVRi,A00001iii-ADDA,Ri00100iii-SUBA,Ri00101iii-MOVA,#data800110000dddddddd-MOVRi,#data800111iiidddddddd-LDAaddr01000000aaaaaaaaaaaaaaaa-STAaddr01001000aaaaaaaaaaaaaaaa-JCaddr01010000aaaaaaaaaaaaaaaa-JMPaddr01011000aaaaaaaaaaaaaaaa-JKBaddr01100000aaaaaaaaaaaaaaaa-JPBaddr01101000aaaaaaaaaaaaaaaa-enddef7〕指令流程表〔P52~53〕指令助记符指令功能指令编码I7~I0节拍微操作控制信号控制信号的有效性取址微指令T0(pc)→AB(M)→IR(PC)+1→PC(A)→ACTMXA1MPLD,G1,CRDPINCCG00,0,010MOVA,Ri(Ri)→A00000iiiT1(Ri)→ALU→DB→AS2,S1,S0,OB,X1,X00,1,1,0,1,1MOVRi,A(A)→Ri00001iiiT1(ACT)→ALU→DB→RiS2,S1,S0,OB,WRE0,1,0,0,0ADDA,Ri(A)+(Ri)→A00100iiiT1(ACT)+(Ri)→DB→ACIN→CYS2,S1,S0,OB,X1,X0,CP0,0,0,0,1,1,0SUBA,Ri(A)-(Ri)→A00101iiiT1(ACT)-(Ri)→DB→ACIN→CYS2,S1,S0,OB,X1,X0,CP0,0,1,0,1,1,0MOVA,#data8data8→A00110000ddddddddT1(PC)→AB(M)→DB→A(PC)+1→PCMXA1X1,X0,CRDPINC01,1,01MOVRi,#data8data8→Ri00111iiiddddddddT1(PC)→AB(M)→DB→Ri(Pc)+1→PCMXA1WRE,WRDPINC00,01LDAaddr(addr)→A01000000aaaaaaaaaaaaaaaaT1(PC)→AB,(M)→ADRH,(PC)+1→PCMXA1,GA2,PINC,CRD0,0,1,0T2(PC)→AB,(M)→ADRL,(PC)+1→PCMXA1,GA1,PINC,CRD0,0,1,0T3(ADR)→AB,(M)→AMXA1,X1,X0,CRD1,1,1,0STAaddr(A)→addr01001000aaaaaaaaaaaaaaaaT1(PC)→AB,(M)→ADRH,(PC)+1→PCMXA1,GA2,PINC,CRD0,0,1,0T2(PC)→AB,(M)→ADRL,(PC)+1→PCMXA1,GA1,PINC,CRD0,0,1,0T3(ADR)→AB,(ACT)→ALU→DB→MMXA1,OB,CWR1,0,0JCaddrifCY=1thenaddr→PCelse(PC)+3→PC01010000aaaaaaaaaaaaaaaaT1(PC)→AB,(M)→ADRH,(PC)+1→PCMXA1,GA2,PINC,CRD0,0,1,0T2(PC)→AB,(M)→ADRL,(PC)+1→PCMXA1,GA1,PINC,CRD0,0,1,0T3(ADR)→ABPCMXA1,PL2,PL1,PL01,0,0,1JMPaddraddr→PC01011000aaaaaaaaaaaaaaaaT1(PC)→AB,(M)→ADRH,(PC)+1→PCMXA1,GA2,PINC,CRD0,0,1,0T2(PC)→AB,(M)→ADRL,(PC)+1→PCMXA1,GA1,PINC,CRD0,0,1,0T3(ADR)→AB→PCMXA1,PL2,PL1,PL01,0,1,0JKBaddrifKRIX=0thenaddr→PCelse(PC)+3→PC01100000aaaaaaaaaaaaaaaaT1(PC)→AB,(M)→ADRH,(PC)+1→PCMXA1,GA2,PINC,CRD0,0,1,0T2(PC)→AB,(M)→ADRL,(PC)+1→PCMXA1,GA1,PINC,CRD0,0,1,0T3(ADR)→ABPCMXA1,PL2,PL1,PL01,0,1,1JPBaddrifPRIX=0thenaddr→PCelse(PC)+3→PC01101000aaaaaaaaaaaaaaaaT1(PC)→AB,(M)→ADRH,(PC)+1→PCMXA1,GA2,PINC,CRD0,0,1,0T2(PC)→AB,(M)→ADRL,(PC)+1→PCMXA1,GA1,PINC,CRD0,0,1,0T3(ADR)→ABPCMXA1,PL2,PL1,PL01,1,0,0微指令编码表〔P54~55〕指令助记符位3029282726252421181615141312111097210信号S2S1S0CINX1X0CGCPWREOBGIGA1GA2PINCPL2PL1PL0MXA1CWRCRDMPLD微指令码16进制有效电平******00000001****000微地址取指令0000H000000011101110000100002570040001H0002H0003H0004H0005H0006Hmova,ri0007H0110111110111000001113724E2870008H000000011101110000100002570040009H000AH000BH000CH000DH000EHmovri,a000FH0100001100111000001112120E0070010H000000011101110000100002570040011H0012H0013H0014H0015H0016Haddra,ri0027H0000111010111000001110704E0070028H000000011101110000100002570040029H002AH002BH002CH002DH002EH指令助记符位3029282726252421181615141312111097210信号S2S1S0CINX1X0CGCPWREOBGIGA1GA2PINCPL2PL1PL0MXA1CWRCRDMPLD微指令码16进制有效电平******00000001****000微地址suba,ri002FH0010111010111000001111704E0070030H000000011101110000100002570040031H0032H0033H0034H0035H0036Hmova,#data80037H0000111111111100001010725F0050038H000000011101110000100002570040039H003AH003BH003CH003DH003EHmovri,#data8003FH0000001101111100001010121F0050040H000000011101110000100002570040041H0042H0043H0044H0045H0046Hldaaddr0047H0000001111110100001010125D0050048H0000001111101100001010125B0050049H0000111111111000011010725E085004AH00000001110111000010000257004004BH004CH004DH004EH指令助记符位3029282726252421181615141312111097210信号S2S1S0CINX1X0CGCPWREOBGIGA1GA2PINCPL2PL1PL0MXA1CWRCRDMPLD微指令码16进制有效电平******00000001****000微地址staaddr004FH0000001111110100001010125D0050050H0000001111101100001010125B0050051H0100001110111000010112124E0830052H010000111011100001011002570040053H0054H0055H0056Hjcaddr0057H0000001111110100001010125D0050058H0000001111101100001010125B0050059H0000001110111000111110124E287005AH00000001110111000010000257004005BH005CH005DH005EHjmpaddr005FH0000001111110100001010125D0050060H0000001111101100001010125B0050061H0000001110111001011110124E4870062H000000011101110000100002570040063H0064H0065H0066Hjkbaddr0067H0000001111110100001010125D0050068H0000001111101100001010125B0050069H0000001110111001111110124E687006AH00000001110111000010000257004006BH006CH006DH006EH指令助记符位3029282726252421181615141312111097210信号S2S1S0CINX1X0CGCPWREOBGIGA1GA2PINCPL2PL1PL0MXA1CWRCRDMPLD微指令码16进制有效电平******00000001****000微地址jpbaddr006FH0000001111110100001010125D0050070H0000001111101100001010125B0050071H0000001110111010011110124E8870072H000000011101110000100002570040073H0074H0075H0076H9〕实验操作步骤流程图。该流程图应包括以下几个局部:〔可以设为不是第一次使用,但要注意操作过程的实际情况而非理想情况〕〔1〕建指令集文件〔*.DEF〕—语法检查成功否〔2〕原程序编译;原程序编译--成功否〔3〕烧结cpu8V1.bit—成功否〔4〕调试〔Umdebugger〕设实验方式、扩展观察窗口、下载S19.M19文件调试乘法程序--成功否开始开始语法检查成功建指令文集语法检查成功建指令文集否 是原程序编译成功否原程序编译原程序编译成功否原程序编译否是烧结cpu8V1.bit烧结cpu8V1.bit烧结成功否烧结成功否否是成功否设串口成功否设串口、实验方式否是成功否下载S19.M19文件口成功否设扩展观察窗口成功否下载S19.M19文件口成功否设扩展观察窗口否是否是调试乘法程序调试乘法程序成功否成功否检查出错指令,并在有必要时适当修改指令集、源程序、m19文件。重新开场检查出错指令,并在有必要时适当修改指令集、源程序、m19文件。重新开场否结束是结束10〕二位乘法程序流程图:要求分成3个局部〔1〕数据输入、运算式打印局部〔2〕乘积运算局部〔3〕数据位的别离与打印结果局部〔1〕数据输入、运算式打印局部:开始开始输入被乘数高位输入被乘数高位AA—>R6输入被乘数低位输入被乘数低位AA—>R7打印空格打印空格打印空格打印被乘数低位打印被乘数低位打印被乘数高位并换行打印被乘数高位并换行打印打印“*〞打印空格打印空格输入乘数高位输入乘数高位AA—>R4输入乘数低位输入乘数低位AA—>R5打印乘数低位打印乘数低位打印乘数高位并换行打印乘数高位并换行打印空格打印打印空格打印“=〞〔2〕乘积运算局部00—>R00—>R100—>R20—>R3R5R5—>AAA—1—>AA<0 是R3+R7—>R3R2+R6—>R2否R3+R7—>R3R2+R6—>R2A-1—>R5R4R4—>AA—1A—1—>AA<0A-1A-1—>R4 是否R2+R7R2+R7—>R2R1+R6—>R1〔3〕数据位的别离与打印结果局部R3R3—>AA-10<0?A-10<0? 是 否AA—>R3R2+1—>R2R2R2—>AA-10<0?A-10<0? 是 否AA—>R2R1+1—>R1R1R1—>AA-10<0?A-10<0? 是 否AA—>R1R0+1—>R0打印R3换行打印R3换行R0=0 否打印R3换行R1=0打印R3换行R1=0 否 是打印R3换行R2=0打印R3换行R2=0 是打印R3打印R3换行重新开场重新开场11〕程序文件〔只要*.LST文件,要在重要地方加注释行,尽量使原程序易读〕1 0000 ORG 02 0000 STAT:3 0000 600000 JKB STAT 4 0003 408001 LDA 8001H5 0006 0E MOV R6,A;输入被乘数的高位——>R66 0007 L1:7 0007 600007 JKB L1 8 000A 408001 LDA 8001H9 000D 0F MOV R7,A;输入被乘数的低位——>R710 000E L2:11 000E 68000E JPB L2 12 0011 300A MOV A,#0AH13 0013 488002 STA 8002H14 0016 L3:15 0016 680016 JPB L3 16 0019 300A MOV A,#0AH17 001B 488002 STA 8002H18 001E L4:19 001E 68001E JPB L4 20 0021 07 MOV A,R7;打印被乘数的低位21 0022 488002 STA 8002H22 0025 L5:23 0025 680025 JPB L5 24 0028 3010 MOV A,#10H25 002A 26 ADD A,R6;打印被乘数的高位26 002B 488002 STA 8002H27 002E L6:28 002E 68002E JPB L6 29 0031 3004 MOV A,#04H;打印乘号30 0033 488002 STA 8002H31 0036 L7:32 0036 680036 JPB L7 33 0039 300A MOV A,#0AH34 003B 488002 STA 8002H35 003E L8:36 003E 60003E JKB L8 37 0041 408001 LDA 8001H38 0044 0C MOV R4,A;输入乘数的高位——>R439 0045 L9:40 0045 600045 JKB L9 41 0048 408001 LDA 8001H42 004B 0D MOV R5,A;输入乘数的低位——>R543 004C L10:44 004C68004C45 004F 05 MOV A,R546 0050 488002 STA 8002H;打印乘数的低位47 0053 L11:48 0053 680053 JPB L11 49 0056 3010 MOV A,#10H50 0058 24 ADD A,R451 0059 488002 STA 8002H;打印乘数的高位52 005C L12:53 005C68005C54 005F 3009 MOV A,#09H55 0061 488002 STA 8002H;打印等号56 0064 L13:57 0064 680064 JPB L13 58 0067 300A MOV A,#0AH59 0069 488002 STA 8002H60 006C L14:61 006C 3000 MOV A,#0 ;清零62 006E 08 MOV R0,A63 006F 09 MOV R1,A64 0070 0A MOV R2,A65 0071 0B MOV R3,A66 0072 3001 MOV A,#01H67 0074 08 MOV R0,A68 0075 L15:69 0075 05 MOV A,R5 ;把R5当做计数器70 0076 28 SUB A,R071 0077 0D MOV R5,A72 0078 500084 JC L1673 007B 03 MOV A,R3;计算乘数个位与被乘数个位74 007C 27 ADD A,R7之积,并存于R375 007D 0B MOV R3,A76 007E 02 MOV A,R2;计算乘数十位与被乘数十位77 007F 26 ADD A,R6之积,并存于R278 0080 0A MOV R2,A79 0081 580075 JMP L1580 0084 L16:81 0084 3D01 MOV R5,#01H 82 0086 3800 MOV R0,#083 0088 L17:84 0088 04 MOV A,R4 ;把R4当做计数器85 0089 2D SUB A,R586 008A0C87 008B 500094 JC L1888 008E 02 MOV A,R2;计算乘数十位与被乘数个位89 008F 27 ADD A,R7之积,并与R2相加90 0090 0A MOV R2,A91 0091 01 MOV A,R1;计算乘数十位与被乘数十位92 0092 26 ADD A,R6之积,并存于R193 0093 09 MOV R1,A94 0094 L18:95 0094 3C0A MOV R4,#10 96 0096 03 MOV A,R3加到R2上97 0097 2C SUB A,R498 0098 5000A2 JC L1999 009B 0B MOV R3,A100 009C 02 MOV A,R2101 009D 25 ADD A,R5102 009E 0A MOV R2,A103 009F 580094 JMP L18104 00A2 105 00A2 02 MOV A,R2 ;别离R2,并把R2中的进位106 00A3 2C SUB A,R4加到R1上107 00A4 5000AE JC L20108 00A7 0A MOV R2,A109 00A8 01 MOV A,R1110 00A9 25 ADD A,R5111 00AA 09 MOV R1,A112 00AB 5800A2 JMP L19113 00AE L20:114 00AE 01 MOV A,R1 ;别离R1,并把R1中的进位115 00AF 2C SUB A,R4存在R0中116 00B0 5000BA JC L21117 00B3 09 MOV R1,A118 00B4 00 MOV A,R0119 00B5 25 ADD A,R5120 00B6 08 MOV R0,A121 00B7 5800AE JMP L20122 00BA L21:123 00BA 00 MOV A,R0124 00BB 2D SUB A,R5;验证R0是否是零125 00BC 5000C2 JC L22 126 00BF 58010B JMP L30 127 00C2 128 00C2 01 MOV A,R1;验证R1是否是零129 00C3 2D SUB A,R5130 00C4 5000CA JC L23 131 00C7 5800F1 JMP L27 132 00CA L23:133 00CA 02 MOV A,R2;验证R2是否是零134 00CB 2D SUB A,R5135 00CC 5000D2 JC L24 136 00CF 5800DE JMP L25 137 00D2 L24:138 00D2 6800D2 JPB L24 ;打印R3139 00D5 3010 MOV A,#10H140 00D7 23 ADD A,R3141 00D8 488002 STA 8002H142 00DB 58012C JMP OUT 143 00DE L25:144 00DE 6800DE JPB L25 ;打印R3145 00E1 03 MOV A,R3146 00E2 488002 STA 8002H147 00E5 L26:148

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论