ARM 汇编语言知识积累

博文参考:

arm中SP,LR,PC寄存器以及其它所有寄存器以及处理器运行模式介绍

arm平台根据栈进行backtrace的方法-腾讯云开发者社区-腾讯云 (tencent.com)

特殊功能寄存器:

SP: 即 R13,栈指针,

LR:即 R14,链接指针,保存未跳转之前的程序的下一条指令的地址,由 CPU 硬件实现。

PC:R15,程序计数器,保存当前正在取的指令的地址 ,由于 ARM 是两级流水线,可以理解为正在执行的指令有两条 32 位的指令(2*32 bit = 8 Byte 的指令长度),即正在执行的指令的地址 +8(字节)。

状态寄存器:

CPSR 和 SPSR,arm 进入异常模式后,SPSR自动保存进入异常前的 CPSR 的值,以便异常返回后恢复异常发生时的工作状态。

LDR:Load 读内存

STR:Store 写内存

ADD:加法

SUB:减法

CMP:比较

B:直接跳转

BL:跳转和 Link,将返回地址保存到 LR 寄存器再跳转

汇编对比理解视频:

[3-2-2]_ARM架构简明教程_汇编实例_哔哩哔哩_bilibili

相关推荐
2401_888423092 小时前
ARM-指令集全解析:从基础到高阶应用
arm开发
Aczone285 小时前
硬件(六)arm指令
开发语言·汇编·arm开发·嵌入式硬件·算法
DebugKitty15 小时前
硬件开发2-ARM基本概要
arm开发·mmu·soc·指令集·计算机系统·alu
Aczone2815 小时前
硬件(五) 存储、ARM 架构与指令系统
arm开发·嵌入式硬件·架构
Skylar_.17 小时前
嵌入式 - ARM(2)汇编
汇编·arm开发
m0_5713728217 小时前
嵌入式ARM架构学习2——汇编
arm开发·学习
Skylar_.17 小时前
嵌入式 - ARM(1):ARM体系结构
arm开发
cui__OaO20 小时前
ARM -- 汇编语言
arm开发
sucool_lb1 天前
GEM5学习(5): ARM 架构功耗仿真
arm开发·学习
Joshua-a3 天前
macOS下arm编译缺少stdint.h等问题
arm开发·macos