打印
[应用相关]

【转】ARM切换到THUMB模式

[复制链接]
384|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

ARM切换到THUMB模式,根据ARM的文档说是用一个跳转完成,并且跳转地址要存储在general register里,地址中最低位为1。我一向喜欢眼见为实。最简单就是看看编译后变成什么样子,下面是一个叫ab的函数,开thumb编译的,结果就变成了下面这样:


[c-sharp] view plain copy


  • E28FC001  $Ven$AT$I$$ab: add     r12,pc,#0x1  
  • E12FFF1C                 bx      r12  
  • B510      ab:            push    {r4,r14}  
  •                           ...  
  • BD10                     pop     {r4,pc}  


可以看见函数ab的正式开始之前,多了一段引入函数,或者说是thumb模式切换函数叫$Ven$AT$I$$ab,他做的动作就是如spec所说的事情。

armv5以上的也可以用BLX到thumb代码的地址来完成


发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

81

帖子

1

粉丝