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

相关推荐
生涯にわたる学び7 小时前
ARM 实操 流水灯 按键控制 day53
arm开发·嵌入式硬件
YLAD1 天前
gnu arm toolchain中的arm-none-eabi-gdb.exe的使用方法?
arm开发
饶宇航1 天前
嵌入式硬件——ARM
arm开发
wdfk_prog4 天前
[Linux]学习笔记系列 -- [arm][lib]
linux·运维·arm开发·笔记·学习
努力自学的小夏4 天前
RK3568 Linux驱动学习——新字符设备驱动
linux·arm开发·驱动开发·笔记·学习
wdfk_prog6 天前
[Linux]学习笔记系列 -- [arm][lds]
linux·运维·arm开发·笔记·学习
szxinmai主板定制专家6 天前
基于FPGA的热电偶测温数据采集系统,替代NI的产品(二)总体设计方案
arm开发·人工智能·嵌入式硬件·fpga开发
cici158747 天前
ARM保留的标准中断处理程序入口和外设中断处理程序入口介绍
arm开发
学不动CV了8 天前
FreeRTOS入门知识(初识RTOS任务调度)(三)
c语言·arm开发·stm32·单片机·物联网·算法·51单片机
程序员JerrySUN8 天前
四级页表通俗讲解与实践(以 64 位 ARM Cortex-A 为例)
java·arm开发·数据库·redis·嵌入式硬件·缓存