美文网首页
汇编五、函数

汇编五、函数

作者: 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