仅使用加法计算功率

时间:2016-10-07 13:56:14

标签: assembly x86

我们得到了一项任务,我无法弄明白该怎么做。 任务是这样的:

制作一个由CX计算的循环并计算2 ^ CX的幂 例如:如果我在CX中放入5,我得到2 ^ 5。

该指令仅在添加时执行,并且仅在使用LOOP,ADD,MOV时将结果存储在AL中。

我只能进行2次乘法运算。

这是我尝试过的事情

MOV AL,2 MOV CX,5 CALC: ADD AL,AL LOOP CALC

1 个答案:

答案 0 :(得分:1)

好的,现在你有了一些代码,但它还没有给你正确的值(它可能会给你64)。您应该从1开始,AL + AL = 2,然后是4等等。

更具体一点:

        MOV     AL,1
        MOV     CX,5
CALC:
        ADD     AL,AL        ; 1+1=2, 2+2=4, 4+4=8, 8+8=16, 16+16=32=2^5
        LOOP    CALC