汇编语言王爽第七部分(算术运算指令,加减乘除)

算术运算指令

实现寄存器和内存的数据的算术运算。结果影响标志寄存器的内容。

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值