我想将4个字节 $ B1,B2,B3,B4 一次一个地移入数据寄存器 D1 。
D1中我想要的值是 $ B1B2B3B4 。
哪些指示可以帮助我做到这一点?
答案 0 :(得分:1)
我找到了一个使用LSL的解决方案(谢谢你,Chris Stratton)和SWAP:
MOVE.B #$B1,D0
LSL #8,D0
MOVE.B #$B2,D0
SWAP D0
MOVE.B #$B3,D0
LSL #8,D0
MOVE.B #$B4,D0
答案 1 :(得分:1)
使用SWAP
执行此操作毫无意义,只需结合移动,动作和轮班:
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
也许它不会更短或更快,但至少我认为它更清晰。
答案 2 :(得分:0)
有时你可以直接谈论它:
MOVE.L #$B1B2B3B4,D0
(耸肩)
如果您需要节省内存或快速运行,有一些聪明的方法可以做你想要的。