下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、常用Arm汇编伪指令在Arm汇编语言程序中,有一些特殊指令用于对汇编过程进行控制,这些指令不是可执行指令也没有 对应的机器码,只用于汇编过程中为汇编程序提供汇编信息,这些指令称为伪指令,它们所完成的操作称 为伪操作。常用的伪指令有以下几种:符号定义伪指令、数据定义伪指令、汇编控制伪指令、信息报告伪 指令以及杂项伪指令。下面列出了上述几种常用的Arm汇编伪指令。1.符号定义伪指令符号定义伪指令用于定义汇编程序中的变量、对变量赋值以及定义寄存器别名等操作。表2.1符号定义伪指令伪指令指令格式指令功能GBLAGBLA Variable声明一个全局的算术变量,并将其初始化成0GBLLAGBLLA Va
2、riable声明一个全局的逻辑变量,并将其初始化成FALSE (假)GBLSGBLS Variable声明一个全局的字符串变量,并将其初始化成空串LCLALCLA Variable声明一个局部的算术变量,并将其初始化成。LCLLLCLL Variable声明 个局部的逻辑变量,并将其初始化成FALSE (假)LCLSLCLS Variable尸明一个局部的字付串变量,并将其初始化成空串SETASETA Variable expr缉一勺、生 局或局部算木变量赋值SETLSETL Variable expr绡一个全局或局部逻辑变量赋值SETSSETS Variable expr绡 个全局或局部字苻
3、串变量赋值RLISTname RLIST (list of registers为一,1、通用寄存器列表ZE义名称name CN expr为一个协处理器的寄存器文名称CPname CP expr为一个1办处理器定义名称DN/SNname DN/SN expr为一丁双精度/单精度R'J VFP寄存器定义旧称rNname ftn expr为T FPA /学H刘仔潴正义右标2.数据定义伪指令数据定义伪指令一般用于为特定的数据分配存储单元,并可对分配的存储单元进行初始化。表2.2数据定义伪指令儿,用于分配一号连续的半字存储单元,并用指定的表达式DCW/DCWU (lableDCW(Uexpr,e
4、xpr 初始化。用DCW分配的字存储单元是半字对齐的,而 用DCWU分配的字存储单元并不严格半字对齐用 于分配 片连续的字存储单兀,并用指定的表达式初DCD/DCDU lableDCD(Uexpr,expr 始化。用DCD分配的字存储单元是字对齐的,而用 DCDU分配的字存储单元并不严格字对齐DCFD/DCFDU(lable DCFDU expr ,expr为双精度的浮点数分配一片连续的字存储单元,并用指 定的表达式初始化。每个双精度的浮点数占据两个字单 元,用DCFD分配的字存储单元是字对齐的,而用 DCFDU分配的字存储单元并不严格字对齐DCFS/DCFSU(lable DCFSU exp
5、r ,expr)为单精度的浮点数分配一片连续的字存储单元,并用指 定的表达式初始化。每个单精度的浮点数占据一个字单 元,用DCFS分配的字存储单元是字对齐的,而用 DCFSU分配的字存储单元并不严格字对齐DCQ/DCQU(lable DCQ(U expr ,expr)用于分配一片以8个字节为单位的连续存储区域,并用 指定的表达式初始化。用DCQ分配的存储单元是字对齐 的,而用DCQU分配的存储单元并不严格字对齐。DCDO(lable DCDO expr ,expr)7T配一段于刈介的于内仔空间,并用指定的表这式初始 化DCI(lable DCI expr ,expr在Arm代码中分配一段子对齐
6、的内存单兀,井用指的 表达式初始化;在Thumb代码中分配一段半字对齐的内 存单元,并用指定的表达式初始化SPACE(lable SPACE expr用J力配片吐缓日'J仔俑区域开初如化为0。具甲,衣达 式为要分配的字节数定义一个姑均仆的内存表的首拙址 MAP伪指令诵常 与MAPMAP expr , base-registerAL1 "P117 Io U J r J 1J "IX 目 J 曰 > Hi ALL, LvirxL L/y J 曰 < Acl i IJ JFIELD伪指令配合使用来定义结构化的内存表宋义一个结构化的内存表中的数据域,表i大式的俏
7、为当FIELDT TORG(lable FIELD exprT TORC;前数据域在内存表中所占的字节数说明一个数据缓冲池CX字池一)的奔始3.汇编控制伪指令汇编控制伪指令用于控制汇编程序的执行流程。表2.3汇编控制伪指令.二.L,.J.一-.1!_r ."LIF、ELSE、ENDIF指令序列1(ELSE指令序列2)ENDIFWHTT F Inairal pxnrpss;inn根据条件的成立与否决定是否执行某个指令序列。当IF后 面的逻辑表达式为真,则执行指令序列1,否则执行指令序 列2,其中,ELSE及指令序列2可以没有WHILE > WEND指令序列WENDMACRO根据条
8、件的成立与否决定是否循环执行某个指令序列MACRO、MEND、MEXIT($lablemacroname($parameter,$parament.;宏代码将一段代码JE义为一T整体,也就是玄冶堂。可以在程序 中通过宏指令多次调用该段代码。其中,$标号在宏指令被 展开时,标号会被替换为用户定义的符号,宏指令可以使 用一个或多个参数,当宏指令被展开时,这些参数被相应MEND的值替换;MEXIT用于从宏定义中跳转出去4 .信息报告伪指令报告伪指令用于汇编报告指示。表2.4信息报告伪指令伪指令指令格式指令功能ASSERTASSERT logical-expression断言错误伪指令,在汇编编译器对
9、汇编程序的第二遍扫描中, 若其中ASSERT条件不成立,ASSERT伪指令将报告该错误信 息INFOINFO numerica-expression, string-expression汇编诊断信息显示伪指令,在汇编处理过程的第一遍扫描或者 第二遍扫描时报告诊断信息,其中,numerica-expression为数据 表达式,若为0,则在第一遍扫描时报告诊断信息,否则在第 二遍扫描时报告诊断信息,string-expression为要显示的字符串OPTOPTn设置列表选项伪指令,通过OPT伪操作可以在源程序中设置列 表选项,其中n为选项编码,可取值如下:1:设置常规列表选项2:关闭常规列表选项
10、4:设置分页符,在新的一页开始显示8:将行号重新设置为016:设置选项,显示SET,GBL,LCL伪指令32:设置选项,不显示SET,GBL,LCL伪指令64:设置选项,显示宏展开128:设置选项,不显示宏展开256:设置选项,显示宏调用512:设置选项,不显示宏调用1024:设置选项,显示第一遍扫描列表2048:设置选项,不显示第一遍扫描列表4096:设置选项,显示条件汇编伪指令8192:设置选项,不显示条件汇编伪指令16384:设置选项,显示MEND伪指令32768:设置选项,不显示MEND伪指令TTLTTL title插入标题伪指令,在列表文件的每一贝的开头插入一个标题SUBTSUBT
11、subtitle插入标题伪指令,在列表文件的每一贝的开头插入一个子标题5.杂项伪指令杂项伪指令是未包含在表2.1至2.4中且在汇编程序设计中常用的伪指令。表2_5杂项伪指令指令功能ALIGNALIGN expr,offset)边界对齐伪指令,通过添加补丁字节使当前位置满足一定的对齐格式。其中expr用于指定对齐格式,取值为2的n 次幕,表示当前位置对齐到:offset+nxexprAREAAREA sectionname ,attr ,attr.段定义伪指令,sectionname为所定义的代码段或数据段的 名称,attr为该段的属性CODE 16CODE32CODE 16CODE32指令集定
12、义伪指令,CODE 16指示编译器后面的指令为16 位的Thumb指令;CODE32指示编译器后面的指令为32 位的Arm指令ENDEND汇编结束伪指令,用于指下汇编编译器源文件己经结束ENTRYENTRY用于指定程序入口点EQUname EQU expr ,type常量定义伪指令EXPORTGLORBALEXPORT symbol LWEAKJ GLORBAL symbol WEAK)声明一个符号口j以被其他文件使用,symbol为要声明的符 号名称,WEAK声明其他的同名符由于本符号被应用IMPORTEXPORTIMPORT symbol (WEAK EXPORT symbol WEAK尸
13、明一,1、外部符亏,symbol为要尸明的苻方石称,WEAK 指定该选项后,如果symbol在所有的源文件中没有被定义,编译器不会生成如何错误信息,同时编译器也不会到当前 没有被INCLUDE包含进来的库去查找该标号GETGET filename将一个源文件包含到当前源文件中,并对被包含的文件进INCLUDETNCRTNINCLUDE filenameTNCRTN filename行汇编处理,filename为要包含的源文件名或路径信息 将一个文件包含到当前的源文件中,而被包含的文件不进KEEPKEEP (symbol仃汇编处埋才旨示编译器保留符号表中的局部符号,symbol为要保留的 局部符号,若无此项,则除了基于寄存器之外的所有符号将包含在目标又件的符号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年江苏省苏州市相城区蠡口中学八年级下册5月月考数学试题 含答案
- 2026年河北省南宫市高二生物下册期末考试考试卷附答案(培优A卷)
- 2025年江苏省常熟市高二生物下册期末考试测试卷含完整答案【名师系列】
- 2026年河北省高碑店市高二生物下册期末考试检测卷及答案【新】
- 2026年江西省高安市高二生物下册期末考试测试卷【夺冠系列】附答案
- 2026年辽宁省凤城市高二生物下册期末考试测试卷【真题汇编】附答案
- 2025年黑龙江省密山市高二生物下册期末考试模拟卷【新题速递】附答案
- 2025年江苏省靖江市高二生物下册期末考试模拟卷标准卷附答案
- 2025年黑龙江省密山市高二生物下册期末考试检测卷含答案【考试直接用】
- 2026年海南省琼海市高二生物下册期末考试测试卷附完整答案(夺冠系列)
- GJB827B--2020军事设施建设费用定额
- T/CECS 10214-2022钢面镁质复合风管
- 霍尼韦尔Honeywell温控器UDC2500中文手册
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
- 2024年安徽省初中(八年级)学业水平考试初二会考生物+地理试卷真题
- 闽南文化教学课件
- 二次根式计算专项训练150题含答案
- 乳腺癌课件基础知识讲解
- 基因的结构省级示范性高中所用教学课件公开课一等奖课件省赛课获奖课件
- 计算机应用基础-终结性考试试题国开要求
- 层流非预混扩散火焰课件
评论
0/150
提交评论