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 全局变量,可读,可写

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值