ARM汇编

1、b 分支指令

(1) 无条件跳转

复制代码
b reset

branch,无条件跳转,程序跳转后不返回。只修改程序计数器PC,无法自动回来,(除非事先手动保存了PC值)。

限制:跳转范围是相对当前指令地址的前后32MB空间,这是因为跳转地址是通过一个24位的偏移量计算出来的,所以只能在±32MB范围内跳转。

(2) bl 带返回地址的跳转

复制代码
bl clock_init

branch with link,带返回地址的跳转,通常用于函数(子程序)调用,跳转前会把下一条指令的地址保存到LR链接寄存器(也即R14)。子程序执行结束后,可以通过bx lr指令返回主程序继续执行。

限制:跳转范围是相对当前指令地址的前后32MB空间,这是因为跳转地址是通过一个24位的偏移量计算出来的,所以只能在±32MB范围内跳转。

相关推荐
忆和熙5 个月前
ARM Load/Store指令、伪指令(ARM处理器指令系统——ARM指令集初学,下篇)
arm开发·arm指令
忆和熙5 个月前
ARM数据处理指令(ARM处理器指令系统——ARM指令集初学,上篇)
arm开发·arm指令
charlie1145141911 年前
从启动说起到单片机点灯发生了什么上——库层次
单片机·嵌入式硬件·arm汇编·初始化
杨如画.2 年前
x-zse-96安卓端纯算,魔改AES还原
ida·安卓逆向·arm汇编·x-zse-96·unidbg·白盒aes·魔改aes
CodingCos3 年前
【ARM 常见汇编指令学习 7 - LDR 指令与LDR伪指令及 mov指令】
ldr·ldr伪指令·ldr与mov·arm汇编