Alpha_dllg的个人空间 https://blog.eetop.cn/1010876 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

ARM之64位数据高低位互换

已有 1911 次阅读| 2012-10-15 17:22 |个人分类:ARM

天气: 晴朗
心情: 平静

/*----------------------------------------------------

* 寄存器使用说明:

* R0:64位数据的低32

* R1:64位数据的高32

*----------------------------------------------------*/

.global _start

 

.text

 

.arm

 

_start:

      B Main

    

Reverse:                           @子函数实现单个字内的高低位互换

      MOV R3,#0

      MOV R5,#0X80000000     

      MOV R6,#32

Rever_1:     

      MOVS R4,R4,rrx

      EORCS R3,R3,R5

      MOV R5,R5,LSR #1

      SUBS R6,R6,#1

      BNE  Rever_1

      MOV R4,R3

      BX   R7

     

Main:     

      MOV R0,#0xFF000000

      MOV R1,#0xFF000000

#实现R0R1互换

      MOV R2,R0

      MOV R0,R1

      MOV R1,R2

#实现R0内部的高低位互换     

      MOV R4,R0               @参数传递

      LDR R7,=Loop_1          @保存返回地址

      B   Reverse

Loop_1:

      MOV R0,R4               @结果回写

#实现R1内部的高低位互换

      MOV R4,R1      

      LDR R7,=Loop_2

      B   Reverse

Loop_2:

      MOV R1,R4     

Stop:

      B Stop      

   

 

.end                                    @文件结束



点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 2

    评论
  • 304

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 22:54 , Processed in 0.019239 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部