- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章第三部分arm伪指令东北电力大学
伪操作,宏指令和伪指令 ARM汇编语言源程序语句,一般由指令,伪操作,宏指令和伪指令组成. 伪操作,是ARM汇编语言程序里的一些特殊的指令助记符,其作用主要是为完成汇编程序做各种准备工作,在源程序运行汇编程序处理,而不是在计算机运行期间有机器执行.也就是说,这些伪操作只是汇编过程中起作用,一旦汇编结束,伪操作的使命也就随之消失.??? ??? 宏指令,是一段独立的程序代码,可以插在程序中,它通过伪操作来定义,宏在被使用之前必须提前定义好,宏之间可以互相调用,也可自己递归调用. 通过直接书写宏名来使用宏. 宏定义本身不产生代码,只是在调用它时把宏体插入到原程序中.宏与C语言中的子函数形参和实参的调用相 似, 但宏的调用与子程序的调用有本质的区别,既宏并不会节省程序的空间,其优点是简化程序代码,提高程序的可读性以及宏内容可以 同步修改.??? 伪操作,宏指令一般与编译程序有关,因此ARM汇编语言的伪操作,宏指令在不同的编译环境下有不同的编写形式和规则.??? 伪指令也是ARM汇编语言程序里的特殊助记符,也不在处理器运行期间由机器执行,它们在汇编时将被合适的机器指令代替成ARM或Thumb指令,从而实现真正的指令操作. 1.符号定义伪操作 符号定义伪指令用于定义ARM汇编程序的变量,对变量进行赋值以及定义寄存器名称。该类伪指令定义如下: 全局变量声明:GBLA,GBLL,GBLS 局部变量声明:LCLA,LCLL,LCLS 变量赋值 : SETA,SETL,SETS GBLA,GBLL,GBLS 全局变量声明伪操作 GBLA伪操作用于声明一个全局的算术变量,并将其初始化为0; GBLL伪操作用于声明一个全局的逻辑变量,并将其初始化为 FALSE GBLS为操作用于声明一个全局的字符串变量,并将其初始化为空 语法格式: GBLA variable GBLL variable GBLS variable 其中,variable定义的全局变量名,在其作用范围内必须唯一,全局变量的作用范围为包含该变量的源程序.举例如下: GBLL codedbg codedbg SETL {TRUE} LCLA,LCLL,LCLS 局部变量声明伪操作,用于宏定义中. LCLA用于声明一个局部的算术变量,并将其初始化为0; LCLL用于声明一个局部的逻辑变量,并初始化为{FALSE} LCLS用于声明一个局部的字符串变量,并初始化为空. 语法格式如下: LBLA variable LBLL variable LBLS variable 其中, variable定义的局部变量名,在其作用范围内必须唯一。局部变量的作用范围为包含该局部变量的宏中进行声明和使用。 应用举例: MACRO;宏定义的开始 SENDDAT $dat;宏名的定义和宏的参数 LCLA bitno … Bitno SETA 8 … MEND;宏定义的结束 SETA,SETL,SETS 变量赋值伪操作,用于对已定义的全局变量,局部变量赋值 SETA用于给一个全局/局部的算术变量赋值 SETL用于给一个全局/局部的逻辑变量赋值 SETS用于给一个全局/局部的字符串变量赋值 格式: Variable_a SETA expr_a Variable_l SETL expr_l Variable_s SETS expr_s 例: GBLS ErrStr … ErrStr SETS “hello” … 2.数据定义伪操作 数据定义伪操作用于数据表定义,文字池定义,数据空间分配, 声明一个文字池:LTORG 定义一个结构化的内存表首地址:MAP 定义结构化内存表中的一个数据域:FIELD 分配一块内存空间,并用0初始化:SPACE 分配一段字节的内存单元,并用指令的数据初始化:DCB 分配一段字的内存单元,并用指令的数据初始化:DCD和DCDU LTORG LTORG用于声明一个文字池,在使用LDR伪指令时,要在适当的地址加入LTORG声明文字池,这样就会把要加载的数据保存到文字池内,在用ARM的加载指令读出数据.(若没
您可能关注的文档
- 武汉理工大学02电路的分析方法.ppt
- 气相色谱法哈工大分析化学.ppt
- 氧化还原滴定一概述:氧化还原滴定是以氧化还原反应为.ppt
- 气液传质设备04162003.ppt
- 永城煤电集团52000nm3h空分装置简介.ppt
- 汇编语言程序设计hbch7.ppt
- 江南大学抗生素发酵的代谢与控制.ppt
- 江汉油田工艺管柱及井下工具介绍.ppt
- 江苏省2011届高三化学二轮复习专题课件:专题18物质结构与性质.ppt
- 江西版2015届高考化学总复习第六章电解池金属的电化学腐蚀与防护课件第4课时.ppt
- 2026及未来5年中国局部浸泡剂市场数据分析及竞争策略研究报告.docx
- 2026及未来5年中国逆变直焊机市场数据分析及竞争策略研究报告.docx
- 2026及未来5年中国变色书签笔市场数据分析及竞争策略研究报告.docx
- 2026及未来5年中国冷冻车花刀市场数据分析及竞争策略研究报告.docx
- 2026及未来5年中国腋清净袪臭粉市场数据分析及竞争策略研究报告.docx
- 2026及未来5年中国青石茶几市场数据分析及竞争策略研究报告.docx
- 2026及未来5年中国浪摆式滑道市场数据分析及竞争策略研究报告.docx
- 2026及未来5年中国吹膜料市场数据分析及竞争策略研究报告.docx
- 2026及未来5年中国环幕电影摄影设备市场数据分析及竞争策略研究报告.docx
- 2026及未来5年中国智能矿灯市场数据分析及竞争策略研究报告.docx
原创力文档


文档评论(0)