Первая степень 2 ниже числа - PullRequest
0 голосов
/ 04 мая 2020

Следующий фрагмент кода представляет собой попытку студента написать таблицу соответствия в сборке PI C. Код должен возвращать первую степень 2 ниже числа N. Поэтому для значения 10 ответ должен быть 8, для 7 - 4.

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

как я могу переписать код выше используя подпрограмму, которая использует любые инструкции, кроме сложения и вычитания.

1 Ответ

0 голосов
/ 05 мая 2020

Вот ваша домашняя работа:

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 Вы можете добавить соответствующие комментарии.

...