阿里巴巴国际站首页淘宝躺平设计家官网

当前位置: 首页 > news >正文

阿里巴巴国际站首页,淘宝躺平设计家官网,福州网站建设 联系yanktcn 05,招标网官方网站​#x1f308;个人主页#xff1a;Sarapines Programmer#x1f525; 系列专栏#xff1a;《机组 | 模块单元实验》⏰诗赋清音#xff1a;云生高巅梦远游#xff0c; 星光点缀碧海愁。 山川深邃情难晤#xff0c; 剑气凌云志自修。 目录

  1. 综合实验的调试 1.1 实验… ​个人主页Sarapines Programmer 系列专栏《机组 | 模块单元实验》⏰诗赋清音云生高巅梦远游 星光点缀碧海愁。 山川深邃情难晤 剑气凌云志自修。 目录
  2. 综合实验的调试 1.1  实验目的 1.2  实验连线 1.3  指令系统 1.4  微指令表 1.5  程序调试 实验一实现普通的加、减法指令 实验二带进位运算的模型机 实验三数据传送实验 实验四移位实验 实验五转移实验
  3. 驻机键盘和液晶显示器的使用方式 2.1  键盘定义 2.2 操作方法 2.2.1  读/写控存微指令保存在6264 2.2.2  读/写内存单元指令或数据保存在6264 2.2.3  控存块微代码信息与flash memory数据交换操作 2.2.4  从flash memory读回控存块 2.2.5  控存块数据写入flash memory 2.2.6  从flash memory读回到内存RAM块 2.2.7  内存块保存到flash memory中 2.2.8  微单步运行程序 2.2.9  连续运行程序 2.2.10  寄存器显示 总结 1. 综合实验的调试 1.1  实验目的 1、通过使用调试软件了解程序编译、加载的过程。 2、通过微单步、单拍调试理解模型机中的数据流向。 1.2  实验连线 各模块控制信号连接表或者使用提供的连线板 1.3  指令系统 指令助记符 指令功能 指令编码 微周期 微操作 取指微指令 T0 PC-地址总线-RAM       RAM-数据总线-IR1 ADD A,R0 ADD A,R1 ADD A,R2 ADD A,R3 (A)(Ri)-A 0C 0D 0E 0F T0 T1 T2 T3 A-数据总线-DR1 Ri-数据总线-DR2 ALU-数据总线-A、置CY 取指微指令 SUB A,R0 SUB A,R1 SUB A,R2 SUB A,R3 (A)-(Ri)-A 1C 1D 1E 1F T0 T1 T2 T3 A-数据总线-DR1 Ri-数据总线-DR2 ALU-数据总线-A、置CY 取指微指令 MOV A,R0 MOV A,R1 MOV A,R2 MOV A,R3 (Ri)-A 2C 2D 2E 2F T0 T1 T2 Ri-数据总线-IR2 IR2-地址总线-RAM-A 取指微指令 MOV A,R0 MOV A,R1 MOV A,R2 MOV A,R3 (Ri)-A 3C 3D 3E 3F T0 T1 Ri-数据总线-A 取指微指令 MOV R0,A MOV R1,A MOV R2,A MOV R3,A (A)-Ri 4C 4D 4E 4F T0 T1 A-数据总线-Ri 取指微指令 MOV A,#data Data-A 5F T0 T1 RAM-数据总线-A 取指微指令 MOV R0,#data MOV R1,#data MOV R2,#data MOV R3,#data Data-Ri 6C 6D 6E 6F T0 T1 RAM-数据总线-A 取指微指令 LDA addr (addr)-A 7F T0 T1 T2 RAM-数据总线-IR2 IR2-地址总线RAM-A 取指微指令 STA addr (A)-addr 8F T0 T1 T2 RAM-数据总线-IR2 IR2-地址总线A-RAM 取指微指令 RLC A C、A左移1位 AF T0 T1 A1、置CY 取指微指令 RRC A C、A右移1位 9F T0 T1 A1、置CY 取指微指令 JZ addr A0 Addr-PC B3 T0 T1 条件成立RAM-PC 取指微指令 JC addr Cy0Addr-PC B7 T0 T1 条件成立RAM-PC 取指微指令 JMP addr Addr-PC BF T0 T1 RAM-PC 取指微指令 ORL A,#data (A)或data-A CF T0 T1 T2 T3 A-数据总线-DR1 RAM-数据总线-DR2 ALU-数据总线-A 取指微指令 ANL A,#data (A) 与data-A DF T0 T1 T2 T3 A-数据总线-DR1 RAM-数据总线-DR2 ALU-数据总线-A 取指微指令 HALT 停机 FF T0 停机
    1.4  微指令表 指令助记符 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 微地址 MLD WM RM EIR1 EIR2 IR2-O PC-O ELP RR WR HALT X0 X1 ERA RA-O EDR1 EDR2 ALU-O CN M S3 S2 S1 S0 16进制 有效值 0 0 0 0 0 0 0 0 0 0 0 * * 0 0 0 0 0 * * * * * * 00H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF 取指微指令 01H 02H ADD A,RI 03H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 FFFCF9   04H 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 FF7F79   05H 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 FFFBA9   06H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF SUB A,RI 07H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 1 1 0 FFFCD6   08H 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 FF7F56   09H 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 1 0 FFFB86   0AH 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF MOV A,RI 0BH 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 F77FFF   0CH 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 DBFBFF   0DH 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF   0EH                                                   MOV A,RI 0FH 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 FF7BFF   10H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF   11H                                                     12H                                                   MOV RI,A 13H 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 FFBDFF   14H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF   15H                                                     16H                                                   指令助记符 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 微地址 MLD WM RM EIR1 EIR2 IR2-O PC-O ELP RR WR HALT X0 X1 ERA RA-O EDR1 EDR2 ALU-O CN M S3 S2 S1 S0 16进制 有效值 0 0 0 0 0 0 0 0 0 0 0 * * 0 0 0 0 0 * * * * * * MOV A,#data 17H 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 DDFBFF 18H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF 19H 1AH MOV Ri,#data 1BH 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 DDBFFF 1CH 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF 1DH 1EH LDA A,addr 1FH 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D5FFFF 20H 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 DBFBFF 21H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF 22H STA addr 23H 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D5FFFF 24H 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 BBFDFF 25H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF 26H RRC 27H 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 FFF1EF   28H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF   29H                                                     2AH                                                   RLC 2BH 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 FFE9EF   2CH 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF   2DH                                                     2EH                                                   指令助记符 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 微地址 MLD WM RM EIR1 EIR2 IR2-O PC-O ELP RR WR HALT X0 X1 ERA RA-O EDR1 EDR2 ALU-O CN M S3 S2 S1 S0 16进制 有效值 0 0 0 0 0 0 0 0 0 0 0 * * 0 0 0 0 0 * * * * * * JZ addr 2FH 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 D4FFFF JC addr 30H 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF JMP addr 31H 32H ORL A,#data 33H  1 1 1 1 1 1    1 1  1 1 1  1  1 1  0  0  1  1  1 1  1  1  1  0 FFFCFE 34H 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 DDFF7E 35H 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 FFFBBE 36H 0 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF ANL A,#data 37H  1 1 1 1 1 1    1 1  1 1 1  1  1 1  0  0  1  1  1 1  1  0  1  1 FFFCFB 38H 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 DDFF7B 39H 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 FFFBBB 3AH 0 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4DFFFF 3BH 3CH 3DH 3EH HALT 3FH 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 FFDFFF
    1.5  程序调试 (实验程序要使用16进制的数字后必须带H不然程序会默认是10进制的) 实验一实现普通的加、减法指令 在软件HKCPT中输入以下程序并且编译、加载到实验平台中。 或通过键盘键盘使用方法见第四章输入微程序及以下程序 内存地址 指令助记符 指令码或立即数 说明 00H MOV A,#55 5FH 立即数55H-A 01H 55H 02H MOV R0,#66 6CH 立即数66H-寄存器R0 03H 66H 04H ADD A,R0 0CH A内容R0内容-A 05H MOV R1,#33 6DH 立即数33H-寄存器R1 06H 33H 07H SUB A,R1 1DH A内容-R1内容-A 08H STA  10 8FH 将A内容写入RAM地址10H 09H 10H 0AH HALT FFH 停机
    运行结果为RAM 10H单元中的内容为88H 运行程序通过软件HKCPT的微单步功能可观察各个变量的变化。 微单步运行过程显示如下 微地址 数据流程 数据总线 地址总线 操作寄存器 00H 取指微指令 RAM-BUS-IR1 5FH 00H IR15FH MOV A,#55 17H BUS- A 55H 01H A55H 18H 取指微指令 RAM-BUS-IR1 6CH 02H IR16CH MOV R0,#66 1BH RAM-寄存器R0 66H 03H 寄存器R066H 1CH 取指微指令 RAM-BUS-IR1 0CH 04H IR10CH ADD A,R0 03H A-锁存器DR1 55H 无效 DR155H 04H 寄存器R0-锁存器DR2 66H 无效 DR266H 05H ALU- A BBH 无效 ABBH 06H 取指微指令 RAM-BUS-IR1 6DH 05H IR16DH MOV R1,#33 1BH RAM-寄存器R1 33H 06H 寄存器R133 1CH 取指微指令 RAM-BUS-IR1 1DH 07H IR11DH SUB A,R1 07H A-锁存器DR1 BBH 无效 DR1BBH 08H 寄存器R1-锁存器DR2 33H 无效 DR233H 09H ALU-A 88H 无效 A88H 0AH 取指微指令 RAM-BUS-IR1 8FH 08H IR18FH STA 10 23H RAM-BUS-IR2 10H 09H IR210H 24H A-RAM(10H) 88H 10H RAM(10)88H 25H 取指微指令 RAM-BUS-IR1 7FH 0AH IR17FH 1FH 10H 0BH 20H 88H 10H 21H FFH 0CH IR1FFH HALT 3FH 置模型机为停止状态 无效 无效 置停止状态
    如果在运行微单步时发现有错误或对微单步中的时序过程不清楚可用时序单元中的按钮来手动给出4个节拍。 微周期 数据流程 节拍 数据总线 地址总线 操作寄存器 T0 取指微指令 RAM-BUS-IR1 PLS1微地址清零 PLS2置模型机运行 PLS3取指微指令输出 PLS4BUS-IR1 无效 无效 5FH 5FH 无效 无效 00H 00H 微地址00H PC00H 锁存微指令 IR5FH MOV A,#55 T0 BUS-A PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-A 5FH 5FH 55H 55H 00H 00H 01H 01H 微地址17H PC01H 锁存微指令 A55H T1 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC1 PLS3取指微指令输出 PLS4BUS-IR1 55H 55H 6CH 6CH 01H 01H 02H 02H 微地址18H PC02H 锁存微指令 IR16CH MOV R0,#66 T0 RAM-寄存器R0 PLS1置微地址 PLS2PC1 PLS3取指微指令输出 PLS4BUS-寄存器R0 6CH 6CH 66H 66H 02H 02H 03H 03H 微地址1BH PC03H 锁存微指令 寄存器R066H T1 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC1 PLS3取指微指令输出 PLS4BUS-IR1 66H 66H 0CH 0CH 03H 03H 04H 04H 微地址1CH PC04H 锁存微指令 IR10CH ADD A,R0 T0 A-锁存器DR1 PLS1置微地址 PLS2PC1 PLS3取指微指令输出 PLS4BUS-锁存器DR1 0CH 0CH 55H 55H 04H 04H 无效 无效 微地址03H PC05H 锁存微指令 DR155H T1 寄存器R0-锁存器DR2 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-锁存器DR2 55H 55H 66H 66H 无效 无效 无效 无效 微地址04H PC05H 锁存微指令 DR266H T2 ALU-A PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-A 66H 66H BBH BBH 无效 无效 无效 无效 微地址05H PC05H 锁存微指令 ABBH T3 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-IR1 BBH BBH 6DH 6DH 无效 无效 05H 05H 微地址06H PC05H 锁存微指令 IR16DH MOV R1,#33 T0 RAM-寄存器R1 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-IR1 6DH 6DH 33H 33H 05H 05H 06H 06H 微地址1BH PC06H 锁存微指令 寄存器R133 T1 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC1 PLS3微指令输出 PLS4BUS-IR1 33H 33H 1DH 1DH 06H 06H 07H 07H 微地址1CH PC07H 锁存微指令 IR11DH SUB A,Ri T0 A-锁存器DR1 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-DR1 1DH 1DH BBH BBH 07H 07H 无效 无效 微地址07H PC08H 锁存微指令 DR1BBH T1 寄存器R1-锁存器DR2 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-DR2 BBH BBH 33H 33H 无效 无效 无效 无效 微地址08H PC08H 锁存微指令 DR233H T2 ALU-A PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4ALU-A 33H 33H 88H 88H 无效 无效 无效 无效 微地址09H PC08H 锁存微指令 A88H T3 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-IR1 88H 88H 8FH 8FH 无效 无效 08H 08H 微地址0AH PC08H 锁存微指令 IR18FH STA 10 T0 RAM-BUS-IR2 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-IR2 8FH 8FH 10H 10H 08H 08H 09H 09H 微地址23H PC09H 锁存微指令 IR210H T1 A-RAM(10H) PLS1微地址1 PLS2PC1 PLS3微指令输出 PLS4BUS-RAM 10H 10H 88H 88H 09H 09H 10H 10H 微地址24H PC0AH 锁存微指令 RAM(10)88H T2 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-IR1 88H 88H FFH FFH 10H 10H 0AH 0AH 微地址25H PC0AH 锁存微指令 IR1FFH HALT T0 置模型机为停止状态 PLS1置微地址 PLS2停机 PLS3微指令输出 PLS4BUS-IR2 FFH 无效 0AH 无效 微地址3FH PC0BH
    实验二带进位运算的模型机 (实验程序要使用16进制的数字后必须带H不然程序会默认是10进制的。) 本实验提供了4条带进位的运算指令RRC带进位的右移RLC带进位的左移ADD ARi加法指令可有进位溢出JC addr 条件跳转JMP addr无条件跳转。 RRC  A        将A寄存器中的内容带进位位一起循环右移。 RLC  A         将A寄存器中的内容带进位位一起循环左移 ADD A,Ri     将A寄存器的内容与Ri的内容相加如果加法溢出将进位到CY。 JC addr       条件跳转指令如果进位位CY溢出跳转到addr。 JMP addr    无条件跳转指令跳转到addr 本实验的指令如下 用软件HKCPT来编辑、编译、加载实验平台或通过键盘键盘使用方法见第四章把以下程序以16进制输入程序存储器在调试时请关注进位位CY、A寄存器中的值。 内存地址 指令助记符 指令码 说明 00H MOV A,#81 5FH 立即数81H-A 01H 81H 02H RRC A 9FH A 1 03H MOV A,#18 5FH 立即数18H- A 04H 18H 05H RLC A AFH A1 06H MOV R0,#40 6CH 立即数40H-寄存器R0 07H 40H 08H MOV A,#18 5FH 立即数18H- A 09H 18H 0AH RLC A AFH A1 0BH ADD A,R0 0CH (A)(R0)-A 0CH JC 10 B7H CY有进位 跳转到0FH 0DH 10H 0EH JMP 0A BFH 跳转到0AH 0FH 0AH 10H STA 20 8FH 将A内容写入RAM地址20H 11H 20H 12H HALT FFH 停机
    运行结果为RAM 20H单元中的内容为20H 运行程序 通过软件HKCPT的微单步功能可观察各个变量的变化。 微单步运行过程显示如下 微地址 数据流程 数据总线 地址总线 操作寄存器 00H 取指微指令 RAM-BUS-IR1 5FH 00H IR15FH MOV A,#81 17H BUS- A 81H 01H A81H 18H 取指微指令 RAM-BUS-IR1 9FH 02H IR19FH RRC A 27H A1 40H 无效 A40CY溢出 28H 取指微指令 RAM-BUS-IR1 5FH 03H IR15FH MOV A,#18 17H BUS- A 18H 04H A18H 18H 取指微指令 RAM-BUS-IR1 AFH 05H IR1AFH RLC A 2BH A1 31H 无效 A31H CY无溢出 2CH 取指微指令 RAM-BUS-IR1 6CH 06H IR16CH MOV R0,#40 1BH BUS-寄存器R0 40H 07H R040H 1CH 取指微指令 RAM-BUS-IR1 5FH 08H IR15FH MOV A#18 17H BUS- A 18H 09H A18H 18H 取指微指令 RAM-BUS-IR1 AFH 0AH IR1AFH RLC A 2BH (A)1 30H 无效 A30H 2CH 取指微指令 RAM-BUS-IR1 0CH 0BH IR10CH ADD A,R0 03H A-锁存器DR1 30H 无效 DR130H 04H 寄存器R0-锁存器DR2 40H 无效 DR240H 05H ALU- A 70H 无效 ALU70 CY无溢出 06H 取指微指令 RAM-BUS-IR1 B7H 0CH IR1B7H JC 0F 2FH RAM-BUS-IR2 10H 0DH IR210H 30H 取指微指令 RAM-BUS-IR1 BFH 0EH IR1BFH  CY无溢出 JMP 0A 2FH RAM-BUS-IR2 0AH 0FH IR20AH 30H 取指微指令 RAM-BUS-IR1 AFH 0AH IR1AFH  跳转0AH RLC A 2BH (A)1 E0H 无效 AE0H 2CH 取指微指令 RAM-BUS-IR1 0CH 0BH IR10CH ADD A,R0 03H A-锁存器DR1 E0H 无效 DR1E0H 04H 寄存器R0-锁存器DR2 40H 无效 DR240H 05H ALU- A 20H 无效 ALU20H CY有溢出 06H 取指微指令 RAM-BUS-IR1 B7H 0CH IR1B7H JC 0F 2FH RAM-BUS-IR2 10H 0DH IR210H 30H 取指微指令 RAM-BUS-IR1 8FH 10H IR18FH  CY有溢出 STA 20 23H RAM-BUS-IR2 20H 11H IR220H 24H A-RAM(20H) 20H 20H RAM2020 25H 取指微指令 RAM-BUS-IR1 FFH 12H IR1FFH HALT 3FH 置模型机为停止状态 无效 无效 置停止状态
    如果在运行微单步时发现有错误或对微单步中的时序过程不清楚可用时序单元中的按钮来手动给出4个节拍。 微周期 数据流程 节拍 数据总线 地址总线 操作寄存器 T0 取指微指令 RAM-BUS-IR1 PLS1微地址清零 PLS2置模型机运行 PLS3取指微指令输出 PLS4BUS-IR1 无效 无效 5FH 5FH 无效 无效 00H 00H 微地址00H PC00H 锁存微指令 IR5FH MOV A,#81 T0 BUS- A PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS- A 5FH 5FH 81H 81H 00H 00H 01H 01H 微地址17H PC01H 锁存微指令 A81H T1 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC1 PLS3取指微指令输出 PLS4BUS-IR1 55H 55H 9FH 9FH 01H 01H 02H 02H 微地址18H PC02H 锁存微指令 IR19FH RRC A T0 A1 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-寄存器R0 9FH 9FH 无效 无效 03H 03H 无效 无效 微地址27H PC03H 锁存微指令 A40H  CY1 T1 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC1 PLS3取指微指令输出 PLS4BUS-IR1 无效 无效 5FH 5FH 无效 无效 03H 03H 微地址28H PC03H 锁存微指令 IR15FH MOV A#18 T0 RAM-BUS-A PLS1置微地址 PLS2PC1 PLS3取指微指令输出 PLS4BUS-锁存器DR1 5FH 5FH 18H 18H 03H 03H 04H 04H 微地址17H PC04H 锁存微指令 A18H T1 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC1 PLS3微指令输出 PLS4BUS-锁存器DR2 18H 18H AFH AFH 04H 04H 05H 05H 微地址18H PC05H 锁存微指令 IR1AFH RLC A T0 A1 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-IR1 AFH AFH 无效 无效 05H 05H 无效 无效 微地址2BH PC06H 锁存微指令 A31H T1 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-IR1 无效 无效 6CH 6CH 无效 无效 06H 06H 微地址2CH PC06H 锁存微指令 IR16CH MOV R0,#40 T0 RAM-BUS-寄存器R0 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-DR1 6CH 6CH 40H 40H 06H 06H 07H 07H 微地址1BH PC07H 锁存微指令 A40H T1 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC1 PLS3微指令输出 PLS4BUS-DR2 40H 40H 5FH 5FH 07H 07H 08H 08H 微地址1CH PC08H 锁存微指令 IR15FH MOV A,#18 T0 RAM-BUS- A PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-A 8FH 8FH 18H 18H 08H 08H 09H 09H 微地址17H PC09H 锁存微指令 A18H T1 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC1 PLS3微指令输出 PLS4BUS-RAM 18H 18H AFH AFH 09H 09H 0AH 0AH 微地址18H PC0AH 锁存微指令 IR1AFH RLC A T0 A1 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-A AFH AFH 无效 无效 0AH 0AH 无效 无效 微地址2BH PC0BH 锁存微指令 A30H T1 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-RAM 无效 无效 0CH 0CH 无效 无效 0BH 0BH 微地址2CH PC0BH 锁存微指令 IR10CH ADD A,R0 T0 A-BUS-锁存器DR1 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-A 0CH 0CH 30H 30H 0BH 0BH 无效 无效 微地址03H PC0CH 锁存微指令 DR130H T1 R0-BUS-锁存器DR2 PLS1微地址1 PLS2PC1 PLS3微指令输出 PLS4BUS-RAM 30H 30H 40H 40H 无效 无效 无效 无效 微地址04H PC0CH 锁存微指令 DR240H T2 ALU-BUS-A PLS1置微地址 PLS2停机 PLS3微指令输出 PLS4BUS-IR2 40H 40H 70H 70H 无效 无效 无效 无效 微地址05H PC0CH 锁存微指令 A70 CY0 T3 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-RAM 70H 70H B7H B7H 无效 无效 0CH 0CH 微地址06H PC0CH 锁存微指令 A70 CY0 JC 10 T0 RAM-BUS-IR2 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-IR2 B7H B7H 10H 10H 0CH 0CH 0DH 0DH 微地址2FH PC0DH 锁存微指令 IR210H T1 因CY0 不跳转 取指 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-A 10H 10H BFH BFH 0DH 0DH 0EH 0EH 微地址30H PC0EH 锁存微指令 无操作 JMP 0A T0 RAM-BUS-IR2 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-IR2 BFH B7H 0AH 0AH 0EH 0EH 0FH 0FH 微地址2FH PC0FH 锁存微指令 IR20AH T1 取指微指令 RAM-BUS-IR1 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-IR2 0AH 0AH AFH AFH 0FH 0FH 0AH 0AH 微地址30H PC0AH 锁存微指令 IR1AFH RLC A T1 A1 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-IR2 0AH 0AH AFH AFH 0FH 0FH 0AH 0AH 微地址2BH PC0BH 锁存微指令 IR1E0H T2 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-RAM 70H 70H B7H B7H 无效 无效 0CH 0CH 微地址2CH PC0BH 锁存微指令 A70 CY0 ADD A,R0 T0 A-BUS-锁存器DR1 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-A 0CH 0CH 30H 30H 0BH 0BH 无效 无效 微地址03H PC0CH 锁存微指令 DR1E0H T1 R0-BUS-锁存器DR2 PLS1微地址1 PLS2PC1 PLS3微指令输出 PLS4BUS-RAM 30H 30H 40H 40H 无效 无效 无效 无效 微地址04H PC0CH 锁存微指令 DR240H T2 ALU-BUS-A PLS1置微地址 PLS2停机 PLS3微指令输出 PLS4BUS-IR2 40H 40H 70H 70H 无效 无效 无效 无效 微地址05H PC0CH 锁存微指令 A20 CY1 T3 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-RAM 70H 70H B7H B7H 无效 无效 0CH 0CH 微地址06H PC0CH 锁存微指令 A70 CY0 JC 10  T0 RAM-BUS-IR2 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-IR2 B7H B7H 10H 10H 0CH 0CH 0DH 0DH 微地址2FH PC0DH 锁存微指令 IR210H T1 因CY1 跳转 取指 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-A 10H 10H 8FH 8FH 0DH 0DH 10H 10H 微地址30H PC10H 锁存微指令 无操作 STA 20 T0 RAM-BUS-IR2 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-IR2 B7H B7H 20H 20H 10H 10H 11H 11H 微地址13H PC11H 锁存微指令 IR210H T1 A-BUS-RAM(20) PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-A 10H 10H 20H 20H 0DH 0DH 20H 20H 微地址14H PC12H 锁存微指令 A-RAM(20) T3 取指微指令 RAM-BUS-IR1 PLS1微地址1 PLS2PC不变 PLS3微指令输出 PLS4BUS-RAM 20H 20H B7H B7H 20H 20H 0CH 0CH 微地址15H PC12H 锁存微指令 IR1FFH HALT T0 置模型机为停止状态 PLS1置微地址 PLS2PC1 PLS3微指令输出 PLS4BUS-IR2 FFH 无效 12H 无效 微地址3FH PC13H T1 置模型机为停止状态
    实验三数据传送实验 (实验程序要使用16进制的数字后必须带H不然程序会默认是10进制的。) 或通过键盘键盘使用方法见第四章输入微程序及以下程序 内存地址 指令助记符 指令码或立即数 说明 00H MOV R0, #03H 6CH 立即数12H-A 01H 03H 02H MOV R1, #66H 6DH 立即数66H-R0 03H 66H 04H MOV A, 12H 5FH 05H 12H 寄存器R0内容-A 06H MOV A, R0 3CH R0内容-A 07H MOV A, R0 2CH 08H STA 10 8FH 将A内容写入RAM地址10H 09H 10 0AH HALT FFH 停机
    运行结果为RAM 10H单元中的内容为66H 运行程序通过软件HKCPT的微单步功能可观察各个变量的变化。 微单步运行过程显示如下 微地址 数据流程 数据总线 地址总线 操作寄存器 00H 取指微指令 RAM-BUS-IR1 6CH 00H IR16CH MOV R0, #03H 1BH RAM-寄存器R0 03H 01H 寄存器R003H 1CH 取指微指令 RAM-BUS-IR1 6DH 02H IR16DH MOV R1,#66 1BH RAM-寄存器R1 66H 03H 寄存器R166H 1CH 取指微指令 RAM-BUS-IR1 5FH 04H IR15FH MOV A, #12H 17H RAM-A 12H 05H A12H 18H 取指微指令 RAM-BUS-IR1 3CH 06H IR13CH MOV A,R0 0FH R0寄存器A 03H 无效 A03H 10H 取指微指令 RAM-BUS-IR1 2CH 07H IR12CH MOV A,R0 0BH R0寄存器-BUS-IR2寄存器 03H 无效 IR203H 0CH IR2-地址BUSRAM-数据BUS-A 66H 03H A66H 0DH 取指微指令 RAM-BUS-IR1 8FH 08H IR18FH STA 10 23H RAM-BUS-IR2 10H 09H IR210H 24H A-RAM(10H) 66H 10H RAM(10)66H 25H 取指微指令 RAM-BUS-IR1 FFH 0AH IR1FFH HALT 3FH 置模型机为停止状态 无效 无效 置停止状态
    实验四移位实验 (实验程序要使用16进制的数字后必须带H不然程序会默认是10进制的。) 在软件HKCPT中输入以下程序并且编译、加载到实验平台中。 或通过键盘键盘使用方法见第四章输入微程序及以下程序 内存地址 指令助记符 指令码或立即数 说明 00H MOV A#55H 5FH 立即数55H-A 01H 55H 02H RRC A 9FH A 1 03H RLC A AFH A1 05H STA 10 8FH 将A内容写入RAM地址10H 06H 10 07H HALT FFH 停机
    运行结果为RAM 10H单元中的内容为55H 运行程序通过软件HKCPT的微单步功能可观察各个变量的变化。 微单步运行过程显示如下 微地址 数据流程 数据总线 地址总线 操作寄存器 00H 取指微指令 RAM-BUS-IR1 5FH 00H IR15FH MOV A#55H 17H RAM-寄存器A 55H 01H A55H 18H 取指微指令 RAM-BUS-IR1 9FH 02H IR19F RRC A 27H A1 2AH 无效 A2A 28H 取指微指令 RAM-BUS-IR1 AFH 03H IR1AFH RLC A 2BH A1 55H 无效 A55H 2CH 取指微指令 RAM-BUS-IR1 8FH 04H IR18FH STA 10 23H RAM-BUS-IR2 10H 05H IR210H 24H A-RAM(10H) 55H 10H RAM(10)88H 25H 取指微指令 RAM-BUS-IR1 FFH 06H IR1FFH HALT 3FH 置模型机为停止状态 无效 无效 置停止状态
    实验五转移实验 (实验程序要使用16进制的数字后必须带H不然程序会默认是10进制的。) 在软件HKCPT中输入以下程序并且编译、加载到实验平台中。 或通过键盘键盘使用方法见第四章输入微程序及以下程序 内存地址 指令助记符 指令码或立即数 说明 00H MOV A,#01 5FH 立即数01H-A 01H 01H 02H MOV R0,#01 6CH 立即数01H-R0 03H 01H 04H SUB A,R0 1CH A内容-R0内容-A 05H JC 4 B7H 条件跳转至04H 06H 04H 07H JZ 4 B3H 条件跳转至04H 08H 04H 09H JMP D BFH 无条件跳转至0DH 0AH 0DH 0BH MOV A,88H 5FH 立即数88H-A 0CH 88H 0DH STA 10 8FH 将A内容写入RAM地址10H 0EH 10 0FH HALT FFH 停机
    运行结果为RAM 10H单元中的内容为FEH 运行程序通过软件HKCPT的微单步功能可观察各个变量的变化。 微单步运行过程显示如下 微地址 数据流程 数据总线 地址总线 操作寄存器 00H 取指微指令 RAM-BUS-IR1 5FH 00H IR15FH MOV A #01H 17H RAM-寄存器R0 01H 01H A01H 18H 取指微指令 RAM-BUS-IR1 6CH 02H IR16CH MOV R0,#01H 1BH RAM-寄存器R0 01H 03H 寄存器R001H 1CH 取指微指令 RAM-BUS-IR1 1CH 04H IR11CH SUB A,R0 07H A-Dbus-DR1 01H 无效 DR101H 08H Ri-Dbus-DR2 01H 无效 DR201H 09H ALU-Dbus-A 00H 无效 A00H 0AH 取指微指令 RAM-BUS-IR1 B7H 05H IR1B7H JC 4 2FH Dbus-IR2 04H 06H IR204H 30H IR2内容-Abus, Dbus-PC B3H 07H IR1B3H JZ 4 2FH Dbus-IR2 04H 08H IR204H 30H IR2内容-Abus, Dbus-PC 1CH 04H IR11CH SUB A,R0 07H A-Dbus-DR1 00H 无效 DR100H 08H Ri-Dbus-DR2 01H 无效 DR201H 09H ALU-Dbus-A FFH 无效 AFFH 0AH 取指微指令 RAM-BUS-IR1 B7H 05H IR1B7H JC 4 2FH Dbus-IR2 04H 06H IR204H 30H IR2内容-Abus, Dbus-PC 1CH 04H IR11CH SUB A,R0 07H A-Dbus-DR1 FFH 无效 DR1FFH 08H Ri-Dbus-DR2 01H 无效 DR201H 09H ALU-Dbus-A FEH 无效 AFEH 0AH 取指微指令 RAM-BUS-IR1 B7H 05H IR1B7H JC 4 2FH Dbus-IR2 04H 06H IR204H 30H IR2内容-Abus, Dbus-PC B3H 07H IR1B3H JZ 4 2FH Dbus-IR2 04H 08H IR204H 30H IR2内容-Abus, Dbus-PC BFH 09H IR1BFH JMP D 2FH Dbus-IR2 0DH 0AH IR20DH 30H 取指微指令 RAM-BUS-IR1 8FH 0DH IR18FH STA 10 23H RAM-BUS-IR2 10H 0EH IR210H 24H A-RAM(10H) FEH 10H RAM(10)FEH 25H IR2内容-Abus, Dbus-PC FFH 0FH IR1FFH HALT 3FH 置模型机为停止状态 无效 无效 置停止状态 2. 驻机键盘和液晶显示器的使用方式 2.1  键盘定义 打开电源上电后按实验仪任意键即可进入键盘监控。液晶显示器作为键盘监控的输出用于显示地址、指令、数据或微指令信息等。24个键中有16个数字键8个控制键。表X-1列出这8个控制键的名称和功能数字键用于输入地址、指令和数据信息。 表X-1  控制键说明 TAB 光标键 用于移动光标选择菜单项或将光标从地址到数据之间来回切换 MENU 主菜单键 无论在何种操作下按下此键将返回到主菜单 LAST 减1键 地址减1 NEXT 加1键 地址加1 STEP 单拍键 单步运行程序 GO/STOP 运行/停止键 奇数次按此键启动运行程序偶数次停止运行 SFR 寄存器键 显示寄存器 Enter 确认键 对修改备份操作时的确认
    进入键盘监控后液晶屏上显示主菜单 1、Mcode      2、Rcode 3、2416      4、RUN 在主菜单下可以进行以下操作 1选择1进行微代码操作 2选择2进行RAM程序和数据操作 3选择3进行把微代码和RAM程序备份到24C08中去或者从24C08中读取微代码和RAM程序 4选择4运行程序 以上操作可以按数字键“1-4”进行选择执行也可以按TAB键移动光标来选择并由按“确认”键来执行其中选“4”等同于按RUN键如果要停止运行程序再按“RUN/STOP”键即可。 5按“STEP”键单步执行程序 6按“SFR”键显示特殊寄存器内容 下面按功能分类介绍实验系统监控功能及操作方法 7监控单元的“RST”键只作调试用与实验无关。 2.2 操作方法 2.2.1  读/写控存微指令保存在6264 在主菜单下选择“1” 屏幕上显示ADDR      MICRO  CODE 00           xx xx xx 地址           微代码 光标定位在地址处按“TAB”键在地址与微代码之间切换在光标所在处按数字键即可对地址或微代码进行修改按“Last”键修改后的微指令写入相应单元后地址减1按“Next”键或“Enter”键修改后的微指令写入相应单元后地址加1。 2.2.2  读/写内存单元指令或数据保存在6264 在主菜单下选择“2” 屏幕上将显示ADDR      RAM  CODE xx              xx 地址         指令或数据 光标定位在地址处按“TAB”键光标在地址与指令或数据之间切换按数字键即可对光标所在处的地址或者指令数据进行修改按“Last”键或者“Next”和“Enter”键可将修改后的指令或数据写入相应单元中去然后地址减1或加1。 2.2.3  控存块微代码信息与flash memory数据交换操作 首先在主菜单下选“3”液晶屏上将显示子菜单 1、RD→M      2、M→WR 3、RD→R       4、R→WR 1选择1进行里面flash memory存储的数据读回控存块。 2选择2进行控存块数据写入flash memory操作。 3选择3进行flash memory里面存储的数据读回到RAM。 4选择4进行RAM块写入flash memory操作。 2.2.4  从flash memory读回控存块 主菜单选“3” 子菜单选“1”屏幕上将显示 flash memory源地址   长度    微代码目标地址 ADDR         LEN       ADDR 00           001         00 光标定义在flash memory源地址处按“TAB”键将光标在源地址、长度、目标地址之间切换可供修改地址和长度按“Enter”键将flash memory的源地址处开始的内容读到控存块目标地址处长度由LEN决定。 2.2.5  控存块数据写入flash memory 主菜单选“3” 在子菜单下选择“2”液晶屏上将显示 微程序地址            长度 ADDR           LEN  24C08 00                001 光标定位在微程序地址处按“TAB”键可将光标在地址和长度之间切换一旦地址和长度确定后按“Enter”键即可以将指定地址指定长度单元的微代码信息保存到flash memory中0地址开始的存储单元中去并返回到上一级子菜单。 2.2.6  从flash memory读回到内存RAM块 主菜单选“3” 子菜单选“3”屏幕上将显示 flash memory源地址    长度     RAM目标地址 ADDR          LEN        ADDR 00             001          00 光标定义在flash memory源地址处按“TAB”键将光标在源地址、长度、目标地址之间切换可供修改地址和长度按“Enter”键将flash memory的源地址处开始的内容读到RAM目标地址处长度由LEN决定。 2.2.7  内存块保存到flash memory中 主菜单选“3” 在子菜单下选择“4”液晶屏上将显示 RAM地址              长度 ADDR             LEN  24C08 00                  001 光标定位在RAM地址处按“TAB”键可将光标在地址和长度之间切换一旦地址和长度确定后按“Enter”键即可以将指定地址指定长度单元的RAM程序或数据保存到flash memory中0地址开始的存储单元中去并返回到上一级子菜单。 2.2.8  微单步运行程序 在主菜单下按“STEP”键再按ENTER实验系统将单拍执行程序一次然后屏幕上显示执行后的结果。 MAXX                微代码地址 PCXX                PC 指针 2.2.9  连续运行程序 在主菜单下按“RUN/STOP”键或“4”实验系统将连续执行程序如果遇到HALT指令或再次按“RUN/STOP”键停止运行並在液晶屏上显示执行结果。 MAXX                微代码地址 PCXX                PC 指针 2.2.10  寄存器显示 在主菜单下按“SFR”键液晶屏上显示微指令代码、指令或数据地址、程序指针、累加器内容。 PC       DR1  DR2      A              ALU XX       XX  XX           XX           XX 程序指针   数据地址    累加器内容    算术逻辑单元内容 总结 计算机组成原理领域就像一片广袤而未被完全探索的技术海洋邀请你勇敢踏足数字世界和计算机组成原理的神秘领域。这是一场结合创造力和技术挑战的学习之旅从基础概念到硬件实现逐步揭示更深层次的计算机结构、指令集架构和系统设计的奥秘。渴望挑战计算机组成原理的学习路径和掌握计算机硬件的技能不妨点击下方链接一同探讨更多数字技术的奇迹吧。我们推出了引领趋势的 计算机组成原理专栏《机组 | 模块单元实验》旨在深度探索计算机系统技术的实际应用和创新。