首页 ARM汇编特殊符号 汇编符号引用

ARM汇编特殊符号 汇编符号引用

举报
开通vip

ARM汇编特殊符号 汇编符号引用ARM汇编特殊符号 汇编符号引用 ARM汇编特殊符号汇编符号引用2010-06-22 20:41特殊符号--对应指令--含义--示例^--MAP--定义结构化内存表--MAP 4096;内存表首地址为4096#--FIELD--定义内存表中的数据,结合MAP指令使用--MAP 4096 STACKSVC FIELD 256;定义从4096开始的256字节为SVC的堆栈空间。%--SPACE--分配一块内存,并用"0"初始化--DataStruc SPACE 280;分配280字节内存并初始化[|]--IF EL...

ARM汇编特殊符号 汇编符号引用
ARM汇编特殊符号 汇编符号引用 ARM汇编特殊符号汇编符号引用2010-06-22 20:41特殊符号--对应指令--含义--示例^--MAP--定义结构化内存表--MAP 4096;内存表首地址为4096#--FIELD--定义内存表中的数据,结合MAP指令使用--MAP 4096 STACKSVC FIELD 256;定义从4096开始的256字节为SVC的堆栈空间。%--SPACE--分配一块内存,并用"0"初始化--DataStruc SPACE 280;分配280字节内存并初始化[|]--IF ELSE ENDIF--条件编译,有选择的确定需要编译的代码IF,ELSE,ENDIF,可以嵌套使用--IF逻辑表达式指令或伪指令ELSE指令或伪指令ENDIF另外还有符号:$如果在串变量前有一个$,则在汇编时编译器将用该串变量的数值取代该串变量,如:GBLS STR1 GBLS STR2 STR1 SETS"pen."STR2 SETS"This is a$STR1"编译后的结果是STR2的值为This is apen.如果$后是数字变量(与串变量区分),在汇编时编译器将该数字变量的数值转换成十六进制的串,然后用该十六进制的串取代$后的数字变量。如果$后是逻辑变量,在汇编时编译器将该逻辑变量替换成它的取值(T或者F)。如果程序中需要$,则用$$来表示,编译器将不进行变量替换。GBLS STR1 GBLS BGBLA NUM1 NUM1 SETA 14 BSETS"CHANGED"STR1 SETS"abc$$B$NUM1"编译结果STR1的值为:abcB 0000000E。注意:在两个竖线"|"之间的$并不表示进行变量替换,但如果"|"是在双引号内,则将进行变量替换。使用点"."来表示变量名的结束。GBLS STR1 GBLS STR2 STR1 SETS"AAA"STR2 SETS"bbb$STR1.CCC"编译结果STR2值为bbbAAACCC还有一个例外:"%""%"除了表示SPACE外,还可以在局部标号中使用,具体意思见伪指令ROUT的使用示例:?ROUT ROUT伪指令定义局部标号的有效范围,伪指令格式如下:{name}ROUT。其中name所定义的作用范围的名称。当没有使用ROUT伪指令时,局部标号的作用范围为所在段;ROUT伪令的作用范围在本ROUT伪指令和下一个ROUT伪指令之间(指同一段中的ROUT伪指令)伪指令应用举例如下:routineA ROUT;定义局部标号的有效范围,名称为routineA.3routineA;routineA范围内的局部标号3.BEQ%4routineA;若条件成立,跳转到routineA范围内的局部标号4.BEQ%3routineA;若条件成立,跳转到routineA范Iq内的局部标号3.4routineA;routineA范围内的局部标号4.otherstuff ROUT;定义新的局部标号的有效范围-- ADS中ARM汇编语言程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 的符号引用 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 Error:Undefined symbols.找到引用符号的汇编源文件和定义符号的汇编源文件仔细检查和对比,符号没有写错,而且在引用符号之前确实把符号使用IMPORT引入了进来。百思不得其解时,突然想到在定义符号的文件中没有对符号EXPORT。非常低级的错误。在汇编语言程序设计中,养成良好的编程习惯,形成良好的编码风格是非常重要的。这里仅根据个人习惯和体会略谈一下使用ADS进行ARM汇编语言程序设计时的符号引用规则,主要是对不同性质的符号使用不同的引用办法:(1)对于寄存器地址定义以及通用的常量或符号定义(使用EQU定义),可以按类定义在一个.s汇编文件中,在要使用这些定义的源文件中可使用INCLUDE将该.s汇编文件包含进来。这样做的好处是:避免大量的IMPORT和EXPORT伪语句,增强代码的可读性,另外,对于多个源文件要使用许多相同寄存器地址定义或常量定义的场合,这样做可以大大压缩代码尺寸(经笔者实践证实)。(2)对于代码段的地址标号或函数入口地址标号(函数名),在代码段或函数的定义处使用EXPORT输出;在要调用该代码段或函数的源文件中使用IMPORT将符号引入。一定要保证IMPORT和EXPORT是成对使用的,若不EXPORT则IMPORT无效,若只EXPORT而不IMPORT也无法引用符号。
本文档为【ARM汇编特殊符号 汇编符号引用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_260251
暂无简介~
格式:doc
大小:13KB
软件:Word
页数:2
分类:生活休闲
上传时间:2017-09-29
浏览量:19