ARM下的C语言函数和对应的汇编代码

    技术2022-05-11  6

     

    C语言在EVC++ ARM平台下对应的汇编代码:

    int testasm(int a, int b)

    {

           return a+b;

    }

    testasm(1, 2);

     

     

    Mov r1, #2

    Mov r0, #1

    Bl testasm

    //执行bl之后,pc跳转到函数地址,同时lr设置为当前PC4,共函数返回

     

    //进入函数后,PC指针发生变化 同时lr保存返回地址

    Mov r12, sp

    Stdmdb sp!, {r0, r1}

    Stdmdb sp!, {r12, lr}

    Sub sp, sp, #4

    Ldr r0, [sp, #0xc]

    Ldr r1, [sp, #0x10]

    Add r2, r0, r1

    Str r2, [sp]

    Ldr r0, [sp]

    Add sp, sp, #4

    Ldmia sp, {sp, lr}

    Bx lr

     


    最新回复(0)