LC-3 Assemblyを使用して、ビット単位の左シフトとビット単位の右シフトの両方を実装する必要があります。基本的に、すべてのビットはシフトの方向に 1 つのスペースを移動する必要があり、作成された空のスペースはゼロで埋められます。
例:
右シフト:
01001001
00100100→
左方移動:
01001001
←10010010
バイナリ文字列を取得してそれ自体に追加することにより、左シフトを正常に実装しました。
右シフトを実行する方法に困惑しています。どんな考えでも大歓迎です。AND、NOT、ADD 操作、データ移動操作、値を格納するための 7 つのレジスタ、およびメモリの全範囲があります。それをどのように実装できるか、いくつかの基本的なアイデアが必要です。
LC-3 命令セットのリファレンスが必要な場合は、ここにあります。