Difference between revisions of "680x0:Condition codes"

From Amiga Coding
Jump to: navigation, search
(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...)
 
(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>CC</td><td>Carry clear</td><td>0100</td></tr>
+
<tr><td>NE</td><td>b<>a</td><td>Not equal</td><td>0110</td><td></td></tr>
<tr><td>CS</td><td>Carry set</td><td>0101</td></tr>
+
<tr><td>EQ</td><td>b==a</td><td>Equal</td><td>0111</td><td></td></tr>
<tr><td>EQ</td><td>Equal</td><td>0111</td></tr>
+
 
<tr><td>F</td><td>False</td><td>0001</td></tr>
+
<tr><td>HI</td><td>b>a</td><td>High</td><td>0010</td><td>unsigned</td></tr>
<tr><td>GE</td><td>Greater then or equal</td><td>1100</td></tr>
+
<tr><td>LO</td><td>b<a</td><td>LOwer</td><td></td><td>unsigned</td></tr>
<tr><td>GT</td><td>Greater then</td><td>1110</td></tr>
+
<tr><td>HS</td><td>b>=a</td><td>Higher or Same</td><td></td><td>unsigned</td></tr>
<tr><td>HI</td><td>High</td><td>0010</td></tr>
+
<tr><td>LS</td><td>b<=a</td><td>Lower or same</td><td>0011</td><td>unsigned</td></tr>
<tr><td>LE</td><td>Less then or equal</td><td>1111</td></tr>
+
 
<tr><td>LS</td><td>Low or same</td><td>0011</td></tr>
+
<tr><td>GT</td><td>b>a</td><td>Greater then</td><td>1110</td><td>signed</td></tr>
<tr><td>LT</td><td>Less then</td><td>1101</td></tr>
+
<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>NE</td><td>Not equal</td><td>0110</td></tr>
+
<tr><td>LE</td><td>b<=a</td><td>Less then or equal</td><td>1111</td><td>signed</td></tr>
<tr><td>PL</td><td>Plus</td><td>1010</td></tr>
+
 
<tr><td>T</td><td>True</td><td>0000</td></tr>
+
<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:


ccmathematicalmeaningbitcodesignedcomment
NEb<>aNot equal0110
EQb==aEqual0111
HIb>aHigh0010unsigned
LOb<aLOwerunsigned
HSb>=aHigher or Sameunsigned
LSb<=aLower or same0011unsigned
GTb>aGreater then1110signed
LTb<aLess then1101signed
GEb>=aGreater then or equal1100signed
LEb<=aLess then or equal1111signed
MIb<0Minus1011
PLb>0Plus1010
CCCarry clear0100
CSCarry set0101
VCNo overflow1000
VSOverflow1001

(the next 2 are not known by all assemblers, because they aren't really usefull) (Seka does know them)
TTrue0000allways branch, same as bra
FFalse0001never branch