指令类型

作者: Wovw | 来源:发表于2020-11-21 12:28 被阅读0次

    一台计算机的指令系统通常有几十条至几百条指令,按其所完成的功能可分为:

    (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)其他指令

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

    多处理机指令

    控制指令(停机指令等)

    相关文章

      网友评论

        本文标题:指令类型

        本文链接:https://www.haomeiwen.com/subject/jwnsiktx.html