先来看看关于标号的内容。

这里的局部标号是需要注意的。
全局标号,以及注释 可以不看。
来看一个例子;

这里的 BSYM 我不知道是什么意思。
在来看看关于伪操作的内容, 一般是以 . 开头的。


这是基本的一些操作。
然后是举例:
这里的.word 代表的是 4个字节。
val:   .word  0x11223344
mov r1,#val  ;将值0x11223344设置到寄存器r1中 
 
 
这里的space 不太明白是什么意思。
   label: .space size,expr     ;expr可以是4字节以内的浮点数 
   a:  space 8, 0x1 
这个例子中 space 8 ,0x1 代表的是 填充8个字节,每个字节都是用0x1 来填充。
这里的重复 不太明白是什么意思。
 .rept cnt   ;cnt是重复次数
 .endr 
这里的if 类似于 C语言



然后是关于 自定义段的操作, 这是比较重要的。

段分为:
代码段 .text
初始化数据段:.data
未初始化数据段:.bss
只读段: rodata, 代表着 字符串以及 define 定义的变量
heap 段, stack 段, 常量段。
这些都是指的名字。
flags 代表的是 读写的约束。
定义一个代码段: 这里的x 不知道是什么意思。
.section  .text  , "x"
.global add
add:
        add r0, r0,r1
        mov pc,lr 
 
 
然后是自己定义一个段。
.section .mysection
.align 2
strtemp:
    .ascii "hello world" 
 
 
标号是不带 . 的, 一般伪指令 是带 . 的。



















