标签:style blog http ext color com
ARM 汇编语言源代码行的语法规则
3.1 Syntax of source lines in assembly language
汇编器首先解析汇编语言源代码,然后把源代码汇编成目标文件。汇编语言源代码的每一行都要符合如下所示的语法格式:
{symbol} {instruction|directive|pseudo-instruction} {;comment}
语法格式中的以大括号分割的三个部分都是可选的。
symbol通常表示一个标号。在指令和伪指令中,symbol总是一个标号。而在一些指示符中,symbol是代表一个变量或常量的符号。
在每一个指示符的说明中会有相关信息的更清晰的说明。
symbol的位置必须从每一行的第一列开始。而且它不能包含任何一个空白字符,比如:空格、制表符,除非它被包含在一对竖线符” | “中。
标号总是内存地址的符号化表示。你可以使用标号标志一个特定的内存地址,之后你可以在代码的其它地方通过标号引用这个特定的内存地址。
以0到99范围内数字开始的数字局部标号是标号的一个子类。不象其它标号,相同的局部数字标号可以被定义许多次,当在宏定义中产生标号时
数字局部标号是非常有用的。
指示符用于向汇编器提供重要的信息,这些信息既可以影响源代码的汇编过程,又可以影响最终输出的镜像文件。
指令和伪指令构成了处理器用来执行具体任务的指令代码。
特别注意:
在源代码行中,不管有没有symbol存在, 指令、伪指令以及指示符必须前置空白空间,比如:空格符或制表符。
有些指示符前不允许使用标号。
上述语法格式中最后一部分表示代码注释。第一个分号标志了注释的开始。但是在字符串文字中的分号不表示注释的开始。
当前行的结束位置也表示当前注释的结束。一个只有注释的行也是有效的。汇编器会忽略源码中所有的注释。你可以使用
空白行来增强源代码的可读性。
其它考虑因素:
在编写汇编源代码时,指令、伪指令、指示符、寄存器的符号名(除了a1-a4,v1-v8 ,及Wireless MMX寄存器)都必须使
用统一使用大写字母或使用小写字母,而不能大小写混用。但是在注释中可以使用全部大写、全部小写及大小写混用。
为了使源码更容易阅读,你可以通过把符号” \ “ 放在每一行的最后来把一个长行分割成几个短行。注意反斜线后面一定不能有任何符号,即使空格和制表符也不行。
汇编器会把反斜线后跟一个换行符看作一个空格符。特别注意:一定要在用引号包围的字符串里使用反斜线后跟换行符。
汇编器规定一行源码(包括使用反斜线后跟换行符进行扩展)的长度最大不能超过4095个字符。
ARM 汇编语言源代码行的语法规则,布布扣,bubuko.com
标签:style blog http ext color com
原文地址:http://blog.csdn.net/asmarm/article/details/29367003