针对8086CPU
1、数据传送指令
比如mov、push、pop、pushf、popf、xchg等都是数据传送指令,这些指令实现寄存器和内存、寄存器和寄存器之间的单个数据传送
2、算术运算指令
比如add、sub、adc、sbb、inc、dec、cmp、imul、idiv、aaa等都是算术运算指令,这些指令实现寄存器和内存中数据的算术运算。他们的执行结果影响标志寄存器的sf、zf、of、cf、pf、af位
3、逻辑指令
比如and、or、not、xor、test、shl、shr、sal、sar、rol、ror、rcl、rcr等都是逻辑指令。除了not指令外,他们的执行结果影响标志寄存器的相关标志位
4、转移指令
可以修改IP,或同时修改IP和CS的指令统称为转移指令。分类如下:
4.1:无条件转移指令,比如jmp
4.2:条件转移指令:jcxz、je、jb、ja、jna、jnb等
4.3:循环指令,比如loop
4.4:过程,比如call、ret、retf
4.5:中断,比如in、iret
5、处理控制指令
这些指令对标志寄存器或其他寄存器状态进行设置,比如cld、std、cli、sti、nop、clc、cmc、stc、hlt、wait、esc、lock等都是处理器控制指令
6、串处理指令
这些指令对内存中的批量数据进行处理,比如movsb、movsw、cmps、scas、lods、stos等。若要使用这些指令方便进行批量数据的处理,则需要rep、repe、repne等前缀指令配合使用。