用div指令实现除法操作

D i v 指令实现除法操作 \color{blue}\huge{Div指令实现除法操作} Div指令实现除法操作

d i v div div指令

被除数: \color{red}{被除数:} 被除数:(默认)放在 a x ax ax或者( a x ax ax d x dx dx)。
除数: \color{red}{除数:} 除数: 8 8 8位或者 16 16 16位(分情况讨论),存放在寄存器或者内存单元之中。

指令格式: \color{olive}{指令格式:} 指令格式:

div 寄存器/内存单元

除法实例 除法实例 除法实例

在这里插入图片描述
对于第一个除法:6789H ÷ A2H,很明显被除数 6789 H 6789H 6789H可以由 a x ax ax装下,除数 A 2 H A2H A2H也可以被 8 8 8位内存或寄存器装下。( 8 位 d i v 操作情况 \color{red}{8位div操作情况} 8div操作情况)
对于第二个除法:12345678H ÷ 2E7H,被除数 12345678 H 12345678H 12345678H无法用 a x ax ax装下去,除数 2 E F 7 H 2EF7H 2EF7H也不能被 8 8 8位的内存或寄存器装下。( 16 位 d i v 操作情况 \color{red}{16位div操作情况} 16div操作情况)

d i v div div操作各个寄存器关系

在这里插入图片描述
操作的数据较小使用 8 8 8位的 d i v div div操作,操作的数据比较大使用 16 16 16位的 d i v div div操作。
在这里插入图片描述当被除数大于 16 16 16位的时候,一个 a x ax ax不能够存放下当前的被除数了。所以使用 d x dx dx a x ax ax一起来表示当前的被除数: ( d x ) ∗ 10000 H ( 2 16 ) + ( a x ) \red{(dx)*10000H(2^{16}) + (ax)} (dx)10000H(216)+(ax)
d x dx dx向左移 16 16 16位,之后加上 a x ax ax,就完成 32 32 32位数据的存储。

div bxdiv word ptr进行 d i v div div操作的基类型都是 16 16 16位,操作完全一致。

d i v div div实例

①. 在这里插入图片描述在这里插入图片描述 186 A 1 H 186A1H 186A1H数据的大小已经超过了 16 16 16位,需要使用 16 16 16位的 d i v div div操作。

C o d e : \color{blue}{Code:} Code

mov dx , 1
mov ax , 86A1
mov bx , 65			//65放到bx中表示16位div操作
div bx

②.
在这里插入图片描述在这里插入图片描述 3 E 9 3E9 3E9这个数据很小,使用 8 8 8 d i v div div操作即可。

C o d e : \color{blue}{Code:} Code

mov ax , 3E9
mov bl , 64		//64放入bl中表示8位div操作
div bl
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值