MOV SP, #0x40000020
    MIAN:
    MOV R1, #3
    MOV R2, #5
    @调用FUNC子程序
    BL FUNC
    ADD R3, R1, R2
    B STOP
    FUNC:@叶子函数
    @压栈保护现场
    STMFD SP!,{R1,R2}
    MOV R1, #10
    MOV R2, #20
    SUB R3, R2, R1
    @出栈恢复现场
    LDMFD SP!,{R1,R2}
    MOV PC, LR
    STOP:
    B STOP

    MOV SP, #0x40000020
    MIAN:
    MOV R1, #3
    MOV R2, #5
    @调用FUNC子程序
    BL FUNC1
    ADD R3, R1, R2
    B STOP
    FUNC1:@非叶子函数
    @压栈保护现场
    STMFD SP!,{R1,R2,LR}
    MOV R1, #10
    MOV R2, #20
    BL FUNC2
    SUB R3, R2, R1
    @出栈恢复现场
    LDMFD SP!,{R1,R2,LR}
    MOV PC, LR
    FUNC2:
    @压栈保护现场
    STMFD SP!,{R1,R2}
    MOV R1, #8
    MOV R2, #10
    MUL R3, R2, R1
    @出栈恢复现场
    LDMFD SP!,{R1,R2}
    MOV PC, LR
    STOP:
    B STOP