![[计算机]微指令对应的机器码.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-1/8/85925351-055e-4a92-8540-d35eeb428f4f/85925351-055e-4a92-8540-d35eeb428f4f1.gif)
![[计算机]微指令对应的机器码.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-1/8/85925351-055e-4a92-8540-d35eeb428f4f/85925351-055e-4a92-8540-d35eeb428f4f2.gif)
![[计算机]微指令对应的机器码.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-1/8/85925351-055e-4a92-8540-d35eeb428f4f/85925351-055e-4a92-8540-d35eeb428f4f3.gif)
![[计算机]微指令对应的机器码.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-1/8/85925351-055e-4a92-8540-d35eeb428f4f/85925351-055e-4a92-8540-d35eeb428f4f4.gif)
![[计算机]微指令对应的机器码.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-1/8/85925351-055e-4a92-8540-d35eeb428f4f/85925351-055e-4a92-8540-d35eeb428f4f5.gif)
已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PC+1AR0000 0E00 9030 5402PC+1PC0000 0E00 B030 5400PC+1PC, AR0000 0E00 B030 5402MEMQ0000 0E00 00F0 0000MEM+QQ0000 0E00 00E0 0000QMEM0000 0E00 1020 0010(DC1选择运算器输出)MEM+QDR0000 0E00 30E0 0008 MEM*2DR0000 0E00 70F0 0008SR+MEMQ0000 0E00 00D0 0080SR+MEMDR0000 0E00 30D0 0088PC+1AR0000 0E00 90B0 5402PC-1AR0000 0E00 91B0 5402IP+1AR0000 0E00 9030 6402IP+OFFSETPC0000 0E00 30D6 5000ADDRPC0000 0E00 30F0 5000PCAR, PC+1PC0000 0E00 A0B5 5402DRAR0000 0E00 90B0 000ASRAR0000 0E00 90C0 0082MEMAR0000 0E00 10F0 0002DR-SR0000 0E01 9110 0088SR-MEM0000 0E01 11D0 0080Q-MEM0000 0E01 11E0 0000(11)比较SR和DR的大小,大于时 ADDR1-PC,小于等于 ADDR2+SR-ADDR2:=0000 0e00 a035 5402 0000 0e11 9210 0088 0042 4370 9000 0000 0041 4350 9000 0000 0029 0310 30f0 5000 0000 0e00 a035 5402 0000 0e10 10f0 0002 0000 0e10 00d0 0080 0029 0310 1020 0010 0000 0e10 b110 0088 0029 0300 b035 5400a800mov r1,900mov r2,bmov r3,100ldmcretg800a820mov r0,2mov r1,4mov r2,3mov 0890,r2nopnopnoprete828d410 0880 0890a880mov r3,100retg820(12)设计一条条件转移指令。将SR与内存单元DATA的值进行比较,如果SRDR,否则ADDR-PC=指令格式:D4 DR SRDATAADDR100:PC-AR, PC+1-PC (data) 0000 0E00 A0B5 5402 101:MEM-Q (data=88) 0000 0E00 00F0 0002 102:SR-Q,标志 0000 0E01 9280 0088 103:S=1时跳到107,否则顺序104 0041 D3B0 8000 0000 104:PC-AR (addr) 0000 0E00 A0B5 5002 105:MEM-PC (addr=082A) 0000 0E10 30F5 5000 106:CC#=0退出 0029 0300 9010 0000 107:SR+Q-DR, 标志 0000 0E10 B080 0088 108:PC+1-PC, CC#=0退出 0029 0300 B0B5 5400A8000800:MOV R1,900 ;微码在内存中的首地址0802:MOV R2,9 ;共 9条微指令0804:MOV R3,100 ;微码在微控存中的首地址0806:LDMC ;加载微码指令0807:RET0808:G800 ;加载微指令到控制存储器A820 MOV R1,99 ;R1是指令中的SR,用它和DATA比较NOPNOPNOPRETA82AMOV R8,D ;大于等于时,将会跳到82A执行这条赋值指令RET E822 输入以下内容:D421 88 82A运行结果G820 ;运行程序结果:1.SRDATA时SR=99DATA=100DR=1992.SRDATA时 SR=99DATA=99R8=000D (13)设计一条指令,比较SR内容与ADDR.如果SRADDR;否则SR-ADDR-ADDR.=100H: PC-AR,PC+1-PC: 0000 0E00 A0B5 5402101H: MEM-AR: 0000 0E00 10F0 0002102H: SR-MEM-Q: 0000 0E01 01D0 0080103H: 条件转移: 0041 43B0 9080 0000104H: Q-MEM,CC#=0: 0029 0300 1020 0010(SR=MEM) 105H: SR+MEM-Q: 0000 0E00 00D0 0080(SRMEM,CC#=0: 0029 0300 1020 0010A800MOV R1,900MOV R2,7MOV R3,100LDMCRETG800A820MOV R7,0001MOV R1,0002MOV 082A,R1NOPNOPRETE826D407 082AG820可以节省一条语句,在执行到105H的时候,让他无条件跳转到104H,就可以了!则:105H: SR+MEM-Q,条件转移: 0041 0E00 00D0 0080(SRMEM) 舍弃106H (14)设计一条指令,比较SR内容与ADDR.如果SRPC;否则SR+ADDR-DR.错误=100H: PC-AR: 0000 0E00 90B0 5002 101H: MEM-AR: 0000 0E00 10F0 0002 102H: SR-MEM: 0000 0E01 11D0 0080103H: 条件转移: 0041 83B0 9080 0000104H: SR+MEM-DR,CC#=0: 0029 4E10 30D0 0088 105H: PC+1-AR: 0000 0E00 90B0 5402106H: IP+MEM-PC: 0029 0300 20D6 5000(15)DRADDR则DR-ADDR-DR;DRDR=0000 0e10 a035 5402 0000 0e10 8030 0008 0000 0e10 10f0 000a 0000 0e11 11e0 0000 0041 c370 9080 0000 0041 c350 9080 0000 0029 0310 31e0 0008 0029 0310 30e0 0008a800mov r1,900mov r2,8mov r3,100ldmcretg800a820mov r0,5nopnoprete822d400 0890e8900003g820设计一条减法指令把内存单元数据DATA与用绝地址表示的内存单元ADDR的内容相减,结果存到DR寄存器中。1. 指令格式指令格式:D4 DRXADDRDATA2. 指令功能功能:DATA - ADDR DR3. 设计分析根据指令的功能和指令格式,先读取地址ADDR单元内容暂时放置于Q寄存器中,然后再读取内存单元数据DATA内容,同时与Q寄存器内容相减,结果也暂存放在Q寄存器中,最后把Q寄存器的运算结果传到DR中。4. 微程序 100:PCAR,PC+1PC:00000E00A0B55402101:MEMAR:00000E0010F00002102:MEMQ:00000E0000F00000103:PCAR,PC+1PC:00000E00A0B55402104:MEM-QDR,CC#=0:0029030132E000085. 加载微码到微控存程序段说明:微码存放在900H(或某内存单元)开始的内存单元中 A08000800:MOV R1,900;微码在内存中的首地址0802:MOV R2,5 ;微指令条数0804:MOV R3,100;微码在微控存中的首地址0806:LDMC ;加载微码指令,将微码指令加载到控存0807:RET0808: G08006. 运行程序段A08200820:MOV R0,00040822:MOV 0890,R00824:NOP 0825:NOP0826:NOP0827:RET E0824 然后输入以下内容:D410 0890 00137. 运行结果G0820RR1R1=0009设计一条同值补码数符号扩展指令设计一条指令,完成对存放在低位的8位有符号补码数进行符号扩展,即将其变为16位的同值得补码数,结果仍保存在原寄存器中。8. 指令格式指令格式:D4 DRX9. 指令功能功能:对存放在低位的8位有符号补码数进行符号扩展,即将其变为16位的同值得补码数,结果仍保存在原寄存器中。10. 设计分析正数的补码中符号位为0,各数位为其本身,负数的补码符号位为1,各数位为其的反,末尾再加一。那么对于正数的扩展,直接在高8位添0即可。对于负数的扩展,先假设把它还原成原码,符号位移动到最高位,然后变为反码,则高8位全为1,低8位与未扩展之前相同。综上,可以把待扩展的补码数通过左移9位得到其符号位,保存在C中。然后采用8次带符号位的右移操作,得到结果。11. 微程序 100:8RC:0002040080800000101:2DRDR:00000806F0B00008102:8RC:0002040080800000103:DR/2DR:00000800D0B00108104:CC#=0:002903008000000012. 加载微码到微控存程序段说明:微码存放在900H(或某内存单元)开始的内存单元中 A08000800:MOV R1,900;微码在内存中的首地址0802:MOV R2,5 ;微指令条数0804:MOV R3,100;微码在微控存中的首地址0806:LDMC ;加载微码指令,将微码指令加载到控存0807:RET0808: G080013. 运行程序段A08200820:MOV R0,00290822:MOV R1,00A90824:NOP0825:NOP0826:RET E0824 然后输入以下内容:D400 E0825 然后输入以下内容:D41014. 运行结果G0820RR0R0=0029RR1R1=FFA9设计一条条件控制转移指令设计一条指令,实现地功能是:(说明:其中有一种情况请用SCC=7,IR10IR8=07的条件实现)当DR=SR时,则IP+OFFSETPC;当DRSR时,则ADDRPC;否则执行下条汇编指令。(注:OFFSET为位移量;ADDR为某内存单元地址)1. 指令格式指令格式:D9 DRSROFFSETADDR2. 指令功能功能:当DR=SR时,则IP+OFFSETPC;当DRSR时,则ADDRPC;否则执行下条汇编指令。3. 设计分析指令通过比较DR和SR的大小实现语句的条件转移。先对DR和SR作差得到运算结果标志Z和符号标志S。首先根据Z进行转移,如果Z=1,那么说明DR=SR,跳转到CC#=0;否则顺序执行根据S进行转移,如果S=1,那么说明DRSR。根据Z转移利用的是SCC=7,IR10IR8=001的条件实现的,故操作码使用D9;而根据S转移是利用SCC=5的条件实现的。4. 微程序110:DR-SR,得到Z和S:00000E0191100088111:PCAR,PCQ:00000E0080305002112:IP+MEMPC,Z=1跳转116:004583F030D65000113:Q+1Q,QAR:00000E00B0200402114:MEMPC,S=1跳转116:004583B030F05000115:Q+1PC:00000E10B0205400116:CC#=0:0029030080000000或:110:DR-SR,得到Z和S:00000E0191100088111:PCAR,PC+1PC,Z=1跳转114:004503E0A0B55402112:PCAR,PC+1PC,S=1跳转115:004543B0A0B55402113:CC#=0:0029030080000000114:MEM+IPPC,CC#=0:0029030030D65000115:MEMPC,CC#=0:0029031030F050005. 加载微码到微控存程序段说明:微码存放在900H(或某内存单元)开始的内存单元中 A08000800:MOV R1,900;微码在内存中的首地址0802:MOV R2,7 ;微指令条数0804:MOV R3,110;微码在微控存中的首地址0806:LDMC ;加载微码指令,将微码指令加载到控存0807:RET0808: G08006. 运行程序段A08200820:MOV R8,0001;运行三次,R8分别为0,1,20822:MOV R9,00010824:NOP0825:NOP0826:NOP0827:MOV R1, 99;若DRSR,输出990829:RET082A:MOV R1,77;若DR=SR,输出77082C:RET082D:MOV R1,88;若DRE0824 然后输入以下内容:D989 0006 082D 7. 运行结果G0820RR1R1=77(当R8=0时,R1=88,当R8=2时,R1=99)设计一条半字交换指令设计一条指令,其功能是把一个通用寄存器中的内容进行半字交换,即将其高低位字节的内容对换。15. 指令格式指令格式:D8 DRX16. 指令功能功能:RAMH,RAML RAML,RAMH 17. 设计分析将DR的内容送去Q。利用DR和Q组成联合移位,联合右移8位后Q将为所求数,最后将Q送到DR,18. 微程序 100:DRQ,7RC; 0001C40080300008101:DRQ联合右移DRQ; 0000 0807 C0300208102:QDR,CC#=0: 00290300B020001819. 加载到微控存程序段说明:微码存放在900H(或某内存单元)开始的内存单元中 A8000800:MOV R1,900;微码在内存中的首地址0802:MOV R2,3 ;微指令条数0804:MOV R3,110;微码在微控存中的首地址0806:LDMC ;加载微码指令0807:RET0808:G80020. 运行程序段A8200820:MOV R9,12890822:NOP0824:RET E822 然后输入以下内容:D89021. 运行结果G820RR9R9=8912设计一条条件控制处理与转移指令设计一条指令,将SR的内容与内存单元数据DATA相比较,如果SRDATA,则执行DATA+SR DR,否则ADDR PC。1. 指令格式指令格式:D8DRSRDATAADDR2. 指令功能功能: 当SR=DATA时,则ADDR PC 3. 设计分析本次实验要求完成的是一条条件控制指令。首先,将DATA的地址放到AR,读出DATA放到寄存器Q,利用SR-Q得出标志位SF,再根据标志位SF判断跳转与否,如果SF=1,则跳到115,否则顺序执行114,之后再根据两个不同条件需要完成的操作实现。4. 微程序 110 :PCAR,PC+1PC; 0000 0E00 A0B5 5402 111 :MEMQ; 0000 0E00 00F0 0000 112 :SR-Q; 0000 0E01 9200 0080 113 :SF=1跳转PCAR,PC+1PC 00450041 43B0 A035 5402 114 :MEMPC CC#=0; 0029 0300 30F0 5000 115 :SR+QDR CC#=0; 0029 03010300 B000 0088 5. 加载微码到微控存程序段微码存放在900H(或某内存单元)开始的内存单元中 A8000800:MOV R1,900;微码在内存中的首地址0802:MOV R2,6 ;微指令条数0804:MOV R3,110 ;微码在微控存中的首地址0806:LDMC ;加载微码指令,将微码写入控存0807:RET0808: G800 ;加载微指令到控存6. 运行程序段A8200820:MOV R7,4444 0822:MOV R8,44440824:NOP0825: NOP0826: NOP0827: MOV R0,44440829: RET082A: MOV R0,5555082C: RET E826 输入以下内容:D878 4445 082A7. 运行结果G820DATASR,DATA=4445,SR=4444, DR=8889DATA=SR,DATA=4444,SR=4444, R0=5555DATAA0800 ;用A命令输入汇编指令0800:MOV R1,900 ;微码在内存中的首地址0802:MOV R2,A ;微指令条数0804:MOV R3,100;微码在微控存中的首地址0806:LDMC ;加载微码指令,将微码指令加载到控存0807:RET0808: G0800;用G命令运行加载微码的程序4. 运行程序段A0820 ; 0820:MOV R0,0011;把寄存器R0的值赋为00110822:MOV 0890,R00824:MOV 0891,R00826:NOP ;用3个空操作指令NOP 预留3个单元0827:NOP0828:NOP0829:RET082A: E0826 ;用E命令输入(修改)存储单元内容 然后输入以下内容:0820:D4000821:08900822:08910823:5. 运行结果G0820 ;用G命令执行汇编程序D0890 ;用D命令查看存储单元内容屏幕将显示:0890:0022 0891:0011 0890单元为0022,即运算结果正确。0022=0011(地址0890中原数据)+0011(地址0891中原数据)设计一条同值补码数符号扩展指令设计一条指令,完成对存放在低位字节的8位有符号补码数进行符号扩展,即将其变为16位的同值的补码数,结果仍保存在原寄存器中。1. 指令格式指令格式:D4DRX2. 指令功能功能:对存放在低位字节的8位有符号补码数进行符号扩展,即将其变为16位的同值的补码数,结果仍保存在原寄存器中。6. 设计分析对于有符号数的补码扩展,我们只要把符号位填充所有新扩展的高位即可。由此我们可以得到以下思路:先对DR循环左移9位(用4号命令,把8压进堆栈R/C中),使得符号位溢出进入标志位C。然后保持C不变,将DR和C联合循环右移9位,最终DR的高八位就变成了原补码数的符号位,就达到了符号扩展的目的。7. 微程序 110:8R/C:00020400B0300000111:2DRDR:00000806F0300008112:8R/C:00020400B0300000113:1/2DRDR:00290F20D03001088. 加载微码到微控存程序段说明:微码存放在900H(或某内存单元)开始的内存单元中 A0800 ;用A命令输入汇编指令0800:MOV R1,900 ;微码在内存中的首地址0802:MOV R2,4 ;微指令条数0804:MOV R3,100;微码在微控存中的首地址0806:LDMC ;加载微码指令,将微码指令加载到控存0807:RET0808: G0800;用G命令运行加载微码的程序9. 运行程序段A0820 0820:MOV R8,00AA0822:NOP0823:RET0824: E0822 ;用E命令输入(修改)存储单元内容 然后输入以下内容:0822:D48010. 运行结果G0820 ;用G命令执行汇编程序RR8 ;用R命令查看通用寄存器内容屏幕将显示:R8=FFAA 设计一条加法指令设计一条指令,将SR里的内容与内存单元ADDR里的内容相加,结果存入ADDR单元中。1. 指令格式D40SR ADDR2. 指令功能ADDR+SRADDR3. 设计分析根据指令格式和指令功能,先读取内存单元ADDR中的内容,再与SR中的内容相加,暂时存入Q寄存器中,最后再从寄存器Q中存入ADDR单元中去。此时,PC所指的地址恰好为ADDR的地址,所以只需将Q中的内容写入存储器即可。4. 微程序100:SRAR: 0000 0E00 90C0 0082101:MEMQ: 0000 0E00 00F0 0000102:PCAR,PC+1PC: 0000 0E00 A0C5 5402103:MEMAR 0000 0E00 10F0 0002104:MEM+QQ: 0000 0E01 00E0 0000105:QMEM,CC#=0: 0029 0300 1020 00105. 加载到微控存程序段说明:微码存放在900H(或某内存单元)开始的内存单元中 A8000800:MOV R1,900;微码在内存中的首地址0802:MOV R2,6 ;微指令条数0804:MOV R3,100;微码在微控存中的首地址0806:LDMC ;加载微码指令,将微码指令加载到控存0807:RET0808: G8006. 运行程序段A08200820:MOV R0,00100822:MOV R1,01000824:MOV 0890,R00826:MOV R2,0891 0828:MOV R2,R10829: NOP082A: NOP0829: RET E0829 然后输入以下内容:D402 0890 7. 运行结果G0820D0890 0890:0110设计一条半字交换指令设计一条指令,其功能是把一个通用寄存器中的内容进行半字交换,即将其高低位字节的内容对换。22. 指令格式D4DRX23. 指令功能功能:对通用寄存器的内容进行半字交换。24. 设计分析根据指令格式和指令功能,先读取寄存器DR中的内容暂时存放于Q寄存器中,然后再把DR跟Q一起联合左移8次,最后DR中存放的就是想要的结果。25. 微程序100:7R/C DRQ: 0001 C400 8030 0008101:DR和Q联合左移8次 : 0029 0F20 E0B0 0208 加载到微控存程序段说明:微码存放在900H(或某内存单元)开始的内存单元中 A8000800:MOV R1,900;微码在内存中的首地址0802:MOV R2,2 ;微指令条数0804:MOV R3,100;微码在微控存中的首地址0806:LDMC ;加载微码指令,将微码指令加载到控存0807:RET0808: G80026. 运行程序段A08200820:MOV R2,00110822:NOP0823:RET E0822 然后输入以下内容:D420 7. 运行结果G0820R R2设计一条加法指令把用绝对地址表示的内存单元ADD的内容与内存单元数据DATA相加,结果存到ADDR单元中。1. 指令格式指令格式:D4XXADDRDATA2. 指令功能功能:ADDR + DATA ADDR3. 设计分析先读取ADDR内存单元的内容存放在Q中,同时PC加1使它指向下一条指令。再取内存单元数据DATA,把它与Q相加,结果存放在Q中,同时PC减1,使它指向上一条指令。最后把Q的内容存放在ADDR内存单元里,同时PC加2。4. 微程序 100:PCAR,PC+1PC:00000E00A0B55402101:MEMAR:00000E0010F00002102:MEMQ:00000E0000F00000103:PCAR,PC-1PC:00000E00A1B55402104:MEM+QQ:00000E0100E00000105:PCAR,PC+1PC:00000E00A0B55402106:PC+1PC: 00000E00B030 5400107:MEMAR:00000E0010F00002108:QMEM,CC#=0:00290300102000105. 加载微码到微控存程序段说明:微码存放在900H(或某内存单元)开始的内存单元中A8000800:MOV R1,900;微码在内存中的首地址0802:MOV R2,9 ;微指令条数0804:MOV R3,100;微码在微控存中的首地址0806:LDMC ;加载微码指令,将微码指令加载到控存0807:RET0808:A8006. 运行程序段A8200820:MOV R0,00110822:MOV 0890,R00824:NOP 0825:NOP0826:NOP0827:RET E824 然后输入以下内容:D400 0890 00227. 运行结果G0820D08900890:003327. 指令格式 DB DRSR ADDR OFFSET28. 指令功能通过判断DR和SR的大小,根据两者的关系进行相关的指令跳转,当DR=SR时,跳转到指令IP+OFFSET-PC; 当DRPC;当DRSR,执行下条指令。 29. 微程序 110: DR-SR;接受标志: 0000 0E01 9110 0088 111: PC-AR,PC+1-PC,DRAR,PC+1-PC,DR=SR,/z=0转115 0045 4370 A0B5 5402113: DRSR时执行下条指令 0029 0300 B030 5000 114: ADDR(MEM)-PC 0029 0300 30F0 5000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电工知识与技能培训课件
- 第三节 化学与环境说课稿-2025-2026学年初中信息技术湘电子版2019七年级下册-陕教版2022
- 第三节 信息的“高速路”说课稿-2025-2026学年初中物理北师大版北京2024九年级全一册-北师大版北京2024
- 电工焊工理论知识培训课件
- 认证标识使用管理办法
- 设备操作资质管理办法
- 试验项目收费管理办法
- 豫南蔬菜大棚管理办法
- 有机食品原材料质量保证措施
- 质量管理文件管理办法
- 《压力容器安全培训》课件
- 急危重症患者抢救及会诊制度
- 电池及电池系统维修保养师国家职业标准(2024年)
- 学校各岗位廉政风险点及防控措施
- 人教部编八年级语文上册《浣溪沙(一曲新词酒一杯)》示范课教学课件
- 临床成人失禁相关性皮炎的预防与护理团体标准解读
- 11声音的三要素(练习)(原卷版)
- 矿产购销合同模板
- 湖北荆州2023年中考语文现代文阅读真题及答案
- 重庆市字水中学2024届九年级上学期期中考试数学试卷(含答案)
- 水闸现场安全检测分析报告
评论
0/150
提交评论