首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在装配中不使用DIV进行分割

问在装配中不使用DIV进行分割
EN

Stack Overflow用户
提问于 2013-11-24 01:54:10
回答 1查看 5.2K关注 0票数 2

如何在不使用DIV指令而使用shift和add方法的情况下将汇编中的两个数字相除?

我用乘法做到了这一点,下面是我的代码:

代码语言:javascript
复制
mov bl, 56H ;For example
mov dl, 79H
;start
mov bh, 00H
mov dh, 00H
xor di, di
mov cx, 08H
L1:
shr dx, 1 ;shifting the multiplier
jnc nxt
add di, bx ;adding the multiplicand to the result register di
nxt:
shl bx, 1 ;shifting the multiplicand
loop L1

第二个问题:我的老师告诉我们有一个叫做MOVZE的指令来做我在第4行和第5行做的事情,但它不起作用?我使用emu8086仿真器。

EN

回答 1

Stack Overflow用户

发布于 2013-11-24 03:32:44

不能使用移位和加法将一个数字除以另一个数字。不知道是谁告诉你可以这么做的。向右移动一位相当于预测二位。但是你不能通过移位来划分为随机数。

票数 -4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20165805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档