首页 > 代码库 > ARM 汇编语言源代码行的语法规则

ARM 汇编语言源代码行的语法规则

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个字符。