Advertisement

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)

还没有任何评论哟~