Как написать операцию поворота для Risc-V (язык ассемблера) Есть ли у нас какая-либо команда для него, как у 8086? - PullRequest
0 голосов
/ 28 марта 2019

Ранее я работал с языком ассемблера 8086, операция поворота в 8086 была просто командой. Но я не могу найти конкретное ключевое слово для операции вращения в ассемблере Risc-V.

1 Ответ

1 голос
/ 28 марта 2019

Похоже, расширение "B" должно в конечном итоге определять такую ​​инструкцию.

До этого вы должны составлять его, используя сдвиги влево и вправо.

Вот эквивалент инструкции MIPS32R2 rotrv (повернуть вправо на переменное количество):

rotrv:
    subu    neg_count, zero, count
    srlv    tmp1, src, count
    sllv    tmp2, src, neg_count
    or      dst, tmp1, tmp2

Вы можете сделать то же самое на riscv.

...