阅读 277

一文带你速记arm常用汇编指令

1.跳转指令

B 无条件跳转
BL 带链接的无条件跳转
BX 带状态切换的无条件跳转
BLX 带链接和状态切换的无条件跳转
B loc_地址
BNE,BEQ
复制代码

2.存储器与寄存器交互数据指令 核心

存储器(主存,内存)
寄存器中放的数据:可以是字符串,可以是数,也可以是一个地址,它可以放各种类型的数据 
存储地址单元:地址(如0x00004000)与地址中存在的值

LDR:从存储器中加载数据到寄存器 ← Load
LDR R8,[R9,#04] R8为待加载数据的寄存器,加载值为R9+0x4所指向的存储单元

STR:将寄存器的数据存储到存储器 → Store
STR R8,[R9,#04] 将R8寄存器的数据存储到R9+0X04指向的存储单元

LDM:将存储器的数据加载到一个寄存器列表 →
LDM R0,{R1-R3}将R0指向的存储单元的数据依次加载到R1,R2,R3寄存器

STM:将一个寄存器列表的数据存储到指定的存储器  ←

PUSH:将寄存器值推入堆栈
POP:将堆栈值推出到寄存器

SWP:将寄存器与存储器之间的数据进行交换
SWP R1, R1 [R0] 将R1寄存器与R0指向的存储单元的内容进行交换

堆,队列:数据结构,栈是竖的,后进先出,且只能从栈顶依次填入数据
复制代码

3.数据传送指令

MOV:将立即数或寄存器的数据传送到目标寄存器 ←
MOV R0, #8 R0=8
复制代码

4.数据算术运算指令

←
ADD,SUB,MUL,DIV

有符号,无符号运算;带进位运算
复制代码

5.数据逻辑运算指令

与:AND
或:ORR
异或:EOR
复制代码
文章分类
Android
文章标签