在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 1370|回复: 0

[资料] 其他伪操作之六

[复制链接]
发表于 2016-2-1 16:58:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

9EXTERN

EXTERN伪操作告诉编译器当前的符号不是在本源文件中顶一顶,而是在其他源文件中顶一顶,在本源文件中可能引用该符号。这与IMPORT伪操作的作用下相同,不同之处在于,如果本源文件没有实际引用该符号,该符号都将不会被加入大本源文件的符号表中。

语法格式

EXTERN              symbol           {[WEAK]}

其中:symbol为声明的符号的定义,它是区分大小写的。[WEAK]指定该选项后,如果symbol在所有源文件中都没有被定义,编译器也不会产生任何错误信息,同时编译器将会报告错误。如果链接器在链接处理时不能解析该符号,而EXTERN伪操作中指定了[WEAK]选项,则链接器将不会报告错误,而是进行下面的操作:

如果该符号被B或者BL指令引用,则该符号被设置为下一条指令的地址,该B或者BL指令相当于一条NOP指令。

其他情况下该符号被设置为0.

10GETINCLUDE

GET伪操作将一个源文件包含到当前源文件中,并将被包含的文件在其当前位置进行汇编处理。INCLUDEGET的同义词。

语法格式

GET                     filename

INCLUDE      filename

其中:filename为被包含的源文件的名称。这里可使用路径信息。注意路径信息中可包含空格。

使用说明

通常可在一个源文件中定义宏,用WQU定义常量的符号名称,用MAPFIELD定义结构化的数据类型,这样的源文件类似于c语言中的.h文件。然后用GET伪操作将这个源文件包含到它们的源文件中,类似于在C源程序的“include *.h”。

编译器通常在当前目录中查找被包含的源文件。可使用编译选项-Ⅰ添加其他查找目录。同时,被包含的源文件中也可使用GET伪操作,即GET伪操作可嵌套使用。如在源文件A中包含了源文件B,而在源文件B中包含了源文件C,编译器在查找C源文件时,将把源文件B所在的目录作为当前目录。

GET伪操作不能用来包含目标文件。包含目标文件需要使用INCBIN伪操作。

示例41   GET伪操作举例

AREA     ExampleCODEREADONLY

GET              file                                            ;包含源文件file.s

GET              c:\project\file2.s                          ;包含源文件file2.s,可包含路径信息

GET              c:\windowsproject\file3.s             ;包含源文件file3.s,路径信息中可包含空格

凌阳教育,专注嵌入式人才培养多年,完善的培养方案,强大的师资,合理的课程安排,成功从小白蜕变为嵌入式工程师。想了解凌阳教育,或者获得更多嵌入式学习资料的免费下载,请点击www.sunplusedu.com访问凌阳教育官网

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-10 20:50 , Processed in 0.013863 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表