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