📜  电脑组织|基本计算机指令

📅  最后修改于: 2021-06-28 09:30:01             🧑  作者: Mango

基本计算机具有16位指令寄存器(IR),它可以表示存储器参考或寄存器参考或输入输出指令。

  1. 内存参考–这些指令将内存地址称为操作数。另一个操作数始终是累加器。为直接和间接寻址指定12位地址,3位操作码(111除外)和1位寻址模式。

    内存参考指令

    例子 –
    IR寄存器包含= 0001XXXXXXXXXXXX,即在获取和解码指令之后的ADD,我们发现它是用于ADD操作的存储器参考指令。

    Hence, DR ← M[AR]
    AC ← AC + DR, SC ← 0
  2. 寄存器参考–这些指令对寄存器执行操作,而不是对存储器地址进行操作。 IR(14 – 12)为111(将其与内存引用区分开),IR(15)为0(将其与输入/输出指令区分开)。其余12位指定寄存器操作。

    注册参考说明

    例子 –
    IR寄存器包含= 0111001000000000,即在获取和解码周期后的CMA,我们发现它是补码累加器的寄存器参考指令。

    Hence, AC ← ~AC
  3. 输入/输出–这些说明用于计算机与外部环境之间的通信。 IR(14 – 12)为111(将其与内存引用区分开),IR(15)为1(将其与寄存器引用区分开)。其余12位指定I / O操作。

    I / O指令

    例子 –
    IR寄存器包含= 1111100000000000,即在获取和解码周期后的INP,我们发现它是用于输入字符的输入/输出指令。因此,从外围设备输入字符。

16位IR寄存器中包含的指令集为:

  1. 算术,逻辑和移位指令(以及加,补,左,右循环等)
  2. 要将信息移入和移出内存(存储累加器,加载累加器)
  3. 具有状态条件(分支,跳过)的程序控制指令
  4. 输入输出指令(输入字符,输出字符)
Symbol Hexadecimal Code Description
AND 0xxx 8xxx And memory word to AC
ADD 1xxx 9xxx Add memory word to AC
LDA 2xxx Axxx Load memory word to AC
STA 3xxx Bxxx Store AC content in memory
BUN 4xxx Cxxx Branch Unconditionally
BSA 5xxx Dxxx Branch and Save Return Address
ISZ 6xxx Exxx Increment and skip if 0
CLA 7800 Clear AC
CLE 7400 Clear E(overflow bit)
CMA 7200 Complement AC
CME 7100 Complement E
CIR 7080 Circulate right AC and E
CIL 7040 Circulate left AC and E
INC 7020 Increment AC
SPA 7010 Skip next instruction if AC > 0
SNA 7008 Skip next instruction if AC < 0
SZA 7004 Skip next instruction if AC = 0
SZE 7002 Skip next instruction if E = 0
HLT 7001 Halt computer
INP F800 Input character to AC
OUT F400 Output character from AC
SKI F200 Skip on input flag
SKO F100 Skip on output flag
ION F080 Interrupt On
IOF F040 Interrupt Off