ARM アセンブリを使用して、定義済みのバイト A、B、C、D を R0 にロードしたいと考えています。.data
セクションでは、次のように定義しています。
A: .byte 0xFF
B: .byte 0xAA
C: .byte 0x88
D: .byte 0x77
R0 はFFAA8877
、すべてが完了した時点である必要があります。.byte
A、B、C、Dに、または.word
他の何かを使用する必要があるかどうかわかりません。
編集:これが私がR0でやろうとしていることです:
@on entry: R0 holds the word to be swapped
@on exit: R0 holds the swapped word, R1 is destroyed
@R0 = A, B, C, D
byteswap:
EOR R1, R0, R0, ROR #16
BIC R1, R1, #0xFF0000
MOV R0, R0, ROR #8
EOR R0, R0, R1, LSR #8