- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在ARM/Thumb汇编语言程序中,程序是以程序段(Section)的形式呈现的。程序段是具有特定名称的相对独立指令或数据序列。程序段有两大类型:代码段(Code Section)和数据段(Data Section)。代码段的主要内容为执行代码,而数据段则存放代码运行时需要用到的数据。一个汇编语言程序应当至少应该包含有一个代码段,但当程序较长时,可以将一个长的代码段或者数据段分割为多个代码段或者多个数据段。然后通过程序编译链接(link)最终形成一个可执行的映像文件。 一个可执行映像文件通常由以下几部分构成: 一个或多个代码段,代码段的属性为只读(RO); 零个或多个包含初始化数据的数据段,数据段的属性为可读写(RW); 零个或多个不包含初始化数据的数据段,数据段的属性为可读写(RW)。 一个可执行映像文件通常由以下几部分构成: 一个或多个代码段,代码段的属性为只读(RO); 零个或多个包含初始化数据的数据段,数据段的属性为可读写(RW); 零个或多个不包含初始化数据的数据段,数据段的属性为可读写(RW)。 链接器(linker)根据系统默认或用户设定的规则,将各个段安排在存储器中的相应位置。因此源程序中段之间的相对位置与可执行的映像文件中段的相对位置一般不会相同。 基本结构实例: AREA Init , CODE , READONLY ;定义名为Init只读代码段 ENTRY ;标识程序的入口点 start LDR R0 , =0;加载地址到R0 LDR R1 , 0xff ;加载数据到R1 STR R1 , [R0] ;存储R1中的数据到R0中的地址 LDR R0 , =0;加载地址到R0 LDR R1 , 0x01 ;加载数据到R1 STR R1 , [R0] ;存储R1中的数据到R0中的地址 …… END ;代码段结束标识 虽然汇编指令比较多,但是其指令操作的格式一般式固定的,ARM和Thumb汇编语言的语句格式为: {标号} {指令或伪指令助记符} {;注释} 注意: 指令的助记符写法要么全部大写要么全部小写,不可以在一条指令中既有大写又有小写,不可以大小写混合使用; 如果一条语句太长,可以拆分成若干行来写,但需要在行末尾用续行符“\”来标识下一行与本行同属于一条语句。 汇编程序中除了会用到ARM或者Thumb指令之外,还会需要一些符号、常量、变量和变量代换等。这些类型一般也是有具体要求的: 符号主要用来代替地址、变量或者常量,但是其不应与指令或者伪指令同名,并且它们是区分大小写的,不能与系统的保留字相冲突; 常量包括逻辑常量、字符串常量和数字常量:逻辑常量只取两种值(真或者假);字符串常量保存一固定的字符串,用于程序运行时的信息;数字常量一般为32位的整数,无符号时可表示范围为0~232-2,有符号时可表示范围为-231~231-1; 变量包括逻辑变量、字符串变量和数字变量:其中逻辑变量用于程序运行中保存逻辑值(真或者假);字符串变量保存字符串,但字符串的长度不能超出字符串变量所能表示的范围;数字变量保存数字值,但数字大小不能超出变量的表示范围; 变量可以通过代换取得一个常量,代换的操作符为“$”:如果“$”在逻辑变量前面,编译器会将该逻辑变量代换为它的取值(真或者假);如果“$”在字符串变量前面,编译器会将该字符串变量的值代换“$”后的字符串变量;如果“$”在数字变量前面,编译器会将该数字变量的值转换为十六进制的字符串,并将该十六进制的字符串代换“$”后面的变量。 Linux下GCC的汇编语言程序语言程序是以程序段为单位进行组织的。现在Linux下GCC的汇编语言规则总结如下: 所有的指令均不能顶格写; 大小写区分(要么全部大写,要么全部小写,不可以大小写混用); 代码标号必须在一行的顶格,后面要加上冒号“:”; 注释的内容可以使用符号“@”,其后面的内容编译器会放弃编译。注释可以在一行的顶格。 实例: .EXAMPLE1 @表示是只读代码段 _START: .GOLBAL START @START作为链接器使用 .GOLBAL MAIN @MAIN函数 B MAIN @跳转至MAIN函数 MAIN: MOV R0,#0 @R0=0 LDR R1,#1 @R1=1 ADDOP: ADD R2,R1,R0 @R2=R1+R0
您可能关注的文档
- 汽油发动机电控系统检测与修复 教学课件 作者 杨洪庆 情境4.ppt
- 汽油发动机电控系统检测与修复 教学课件 作者 杨洪庆 情境5.ppt
- 汽油发动机电控系统检测与修复 教学课件 作者 杨洪庆 情境6.ppt
- 汽油发动机微机控制系统检修 课后习题答案.doc
- 汽油发动机微机控制系统检修 课件1 1.1.ppt
- 汽油发动机微机控制系统检修 课件1 1.2.ppt
- 汽油发动机微机控制系统检修 课件1 1.3.ppt
- 汽油发动机微机控制系统检修 课件1 1.4.ppt
- 汽油发动机微机控制系统检修 课件2 2.1.ppt
- 汽油发动机微机控制系统检修 课件2 2.2.ppt
- 嵌入式Linux系统开发教程 教学课件 作者 978 7 302 22520 1 第五章.ppt
- 嵌入式Linux系统开发教程 教学课件 作者 978 7 302 22520 1 第一章.ppt
- 嵌入式Linux系统开发教程 教学课件 作者 978 7 302 22520 1 嵌入式Linux系统开发教程参考答案20100625.doc
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第1章 嵌入式系统概述.ppt
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第2章 嵌入式Linux开发基础.ppt
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第3章 开发环境的建立.ppt
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第4章 嵌入式Linux网络编程.ppt
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第5章 嵌入式设备驱动.ppt
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第6章 Qt图形编程.ppt
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第7章 嵌入式Linux综合设计项目实例.ppt
最近下载
- 《城市轨道交通工程设计概算编制办法》(建标[2017]89号).pdf
- 建设工程技术支持方案(3篇).docx VIP
- 饲料企业生产成本控制.ppt VIP
- 首航加油加气站LNG加气项目职业病防护设施设计专篇资料性附件.pdf VIP
- 截渗墙工程施工方案(3篇).docx
- 数据资产入表全流程指南(92页 PPT).pptx VIP
- 新项目方法验证能力确认报告(固定污染源废气-烟气参数的测定HJT-397-2007).docx VIP
- 外国影视音乐 星球大战 课件高中音乐人音版(2019)必修 音乐鉴赏.pptx VIP
- 部编版八年级语文上册古诗文理解性默写练习.docx VIP
- 时间管理写ppt关于时间管理 内容.ppt VIP
有哪些信誉好的足球投注网站


文档评论(0)