指令类型

如题所述

第1个回答  2022-07-21
一台计算机的指令系统通常有几十条至几百条指令,按其所完成的功能可分为:

(1)算术逻辑运算指令

一般计算机都具有这类指令。

通常根据算数运算的结果置状态位,一般有Z(结果为0)、N(结果为负)、V(结果溢出)、C(产生进位或借位)4个状态位。当满足括号内所提出的条件时,相应位置成1,否则为0。例如,结果为0时,Z = 1,否则Z=0。

(2)移位操作指令

移位操作指令分为算术移位、逻辑移位和循环移位3种,可以将操作数左移或右移若干位。

算术移位与逻辑移位很类似,但由于操作对象不同(前者的操作数带符号,后者的操作数为无符号)而移位操作有所不同。它们的主要差别在于右移时填入最高位的数据不同。算术右移保持最高位(符号位)不变,而逻辑右移最高位补零。

(3)浮点运算指令

主要用于科学计算的计算机应该设置浮点运算指令,一般能对单精度(32位)和双精度(64位)数据进行处理。

(4)十进制运算指令

在人机交互作用时,输入输出的数据都是以十进制表示的。在不具有十进制运算指令的计算机中,首先将十进制数据转换成二进制数,再在机器内运算;后又转换成十进制数据输出。因此,在输入输出数据频繁的计算机系统中,设置十进制运算指令能提高数据处理的速度。

(5)字符串处理指令

是一种非数值处理指令,一般包括字符串传送、字符串比较、字符串查询和字符串转换等指令。

(6)数据传送指令

用以实现寄存器与寄存器、寄存器与存储器(主存)单元、存储器单元与存储器单元之间的数据传送。一次可以传送一个数据或一批数据。

数据传送时,数据从源地址传送到目的地址,而源地址中的数据保持不变,因此实际上是数据复制。

有些机器设置了数据交换指令,完成源操作数与目的操作数交换,实现了双向数据传送。

(7)转移指令

用以控制程序流的转移。

a . 无条件转移指令(jump)与条件转移指令

无条件转移指令不受任何条件约束,直接把程序转移到指令所规定的目的地,在那里继续执行。

条件转移指令则根据计算机处理结果来决定程序如何执行。

标志:

b. 调用指令(call)与返回(return)指令

c. 陷阱(trap)与陷阱指令

(8)堆栈(stack)及堆栈操作指令

压入指令(PUSH),弹出指令(POP)

(9)输入输出(I/O)指令

(10)特权指令

(11)其他指令

向量指令(对向量或矩阵数据求和、求积的指令)

多处理机指令

控制指令(停机指令等)