首页 > 解决方案 > 8086 汇编 SHR 指令除以 3 问题

问题描述

我知道 shr 除法是如何工作的,但它只除偶数。我想把数字除以3。这个问题的汇编8086代码是什么?谢谢。

标签: assemblymasmbit-shiftemu8086integer-division

解决方案


除以 3 与乘以 1/3 相同。二进制的 1/3 是 0.010101...

所以在伪代码中:

sum:=0
tmp:=IN
while (tmp>0) {
  shr tmp, 2
  sum += tmp
}
OUT:=sum

推荐阅读