逻辑左移指令 SHL
逻辑右移指令 SHR
算术左移指令 SAL
算术右移指令 SAR
循环左移指令 ROL
循环右移指令 ROR等。
位测试指令 BT 位测试并置位指令 BTS 位测试并复位指令 BTR 位测试并取反指令 BTC 位向前扫描指令 BSF 位向后扫描指令 BSR等。
3.5 程序控制(转移)类指令
主要有以下类别:
无条件转移指令 JMP; 条件转移指令 Jcc/JCXZ; 循环指令 LOOP/LOOPE/LOOPNE; 过程调用指令 CALL; 子过程返回指令 RET; 中断指令 INTn、INT3、INTO、IRET等。
3.6 输入输出(I/O)指令。
计算机本身是数据处理和管理机构,不能产生原始数据,也不能长期保存数据。所处理的一切原始数据均来自输入设备,所得的处理结果必须通过外总设备输出。
指令的功能是从I/O端口输入(读)数据到微处理器的累加器中,OUT指令的功能是将微处理器的累加器中的数据输出(写)到I/O端口中。
端口输入指令 IN/INS
端口输出指令 OUT/OUTS。
3.7 堆栈操作指令
堆栈是由若干个连续存储单元组成的先进后出(FILO)存储区,第一个送入堆栈中的数据存放在栈底,最后送入堆栈中的数据存放在栈顶。栈底是固定不变的,而栈顶却是随着数据的入栈和出栈在不断变化。
堆栈指针sp总是指向已经存入数据的栈顶(不是空单元),所以PUSH指令是将(SP)减2,后将内容压栈(即先修改SP是指指向空单元,后压入数据),而POP是先从栈顶弹出一个字,后将堆栈指针SP加2。
堆栈操作指令 PUSH/PUSHA/PUSHAD/POP/POPA/POPAD
3.8 字符串处理指令
字符串处理指令就是一种非数值处理指令,一般包括字符串传送,字符串转换(把一种编码的字符串转换成另一种编码的字符串),字符串比较,字符串查找(查找字符串中某一子串),字符串匹配,字符串的抽取(提取某一子串)和替换(把某一字符串用另一字符串替换)等。