Difference between revisions of "680x0:Condition codes"
Spellcoder (talk | contribs) (added signed/unsigned, mathematical meaning and some more CC's) |
Spellcoder (talk | contribs) m |
||
Line 8: | Line 8: | ||
<tr><td>EQ</td><td>b==a</td><td>Equal</td><td>0111</td><td></td></tr> | <tr><td>EQ</td><td>b==a</td><td>Equal</td><td>0111</td><td></td></tr> | ||
− | <tr><td>HI</td><td>b>a</td><td> | + | <tr><td>HI</td><td>b>a</td><td>HIgher</td><td>0010</td><td>unsigned</td></tr> |
<tr><td>LO</td><td>b<a</td><td>LOwer</td><td></td><td>unsigned</td></tr> | <tr><td>LO</td><td>b<a</td><td>LOwer</td><td></td><td>unsigned</td></tr> | ||
<tr><td>HS</td><td>b>=a</td><td>Higher or Same</td><td></td><td>unsigned</td></tr> | <tr><td>HS</td><td>b>=a</td><td>Higher or Same</td><td></td><td>unsigned</td></tr> | ||
<tr><td>LS</td><td>b<=a</td><td>Lower or same</td><td>0011</td><td>unsigned</td></tr> | <tr><td>LS</td><td>b<=a</td><td>Lower or same</td><td>0011</td><td>unsigned</td></tr> | ||
− | <tr><td>GT</td><td>b>a</td><td>Greater | + | <tr><td>GT</td><td>b>a</td><td>Greater Then</td><td>1110</td><td>signed</td></tr> |
− | <tr><td>LT</td><td>b<a</td><td>Less | + | <tr><td>LT</td><td>b<a</td><td>Less Then</td><td>1101</td><td>signed</td></tr> |
− | <tr><td>GE</td><td>b>=a</td><td>Greater then or | + | <tr><td>GE</td><td>b>=a</td><td>Greater then or Equal</td><td>1100</td><td>signed</td></tr> |
− | <tr><td>LE</td><td>b<=a</td><td>Less then or | + | <tr><td>LE</td><td>b<=a</td><td>Less then or Equal</td><td>1111</td><td>signed</td></tr> |
<tr><td>MI</td><td>b<0</td><td>Minus</td><td>1011</td><td></td></tr> | <tr><td>MI</td><td>b<0</td><td>Minus</td><td>1011</td><td></td></tr> |
Revision as of 23:27, 31 October 2007
Condition codes are used in branch instructions Bcc and DBcc.
Replace the cc with any of the following codes:
cc | mathematical | meaning | bitcode | signed | comment |
---|---|---|---|---|---|
NE | b<>a | Not equal | 0110 | ||
EQ | b==a | Equal | 0111 | ||
HI | b>a | HIgher | 0010 | unsigned | |
LO | b<a | LOwer | unsigned | ||
HS | b>=a | Higher or Same | unsigned | ||
LS | b<=a | Lower or same | 0011 | unsigned | |
GT | b>a | Greater Then | 1110 | signed | |
LT | b<a | Less Then | 1101 | signed | |
GE | b>=a | Greater then or Equal | 1100 | signed | |
LE | b<=a | Less then or Equal | 1111 | signed | |
MI | b<0 | Minus | 1011 | ||
PL | b>0 | Plus | 1010 | ||
CC | Carry clear | 0100 | |||
CS | Carry set | 0101 | |||
VC | No overflow | 1000 | |||
VS | Overflow | 1001 | |||
(the next 2 are not known by all assemblers, because they aren't really usefull) (Seka does know them) | |||||
T | True | 0000 | allways branch, same as bra | ||
F | False | 0001 | never branch |