0

LC-3命令セットを使用して、16ビット(2バイト)ワードの最後の8ビット(つまりバイト)を左にシフトする方法を決定しようとしています。

例えば、

0000 0000 1111 1111 -> 1111 1111 0000 0000
4

2 に答える 2

1

あなたがLC-3について話していることを理解したので、LC-3bMiroarchitectureと参照されている命令セットに関するこのプレゼンテーションを見つけました。

論理シフトを実装する必要があります。具体的には、論理左シフト。これを行うには、いくつかの方法があります。

バイナリ演算を理解していれば、これを簡単な方法で行うことができます。

于 2013-03-27T00:11:50.930 に答える
1

左シフトを行うには、それ自体に値を追加するだけです。これを8回行うための単純なループを作成します。

何かのようなもの

LD R1, count
loop
    LD R0, word
    ADD R0, R0, R0 ;Left Shift
    ADD R1, R1, -1 ;Decrement shift counter
    BRp loop       ;We still have shifts, go back to loop

HALT
count .fill #8
于 2013-04-19T23:57:01.220 に答える