ARM学习笔记11——GNU ARM汇编程序设计

时间:2021-06-10 00:53:53

  GNU ARM汇编程序设计中,每行的语法格式如下:

  [<label>:] [<instruction | directive | pseudo-instruction>] @comment 

  如果语句太长,可以将一条语句分几行来书写,在行末用“\”表示换行。“\”后不能有任何字符,包含空格和制表符(Tab)

  参数说明: label:为标号,可选,可以使用字母,数字,下划线;除局部标号外,必须以字母或下划线开头。标号必须以“:”号结尾。标号大小写敏感

        instruction | directive | pseudo-instruction:可选项,指令、伪指令、伪操作三者任选其一。注意:ARM指令,伪指令,伪操作,寄存器名称要么大写,要么小写,不可以大小写混合。

        @comment:可选项,注释语句,@为注释标示符,comment为注释内容。

  GNU ARM汇编程序举例

.section .text,"x"           @用.section伪操作定义了代码段 
.global add64              @.global伪操作声明了add64为全局标号 add64:                  @定义了标号add64
    adds r0,r0,r2          @add指令将分别存放在r0和r2中的两个64位数的低32位相加
    adc r1,r1,r3          @adc指令将分别存放在r1和r3中的两个64位数的高32位相加
    mov pc,lr            @使用mov指令将lr的值赋给pc,实现子程序返回