设为首页 加入收藏

TOP

ARM的伪指令总结
2014-11-24 12:21:27 来源: 作者: 【 】 浏览:0
Tags:ARM 指令 总结

1)ENTRY
设置程序默认入口点,一个程序可有多个ENTRY,但一个源文件最多只有一个ENTRY。


2)EQU
EQU伪操用于将数字常量、基于寄存器的值和程序中的标号定义为一个字符名称。语法格式:
symbol EQU expression
其中,expression可以是一个寄存器的名字,也可是由程序标号、常量或者32位的地址常量组成的表达式。symbol是EQU伪操作所定义的字符名称。示例:COUNT EQU 0X1FFF


3)EXTERN/IMPORT
IMPORT(EXTERN功能完全相同)用于声明在其他模块中定义但需要在本文件中使用的符号。EXTERN声明的变量必须是在其他模块中用EXPORT或GLOBAL声明过的。


4)IMPORT class (symbol, symbol ...)
其中,class为变量的类型,可以为ARM、CODE16、CODE32、DATA、CONST、THUMB;symbol为所声明的变量名。


5)EXPORT/GLOBAL
EXPORT(GLOBAL功能完全相同)用于声明在本文件中定义但能在其他模块中使用的变量,相当于定义了一个全局变量。语法格式:
EXPORT symbol, symbol...
其中,symbol为所声明的变量名。


6)AREA
AREA用于定义一个代码段或数据段,ARM汇编程序设计采用分段式设计,一个ARM源程序至少有一个代码段,大的程序会有若干个代码段和数据段。语法格式:
AREA segment-name, class-name, attributes ,...
其中,segment-name为所定义段的名称;class-name为所定义段的类型名称,可以为系统类型(CODE, CONST, DATA, ERAM)或用户定义类型;attributes为段的属性。


7)END
END用于标记汇编文件的结束行,即标号后的代码不作处理。


8)Code[16|32]


伪操作用于选择当前汇编指令的指令集。参数16选择Thumb指令集,参数32 选择ARM指令集。


语法格式:


9)align


align伪指令通过添加补丁字节使当前位置满足一定的对齐方式。


语法格式:


其中:expr为数字表达式,用于指定对齐的方式。取值为2的n次幂,如1、2、4、8等,不能为0。若没有expr,则默认为字对齐方式。


Offset为数字表达式。当前位置对齐到下面形式的地址处:offset+n*expr


示例:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇移动网站开发中常用的10段JavaScr.. 下一篇ARM寄存器总结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 学习线路图是怎 (2025-12-25 15:19:15)
·关于 Java 学习,有 (2025-12-25 15:19:12)
·有没有Java swing教 (2025-12-25 15:19:09)
·Start, Stop, and Di (2025-12-25 14:50:57)
·C语言入门教程:零基 (2025-12-25 14:50:54)