- 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嵌入式体系结构与接口技术第3章 ARM汇编语言程序设计 第1章 嵌入式系统概述 第2章 ARM体系结构与指令集 第3章 ARM汇编语言程序设计 第4章 嵌入式软件基础 第5章 ARM应用系统设计 第6章 S3C2410系统接口操作原理及实验 3.1 ARM汇编器支持的伪操作 3.2 ARM汇编器支持的伪指令 3.3 ARM 汇编语言的语句格式 3.4 ARM 汇编语言的程序结构 3.5 汇编语言与C语言的混合编程 3.6 小结 3.7 思考与练习 3.1.1 伪操作概述 在ARM汇编语言程序中,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪操作标识符(directive)[1],它们所完成的操作称为伪操作。伪操作在源程序中的作用是为了完成汇编程序做各种准备工作的,这些伪操作仅在汇编过程中起作用,一旦汇编结束,伪操作的使命就完成。 在ARM的汇编程序中,伪操作主要有符号定义伪操作、数据定义伪操作、汇编控制伪操作及其杂项伪操作等。 3.1.2 符号定义伪操作 符号定义伪操作用于定义ARM汇编程序中的变量、对变量赋值及定义寄存器的别名等操作。常见的符号定义伪操作有如下几种。 (1)用于定义全局变量的GBLA、GBLL和GBLS。 (2)用于定义局部变量的LCLA、LCLL和LCLS。 (3)用于对变量赋值的SETA、SETL和SETS。 (4)为通用寄存器列表定义名称的RLIST。 3.1.2 符号定义伪操作 1.全局变量定义伪操作GBLA、GBLL和GBLS (1)语法格式 GBLA、GBLL和GBLS伪操作用于定义一个ARM程序中的全局变量并将其初始化。其中: ① GBLA伪操作用于定义一个全局的数字变量并初始化为0。 ② GBLL伪操作用于定义一个全局的逻辑变量并初始化为F(假)。 ③ GBLS伪操作用于定义一个全局的字符串变量并初始化为空。 由于以上3条伪指令用于定义全局变量,因此在整个程序范围内变量名必须唯一。 语法格式如下: gblx variable ① gblx 取值为GBLA、GBLL、GBLS三者中的之一 ② variable 定义的全局变量名,在其作用范围内必须唯一。全局变量的作用范围为包含该变量的源程序 全局变量定义伪操作GBLA、GBLL和GBLS (2)使用说明,如果用这些伪操作重新声明已经声明过的变量,变量的值将被初始化成后一次声明语句中的值。 (3)示例 ① 使用伪操作声明全局变量。 GBLA Test1 ;定义一个全局的数字变量,变量名为Test1 Test1 SETA 0xaa ;将该变量赋值为0xaa GBLL Test2 ;定义一个全局的逻辑变量,变量名为Test2 Test2 SETL {TRUE} ;将该变量赋值为真 GBLS Test3 ;定义一个全局的字符串变量,变量名为Test3 Test3 SETS Testing ;将该变量赋值为“Testing” ② 声明变量Objectsize并设置其值为0xff,为“SPACE”操作做准备。 GBLA objectsize Objectsize SETA oxff SPACE objectsize ③ 下面的例子显示如何使用汇编命令设置变量的值。具体做法是使用“?pd”选项 Armasm ?pd objectsize SETA oxff ?o objectfile sourcefile 3.1.2 符号定义伪操作 2.局部变量定义伪操作LCLA、LCLL和LCLS (1)语法格式 LCLA、LCLL和LCLS伪指令用于定义一个ARM程序中的局部变量并将其初始化。其中: ① LCLA伪操作用于定义一个局部的数字变量并初始化为0。 ② LCLL伪操作用于定义一个局部的逻辑变量并初始化为F(假) ③ LCLS伪操作用于定义一个局部的字符串变量并初始化为空。 以上3条伪操作用于声明局部变量,在其作用范围内变量名必须唯一。 语法格式如下: lclx variable ① LClx 取值为LCLA、LCLL、LCLS三者中的之一。 ② variable 所定义的局部变量名,在其作用范围内必须唯一。局部变量作用范围为包含该局部变量的宏。 局部变量定义伪操作LCLA、LCLL和LCLS (2)使用说明,如果用这些伪操作重新声明已经声明过的变量,则变量的值将被初始化成后一次声明语句中的值。 (3)示例 ① 使用伪操作声明局部变量。
您可能关注的文档
- 局域网组建与维护 第3版 作者 闫书磊 张仕娇 陈博清 第3章.ppt
- 局域网组建与维护 第3版 作者 闫书磊 张仕娇 陈博清 第4章.ppt
- 局域网组建与维护 第3版 作者 闫书磊 张仕娇 陈博清 第9章.ppt
- 局域网组建与维护 第3版 作者 闫书磊 张仕娇 陈博清 第10章.ppt
- 局域网组建与维护 第二版 作者 闫书磊 张仕娇 第1章.ppt
- 局域网组建与维护 第二版 作者 闫书磊 张仕娇 第4章.ppt
- 局域网组建与维护 第二版 作者 闫书磊 张仕娇 第5章.ppt
- 局域网组建与维护 第二版 作者 闫书磊 张仕娇 第6章.ppt
- 局域网组建与维护 第二版 作者 闫书磊 张仕娇 第7章.ppt
- 局域网组建与维护 第二版 作者 闫书磊 张仕娇 第9章.ppt
- 嵌入式系统技术与设计 第2版 作者 华清远见教育集团 刘洪涛 苗德行 第5章 ARM应用系统设计.ppt
- 嵌入式系统技术与设计 作者 刘洪涛 孙天泽 第1章 嵌入式系统概述.ppt
- 嵌入式系统技术与设计 作者 刘洪涛 孙天泽 第2章 ARM体系结构与指令集.ppt
- 嵌入式系统技术与设计 作者 刘洪涛 孙天泽 第3章 ARM汇编语言程序设计.ppt
- 嵌入式系统技术与设计 作者 刘洪涛 孙天泽 第4章 嵌入式软件基础实验.ppt
- 嵌入式系统技术与设计 作者 刘洪涛 孙天泽 第6章 S3C2410系统接口操作原理及实验.ppt
- 嵌入式系统技术与设计 作者 刘洪涛 孙天泽 第7章 嵌入式操作系统及开发简述.ppt
- 嵌入式系统技术与设计 作者 刘洪涛 孙天泽 第8章 嵌入式Linux实验.ppt
- 嵌入式系统开发基础——基于8位单片机的C语言程序设计(第二版) 作者 侯殿有 葛海淼 编著 第八章.ppt
- 嵌入式系统开发基础——基于8位单片机的C语言程序设计(第二版) 作者 侯殿有 葛海淼 编著 第二章.ppt
原创力文档


文档评论(0)