四、指令系统简介 -------川川

定义

机器指令: CPU所能完成的操作是由其执行的指令决定的,这些指令就是机器指令。
指令系统: CPU能执行的所有机器指令的集合称为该CPU的指令系统。指令系统是计算机硬件与软件的接口。

指令格式

1. 指令定义:

指令是指挥计算机完成各种操作的基本命令。一般来说,一条指令包括两个组成部分:操作码和地址码。
操作码: 说明指令的功能及操作性质。
地址码: 用来指出指令的操作对象,它指出操作数或操作数的地址及指令执行结果的地址。
基本格式如下:
在这里插入图片描述

2. 指令格式分类:

OP:操作码;A1:源操作数1;A2:源操作数2;A3:目的操作数的地址。

1. 三地址指令格式:(A1)OP(A2)→(A3)
在这里插入图片描述
2. 二地址指令格式:(A1)OP(A2)→(A1)
在这里插入图片描述
3. 一地址指令格式
若针对一个操作数的指令:OP(A)→(A)
若针对两个操作数的指令,通常另一个操作数是隐含的:(AC)OP(A)→(AC)
在这里插入图片描述

4. 零地址指令格式:只有操作码,不含指令地址
无操作数的控制操作,如空操作指令NOP、停机指令HLT等;
隐含有操作数,在指令中不体现。
在这里插入图片描述

寻址方式

1.定义

寻址方式就是如何对指令中的地址字段进行解释,以获得操作数的方法或获得程序转移 地址的方法,操作数的位置可能在指令中、寄存器中、存储器中或I/O端口中。

2.分类

  1. 立即寻址: 操作数就包含在指令中。在形成指令的机器代码时,立即数就跟在指令操作码的后面,取出指令时既可得到操作数。
  2. 直接寻址: 操作数存放在内存单元中,指令中直接给出操作数所在的存储单元的地址。
  3. 寄存器寻址: 操作数存放在某一寄存器中,指令中给出存放操作数的寄存器名。
  4. 寄存器间接寻址: 操作数存放在内存单元中,操作数所在存储单元的地址在某个寄存器中。
  5. 间接寻址: 操作数存放在内存单元中。这种寻址方式下,指令中给出操作数地址,取出操作数要进行两次访问内存的操作。
  6. 基址寻址: 操作数存放在内存单元中。指令中操作数地址码给出基址寄存器和一个偏移量(可正可负),操作数的有效地址为基址存储器的内容加上偏移量。
  7. 变址寻址: 操作数存放在内存单元中。操作数 的有效地址等于变址存储器的内容加偏移量。

指令种类

  • 数据传送类指令:
    数据传送指令:立即数传送到寄存器、立即数传送到存储单元、一个寄存器内容传送到另一个寄存器、寄存器内容传送到存储单元、一个存储单元传送到另一个存储单元、存储单元传送到寄存器。
    数据交换指令:寄存器与寄存器之间的数据交换、存储器单元与寄存器之间的数据交换、存储单元与存储器单元之间的数据交换。
    堆栈操作指令:压入堆栈指令、弹出堆栈指令。
  • 输入/输出(I/O)指令:
    这类指令用于实现主机与外设间的数据传送,包括数据的输入/输出、主机向外设发出控制命令以及输入外设的状态。
  • 算术运算指令:
    这类指令支持CPU实现加减乘除等算术运算。
  • 逻辑运算指令:
    支持CPU实现各种逻辑运算。一般的CPU都会设置逻辑运算指令。
  • 移位操作指令:
    算术移位:对带符号操作数进行移位。
    逻辑移位:对无符号的操作数进行移位。
    循环移位:不带进位的循环移位、带进位的循环移位。
  • 程序控制类指令:
    跳转指令:无条件跳转指令、条件跳转指令。
    子程序调用和返回指令:在程序设计时,通常把完成某种独立功能、多次重复使用的代码段定义为一个子程序。编程时,根据需要可调用子程序完成相应的功能。子程序调用指令从一个程序段跳转到另一个程序段。子程序执行结束后,必须返回调用它的程序段。
    陷阱指令:是一种意外事件所引起的中断。通常陷阱指令是隐含的,不提供给用户使用。
  • 串操作类指令:
    计算机通常需要处理大量的字符串信息,因此一般都会设置字符串操作指令。
  • 处理机控制类指令:
    用于对CPU实施控制。
  • 数据转换类指令:
    进行进制之间的转换。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个昵称被占用的川川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值