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

相关推荐
KubeSphere 云原生13 小时前
某直辖市规划和自然资源局基于 KubeSphere 打通 ARM+x86 全栈资源,实现“一云多芯”统一管理的新范式
arm开发
精英的英1 天前
【嵌入式Linux开发】如何在Windows上开发Linux ARM版本QT程序
linux·arm开发·windows
睡觉然后上课1 天前
如何让虚拟机运行速度翻倍
linux·arm开发·windows
apolloyhl2 天前
FreeRTOS内核:核心数据结构与任务切换原理解析
arm开发·嵌入式·rtos
雾削木2 天前
FLASH ARM内核 SRAM RCC ADC I/O
arm开发·单片机·嵌入式硬件
带土13 天前
1. ARM开始
arm开发
小尧嵌入式3 天前
基于HAL库实现F407的基本外设GPIO输入输出USART收发RTC时钟I2CEEPROM和SPIW25Q128读写及CAN通信
arm开发·单片机·嵌入式硬件
楼兰公子3 天前
arm-linux 系统allwinner R528 外挂的sd卡片为什么只能传输189.54M文件
linux·arm开发·sd卡
北京盛世宏博4 天前
《Modbus RTU 与 TCP/IP:RS485 与 RJ45 温湿度传感器协议适配选型》
arm开发·传感器·温湿度
wa的一声哭了4 天前
WeBASE管理平台部署-WeBASE-Web
linux·前端·网络·arm开发·spring boot·架构·区块链