文档介绍:第五章基于ARM的程序设计
ARM汇编语言设计-文件格式
ARM汇编语言设计-语句格式
所有标号必须顶格书写,其后面不要添加“:”
所有指令均不能顶格书写
ARM汇编器对标识符大小写敏感,书写标号及指令时,大小写要一致
ARM指令、伪指令、寄存器名可以全部为大写字母,也可以全部为小写字母,但是不能混合使用
注释使用“;”开始,可以顶格书写
对于变量的设置,常量的定义,其标识符必须顶格书写
ARM汇编语言设计-语句格式
“
ARM汇编语言设计-语句格式
ARM汇编语言设计-标号
表示程序中的指令或者数据地址的符号
基于PC的标号
位于目标指令前或数据定义伪操作前的标号,在汇编时被处理成PC值加上(或减去)一数字常量
常用于表示跳转指令的目标地址,或者代码段中所嵌入的少量数据
基于寄存器的标号
通常用MAP和FILED伪操作定义
绝对地址
是一个32位的数字量。可直接寻址整个内存空间
ARM汇编语言设计-局部标号
主要用于局部范围代码中
是一个0~99之间的十进制数字,可重复定义
后面可以紧接一个通常表示该局部变量作用范围的符号
作用范围为当前段,也可以用伪指令ROUT来定义局部标号作用的范围
ARM汇编语言设计-局部标号
格式 N{routname}
引用%{F|B}{A|T} N{routname}
=R0+4 (0<=R0<=0X30)R0 =-R0 (R0<0) =2*R0 (else)
AREA Init1, CODE, P ROUT
ENTRY
MOV R0, #0x4E
CMP R0, #0
BLT %10
CMP R0, #0x30
BLT %20
ADD R0, R0, R0
B %30
P RSB R0, R0, #0
B %30
P ADD R0, R0, #4
P NOP
END
局部标号
示例