常用Arm汇编伪指令.docxVIP

  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文档。上传文档
查看更多
PAGE 2 附录2 常用Arm汇编伪指令 在Arm汇编语言程序中,有一些特殊指令用于对汇编过程进行控制,这些指令不是可执行指令也没有对应的机器码,只用于汇编过程中为汇编程序提供汇编信息,这些指令称为伪指令,它们所完成的操作称为伪操作。常用的伪指令有以下几种: 符号定义伪指令、 数据定义伪指令、 汇编控制伪指令、信息报告伪 指令以及杂项伪指令。下面列出了上述几种常用的Arm汇编伪指令。 1. 符号定义伪指令 符号定义伪指令用于定义汇编程序中的变量、对变量赋值以及定义寄存器别名等操作。 表2.1 符号定义伪指令 伪指令 指令格式 指令功能 GBLA GBLA Variable 声明一个全局的算术变量,并将其初始化成0 GBLLA GBLLA Variable 声明一个全局的逻辑变量,并将其初始化成FALSE(假) GBLS GBLS Variable 声明一个全局的字符串变量,并将其初始化成空串 LCLA LCLA Variable 声明一个局部的算术变量,并将其初始化成0 LCLL LCLL Variable 声明一个局部的逻辑变量,并将其初始化成FALSE(假) LCLS LCLS Variable 声明一个局部的字符串变量,并将其初始化成空串 SETA SETA Variable expr 给一个全局或局部算术变量赋值 SETL SETL Variable expr 给一个全局或局部逻辑变量赋值 SETS SETS Variable expr 给一个全局或局部字符串变量赋值 RLIST name RLIST {list of registers} 为一个通用寄存器列表定义名称 CN name CN expr 为一个协处理器的寄存器定义名称 CP name CP expr 为一个协处理器定义名称 DN/SN name DN/SN expr 为一个双精度/单精度的VFP寄存器定义名称 FN name FN expr 为一个FPA浮点寄存器定义名称 2. 数据定义伪指令 数据定义伪指令一般用于为特定的数据分配存储单元,并可对分配的存储单元进行初始化。 表2.2 数据定义伪指令 伪指令 指令格式 指令功能 DCB {lable} DCB expr {,expr} 分配一段字节内存单元,并用expr初始化 DCW/DCWU {lable} DCW{U} expr {,expr} 用于分配一片连续的半字存储单元,并用指定的表达式初始化。?用DCW分配的字存储单元是半字对齐的,而用 DCWU分配的字存储单元并不严格半字对齐 DCD/DCDU {lable} DCD{U} expr {,expr} 用于分配一片连续的字存储单元,并用指定的表达式初始化。用DCD分配的字存储单元是字对齐的,而用 DCDU分配的字存储单元并不严格字对齐 DCFD/DCFDU {lable} DCFD{U} expr {,expr} 为双精度的浮点数分配一片连续的字存储单元,并用指定的表达式初始化。每个双精度的浮点数占据两个字单元,用 DCFD分配的字存储单元是字对齐的,而用DCFDU分配的字存储单元并不严格字对齐 DCFS/DCFSU {lable} DCFS{U} expr {,expr} 为单精度的浮点数分配一片连续的字存储单元,并用指定的表达式初始化。每个单精度的浮点数占据一个字单元,用 DCFS分配的字存储单元是字对齐的,而用DCFSU分配的字存储单元并不严格字对齐 DCQ/DCQU {lable} DCQ{U} expr {,expr} 用于分配一片以8个字节为单位的连续存储区域,并用指定的表达式初始化。用DCQ分配的存储单元是字对齐的,而用DCQU分配的存储单元并不严格字对齐。??? DCDO {lable} DCDO expr {,expr} 分配一段字对齐的字内存空间,并用指定的表达式初始化 DCI {lable} DCI expr {,expr} 在Arm代码中分配一段字对齐的内存单元,并用指定的表达式初始化;在Thumb代码中分配一段半字对齐的内存单元,并用指定的表达式初始化 SPACE {lable} SPACE expr 用于分配一片连续的存储区域并初始化为0。其中,表达式为要分配的字节数 MAP MAP expr {, base-register} 定义一个结构化的内存表的首地址,MAP伪指令通常与 FIELD伪指令配合使用来定义结构化的内存表 FIELD {lable} FIELD expr 定义一个结构化的内存表中的数据域,表达式的值为当前数据域在内存表中所占的字节数 LTORG LTORG 说明一个数据缓冲池(文字池)的开始 3. 汇编控制伪指令 汇编控制伪指令用于控制汇编程序的执行流程。 表2.3 汇编控制伪

文档评论(0)

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

人力资源管理师、教师资格证持证人

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

版权声明书
用户编号:6152114224000010
领域认证该用户于2024年03月13日上传了人力资源管理师、教师资格证

1亿VIP精品文档

相关文档