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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[资料] ARM汇编语言程序格式

[复制链接]
发表于 2016-2-15 15:09:02 | 显示全部楼层 |阅读模式

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

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

x

ADS编译器下汇编语言程序设计的格式为例,来介绍ARM汇编语言程序的基本格式,并详细描述了ARM汇编语言的几个重点。

ARM汇编语言是以段为单位来组织源文件的。段是相当独立、具有特定名称、不可分割的指令或数据序列。段又可分为代码段和数据段:代码段存放执行代码;数据段存放代码运行时需要用的数据。一个ARM源程序至少需要一个代码段,大的程序可包含多个代码段和数据段。

ARM汇编语言源程序经过汇编处理后生成一个可执行的映像文件,它通常包括3部分:

一个或多个代码段。代码段通常是只读的。

0或多个包含初始值的数据段。这些数据段通常是可读/写的。

0或多个不包含初始值的数据段。这些数据段被初始化为0,通常是可读/写的。

链接器根据一定的规则将各个段安排到内存中的相应位置。源程序中段之间的相邻关系与执行的映像文件中段之间的相邻关系并不一定相同。

下面通过一个简单的例子,说明ARM汇编语言源程序的基本结构。

AREA     EXAMPLE,CODE,READONLY

ENTRY

Start

       MOV      R0#10

       MOV      R1#3

       MOV      R0R0R1

END

ARM汇编语言源程序中,使用伪操作AREA定义一个段。AREA伪操作表示了一个段的开始,同时定义了这个段的名称及相关属性。在本例中定义了一个只读的代码段,其名称为EXAMPLE

ENTRY伪操作标识了程序执行的第一条指令,即程序的入口点。一个ARM程序中可以有多个ENTRY,至少要有一个ENTRY。初始化部分的代码及异常中断处理程序中都包含了ENTRY。如果程序包含了C代码,则C语言库文件的初始化部分也包含了ENTRY.

END伪操作告诉汇编编译器源文件的结束。每一个汇编模块必须包含一个END伪操作,只是本模块的结束。

本程序的程序体部分实现了一个简单的加法运算。

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

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

本版积分规则

关闭

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


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

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

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