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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[资料] 其他伪操作之二

[复制链接]
发表于 2016-1-29 17:11:21 | 显示全部楼层 |阅读模式

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

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

x

1.
AREA

AREA伪操作用于定义一个代码段或数据段。ARM汇编程序中一般采用分段式设计,一个ARM源程序至少有一个代码段。

语法格式

AREA     sectionname{attr}{attr}…

其中:sectionname为所定义的代码段或数据段的名称。如果该名称及数字开头,则该名称必须用“|”括起来,如|1——datasec|。还有一些代码段具有约定的名称,如|.text|表示C语言编译器产生的代码段或者是与C语言库相关的代码段。

attr是该段的属性。在AREA伪操作中,各属性间用逗号隔开。下面列举所有可能的属性:

ALIGN=expression。默认的情况下,ELF(可执行连接文件,由链接器生成)的代码段和数据段是4字节对齐的。Expression可取0~31的数值,相应的对齐方式为(2expression次幂)字节对齐。如expression=4时,为16字节对齐。

ASSOC=section。指定与本段相连的ELF段。任何时候连接section段也必须包括sectionname段。

CODE定义代码段。默认属性为READONLY

COMDEF定义一个通用的段。该段可包含代码或数据。在其他源文件中,同名的COMDEF段必须相同。

COMMON定义一个公用的段。该段不包含任何用户代码和数据,链接器将其初始化为0.各源文件中同名的COMMON段共用同样的内存单元,链接器为其分配合适的尺寸。

DATA定义数据段。默认属性为READWRITE

NOINIT指定本数据段仅保留了内存单元,而没有将各初值写入内存单元,或者将各内存单元值初始化为0.

READONLY指定本段为只读,代码段的默认属性为READONLY

READWRITE指定本段为可读/写,数据段的默认属性为READWRITE

使用说明

通常可用AREA伪操作将程序分为多个ELF格式的段。一个大的程序可包括多个代码段和数据段。一个汇编程序至少包含一个代码段。

示例34   AREA伪操作举例

AREA     ExampleCODEREADONLY

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

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

本版积分规则

关闭

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


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

GMT+8, 2025-1-10 20:59 , Processed in 0.012802 second(s), 6 queries , Gzip On, Redis On.

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