基本计算机有16位指令寄存器(IR),它可以表示内存引用、寄存器引用或输入输出指令。
null
- 内存引用– 这些指令将内存地址称为操作数。另一个操作数总是累加器。为直接和间接寻址指定12位地址、3位操作码(111除外)和1位寻址模式。
例如—— IR寄存器包含=000XXXXXXXXXX,即ADD在获取和解码指令后,我们发现它是用于ADD操作的内存参考指令。
Hence, DR ← M[AR] AC ← AC + DR, SC ← 0
- 注册参考- 这些指令对寄存器而不是内存地址执行操作。IR(14–12)为111(区别于内存引用),IR(15)为0(区别于输入/输出指令)。其余12位指定寄存器操作。
例如—— IR寄存器包含=0111000000000,即CMA在提取和解码周期后,我们发现它是补码累加器的寄存器参考指令。
Hence, AC ← ~AC
- 输入/输出- 这些指令用于计算机和外部环境之间的通信。IR(14–12)为111(区别于内存引用),IR(15)为1(区别于寄存器引用指令)。其余12位指定I/O操作。
例如—— IR寄存器包含=11111 00000000000,即在提取和解码周期后的INP。我们发现它是用于输入字符的输入/输出指令。因此,从外围设备输入字符。
包含在16位IR寄存器中的指令集包括:
- 算术、逻辑和移位指令(和、加、补、左循环、右循环等)
- 在内存中来回移动信息(存储累加器,加载累加器)
- 带状态条件的程序控制指令(分支、跳过)
- 输入输出指令(输入字符,输出字符)
象征 | 十六进制代码 | 描述 | |
---|---|---|---|
和 | 0xxx | 8xxx | 和记忆字交流 |
添加 | 1xxx | 9xxx | 将内存字添加到AC |
LDA | 2xxx | Axxx | 将存储字加载到AC |
斯塔 | 3xxx | Bxxx | 将交流内容存储在内存中 |
小面包 | 4xxx | Cxxx | 无条件分支 |
牛血清白蛋白 | 5xxx | Dxxx | 分支机构和保存回信地址 |
伊斯茨 | 6xxx | Exxx | 如果为0,则递增并跳过 |
CLA | 7800 | 透明空调 | |
克莱 | 7400 | 清除E(溢出位) | |
CMA | 7200 | 补体AC | |
CME | 7100 | 补语E | |
CIR | 7080 | 循环右AC和E | |
CIL | 7040 | 循环左AC和E | |
集成数字控制 | 7020 | 增量AC | |
水疗中心 | 7010 | 如果AC>0,则跳过下一条指令 | |
SNA | 7008 | 如果AC<0,则跳过下一条指令 | |
莎莎 | 7004 | 如果AC=0,则跳过下一条指令 | |
施 | 7002 | 如果E=0,则跳过下一条指令 | |
HLT | 7001 | 停止计算机 | |
INP | F800 | 输入字符到AC | |
出去 | F400 | 从AC输出字符 | |
滑雪 | F200 | 跳过输入标志 | |
SKO | F100 | 跳过输出标志 | |
离子 | F080 | 打断 | |
IOF | F040 | 打断 |
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END