Browse Source

+ flags support for add and case

peter 26 years ago
parent
commit
f2274e0248
2 changed files with 27 additions and 2 deletions
  1. 14 1
      compiler/cg386add.pas
  2. 13 1
      compiler/cg386set.pas

+ 14 - 1
compiler/cg386add.pas

@@ -913,6 +913,16 @@ implementation
                                     hregister);
                                end
                           end
+                             else
+                             { Flags ? }
+                              if (p^.left^.location.loc=LOC_FLAGS) then
+                               begin
+                                 case opsize of
+                                   S_L : hregister:=getregister32;
+                                   S_B : hregister:=reg32toreg8(getregister32);
+                                 end;
+                                 emit_flag2reg(p^.left^.location.resflags,hregister);
+                               end
                         else
                           begin
                              ungetiftemp(p^.left^.location.reference);
@@ -1813,7 +1823,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.45  1999-02-25 21:02:20  peter
+  Revision 1.46  1999-03-02 18:21:36  peter
+    + flags support for add and case
+
+  Revision 1.45  1999/02/25 21:02:20  peter
     * ag386bin updates
     + coff writer
 

+ 13 - 1
compiler/cg386set.pas

@@ -688,6 +688,15 @@ implementation
          case p^.left^.location.loc of
             LOC_REGISTER:
               hregister:=p^.left^.location.register;
+            LOC_FLAGS :
+              begin
+                hregister:=getregister32;
+                case opsize of
+                  S_B : hregister:=reg32toreg8(hregister);
+                  S_W : hregister:=reg32toreg16(hregister);
+                end;
+                emit_flag2reg(p^.left^.location.resflags,hregister);
+              end;
             LOC_CREGISTER:
               begin
                  hregister:=getregister32;
@@ -796,7 +805,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.23  1999-02-25 21:02:31  peter
+  Revision 1.24  1999-03-02 18:21:35  peter
+    + flags support for add and case
+
+  Revision 1.23  1999/02/25 21:02:31  peter
     * ag386bin updates
     + coff writer