ARM汇编器与GCC汇编器支持的汇编语言差别
2012-12-18
标签: ARM GCC

问题:请解释下面的一小段汇编语言程序:

__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 */

可能会用到的工具/仪表
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号