用div指令实现除法

div指令

  • div是除法指令,使用div作除法的时候
    • 被除数︰(默认)放在AX或 DX和AX中
    • 除数:8位或16位,在寄存器或内存单元中
    • 结果:…
  • div指令格式
    • div寄存器
    • div内存单元
被除数AXDX和AX
除数8位内存或寄存器16位内存或寄存器
ALAX
余数AHDX
示例指令被除数除数余数
div bl(ax)(bl)(al)(ah)
div byte ptr ds:[0](ax)((ds)*16+0)(al)(ah)
div byte ptr [bx+si+8](ax)((ds)*16+(bx)+(si)+8)(al)(ah)
div bx(dx)*10000H+(ax)(bx)(ax)(dx)
div word ptr es:[0](dx)*10000H+(ax)((ds)*16+0)(ax)(bx)
div word ptr [bx+si+8](dx)*100OOH+(ax)((ds)*16+(bx)+(si)+8)(ax)(bx)

切记提前在默认的寄存器中设置好被除数,且默认寄存器不作别的用处。

在内存单元中实施除法

  • 双字型数据的定义(实例)
data segment
    db 1﹔定义字节型数据O1H,在data:O处,占1个字节
    dw;定义字型数据0001H,在data:1处,占2个字节
    dd 1 ;定义双字型数据00000001H,在data:3处,占2个字( 4个字节)
data ends
mov ax,data
mov ds,ax
mov ax,ds:[0]
mov dx,ds:[2]
div word ptr ds:[4];
mov ds:[6],ax

例:用div计算data段中第一个数据除以第二个数据后的结果,商存放在第3个数据的存储单元中。

data segment
    dd 100001
    dw 100
    dw 0
data ends
mov ax,data
mov ds,ax
mov ax,ds:[0]
mov dx,ds:[2]
div word ptr ds:[4];
mov ds:[6],ax

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值