2

$B1,B2,B3,B4の 4 バイトを一度に 1 つずつデータ レジスタD1に移動したいと考えています。

D1 に必要な値は$B1B2B3B4です。

これを行うのに役立つ指示はどれですか?

4

3 に答える 3

1

これを行うために を使用SWAPしても意味がありません。移動、or、およびシフトを組み合わせるだけです。

MOVE.B  #$B1, D0  ; D0 now $xxxxxxB1
LSL.L   #8, D0    ; $xxxxB100
ORI.B   #$B2, D0  ; $xxxxB1B2
LSL.L   #8, D0    ; $xxB1B200
ORI.B   #$B3, D0  ; $xxB1B2B3
LSL.L   #8, D0    ; $B1B2B300
ORI.B   #$B4, D0  ; $B1B2B3B4

短くも速くもないかもしれませんが、少なくともより明確になったと思います。

于 2015-04-28T08:32:01.057 に答える
0

時々、あなたはそれについて直接言うことができます:

MOVE.L #$B1B2B3B4,D0

(肩をすくめる)

メモリを節約したり、非常に高速に実行したりする必要がある場合は、目的を達成するための賢い方法があります。

于 2015-02-26T00:27:33.020 に答える