问题:请解释下面的一小段汇编语言程序: __main EXPORT BootReset BootReset B resetvec reqset IMPORT BootEntry IMPORT |Image$$RO$$Limit| AREA BOOTROM, CODE, READONLY LDR r0, =|Image$$RO$$Limit BEQ 1 ldr pc, [pc,#-&F20] 回答:上面是ARM公司编译器支持的汇编语言,移植成gcc支持的汇编语言为: __main .global BootReset /* 定义全局符号 BootReset */ BootReset: B resetvec reqset /* 跳转到resetvec */ .extern BootEntry /* 定义引用的外部符号(函数)*/ .extern Image_RO_Limit /* Image_RO_Limit 为外部符号,一般定义 */ /* 在连接定位文件中, 表示ROM区大小 */ # AREA BOOTROM, CODE, READONLY LDR r0, =Image_RO_Limit /* 将Image_RO_Limit值存储到R0*/ BEQ FUNC1 /* 如果等于则跳转到符号FUNC1 */ ldr pc, [pc,#-0xF20] /* 将PC-0xF20的值存储到PC */
|