ARM子程序嵌套调用怎样防止返回地址覆盖 |
| |
作者姓名: | 刘志燕 郑维智 |
| |
作者单位: | 北京工商大学,北京,100037 |
| |
摘 要: | ARM程序中,子程序的调用返回地址保存在链接寄存器LR(R14)中。子程序程序嵌套调用时,如果调用C语言子程序,编译器会自动进行相应返回地址的处理。但是在ARM程序中,还存在一定数量的汇编程序,汇编子程序调用时,有可能会导致子程序返回地址被覆盖。本文对汇编子程序嵌套调用时的相关寄存器压入堆栈进行了保存,返回时,又将其推出堆栈。防止了ARM子程序调用时返回地址被覆盖。
|
关 键 词: | ARM BL 子程序 嵌套 链接寄存器 |
文章编号: | 1672-3791(2007)04(c)-0026-02 |
本文献已被 CNKI 维普 万方数据 等数据库收录! |
|