ARM微处理器指令的分类ARM微处理器指令表-4助记符指令功能描述ORR逻辑或指令RSB逆向减法指令RSC带借位的逆向减法指令SBC带借位减法指令STC协处理器寄存器写入存储器指令STM批量内存字写入指令STR寄存器到存储器的数据传输指令SUB减法指令6
6 ARM微处理器指令表-4 助记符 指令功能描述 ORR 逻辑或指令 RSB 逆向减法指令 RSC 带借位的逆向减法指令 SBC 带借位减法指令 STC 协处理器寄存器写入存储器指令 STM 批量内存字写入指令 STR 寄存器到存储器的数据传输指令 SUB 减法指令 ARM微处理器指令的分类
ARM微处理器指令的分类ARM微处理器指令表-5助记符指令功能描述SWI软件中断指令SWP交换指令TEQ相等测试指令TST位测试指令7
7 ARM微处理器指令表-5 助记符 指令功能描述 SWI 软件中断指令 SWP 交换指令 TEQ 相等测试指令 TST 位测试指令 ARM微处理器指令的分类
ARM微处理器指令的条件域指令的条件域口当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件的执行。当指令的执行条件满足时,指令被执行,否则指令被忽略。口每一条ARM指令包含4位的条件码,位于指令的最高4位[31:28]。条件码共有16种,每种条件码可用两个字符表示,这两个字符可以添加在指令助记符的后面和指令同时使用。例如,跳转指令B可以加上后缀EQ变为BEQ表示“相等则跳转”,即当CPSR中的Z标志置位时发生跳转。8
8 指令的条件域 ❑ 当处理器工作在ARM状态时,几乎所有的指令均根据CPSR 中条件码的状态和指令的条件域有条件的执行。当指令的 执行条件满足时,指令被执行,否则指令被忽略。 ❑ 每一条ARM指令包含4位的条件码,位于指令的最高4位 [31:28]。条件码共有16种,每种条件码可用两个字符表 示,这两个字符可以添加在指令助记符的后面和指令同时 使用。例如,跳转指令B可以加上后缀EQ变为BEQ表示“相 等则跳转”,即当CPSR中的Z标志置位时发生跳转。 ARM微处理器指令的条件域
ARM微处理器指令的条件域指令的条件域表-1标志含义条件码后缀相等Z置位0000EQ0001NEZ清零不相等CSC置位0010无符号数大于或等羌符号数小于C清零0011CC负数MIN置位0100PLN清零正数或零0101溢出V置位VS0110V清零未溢出VC01119
9 指令的条件域表-1 条件码 后缀 标 志 含 义 0000 EQ Z置位 相等 0001 NE Z清零 不相等 0010 CS C置位 无符号数大于或等 于 0011 CC C清零 无符号数小于 0100 MI N置位 负数 0101 PL N清零 正数或零 0110 VS V置位 溢出 0111 VC V清零 未溢出 ARM微处理器指令的条件域
ARM微处理器指令的条件域指令的条件域表-2后缀标志含义条件码LS1001C清零Z置位无符号数小于或等于N等于V1010GE带符号数大于或等于LT1011N不等于V带符号数小于GT1100Z清零且L(N带符号数大于等于V)LEZ置位或(N1101带符号数小于或等于不等于V)忽略AL1110无条件执行10
10 指令的条件域表-2 条件码 后缀 标 志 含 义 1001 LS C清零Z置位 无符号数小于或等 于 1010 GE N等于V 带符号数大于或等 于 1011 LT N不等于V 带符号数小于 1100 GT Z清零且(N 等于V) 带符号数大于 1101 LE Z置位或(N 不等于V) 带符号数小于或等 于 1110 AL 忽略 无条件执行 ARM微处理器指令的条件域