LC3 Assembly Bitwise Right Shift
To, co muszę zrobić, to zaimplementować zarówno lewe przesunięcie bitowe, jak i przesunięcie bitowe w prawoMontaż LC-3. Zasadniczo każdy bit musi być przesunięty na jedną przestrzeń w kierunku przesunięcia, a zero wypełnia pustą przestrzeń utworzoną.
Przykłady:
Prawy Shift:
<code> 01001001 00100100→ </code>
Przesunięcie w lewo:
<code> 01001001 ←10010010 </code>
Z powodzeniem zaimplementowałem przesunięcie w lewo, biorąc łańcuch binarny i dodając go do siebie.
Jestem zakłopotany, jak wykonać prawą zmianę. Jakiekolwiek propozycje będą mile widziane. Mam operacje AND, NOT, ADD, operacje przenoszenia danych, siedem rejestrów do przechowywania wartości i cały zakres pamięci. Potrzebuję tylko kilku podstawowych pomysłów na to, jak można go wdrożyć.
Jeśli potrzebujesz referencji zestawu instrukcji LC-3, jestjeden tutaj.