ADR伪指令实例
;设置本段程序的名称及属性
AREA adrlabel ,CODE,READONLY
ENTRY
start
;跳转到子程序func执行
BL func
;调用angel_SWIreason_ReportException
;ADP_Stopped_ApplicationExit
;ARM semihosting SWI
stop
MOV R0,#0X18 ;将0X18赋值给R0,0x18立即数对应宏angel_SWIreason_ReportException
LDR R1,=0X20026 ;将0X20026 赋值给R1,0X20026 立即数对应宏ADP_Stopped_ApplicationExit,表示程序
;正常退出
SWI 0X123456 ;结束程序,将控制权交给调试器
;定义一个数据缓冲区,用于生成地址标号相对于PC的偏移量
LTORG
func
;下面的伪指令ADR被汇编成:SUB R0,PC ,#OFFSET TO START
ADR R0,start
;下面的伪指令ADR被汇编成:ADD R1,PC,#OFFSET TO Dat