关注公众号凡花花的小窝,收获更多的考研计算机专业编程相关的资料 实 验 要 求
1、遵守上课纪律,不能迟到、早退、旷课等。 2、上课期间务必注意安全,防止触电,杜绝野蛮操作损坏实验设备。 3、注意实验室卫生,不乱扔垃圾,不能在实验室进食。下课后,值日生同学打扫完毕后方可离开。 4、实验前必须充分预习,完成指定的预习任务。预习要求如下: 1)认真阅读实验指导书,分析、掌握实验题目的工作原理,并进行必要的估算。 2)完成各实验“预习要求”中指定的内容。 3)熟悉实验任务。 5、实验时应注意观察,若发现有破坏性异常现象(例如有元件冒烟、发烫或有异味)应立即关断电源,保持现场,报告指导教师。找出原因、排除故障,经指导教师同意再继续实验。 6、实验过程中应仔细观察实验现象,认真记录实验结果。 7、实验结束后,必须关断电源、拔出电源插头,并将仪器、设备、工具、导线等按规定整理。 8、实验后每个同学必须按要求独立完成实验报告。
目 录 第一章 概述 3 第二章 基础实验 5 实验一 数字钟设计 5 实验二 寄存器读写实验 7 实验三 主存EM读写实验 12 实验四 运算器实验 15 实验五 数据通路综合实验 18 实验六 指令系统实验 18 第三章 模型机介绍 22
第一章 概述
借助Logisim虚拟实验环境,可完成硬件的各种操作和实验。 总线结构的计算机具有结构清晰,扩展方便等优点。实验系统使用三组总线即地址总线ABUS、数据总线DBUS、指令总线IBUS和控制信号,CPU、主存、外设和管理单片机等部件之间通过外部数据总线传输, CPU内部则通过内部数据总线传输信息。各部件之间,通过三态缓冲器作接口连接,这样一方面增强总线驱动能力,另一方面在模型机停机时,三态门输出浮空,能保证不管模型机的CPU工作是否正常,管理单片机总能读/写主存或控存。 计算机功能模块化设计 提供运算器模块ALU,众多寄存器模块(A,W,IA ,ST,MAR,R0…R3等),程序计数器模块PC,指令寄存器模块IR,主存模块EM,微程序控制模块〈控存〉uM,微地址计数器模块uAR,实验者按自己的设计进行连接。 两种实验模式 手动运行:无控制器,通过手工操作,发出控制信号,实现信息在各个部件间有序流动。 自动运行:启用控制器,由控制器自动发出控制信号序列,建立信息通路,实现程序自动运行。
Logisim虚拟实验环境,逻辑图中信号线颜色含义:工具栏中,使用工具,可修改信号数值。
更多的用法,参考有关教学视频,以及软件自带的帮助指导。 第二章 基础实验 实验一 数字钟设计 实验要求:利用Logisim虚拟实验环境,设计数字钟。要求有计时、校时、闹钟功能。 实验目的: 1、熟悉Logisim虚拟实验环境,基于TOP—DOWN路线,进行模块化设计。 特别强调: 1、寄存器接受数据动作过程:第一步,控制信号有效,数据准备好;第二步,clock上升沿,即0-1时刻打入数据。俗称为:电位控制,脉冲触发。 2、不许两个及更多部件同时输出数据到总线,否则错误。提示信息为??,是正常现象,表示无数据;信号线变红色,出错了。 实验过程: 硬件系统设计同样是层次化、模块化设计,模块之间通过输入、输出信号进行联络,部分电路可以封装为子电路符号,供其他模块使用。 方案一:共设计为三层 1、顶层电路:
2、包含两个模块电路:计时校时模块、闹钟模块 闹钟模块:内部电路及封装设计 计时校时模块:内部电路及封装设计 3、计时校时模块使用第三层模块:24BCD计数器、60BCD计数器 以60BCD计数器为例,其内部电路及封装形式: 24BCD计数器,此处省略 方案二:类似,共设计为两层 1、顶层电路: 2、包含四个模块电路:24BCD计数器、60BCD计数器、校时、闹钟模块 子电路内部结构及封装设计,不再赘述。 实验总结: 挖掘学习潜力,加强复杂工程实践能力训练,提高分析设计及调试能力。
实验二 寄存器读写实验 实验要求:利用Logisim虚拟实验环境,使用控制信号,负责数据写入寄存器,这些寄存器包括累加器A,工作寄存器W,数据寄存器组R0…R3,地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。 实验目的: 1、了解模型机中各种寄存器结构、工作原理及其控制方法。 2、了解模型机中多寄存器接数据总线的实现原理。 特别强调: 1、寄存器接受数据动作过程:第一步,控制信号有效,数据准备好;第二步,clock上升沿,即0-1时刻打入数据。俗称为:电位控制,脉冲触发。 2、不许两个及更多部件同时输出数据到总线,否则信号线变红色,出错。如果提示信息为??,是正常现象,表示无数据。总线使用结束,要断开与总线的连接。 实验过程: 任务1:数据写入IN寄存器 1、写入十六进制数据,55H 步骤: 第一步,IN输入端,修改为55H,二进制0101 0101 第二步,点击按钮‘Clock’,产生上升沿,01,,数据打入IN寄存器。
, 再次点击Clock,恢复为暗绿色低电平,逻辑0。 1、写入十六进制数据,AAH 步骤: 第一步,IN输入端,修改为AAH,二进制1010 1010 第二步,点击按钮‘Clock’,产生上升沿,01,,数据打入IN寄存器。 ,
任务2:寄存器写操作,A,W,MAR 地址寄存器,ST 堆栈寄存器,OUT寄存器 写操作:DBUS准备好数据,寄存器接受数据。需要的对应控制信号:
AEN WEN MAREN STEN OUTEN A W MAR ST OUT 高电平有效,发挥作用。
1、将55H写入A寄存器(对应汇编指令:MOV A,IN) 步骤: 1、数据5 5H提前存储进IN寄存器。 第一步,修改X=111,IN寄存器数据输出到DBUS,控制信号AEN=1。 AEN WEN MAREN STEN OUTEN 1 0 0 0 0 2、第二步,点击按钮‘Clock’,产生上升沿,01,,数据打入A寄存器。 X功能:选择某个寄存器,输出数据到总线DBUS。结束要断开,恢复X=000。
按住STEP脉冲键,CK由高变低,这时寄存器A的黄色选择指示灯亮,表明选择A寄存器。放开STEP键,CK由低变高,产生一个上升沿,数据55H被写入A寄存器。
2、将66H写入W寄存器(对应汇编指令:MOV W,IN) IN寄存器做数据源,使用写控制信号WEN=1,写入W寄存器 3、将CCH写入MAR寄存器 4、将11H写入ST寄存器 5、将77H写入OUT寄存器
任务3:通用寄存器R0,R1,R2,R3写操作
寄存器R 原理图
控制信号与寄存器选择: 1、将11H写入R0寄存器(IN寄存器做数据源,对应汇编指令:MOV R0,IN) 步骤: 数据11H提前存储进IN寄存器。 第一步,修改X=111,IN寄存器数据输出到DBUS,控制信号: IR1 IR0 RWR RRD 0 0 1 0 第二步,点击按钮‘Clock’,产生上升沿,01,,数据打入R0寄存器。 第三步,写操作结束,断开IN寄存器与总线连通关系,恢复X=000。撤销寄存器写信号,恢复RWR=0
2、将22H写入R1寄存器(IN寄存器做数据源,对应汇编指令:MOV R1,IN) IN寄存器,置数据22H。置控制信号为: IR1 IR0 RWR RRD 0 1 1 0 3、将33H写入R2寄存器 4、将44H写入R3寄存器
任务4:通用寄存器R0,R1,R2,R3读操作 1、读R0寄存器,数据通过DBUS,写到A寄存器 (R0寄存器做数据源,对应汇编指令:MOV A,R0) 步骤: 第一步,R0寄存器数据输出到DBUS,控制信号,AEN=1: IR1 IR0 RWR RRD AEN 0 0 0 1 1 第二步,点击按钮‘Clock’,产生上升沿,01,,数据打入A寄存器。 第三步,传输结束,断开R寄存器与总线连通关系,恢复RRD=0。撤销A寄存器写信号,恢复AEN=0 2、读R1寄存器,数据通过DBUS,写到W寄存器 (R1寄存器做数据源,对应汇编指令:MOV W,R1) 置控制信号为: IR1 IR0 RWR RRD WEN 0 1 0 1 1
3、读R2寄存器,数据通过DBUS,写到OUT寄存器
4、读R3寄存器,数据通过DBUS,写到MAR寄存器 任务5:寄存器之间数据互传 IN寄存器,中断向量寄存器IA,只提供数据给其他部件;OUT寄存器,只接受数据,不对外提供数据。 1、IAMAR;类似于中断响应(IA保存中断向量,实际IAPC) 2、R2MAR;模拟寄存器间接寻址 3、STMAR;模拟子程序返回(ST保存程序断点,实际STPC) 4、R1R3,怎么办?
实验三 主存EM读写实验
实验要求: 数据通过DBUS,在控制信号EMEN、EMRD、EMWR作用下,实现主存EM的读写操作。 实验目的:了解模型机中主存EM 的工作原理及控制方法。 实验电路: 主存EM,是用户存放程序和数据的地方。访问存储器EM 的地址可选择由PC或MAR 提供(本实验电路做了简化,地址只有MAR 提供)。 存储器EM的数据和DBUS连通,途径受控三态门(相当于开关)。当EMEN 为1 时,接通数据总线,否则处于断开状态。 EM原理图 实验过程: 任务1:存储器EM 写实验,IN寄存器提供地址信息 把数据11H写入主存00号单元,结果EM[0]=11H。步骤: 第一步,把地址00H写入MAR寄存器数据。 过程:寄存器IN提供地址00H,X=111,送其内容到DBUS,经DBUS送达MAR;置MAREN=1有效;产生clock上升沿,将地址信息00H打入MAR寄存器。完成后,MAREN=0,MAR不再接收新信息。同样恢复X=000,IN寄存器也断开总线。此处很重要! 第二步,把数据11H写入EM 过程:寄存器IN提供数据11H,X=111,送其内容到DBUS;设置EMEN=1,连通DBUS和主存EM,把数据送达EM输入端;置EMWR=1有效;产生clock上升沿,将数据11H写入EM指定0号单元地址。完成后,置EMWR=0,不再写内存。同样恢复X=000,IN寄存器也断开总线。 同理: 数据22H写入主存04号单元。结果EM[04]=22H 数据33H写入主存08号单元。结果EM[08]=33H 数据44H、55H、66H、77H写入主存0C、0D、0E、0FH单元
任务2:储器EM 写实验,R2寄存器提供主存地址信息 把数据88H写入主存05H单元,结果EM[05]=88H。步骤: 第一步,把地址05H写入MAR寄存器数据。 过程:寄存器R2提供地址05H,IR1 IR0=10,RRD=1送其内容到DBUS,经DBUS送达MAR;置MAREN=1有效;产生clock上升沿,将地址信息05H打入MAR寄存器。完成后,MAREN=0,MAR不再接收新信息。同样恢复RRD=0,R寄存器也断开总线。此处很重要! 第二步,把数据88H写入EM 过程:寄存器IN提供数据88H,X=111,送其内容到DBUS;设置EMEN=1,连通DBUS和主存EM,把数据送达EM输入端;置EMWR=1有效;产生clock上升沿,将数据88H写入EM指定05号单元地址。完成后,置EMWR=0,不再写内存。同样恢复X=000,IN寄存器也断开总线。 同理,数据99H、AAH打入06、07H单元。
任务3:存储器EM 读实验,MOV A,@R2 R2寄存器提供主存地址信息,R2指向的内存单元,读出其数据,送到寄存器A中。步骤: 假设R2内容05H,则 第一步,把地址05H写入MAR寄存器数据。 过程:寄存器R2提供地址05H,IR1 IR0=10,RRD=1送其内容到DBUS,经DBUS送达MAR;置MAREN=1有效;产生clock上升沿,将地址信息05H打入MAR寄存器。完成后,MAREN=0,MAR不再接收新信息。同样恢复RRD=0,R寄存器也断开总线。 第二步,从内存EM读数据,写入A寄存器 过程:置EMRD=1有效,EM送出数据;置EMEN=1,接通DBUS,数据送达A寄存器输入端;置AEN=1;产生clock上升沿,将数据写入A寄存器。完成后,置EMWR=0,EMEN=0,AEN=0
任务4:存储器EM 读实验,把数据读取到W寄存器,IN寄存器提供地址信息 步骤: 第一步,把地址写入MAR寄存器。 过程:寄存器IN提供地址,X=111,送其内容到DBUS,经DBUS送达MAR;置MAREN=1有效;产生clock上升沿,将地址打入MAR寄存器。完成后,MAREN=0,MAR不再接收新信息。同样恢复X=000,IN寄存器也断开总线。 第二步,从内存EM读数据,写入W寄存器过程:置EMRD=1有效,EM送出数据;置EMEN=1,接通DBUS,数据送达W寄存器输入端;置WEN=1;产生clock上升沿,将数据写入W寄存器。完成后,置EMWR=0,EMEN=0,AEN=0
实验四 运算器实验 实验要求:手工送数据、控制信号,控制ALU的运算,实现运算器的功能。 实验目的: 1、掌握多寄存器接数据总线的实现原理。 2、掌握算术、逻辑运算单元的控制方法。 3、掌握运算器中移位功能的实现方法。 实验电路:
ALU原理图
1、运算器,有8 种运算,通过S2,S1,S0 来选择,运算数据由A及W寄存器提供,运算结果输出到L、D、R三个寄存器。
ALU输出直送D寄存器,同时左移一位送入L寄存器,右移一位送入R寄存器。
2、以下寄存器可以向数据总线输出数据,但在某一特定时刻只能有一个部件输出数据,由X2,X1,X0决定哪一个寄存器输出。
数据输出选择原理图 实验过程:
任务1:运算实验 将55H写入A寄存器,将33H写入W寄存器,置下表的控制信号,检验运算器的运算结果,是否符合预期。增加CyIn输入信号,CyIn=1,进位输入为1,观察对运算的影响。 A寄存器 W寄存器 运算 功能 L D R CyIn=0 CyIn=1 55H 33H 000 A+W 55H 33H 001 A-W 55H 33H 010 A|W 55H 33H 011 A&W 55H 33H 100 A+W+Cy 55H 33H 101 A-W-Cy 55H 33H 110 ~A 55H 33H 111 A 注意观察: 运算器在加上控制信号及数据(A,W)后, ALU立刻给出结果,不须时钟。结果存入D寄存器,数据移位后的结果分别存入L、R。数据打入寄存器发生在CLOCK上升沿。
任务2:数据输出实验/移位实验 当运算器的结果为全0 时,ZF=1。计算结果有进位,Cy=1。 当CN=0时,不带进位移位,移位补0; 当CN=1时,带进位移位,Cy和CN与运算结果是Cy,移位补入Cy。增加CyIn输入信号,观察CyIn=1,对移位的影响。
将55H写入A寄存器 S2S1S0=111 时运算器结果为寄存器A内容
注意观察: 移位与输出门是否打开无关,无论运算器结果如何,移位门都会给出移位结果。但究竟把那一个结果送数据总线由X2X1X0输出选择决定。
实验五 数据通路综合实验
实验要求:手工送数据、控制信号,建立正确的信息通路。 实验目的: 1、理解运算器、存储器、寄存器的互连关系。 2、模拟指令的执行过程。自定义指“ADD A,@R0”,意思是 实验过程:
任务1,完成SUB A,R2运算,功能说明:(A)-(R2)A, 两个寄存器A与R2做减法,差值送回A寄存器。 提前准备:(A)=77H,(R2)=11H 步骤: 1、R2W 2、A-W,将运算结果再次写回到A 实验结束。 任务2,完成ADD A,@R0运算,功能说明:(A)+((R0))A,加法运算,和值送回A寄存器。@R0为寄存器间接寻址,表示寄存器R0内容是一个主存地址,该主存单元中的数据为操作数。 提前准备:(A)=77H,(R0)=01H,内存01号单元存有数据44H 步骤: 1、R0MAR,读内存,把数据44HW 2、A+W,将运算结果BBH写回到A 实验结束。 实验中的注意事项: 实验过程中需要操作的控制信号较多,时刻注意:任何时候,只能一个部件向总线写数据,或者总线是空闲的,和部件均处于断开状态。若注意不到这一点,实验很难成功。 实验六 指令系统实验 实验要求:利用模型机提供的指令集,编写汇编语言程序、手工编译成机器代码、输入到内存、运行测试。 实验目的: 1、熟悉指令格式,掌握寻址技术。 2、学习汇编语言编程、编译运行方法。 实验任务: 1、折中查找算法实现,至少10个数据。 2、排序,至少10个数据。 3、10个符号数据累加,和值小于FF即可。 4、两位8421BCD码加法,和值小于99即可。 以上题目选择一个即可。
上机调试过程: 1.编写汇编语言程序 2.按照指令集进行手工汇编,得到下表所示机器指令程序,并输入到主存。 源程序 内存地址 机器程序 功能备注 MOV A,#12H 00 7C 立即数12送入A 01 12 MOV A,R0 02 70 R0送入A MOV A,@RO 03 74 R0间接寻址的主存单元数据送入A MOV A ,01H 04 78 直接寻址,01主存单元数据送入A 05 01 IN 06 C0 IN寄存器送入A OUT 07 C4 A寄存器送入OUT END 08 04 停机 1、运行测试 首先Reset,PC清零,指向首地址00H;然后组合键Ctrl+K,启用时钟模拟,运行程序。或者通过菜单。
也可以Reset后,不断点击clock按钮,微指令单步运行,便于测试程序运行情况。
模型机寻址方式 模型机的寻址方式分五种: 累加器寻址:操作数为累加器A,例如“CPL A”是将累加器A 值取反,还有些指令是隐含寻址累加器A,例如“OUT”是将累加器A的值输出到输出端口寄存器OUT。 寄存器寻址:参与运算的数据在R0-R3 的寄存器中,例如 “ADD A,R0”指令是将寄存器R0 的值加上累加器A的值,再存入累加器A中。 寄存器间接寻址:参与运算的数据在存储器EM 中,数据的地址在寄存器R0-R3中,如 “MOV A,@R1”指令是将寄存器R1 的值做为地址,把存储器EM 中该地址的内容送入累加器A中。 存储器直接寻址:参与运算的数据在存储器EM 中,数据的地址为指令的操作数。例如“AND A,40H”指令是将存储器EM 中40H 单元的数据与累加器A的值做逻辑与运算,结果存入累加器A。 立即数寻址:参与运算的数据为指令的操作数。例如 “SUB A,#10H”是从累加器A中减去立即数10H,结果存入累加器A。 模型机指令集 模型机的缺省的指令集分几大类: 算术运算指令、逻辑运算指令、移位指令、数据传输指令、跳转指令、中断返回指令、输入/输出指令。 助记符 机器码1 机器码2 注释 FATCH 000000xx 实验机占用,不可修改,复位后,所有寄存器清 0(IR除外),首先执行 _FATCH_指令取指 END 000001xx 停机,程序停止运行 000010xx 未使用 000011xx 未使用 ADD A,R? 000100xx 将寄存器R?的值加入累加器A中 ADD A,@R? 000101xx 将间址存储器的值加入累加器A中 ADD A,MM 000110xx MM 将存储器MM地址的值加入累加器A中 ADD A,#I I 000111xx I I 将立即数I I加入累加器A中 ADDC A,R? 001000xx 将寄存器R?的值加入累加器A中,带进位 ADDC A,@R? 001001xx 将间址存储器的值加入累加器A中,带进位 ADDC A,MM 001010xx MM 将存储器MM地址的值加入累加器A中,带进位 ADDC A,#I I 001011xx I I 将立即数I I加入累加器A中,带进位 SUB A,R? 001100xx 从累加器A中 减去寄存器R?的值 SUB A,@R? 001101xx 从累加器A中 减去间址存储器的值 SUB A,MM 001110xx MM 从累加器A中 减去存储器MM地址的值 SUB A,#I I 001111xx I I 从累加器A中 减去立即数I I加入累加器A中 SUBC A,R? 010000xx 从累加器A中 减去寄存器R?值,减进位 SUBC A,@R? 010001xx 从累加器A中 减去间址存储器的值,减进位 SUBC A,MM 010010xx MM 从累加器A中 减去存储器MM地址的值,减进位 SUBC A,#I I 010011xx I I 从累加器A中 减去立即数I I,减进位 AND A,R? 010100xx 累加器A“与”寄存器R?的值 AND A,@R? 010101xx 累加器A“与”间址存储器的值 AND A,MM 010110xx MM 累加器A“与”存储器MM地址的值 AND A,#I I 010111xx I I 累加器A“与”立即数I I OR A,R? 011000xx 累加器A“或 ”寄存器R?的值 OR A,@R? 011001xx 累加器A“或”间址存储器的值 OR A,MM 011010xx MM 累加器A“或”存储器MM地址的值 OR A,#I I 011011x II 累加器A“或”立即数I I MOV A,R? 011100xx 将寄存器R?的值送到累加器A中 MOV A,@R? 011101xx 将间址存储器的值送到累加器A中 MOV A,MM 011110xx MM 将存储器MM地址的值送到累加器A中 MOV A,#I I 011111xx I I 将立即数I I送到累加器A中 MOV R?,A 100000xx 将累加器A的值送到寄存器R?中 MOV @R?,A 100001xx 将累加器A的值送到间址存储器中 MOV MM,A 100010xx MM 将累加器A的值送到存储器MM地址中 MOV R?,#I I 100011xx I I 将立即数I I送到寄存器R?中 READ MM 100100xx MM 从外部地址MM读入数据,存入累加器A中 WRITE MM 100101xx MM 将累加器A中数据写到外部地址MM中 100110xx 未使用 100111xx 未使用 JC MM 101000xx MM 若进位标志置1,跳转到MM地址 JZ MM 101001xx MM 若零标志位置1,跳转到MM地址 101010xx 未使用 JMP MM 101011xx MM 跳转到MM地址 101100xx 未使用 101101xx 未使用 INT 101110xx 占用,不可修改。进入中断时,实验机硬件产生_INT_指令 CALL MM 101111xx MM 调用MM地址的子程序 IN 110000xx 从输入端口读入数据到累加器A中 OUT 110001xx 将累加器A中数据输出到输出端口 110010xx 未使用 RET 110011xx 子程序返回 RR A 110100xx 累加器A右移 RL A 110101xx 累加器A左移 RRC A 110110xx 累加器A带进位右移 RLC A 110111xx 累加器A带进位左移 NOP 111000xx 空指令 CPL A 111001xx 累加器A取反,再存入累加器A中 111010xx 未使用 RETI 111011xx 中断返回 111100xx 未使用 111101xx 未使用 111110xx 未使用 111111xx 未使用 第三章 模型机介绍 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。 模型机为8 位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。相比而言8 位机实验减少了烦琐的连线,但其原理却更容易理解、吸收。 模型机的指令码为8 位,根据指令类型的不同,可以有0 到2 个操作数。指令码的最低两位用来选择R0-R3 寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24 位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。24 位控制位分别介绍如下:
XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM 与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP:PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。 STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 CN:决定运算器是否带进位移位,CN=1带进位,CN=0不带进位。 FEN:将标志位存入ALU内部的标志寄存器。
X2:X2、X1、X0三位组合来译码选择将数据送到DBUS上的寄存器。 X1: X0: WEN:将数据总线DBUS的值打入工作寄存器W中。 AEN: 将数据总线DBUS的值打入累加器A中。 S2: S2、S1、S0三位组合决定ALU做何种运算。 S1: 见16页表。 S0:
微指令格式如下:
M23 M22 M21 M20 M19 M18 M17 M16 M15 M14 M13 XRD EMWR EMRD PCOE EMEN IREN EINT ELP MAREN MAROE OUTEN
M12 M11 M10 M9 M8 M7 M6 M5 M4 M3 M2 M1 M0 STEN RRD RWR CN FEN X2 X1 X0 WEN AEN S2 S1 S0
