一个数字的2的第一个幂

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

以下代码片段是学生尝试在PIC程序集中编写查找表的过程。的代码应该返回小于N的2的第一幂。因此对于值10 tha回答应该是8,对于7应该是4。

nop
nop
retlw 8
Nop
Nop
Nop
retlw 4
Nop
retlw 2
Nop
retlw 0
lesspow subwf PCL, F

我如何使用一个子例程重写上面的代码,该子例程使用除add和减去。

assembly bit-manipulation pic
1个回答
-1
投票

这是您的作业:

lesspow:
    movwf   temp
    clrc
    rrf     temp,F
    iorwf   temp,W
    clrc
    rrf     temp,F
    iorwf   temp,W
    clrc
    rrf     temp,F
    iorwf   temp,W
    clrc
    rrf     temp,F
    iorwf   temp,W
    clrc
    rrf     temp,F
    iorwf   temp,W
    clrc
    rrf     temp,F
    iorwf   temp,W
    clrc
    rrf     temp,F
    iorwf   temp,W
    movwf   temp
    rrf     temp,F
    xorwf   temp,W
    return

w您可以添加适当的注释。

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