arm64寄存器

ARM64 有34个寄存器,包括31个通用寄存器、SP、PC、CPSR:

  • x0-x30 64bit 通用寄存器,如果有需要可以当做32bit使用:W0-W30。其中x0 - x7:这 8 个寄存器主要用来存储传递参数 。如果参数超过 8 个,则会通过栈来传递 ;x0 也用来存放上文方法的返回值。
  • FP(x29) 64bit 保存栈帧地址(栈底指针),指向当前方法栈的底部。
  • LR(x30) 64bit 通常称x30为程序链接寄存器,因为这个寄存器会记录着当前方法的调用方地址 ,即当前方法调用完成时应该返回的位置。例如我们遇到 Crash 要获取方法堆栈,其本质就是不断的向上递归每一个 x30 寄存器的记录状态(也就是栈上 X30 寄存器的内容) 来找到上层调用方。
  • SP 64bit 保存栈指针,使用 SP/WSP来进行对SP寄存器的访问。指向当前方法栈的顶部。
  • PC 64bit 程序计数器,俗称PC指针,总是指向即将要执行的下一条指令,在arm64中,软件是不能改写PC寄存器的。
  • CPSR 64bit 状态寄存器

你可能感兴趣的:(ARM,单片机,c语言,嵌入式硬件)