热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

r14寄存器的作用(arm6432寄存器复用)

根据“ARM-thumb过程调用标准”:r0-r3用作传入函数参数,传出函数返回值。如果调用函数需要再次使用r0-r3的内容,则它必须保留这些内容。它在过程链接胶合代码中用


根据《ARM-thumb过程调用标准》:


r0-r3用作输入函数参数,输出函数返回值。 在子程序呼叫期间,r0-r3可以用于任何用途。


调用的函数在返回之前不需要恢复r0-r3。 如果在调用函数时需要再次使用r0-r3的内容,则必须保留这些内容。


r4-r11用于存储函数的局部变量。 如果调用的函数使用这些寄存器,则必须在返回之前恢复这些寄存器的值。


r12是内部调用临时寄存器ip。 在流程链接的粘接代码(例如交互式操作的粘接代码)中用于此作用。


在过程调用之间,可以用于任何用途。 调用的函数在返回之前不需要恢复r12。


13是堆栈指针sp。 不能用于其他用途。 存储在sp上的值必须与退出调用的函数时输入的值相同。


r14是链接寄存器lr。 如果保存了返回地址,则可以在调用期间将r14用于其他目的。 程序返回时恢复


r15是程序计数器PC。 不能用于其他用途。


注意:中断程序需要保护所有寄存器,编译器会自动保护R4~R11


推荐阅读
author-avatar
时尚妈咪达人都_354
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有