当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件的执行。当指令的执行条件满足时,指令被执行,否则指令被忽略。每一条ARM指令包含4位的条件码,位于指令的最高4位[31:28]。条件码共有16种,每种条件码可用两个字符表示,这两个字符可以添加在指令助记符的后面和指令同时使用。例如,跳转指令B可以加上后缀EQ变为BEQ表示“相等则跳转”,即当CPSR中的Z标志置位时发生跳转。在16种条件标志码中,只有15种可以使用,如表所示,第16种(1111)为系统保留,暂时不能使用。
指令的条件码
条件码 助记符后缀 标 志 含 义
0000 EQ Z置位 相等
0001 NE Z清零 不相等
0010 CS C置位 无符号数大于或等于
0011 CC C清零 无符号数小于
0100 MI N置位 负数
0101 PL N清零 正数或零
0110 VS V置位 溢出
0111 VC V清零 未溢出
1000 HI C置位Z清零 无符号数大于
1001 LS C清零Z置位 无符号数小于或等于
1010 GE N等于V 带符号数大于或等于
1011 LT N不等于V 带符号数小于
1100 GT Z清零且(N等于V) 带符号数大于
1101 LE Z置位或(N不等于V) 带符号数小于或等于
1110 AL 忽略 无条件执行
或者这个好看点:
EQ(等于,Equal) ==
NE(不等于,Not Equal) !=
CS(高于或同于,进位设置,Carry Set) >=
CC(低于,进位清除,Carry Clear) <
MI(负号,MInus) < 0
PL(正号,PLus) >=0
VS(溢出设置,oVerflow Set)
VC(溢出清除,oVerflow Clear)
HI(高于,HIgher) >
LS(低于或同于,Lower or Same) <=
GE(大于等于,Greater or equal) >=
LT(小于,Less Than) <
GT(大于,Greater Than) >
LE(小于等于,Less or equal) <=
AL(总是,Always) 永真
NV(从不,Never ) 永假
上一篇:ARM920T 有两个具体协处理器
下一篇:ARM协处理器及指令
设计资源 培训 开发板 精华推荐
- DC261A-A,用于 LT1795CSW 高速调制解调器、差分线路驱动器/接收器的演示板
- 基于SW2303的快充协议模块
- 具有 9V 至 5V、-5V 输出的 LTC1174-5 降压转换器的典型应用电路
- 使用 AD8376 VGA 驱动宽带宽 ADC,适用于 AD9445 14 位、105 MSPS/125 MSPS ADC 高中频交流耦合应用
- NCP301LSN26T1 2.6V 窗口电压检测器的典型应用
- DN05098/D,用于 TRIAC 调光的恒流稳压器 LED 电路增强型设计说明
- 【验证成功】CSPS服务器电源转xt60板
- 使用 Analog Devices 的 AD736A 的参考设计
- 使用 MaxLinear, Inc 的 SP6656 的参考设计
- 来自多个输入源的 LTC3622EDE 双路输出降压型稳压器的典型应用电路