我是靠谱客的博主 仁爱刺猬,最近开发中收集的这篇文章主要介绍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 全局变量,可读,可写

最后

以上就是仁爱刺猬为你收集整理的arm64 寄存器ARM64寄存器的全部内容,希望文章能够帮你解决arm64 寄存器ARM64寄存器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部