ARM彙編指令編程

ARM彙編指令編程之寄存器中數據調換順序


題目:將R0中的數據調換順序;例如:R0=0XAABBCCDD調換順序後爲R0=0XDDCCBBAA


實驗環境:ARM Developer Suite V1.2

代碼:

        AREA test,CODE,READONLY

        ENTRY

        CODE32

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

        END


思路:把每個數字都放在鏡像的位置,將其左右通過邏輯左右移移空,並放入獨立的寄存器,最後將幾個寄存器的值相加即可。


結果截屏:

此文章本人原創,如有問題底部留言,如有轉載請標明出處。

--HurryChen


                                                                      Happy   Coding!

                                                                    *\( ^ v ^ )/*

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章