Montagem LC3 Bitwise Right Shift

O que eu preciso fazer é implementar tanto um shift esquerdo bitwise, como um shift direito bitwise usandoMontagem LC-3. Basicamente, todo bit tem que ser movido em um espaço na direção do deslocamento, e um zero preenche o espaço vazio criado.

Exemplos:

Deslocamento para a direita:

<code> 01001001
 00100100→
</code>

Desvio à esquerda:

<code> 01001001
←10010010
</code>

Eu implementei com sucesso um turno esquerdo, pegando a string binária e adicionando ela a si mesma.

Estou perplexo sobre como realizar um turno certo. Qualquer pensamento seria muito apreciado. Eu tenho E, NÃO, ADICIONAR operações, operações de movimentação de dados, sete registros para armazenar valores e todo o intervalo de memória. Eu só preciso de algumas idéias básicas de como isso poderia ser implementado.

Se você precisar de uma referência do LC-3 Instruction Set,um aqui.

questionAnswers(4)

yourAnswerToTheQuestion