美文网首页
汇编五、函数

汇编五、函数

作者: fanren | 来源:发表于2018-04-21 20:53 被阅读0次

函数参数

  • ARM64下,函数的参数是放到x0到x7(wo-w7)这八个寄存器中
  • 如果寄存器的个数超过八个,就会把超过的参数入栈;

函数返回值

  • 函数的返回值是放到x0寄存器中的

局部变量

  • 函数的局部变量是放到栈中的;

函数调用

_A:
    mov x0,#0xaaaa
    stp x29,x30,[sp,#-0x10]! ;拉伸栈空间,并且将x29,x30入栈
//    sub sp,sp,#0x10
//    stp x29,x30,[sp]

    bl _B  ;调用函数_B
    mov x0,#0xcccc
    ldp x29,x30,[sp],#0x10 ;栈平衡
//    ldp x29,x30,[sp]
//    add sp,sp,#0x10
    ret

_B:
    mov x0,#0xbbbb
    ret

当函数是叶子函数(最后一个函数,里面没有调用其他函数),不需要开辟栈空间

相关文章

网友评论

      本文标题:汇编五、函数

      本文链接:https://www.haomeiwen.com/subject/ffyflftx.html