一、数据传送类指令
1、功能:数据传送指令用于寄存器、存储单元或输入输出端口之间的数据或地址传送。数据传送时,把源地址的数据传送到目的地址,而源地址中的数据保持不变。数据的传送指令包括读操作(取数)和写操作(存数)。
2、分类:
(1)传送类指令:包括传送指令(MOV)、交换指令(XCHG)、入栈指令(PUSH)、出栈指令(POP)等。
传送指令,用来实现数据传送,需要指出的是数据从源地址传送到目的地址时,源地址的数据保持不变。也就是说传送指令并非是移动而复制。传送指令需要两个操作数地址,即源操作数地址和目的操作数地址。
数据交换指令,即双向数据传送。
入栈指令/出栈指令,是专门用于堆栈操作的指令。这两个指令只需要指明一个操作数地址,另一个隐含的是是堆栈的栈顶数据。
(2)输入/输出(I/O)类指令:这类指令完成主机与外围设备之间的信息传送,包括输入/输出数据,主机向外设发控制命令或了解外设的工作状态等。因此,从功能上讲I/O指令应当属于传送类指令。实际上有的机器的I/O操作就是由传送类指令实现的。通常输入/输出指令有三种设置方式。
在双总线或多总线结构中,设置专用的I/O指令,计算机系统将内存与输入输出设备接口寄存器单独编址,即将两者分为两具独立的地址空间:内存空间和I/O空间。为了区分是对内存操作还是对外设接口中的寄存器操作,用IN表示输入操作,用OUT表示输出操作,以区别于对内存空间的MOV操作指令。
在单总线结构中,用传送类指令实现I/O操作,将外围设备接口寄存器与主存单元统一编址,同样对待,任何访问主存单元的指令均可以访问外设的寄存器,这样就可以用传送类指令去访问I/O接口中的寄存器,而不必专门设置I/O指令。
在IOP工作方式中,I/O操作相应地被分为二级,CPU只有几条简单的I/O指令,负责根据这些I/O指令生成I/O程序。IOP执行I/O程序,控制外设的I/O操作。
二、数据处理类指令
1、算术运算指令
(1)定点运算指令
ADD(加)SUB(减)NEG(求补)INC(加1)
DEC(减1)CMP(比较)
(2)浮点运算指令
(3)十进制数运算指令
(4)向量运算指令
(5)通过编程实现其他运算。
2、逻辑运算指令
(1)类型:逻辑非(求反)、逻辑与(逻辑乘)、异或(按位加)等操作。
(2)功能:
利用“逻辑乘”作按位测试;
利用“逻辑乘”作按位清除;
利用“逻辑加”作按位设置;
利用“异或”判断、修改某些位、产生随机数。
3、移动运算指令
(1)算术移位运算
(2)逻辑移位运算
(3)循环移位运算
4、串操作指令
(1)串:是指主存中连续存放的一序列字或字节。
(2)串可以由数值数据构成,也可以由非数值数据构成。
(3)串操作指令包括:串传送指令、串比较指令、串查找指令等。
三、程序控制类指令
1、功能:通过修改程序计数器中的内容,以控制程序执行的顺序和方向。
2、类型:
(1)转移指令:包括条件转移指令和无条件转移指令。
(2)循环控制指令
(3)子程序调用和返回指令
(4)程序自中断指令
四、处理机控制类指令
1、功能:用以直接控制CPU实现特定的功能。
2、类型:
(1)停机指令(HALT)
(2)空操作指令(NOP)
(3)开中断指令(EI)和关中断指令(DI)
领取专属 10元无门槛券
私享最新 技术干货