歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

ARM匯編程序---用ARM匯編實現R0寄存器中數據調換數據

具體思路:

本題本人的思路很簡單,就是通過以為操作來實現,注意此時不要使用循環移位,用算數移位和邏輯移位即可,每次移位保存其中一個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 

Copyright © Linux教程網 All Rights Reserved