本题本人的思路很简单,就是通过以为操作来实现,注意此时不要使用循环移位,用算数移位和逻辑移位即可,每次移位保存其中一个16进制数,知道每个数都保存,然后再将这些数据反序存储到R0寄存器中。
ARM代码:
AREA HOMEWORK4,CODE,READONLY
ENTRY
START
LDR R0,=0xAABBCCDD
MOV R1,R0,LSR #28
MOV R2,R0,LSR #24
MOV R2,R2,LSL #28
MOV R2,R2,LSR #24
MOV R3,R0,LSR #20
MOV R3,R3,LSL #28
MOV R3,R3,LSR #20
MOV R4,R0,LSR #16
MOV R4,R4,LSL #28
MOV R4,R4,LSR #16
MOV R5,R0,LSR #12
MOV R5,R5,LSL #28
MOV R5,R5,LSR #12
MOV R6,R0,LSR #8
MOV R6,R6,LSL #28
MOV R6,R6,LSR #8
MOV R7,R0,LSR #4
MOV R7,R7,LSL #28
MOV R7,R7,LSR #4
MOV R8,R0,LSL #28
MOV R0,#0
ADD R0,R0,R1
ADD R0,R0,R2
ADD R0,R0,R3
ADD R0,R0,R4
ADD R0,R0,R5
ADD R0,R0,R6
ADD R0,R0,R7
ADD R0,R0,R8
STOP
B STOP