示立即数,该符号后的数据可以是二进制数,也可以是十进制数或十六进制数,如果操作数为十进制数,则前面除了#外,没有其他符号。? 2. 二进制符号"%"? "%"符号后面的数字表示二进制数,如%10010101表示二进制数10010101,即十进制数149。? 3. 二进制符号"2_"? "2_"符号是二进制前缀的另一种形式,如2_10010101也表示二进制数10010101,与%10010101等效。Р3.1.3 ARM指令中的操作数符号Р9Р4. 十六进制符号"0x"? "0x"后面的数据表示十六进制数,如0xFFFF,表示十六进制数FFFF,即十进制数65535。? 5. 更新基址寄存器符号"!"? "!"符号表示指令在完成操作后应将最后的地址写入基址寄存器。? 6. 复制SPSR到CPSR符号“^”? “^”符号通常在批量数据存储指令中作为后缀放在寄存器之后。当其前面的寄存器不包含PC时,该符号表示所用的寄存器是用户模式的寄存器;当其前面的寄存器包含PC时该符号指示将SPSR寄存器的值复制到CPSR寄存器中。? 7. 指示寄存器列表范围符号“-”? "-"符号用于在有些指令中表示多个连续寄存器,即含义"从…到…"。如RO-R7表示,R1,R2,R3,R4,R5,R6,R7这8个寄存器。Р10РARM微处理器内嵌的桶型移位器(Barrel Shifter),支持数据的各种移位操作,但在 ARM指令集中没有单独的指令供移位操作使用。移位操作在汇编语言中表示为指令中的选项,只能作为指令格式中的一个字段。如当数据处理指令的第2个操作数为寄存器时,就可以加入移位操作选项对它进行各种移位操作。? 移位操作包括逻辑左移(LSL)、算术左移(ASL)、逻辑右移(LSR)、算术右移(ASR)、循环右移(ROR)及带扩展的循环右移(RRX)共6种类型。Р3.1.4 ARM指令中的移位操作