算术运算指令
实现寄存器和内存的数据的算术运算。结果影响标志寄存器的内容。
add和sub
求和指令
add ax,bx ax=ax+bx
减法指令
sub ax,bx ax=ax-bx
(1)add/sub 寄存器 , 寄存器/内存单元/立即数
(2)add/sub 内存单元 , 寄存器
(3)运算对象的类型要匹配
adc
带进位加法指令,它利用CF位记录进位值
功能:操作对象1=操作对象1+操作对象2+CF
比如adc ax,bx
(ax)=(ax)+(bx)+CF
sbb
带借位减法指令,它利用CF位记录借位值
功能:操作对象1=操作对象1-操作对象2-CF
比如adc ax,bx
(ax)=(ax)-(bx)-CF
inc和dec
inc功能:操作数=操作数+1
dec功能:操作数=操作数-1
比如
inc bx
(bx)=(bx)+1
dec bx
(bx)=(bx)-1
div
除法指令
(1)除数:有8位和16位,在内存单元或寄存器
(2)被除数:默认放在ax或ax和dx中
注意以下问题
如果除数为8位,al存储商,ah存储余数
如果除数为16位,ax存储商,dx存储余数
比如除数为16位:100001/100,
mov dx,1
mov ax,86a1H
mov bx,100
div bx
比如除数为8位:1001/100
mov ax,1001
mov bl,100
div bl
mul
乘法指令
(1)如果是8位数相乘,一个在AL,另一个在内存字节单元或8位寄存器中,结果在AX中
(2)如果是16位数相乘,一个在AX,另一个在内存字单元或16位寄存器中,结果高位在DX中,低位在AX中
比如:
100*10
mov al,100
mov bl,10
mul bl
结果(ax)=1000
100*10000
mov ax,100
mov bx,10000
mul bx
结果
(ax)=4240h
(dx)=000fh
1000000=F4240H
来源:CSDN
作者:无名至尊
链接:https://blog.csdn.net/qq_41955402/article/details/104267697