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

相关推荐
珞光电子USRP SDR软件无线电平台11 小时前
国产嵌入式SDR平台LW-E320-G详解:射频、FPGA、ARM架构与应用选型
arm开发·fpga开发·架构
Jason_zhao_MR13 小时前
Linux与采集MCU通信为什么我们用了双SPI
linux·arm开发·单片机·嵌入式硬件·嵌入式
ARM|X86+FPGA工业主板厂家1 天前
基于嵌入式 GPU 的智能服务机器人
linux·运维·arm开发·fpga开发·机器人
一池秋_2 天前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
qq_402995753 天前
诊断协议栈配置Agent
arm开发·人工智能·stm32·单片机·mcu
一木 之林4 天前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++
hongmai6668885 天前
MP2348GTL-Z:这颗24V/4A同步降压芯片,把性能和体积平衡得恰到好处
c语言·开发语言·arm开发·单片机·5g
隔窗听雨眠7 天前
ARM架构下Logstash与Elasticsearch集群部署完全指南:从环境适配到生产验证
arm开发·elasticsearch·架构
郭老师-嵌入式7 天前
arm linux 移植 udhcp 与 使用
linux·服务器·arm开发
深念Y7 天前
登录日志与管理员审计日志存储决策
前端·arm开发·后端·微服务·云原生·架构