ARM汇编书写格式及符号(symbol)和表达式(expr)
{symbol}{instruction/directive/pseud0-instruction}{;comment}
symbol:标号/局部标号/常量/变量
instruction:指令
directive:伪操作
pseudo-instruction:伪指令
comment:注释
{}中括号内是可选
注意:
1.symbol必须顶格书写。(ARM汇编其后不加“:”)(GUN汇编要加“:”)
2.symbol命名规则:由字母,数字,下划线组成;除局部标号外,不能以数字开头。
3.指令不能顶格书写。
4.ARM指令,伪指令,伪操作,寄存器名可以全部为大写字母,也可全部为小写字母;不可大小写混用。
5.如果语句太长,可以将一条语句分几行来书写,在行末用“”表示换行(即下一行与本行为同一语句)。“”后不能有任何字符,包含空格和制表符(Tab)。
ARM汇编语言中的符号
symbol(标号)
本质:代表一个地址值。段内标号的地址值在汇编时确定;段外标号的地址值在连接时确定。
分类:3类(分类依据了 标号的生成方式)
symbol(局部标号)
局部标号主要在局部范围内使用。它由两部组成:开头是一个0-99直接的数字,后面紧接一个通常表示该局部变量作用范围的符号。
局部变量的作用范围通常为当前段,也可以用ROUT来定义局部变量的作用范围。
局部变量定义的语法格式:N{routname}
N:为0~99之间的数字。
routname:当前局部范围的名称(为符号),通常为该变量作用范围的名称(用ROUT伪操作定义的)。
局部变量引用的语法格式:%{F|B}{A|T}N{routname}
%:表示引用操作
N:为局部变量的数字号。
routname 为当前作用范围的名称(用ROUT伪操作定义的)
%:表示引用操作
F:指示编译器只向前搜索
B:指示编译器只向后搜索
A:指示编译器搜索宏的所有嵌套层次
T:指示编译器搜索宏的当前层次
注意:1.如果F和B都没有指定,编译器先向前搜索,再向后搜索
symbol(常量)
注意:1.汇编器对-n和2^32-1不做区别;汇编时对关系运算符采用无符号数方式处理,这就意味着当0>-1是
symbol(变量)
注意:汇编时变量的替换
通常情况下,包含在两个竖线(|)之间的$并不表示进行变量替换。但是如果竖线(|)是在双引号内,则将进行变量替换。
ARM汇编书写格 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)