表格中只列出部分,如果要详细了解8086指令系统中的各个指令的用法,可以查看有关的指令手册。或者使用汇编金手指软件。
1.数据传送指令
数据传送指令 | 功能 |
---|---|
mov | 传送指令,但不能用于设置CS、IP中的内容 (要修改可以用jmp) |
push | 入栈(以字为单位进行),执行指令时CPU从SS和SP中得到栈顶的地址 |
pop | 出栈 |
pushf | 将标志寄存器的值入栈(可用来修改标志寄存器的值) |
popf | 从栈中弹出数据,送入标志寄存器中 |
xch | 交换数据 |
这些指令实现寄存器和内存、寄存器和寄存器之间的单个数据传送
2.算数运算指令
算数运算指令 | 功能 |
---|---|
add | 两数相加(不带进位) |
sub | 两数相减 (不带借位) |
adc | 带进位的加法 |
sbb | 带借位的减法 |
inc | 令目标数自加 1 |
dec | 令目标数自减 1 |
cmp | 比较指令,执行从目的操作数中减去源操作数的隐含减法操作,并且不修改任何操作数(仅修改标志寄存器) |
imul | 有符号乘法(mul 无符号乘法) |
idiv | 有符号出发 (div 无符号出发) |
aaa | 用于非压缩BCD码加法调整 |
这些指令实现寄存器和内存中的数据的算数运算。它们的执行结果影响标志寄存器的sf、zf、of、cf、pf、af位