$B1,B2,B3,B4の 4 バイトを一度に 1 つずつデータ レジスタD1に移動したいと考えています。
D1 に必要な値は$B1B2B3B4です。
これを行うのに役立つ指示はどれですか?
これを行うために を使用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
短くも速くもないかもしれませんが、少なくともより明確になったと思います。
時々、あなたはそれについて直接言うことができます:
MOVE.L #$B1B2B3B4,D0
(肩をすくめる)
メモリを節約したり、非常に高速に実行したりする必要がある場合は、目的を達成するための賢い方法があります。