压栈和出栈,基于A7的汇编指令

2021年9月7日 5点热度 0条评论 来源: 成信吴彦祖

1.压栈和出栈::

        压栈也称进栈,例如一个正在执行程序被中断函数打断,需要从 A 函数跳到中断服务函数,此时为了保持A函数执行进度,需要进行保护现场(进栈),出栈对应就是恢复现场;

        压栈和进栈遵循:先入后出,后入先出,从高地址向下增长;

        例如程序

push {r0}
msr r0, cpsr
push {r0}

.........
POP {r0}
str r1,{r0, #0x04}
pop{r0}
.......

两次压栈r0寄存器,实质是将r0寄存器的放进栈空间,并且放了两次不同的r0数据,先压栈的r0数据后出栈;

 

    原文作者:成信吴彦祖
    原文地址: https://blog.csdn.net/qq_53522710/article/details/114868031
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。