LC3 Assemblée bit à Bit Décalage à Droite

Ce que j'ai besoin de le faire mettre en œuvre une opération de bits de décalage vers la gauche, et un bit à bit décalage à droite à l'aide de LC-3 Assemblée. Fondamentalement, chaque bit doit être déplacé sur un espace dans le sens du déplacement, et un zéro remplit l'espace vide créé.

Exemples:

Décalage À Droite:

 01001001
 00100100→

Décalage À Gauche:

 01001001
←10010010

J'ai mis en œuvre avec succès un décalage à gauche, en prenant la chaîne binaire, et les ajouter à lui-même.

Je suis perplexe sur la façon d'effectuer un décalage à droite. Toutes les pensées seraient grandement appréciés. J'ai ET, NON, les opérations d'AJOUT, de mouvement de données d'opérations, sept registres pour stocker des valeurs et de l'ensemble de la gamme de la mémoire. J'ai juste besoin de quelques idées de base comment il pourrait être mis en œuvre.

Si vous avez besoin d'un LC-3 du Jeu d'Instructions de référence, il est ici.

Lien de travail pour un LC-3 ISA référence: cs.utexas.edu/users/fussell/cs310h/lectures/Lecture_10-310h.pdf

OriginalL'auteur Will Haynes | 2012-04-09