ARM compiler(gun)
发布时间
阅读量:
阅读量
首先,此前已对ARM架构体系以及计算机系统进行了简要介绍,若后续出现遗忘情况,可直接查阅先前撰写的《从计算机系统组成到ARM体系架构》部分内容进行回顾。
处理器执行状态分析
ARM处理器执行状态分类及指令集差异
ARM到Thumb状态切换机制
以下提供了一个从ARM模式转换至Thumb模式,随后再由Thumb模式返回至ARM模式的实例:
.text
mov r3,#6 @PC=0x00000000 这句不是必须的
adr r0,thumb @pc=0x00000004 伪指令真正的汇编指令是:add r0,pc,0x4,这里的PC+0x4=Thumb的地址即=0x00000010,这里的PC是一个特别的值
add r0,r0,#1 @pc=0x00000008 想要切换到Thumb状态需要让指定转跳的地址最后一位为1
bx r0 @pc=0x0000000c 转跳到thumb,即切换为Thumb状态,bx和bl是有区别的,bx可以切换状态,CPSR的状态会改变
.code 16 @ 即指定步长为0x2,16位地址每次偏移2个字节
thumb:
mov r3,#4 @pc=0x00000010 这句不是必须的
ld
全部评论 (0)
还没有任何评论哟~
