使用汇编除以 2 的幂

问题描述 投票:0回答:1

我有这个任务:

除功率2

计算 x/2n,0 ≤ n ≤ 30。向零舍入。

  • 论点1:
    x
  • 论据2:
    n

示例:

  • dividePower2(15,1) = 7
  • dividePower2(-33,4) = -2

这是我到目前为止所得到的,但我不知道我是否朝着正确的方向前进(需要 AT&T 语法):

.global dividePower2
   dividePower2:
   sar $2, %esi
   ret
assembly bit-manipulation x86-64 bitwise-operators bit-shift
1个回答
0
投票

我只熟悉 x86 处理器系列的汇编,所以我不知道代码是什么样的。但是潜水 2 本质上是右移。所以对于

pow(2,n)
次,你需要循环它
n
次。

© www.soinside.com 2019 - 2024. All rights reserved.