![]() |
+ 低压差线性稳压器 |
+ 白光LED驱动 |
+ MOSFET |
+ 32位ARM核Cortex系列 |
+ CMOS逻辑电路 |
4.ARM指令,伪指令,伪操作,寄存器名可以全部为大写字母,也可全部为小写字母;不可大小写混用。 5.如果语句太长,可以将一条语句分几行来书写,在行末用“”表示换行(即下一行与本行为同一语句)。“”后不能有任何字符,包含空格和制表符(Tab)。 基于PC的标号。基于PC的标号是位于目标指令前的标号或者程序中数据定义伪操作前的标号。这种标号在汇编时将被处理成PC值加上(或减去)一个数字常量。(常用于表示跳转指令的目标地址,或者代码段中所嵌入的少量数据。) 基于寄存器的标号。基于寄存器的标号常用MAP和FIELD来定义,也可以用EQU来定义。这种标号在汇编时将被处理成寄存器的值加上(或减去)一个数字常量。(常用于访问数据段中的数据。) 绝对地址。绝对地址是一个32位 数据。它可以寻址的范围为[0,232-1]即可以直接寻址整个内存空间。 局部标号主要在局部范围内使用。它由两部组成:开头是一个0-99直接的数字,后面紧接一个通常表示该局部变量作用范围的符号。 routname:当前局部范围的名称(为符号),通常为该变量作用范围的名称(用ROUT伪操作定义的)。 2.如果A和T都没有指定,编译器搜索所有从当前层次到宏的最高层次,比当前层次低的层次不再搜索。 3.如果指定了routname,编译器向前搜索最近的ROUT伪操作,若routname与该ROUT伪操作定义的名称不匹配,编译器报告错误,汇编失败。 数字常量是32位的整数。在ARM汇编语言中,使用EQU来定义数字常量。数字常量一经定义就不可修改。进行大小比较时,认为数字常量都是无符号数。 {数字常量:十进制数,十六进制数,n_XXX(n表示n(2-9)进制数,XXX是具体的数,例如:8_3777) 字符常量:用一对单引号括起,包含一个单字符或标准C中的转义字符。例如:An 注意:1.汇编器对-n和2^32-1不做区别;汇编时对关系运算符采用无符号数方式处理,这就意味着当0> -1是 在程序中,变量的值在汇编处理过程中可能会发生改变。在ARM汇编中变量有数字变量、逻辑变量和字符串变量3种类型。变量的类型在程序中是不可以改变的。 2.如果在数字变量前面有一个$字符,在汇编时编译器将该数字变量的数值转换成十六进制的串,然后用该十六进制的串取代$字符后的数字变量。 通常情况下,包含在两个竖线()之间的$并不表示进行变量替换。但是如果竖线()是在双引号内,则将进行变量替换。 字符串表达式由字符串、字符串变量、操作符以及括号组成。字符串的最大长度为512字节,最小长度为0.下面介绍字符串表达式的组成元素。 字符串:由包含在双引号内的一系列的字符组成。字符串的长度受到ARM汇编语言语句长度的限制。当在字符串中包含美元符号$或者引号"时,用$$表示一个$,用""表示一个"。 (2)CHR:可以将0~255之间的整数作为含一个ASCII字符的字符串。当有些ASCII字符不方便放在字符串中时,可以使用CHR将其放在字符串表达式中。 (3)STR:将一个数字量或者逻辑表达式转换成串。对于32位的数字量而言,STR将其转换成8个十六进制数组成的串;对于逻辑表达式而言,STR将其转换成字符串T或者F 基于PC的表达式表示了PC寄存器的值加上(或减去)一个数字表达式。基于PC的表达式通常由程序中的标号与一个数字表达式组成。相关的操作符: 关系操作符:用于表示两个同类表达式之间的关系。关系操作符和它的两个操作数组成一个逻辑表达式,其取值为{FALSE}或{TRUE} 江南官方体育app 上一篇:STM32单片机超详细学习资料看 下一篇:说说ARM汇编的LDR伪指令 |