ARM汇编知多少(知识)

0x00 前言

这里是对ARM做的一个简单的笔记,便于之后的理解。

0x01 笔记

ARM寄存器

ARM期存器分为通用寄存器和状态寄存器两类。
通用寄存器可用于保存数据和地址。
状态寄存器用来标识或设置处理器的工作模式和工作状态等功能。

通用寄存器

1.未分组寄存器。

R0~R7 所有的工作模式下,未分组寄存器都指向同一个物理寄存器。

2.分组寄存器

R8~R14。每一个寄存器对应两个不同的物理寄存器。
R13被用作堆栈指针
E14被称作子程序连接寄存器,也就是LR。执行BL子程序调用指令时,R14中得到R15的备份。

3.程序计数器

寄存器p15用作程序计数器PC,用于控制程序中指令的执行顺序。

状态寄存器

1.条件码标志

N:正负标志
Z:零标志
C:进位标志
V:溢出标志

ARM指令

指令的可选后缀

1.S后缀

指令执行后程序状态寄存器的条件标志位将被刷新。

2.!后缀

指令地址表达式中不含!后缀,则机制寄存器的地址值不会发生变化。
寄存器中的值=执行前的值+地址偏移量

猜你喜欢

转载自blog.csdn.net/qq_36869808/article/details/80603931