跳转至

冯诺依曼计算机的指令系统

概述

指令系统是冯诺依曼计算机的重要组成部分,它定义了计算机能够执行的所有指令的集合。

指令的格式

指令格式

指令由操作码和地址码两部分组成。

指令格式

指令 = 操作码(OP) + 地址码(AD)

操作码

操作码(Operation Code)

指明指令要完成的操作。

操作类型:

  • 算术运算: ADD, SUB, MUL, DIV
  • 逻辑运算: AND, OR, NOT, XOR
  • 数据传送: MOV, LOAD, STORE
  • 控制转移: JMP, CALL, RET

地址码

地址码(Address Code)

指明操作数或操作数地址。

指令的分类

按地址码数量分类

类型 格式 示例
零地址指令 OP RET, NOP
一地址指令 OP A1 INC AX
二地址指令 OP A1, A2 MOV AX, BX
三地址指令 OP A1, A2, A3 ADD R1, R2, R3

按功能分类

1. 数据传送指令

数据传送指令

在寄存器、存储器之间传送数据。

指令:

  • MOV: 数据传送
  • LOAD: 从存储器加载
  • STORE: 存储到存储器
  • PUSH: 压栈
  • POP: 出栈

2. 算术运算指令

算术运算指令

执行算术运算。

指令:

  • ADD: 加法
  • SUB: 减法
  • MUL: 乘法
  • DIV: 除法
  • INC: 加1
  • DEC: 减1

3. 逻辑运算指令

逻辑运算指令

执行逻辑运算。

指令:

  • AND: 逻辑与
  • OR: 逻辑或
  • NOT: 逻辑非
  • XOR: 逻辑异或

4. 控制转移指令

控制转移指令

改变程序执行顺序。

指令:

  • JMP: 无条件转移
  • JZ: 零标志转移
  • JNZ: 非零标志转移
  • CALL: 调用子程序
  • RET: 返回

寻址方式

寻址方式

寻址方式是指令获取操作数的方式。

常见寻址方式

常见寻址方式

1. 立即寻址

立即寻址

操作数直接包含在指令中。

示例: MOV AX, 100

2. 直接寻址

直接寻址

指令中给出操作数的内存地址。

示例: MOV AX, [1000H]

3. 寄存器寻址

寄存器寻址

操作数在寄存器中。

示例: MOV AX, BX

4. 寄存器间接寻址

寄存器间接寻址

寄存器中存放操作数的地址。

示例: MOV AX, [BX]

参考资料