arm汇编基础
2020-04-22 本文已影响0人
xymspace
通用寄存器:x0-x28---->共29个
注:x表示64位寄存器,w0表64位中的32位寄存器
x29---->fp(栈帧地址)
x30---->lr(存放回调指令地址)
补充:
sp是栈指针。
- 常用指令
规定格式 ---> 指令名称 寄存器 , 值
执行顺序,由当前指令的作用决定
;mov 赋值
mov x0 , 0x1
;add sub 加 减
add
;比较指令
cmp 寄存器 , 寄存器
;状态寄存器
cpsr (Current program status register)
;跳转指令(无法返回)
b 跳转标志--->函数地址(一般配合cmp使用,是否跳转取决于)
; 跳转指令带条件(一般配合cmp使用)
beq 等
;跳转指令(可返回,返回地址会先存入lr中)
bl
;读取内存中的值(正偏移)
ldr
;读取内存中的值(负偏移)
ldur
;给一对寄存器依次赋值
lbp 寄存器1,寄存器2 , 值
;寄存器的值写入内存中(正偏移)
str
;寄存器的值写入内存中(负偏移)
stur
;给一对寄存器的值依次赋给内存
stp 寄存器1,寄存器2 , 值
;零寄存器
wzr (低32位零寄存器)
xzr (64位零寄存器)
;cpu当前处理数据的地址
cp