当前位置:   article > 正文

arm64 寄存器_arm64寄存器

arm64寄存器

ARM64寄存器

1 32个向量寄存器 v0~v31

2 d0-d31 64位double寄存器

3 s0-s31 32位float寄存器

4 fpsr 浮点状态寄存器

5 fpcr 浮点控制寄存器

6 x0~x28 32位地址寄存器

7 sp栈顶寄存器

8 fp (x29) 栈底寄存器

9 pc 存储吓一跳指令的,类似 cs ip寄存器

10 lr 通常称为x30程序链接寄存器,保存跳转返回信息地址

11 cpsr状态寄存器

一堆状态mask Z标志, N标志等等。

3 汇编指令

1 bl 指令 将下一条指令的地址放入lr寄存器(x30),转到标号处执行指令

2 ret默认使用lr(x30)寄存器的值,通过底层指令提示CPU此处作为下一条指令地址

3 str从寄存器往内存读数据

4 ldr 从内存往寄存器写数据

5 ldp/stp 是ldr/str的衍生,可以同时督学两个寄存器,ldr和str只能读写一个

6 sdrp 取字符串常量

7 b.ne 带条件的跳转

8 adrp 地址分页

9 b.le 如果小雨等于跳转当前地址

10 b.hi 无符号大于等于

11 cmp比较

12 br x9根据寄存器里的值进行跳转

13 相关语法

arm64传参数

1 arm64中,参数存放在x0~x7八个寄存器中

2 如果是浮点就会用服点寄存器

3 如果超过8个就会用栈传参数

4 函数返回值,默认情况下x0寄存器,中。如果放不下,就会利用上一个调用栈内部,x8寄存器作为参照,

arm上内存分区

1 代码区,存放代码,可读,可执行

2 栈区,参数,局部变量,临时数据

3 堆区,动态申请,可读,可写

4 全局变量,可读,可写

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号