其实整体概括下来,就是两个寄存器比大小,按照不同的格式(有符号,无符号)比
条件选择
(Conditional Selection, CSEL)
示例
CSEL X3, X1, X2, EQ
在这个例子中,如果条件码
EQ
为真(即条件寄存器的标志指示相等),那么X3
将被赋值为X1
的值,否则将被赋值为X2
的值。
- EQ (Equal): 零标志(Z)被设置,即结果为零。
- NE (Not Equal): 零标志(Z)没有被设置,即结果不为零。
- CS/HS: Carry Set/Unsigned Higher or Same: 进位标志(C)被设置,用于无符号比较(大于或等于)。
- CC/LO: Carry Clear/Unsigned Lower: 进位标志(C)没有被设置,用于无符号比较(小于)。
- MI (Minus): 负标志(N)被设置,表示结果为负。
- PL (Plus): 负标志(N)没有被设置,表示结果为正或零。
- VS (Overflow Set): 溢出标志(V)被设置。
- VC (Overflow Clear): 溢出标志(V)没有被设置。
- HI (Unsigned Higher): 进位标志(C)被设置且零标志(Z)没有被设置,用于无符号比较(严格大于)。
- LS (Unsigned Lower or Same): 进位标志(C)没有被设置或零标志(Z)被设置,用于无符号比较(小于或等于)。
- GE (Signed Greater than or Equal): 负标志(N)等于溢出标志(V),用于有符号比较(大于或等于)。
- LT (Signed Less Than): 负标志(N)不等于溢出标志(V),用于有符号比较(小于)。
- GT (Signed Greater Than): 零标志(Z)没有被设置且负标志(N)等于溢出标志(V)ÿ