什么是指令、指令集
指令
是用0、1编码的,计算机能够识别并执行的操作命令。是计算机运行的最小功能单位
指令集合:一台计算机上所有指令的集合
注意:cpu类型不同所能执行的指令集数量和种类也不同,例如X86架构只能执行自己的指令集,而不能执行ARM架构的指令集
常见的指令集架构有以下几种:
1.x86
:x86是一种使用复杂指令集计算机(CISC)架构的CPU指令集,通常应用于桌面计算机、服务器、工作站和移动设备等领域。它是Intel公司开发的,Intel在早期以80x86这样的数字格式来命名处理器,包括Intel 8086、80186、80286、80386以及80486,由于以“86”作为结尾,因此其架构被称为“x86”。
-
ARM
:ARM架构是一种基于RISC(Reduced Instruction Set Computer)指令集的计算机架构,一种广泛应用于移动设备和嵌入式系统领域的指令集架构,其特点是高能耗效率和低成本设计。ARM处理器广泛使用于智能手机、平板电脑、路由器和家电等领域。 -
MIPS
:一种以精简指令集(Reduced Instruction Set Computer,RISC)为主要特征的指令集架构,其特点是指令数少、执行效率高和开发过程短。MIPS处理器被广泛应用于嵌入式系统、数字家电、路由器和游戏机等领域。 -
PowerPC:一种被广泛应用于服务器、工作站、路由器、游戏机等领域的指令集架构。PowerPC架构的处理器具有高性能和可扩展性。
-
SPARC:一种以RISC架构为主要特征的指令集,它主要用于服务器和高性能计算领域。
指令的组成
指令包含了执行操作所需的操作码
(Opcode)和操作数
(Operand)
1、操作码:表示要执行的操作类型,例如加法、减法、乘法、逻辑运算等
10000000
( 进行一次加法运算)
10010000
(进行一次减法运算)
2、操作数:则是操作所需的数据或地址信息,在操作数这个字段中可以放操作数本身,也可以放操作地址(地址码)指定参与操作的操作数的地址。
注意:
操作数
是指令中需要参与操作或计算的数据值,这些值可以来自内存、寄存器或者是立即数(立即数是直接在指令中给出的数值)。操作数与指令类型、操作数位数和格式等相关联。一条指令可能需要多个操作数,每个操作数可能占用不同的数据长度。
地址码则
是指令中所要使用的寄存器或内存地址。它与指令操作的是存储器位置与内容有关。地址码通常指示CPU通过哪一个特定的寄存器或者内存地址获取或者写入操作数。操作数可以直接被指令引用,也可以通过特定寄存器或内存地址存储并间接被指令引用。在执行指令时,CPU需要引用地址码来访问操作数所在的寄存器或者内存地址。
根据地址的数量
可以把指令分为四种类型:
1、3地址指令
2、2地址指令
3、1地址指令
4、0地址指令
3地址指令
2地址指令
1地址指令
操作码长度
:由cpu决定,cpu不同操作码长度也不同
地址码长度
:由cpu所能使用的存储器大小决定
汇编语言指令格式
汇编语言采用助记符
来代替0、1表示的操作码:
A+B—>ADD A,B(ADD为助记符
,结果存放在A中)
A-B—>SUB A,B(SUB为助记符
,结果存放在A中)