ARM汇编语言中的子程序调用

在 ARM 汇编语言程序中,子程序的调用一般是通过 BL 指令来实现的。在程序中,使用指令:

BL 子程序名

即可完成子程序的调用。

该指令在执行时完成如下操作:将子程序的返回地址存放在连接寄存器 LR 中,同时将程序计器 PC 指向子程序的入口点,当子程序执行完毕需要返回调用处时,只需要将存放在 LR 中的返回地址重新拷贝给程序计数器 PC 即可。在调用子程序的同时,也可以完成参数的传递和从子程序回运算的结果,通常可以使用寄存器 R0 ~ R3 完成。

以下是使用 BL 指令调用子程序的汇编语言源程序的基本结构:

AREA Init , CODE , READONLY

ENTRY

Start

LDR R0 , =0x3FF5000

LDR R1 , 0xFF

STR R1 , [R0]

LDR R0 , =0x3FF5008

LDR R1 , 0x01

STR R1 , [R0]

BL PRINT_TEXT

┉┉

PRINT_TEXT

┉┉

MOV PC,BL

┉┉

END

 



  ARM公司| ARM 与单片机| ARM处理器| arm linux gcc| arm linux gdb| 三星ARM| arm芯片| ARM MMU| arm Vxworks|
arm bootloader|GPRS DTU|PC104 |硬盘播放机方案

Copyright © 2005-2008 All Rights Reserved
ARM开发板网 版权所有