Difference between revisions of "680x0:Condition codes"

From Amiga Coding
Jump to: navigation, search
(added signed/unsigned, mathematical meaning and some more CC's)
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>High</td><td>0010</td><td>unsigned</td></tr>
+
<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 then</td><td>1110</td><td>signed</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>b<a</td><td>Less then</td><td>1101</td><td>signed</td></tr>
+
<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 equal</td><td>1100</td><td>signed</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>LE</td><td>b<=a</td><td>Less then or equal</td><td>1111</td><td>signed</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>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:


ccmathematicalmeaningbitcodesignedcomment
NEb<>aNot equal0110
EQb==aEqual0111
HIb>aHIgher0010unsigned
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