ARM嵌入式体系结构与接口技术(Cortex-A53版)第6章 ARM汇编语言程序设计.pptxVIP

ARM嵌入式体系结构与接口技术(Cortex-A53版)第6章 ARM汇编语言程序设计.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第6章ARM汇编语言程序设计华清远见

汇编语言的语句格式汇编语言的程序结构ARM汇编器所支持的伪操作

1ARM汇编器所支持的伪操作

符号定义伪操作符号伪操作主要用于变量的声明、变量的赋值以及宏定义。常见的符号定义伪操有。1.全局标号定义伪操作.global和.globl#.globlsymbol.global用于声明一个ARM程序中的全局变量,使得被声明的符号对连接器(LD)可见,变为整个工程都可使用的全局变量。2.局部标号定义伪操作.local#.localsymbol.local伪操作用于声明一个ARM程序中的局部的变量,这样它对外部就是不可见的,作用域在本文件内。3.变量赋值伪操作.set#.setvariable,0x50伪操作.set用于给一个全局变量或局部变量赋值。4.宏替换伪操作.equ#.equINTER,0x50伪操作.equ用于把常量值设置为可以在文本段中使用的符号。

数据定义伪操作数据定义伪操作一般用于为特定的数据分配存储单元,同时对该内存单元中的数据进行初始化。常见的数据定义伪操作如下。1..byte#label:.byteexpr.byte伪操作的功能是在存储器中分配一个字节的内存单元,用指定的数据对该存储单元进行初始化。2..short#label:.shortexpr.short伪操作的功能是在存储器中分配2字节的内存单元,并用指定的数据对该存储单元进行初始化。3..word#label:.wordexpr.word伪操作的功能是在存储器中分配4字节的内存单元,并用指定的数据对该存储单元进行初始化。4..long.long的功能等价于.word,用法完全一致,可以参考.word伪操作的用法。5..quad#label:.quadexpr.quad伪操作的功能是在存储器中分配8字节的内存单元,并用指定的数据对该存储单元进行初始化。

数据定义伪操作6..float#label:.floatexpr.float伪操作的功能是在存储器中分配4字节的存储空间,并用指定的浮点数据对存储单元进行初始化。7..space#label:.spacesize,expr.space伪操作用于分配一片连续的存储区域并将其初始化为指定的值。如果后面的填充值省略不写则默认在后面填充为0。8..skip该伪操作的功能等价于.space。具体用法可以参考.space伪操作。9..string、.ascii、.asciz#label:.string“str”这3条伪操作要实现的功能都是定义一个字符串。10..rept#.reptcount#…#.endr.rept伪操作的功能是重复执行后面的指令,以.rept开始,并以.endr结束。

汇编控制伪操作汇编控制伪操作用于控制汇编程序的编译,常用的汇编控制伪操作包括以下几条。1..if、.else、.endif.if、.else、.elseif、.endif伪操作能根据条件的成立与否决定是否编译某个程序段。当.if后面的逻辑表达式为真,则编译.if后的指令序列,否则编译.else后的指令序列。其中.else及其后指令序列可以没有,此时,当.if后面的逻辑表达式为真,则编译该指令序列,否则不编译。使用.endif控制语句结束。.if、.else、.endif伪操作可以嵌套使用。(1)指令的语法格式。.iflogical-expression….else….endif

汇编控制伪操作2..macro?.endm、.exitm.macro、.endm伪操作可以将一段代码定义为一个整体,然后就可以在程序中通过调用宏多次调用该段代码,而.exitm伪操作用来退出当前的宏指令。宏操作可以使用一个或多个参数,当宏操作被展开时,

文档评论(0)

yuzuzou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档