|
@@ -228,7 +228,7 @@ unit agppcgas;
|
|
|
else
|
|
|
internalerror(2003112901);
|
|
|
end;
|
|
|
- cond2str:=cond2str++#9+tostr(c.bo)+','+tostr(c.bi);
|
|
|
+ cond2str:=cond2str++#9+tostr(c.bo)+','+tostr(c.bi)+',';
|
|
|
end;
|
|
|
true:
|
|
|
if (op >= A_B) and (op <= A_BCLRL) then
|
|
@@ -245,7 +245,7 @@ unit agppcgas;
|
|
|
DH_None:
|
|
|
tempstr:=tempstr+#9;
|
|
|
DH_Minus:
|
|
|
- tempstr:=cond2str+('-'+#9);
|
|
|
+ tempstr:=tempstr+('-'+#9);
|
|
|
DH_Plus:
|
|
|
tempstr:=tempstr+('+'+#9);
|
|
|
else
|
|
@@ -253,9 +253,11 @@ unit agppcgas;
|
|
|
end;
|
|
|
case c.cond of
|
|
|
C_LT..C_NU:
|
|
|
- cond2str := tempstr+gas_regname(newreg(R_SPECIALREGISTER,c.cr,R_SUBWHOLE));
|
|
|
- C_T..C_DZF:
|
|
|
- cond2str := tempstr+tostr(c.crbit);
|
|
|
+ cond2str := tempstr+gas_regname(newreg(R_SPECIALREGISTER,c.cr,R_SUBWHOLE))+',';
|
|
|
+ C_T,C_F,C_DNZT,C_DNZF,C_DZT,C_DZF:
|
|
|
+ cond2str := tempstr+tostr(c.crbit)+',';
|
|
|
+ else
|
|
|
+ cond2str := tempstr;
|
|
|
end;
|
|
|
end;
|
|
|
end
|
|
@@ -285,7 +287,7 @@ unit agppcgas;
|
|
|
A_BCTR,A_BCTRL,A_BLR,A_BLRL:
|
|
|
s:=#9+gas_op2str[op]
|
|
|
else
|
|
|
- s:=cond2str(op,taicpu(hp).condition)+',';
|
|
|
+ s:=cond2str(op,taicpu(hp).condition);
|
|
|
end;
|
|
|
|
|
|
if (taicpu(hp).ops>0) and (taicpu(hp).oper[0]^.typ<>top_none) then
|
|
@@ -321,7 +323,11 @@ begin
|
|
|
end.
|
|
|
{
|
|
|
$Log$
|
|
|
- Revision 1.35 2003-11-29 16:27:19 jonas
|
|
|
+ Revision 1.36 2003-11-29 18:17:26 jonas
|
|
|
+ * fixed writing of conditional branches which only depend on the value
|
|
|
+ of ctr
|
|
|
+
|
|
|
+ Revision 1.35 2003/11/29 16:27:19 jonas
|
|
|
* fixed several ppc assembler reader related problems
|
|
|
* local vars in assembler procedures now start at offset 4
|
|
|
* fixed second_int_to_bool (apparently an integer can be in LOC_JUMP??)
|