指令的格式

目录

一、地址码数目

1.零地址指令(OP):

2.一地址指令:

3.二、三地址指令:

二、指令长度 

三、操作码长度:

四、操作类型: 


一、地址码数目

指令(又称机器指令)是指示计算机执行某种操作的命令是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该机的指令系统,也称为指令集,
注:一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指令

一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。

一条指令在逻辑上通常要包括操作码字段和地址码字段两部分:

各种指令需要执行的操作不同,地址码的数目有可能发生变化,根据地址码数目不同,分为零地址指令, 一地址指令,二地址指令等等。。。

1.零地址指令(OP):

指令本身不包含操作数的地址,而是隐含地使用特定的寄存器或者栈上的数据。这种类型的指令通常出现在堆栈机器(stack machine)中,其中操作数从栈顶弹出(pop),计算结果再压回(push)栈中。不需要操作数,如空操作,停机,关中断等指令

以下是0地址指令的一些特点:

①指令长度短:由于不需要指定操作数的地址,指令可以比较短,从而节省空间。

②编码简单:指令编码不需要包含地址字段,因此指令的编码过程较为简单。

③结构简单:堆栈机器通常结构简单,因为它们主要依赖于操作栈来处理数据。

2.一地址指令:

一地址指令(One-address instruction)是指在指令集中,指令包含一个操作数地址的指令格式。在这种格式中,指令通常指定一个操作数和一个操作码(opcode),而另一个操作数或者结果通常隐含地存储在累加器(accumulator)中,这是CPU中的一个特殊寄存器。

以下是关于一地址指令的一些关键点:

①指令结构:一地址指令通常由操作码和单个操作数地址组成。例如,ADD X,其中ADD是操作码,X是操作数的地址。

②累加器使用:在一地址指令的架构中,大多数操作涉及到累加器和内存中的一个位置。这意味着指令通常在累加器和指定内存位置之间传输数据。

③指令长度:由于只需要一个地址字段,一地址指令通常比需要多个地址的指令更短。

④指令类型:一地址指令可以执行算术运算、逻辑运算、数据传输等操作。

3.二、三地址指令:

常用于需要两个操作数的算术运算、逻辑运算相关指令

指令含义:(A1)OP(Az)→A1
完成一条指令需要访存4次,取指>读A1>读A2>写A1

常用于需要两个操作数的算术运算、逻辑运算相关指令

指令含义:(A1)OP(4)→A3
完成一条指令需要访存4次,取指→读A1>读A2>写A3 

二、指令长度 

指令字长:一条指令的总长度(变化)

半字长指令、单字长指令、双字长指令  --指令长度是机器字长的多少倍

指令字长会影响取指令所需时间。如:机器字长=存储字长=16bit,则取一条双字长指令需要两次访存


定长指令字结构:指令系统中所有指令的长度都相等

变长指令字结构:指令系统中各种指令的长度不等

三、操作码长度:

定长操作码:指令系统中所有指令的操作码长度都相同
可变长操作码:指令系统中各指令的操作码长度可变

四、操作类型: 

1.数据传送
LOAD作用:把存储器中的数据放到寄存器中

STORE作用:把寄存器中的数据放到存储器中


2.算术逻辑操作
算术:加、减、乘、除、增 1、减 1、求补、浮点运算、十进制运算

逻辑:与、或、非、异或、位操作、位测试、位清除、位求反

3.移位操作
算术移位、逻辑移位、循环移位(带进位和不带进位)


4.转移操作
无条件转移JMP
条件转移 JZ:  结果为0;  J0:结果溢出;  JC:结果有进位

调用和返回 CALL和RETURN
陷阱(Trap)与陷阱指令


5.输入输出操作
CPU寄存器与I0端口之间的数据传送(端口即I0接口中的寄存器)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值