关于arm7中R13与R14

来源:百度知道 编辑:UC知道 时间:2024/06/29 22:11:44
在看到arm中R13与R14这两个寄存器功能的时候,对比了一下51单片机中的sp寄存器,发现51中只有sp,而没有link这个寄存器,仔细想了一下,看了一下书,得出的结论是:单片机处理中断后返回地址的过程是自动的,而arm则不是,所以需要link(R14)来返回地址值,不知道这样的理解对不对?

不完全对。51单片机和ARM在调用函数时对返回地址的保存都是自动的,51单片机是自动将返回地址保存到堆栈中,返回时从堆栈中弹出保存地址;ARM在调用函数时将返回地址自动保存在R14中,因为对寄存器的存取速度要远大于对内存的存取速度,所以ARM这么做可以提高在调用函数和函数返回时的指令速度。