Browse Source

* fix operand order when a prefix opcode is supplied

peter 22 years ago
parent
commit
6093a37d1b
1 changed files with 7 additions and 2 deletions
  1. 7 2
      compiler/i386/ra386int.pas

+ 7 - 2
compiler/i386/ra386int.pas

@@ -1594,7 +1594,6 @@ procedure T386IntelInstruction.InitOperands;
 var
 var
   i : longint;
   i : longint;
 begin
 begin
-  OpOrder:=op_intel;
   for i:=1 to 3 do
   for i:=1 to 3 do
    Operands[i]:=T386IntelOperand.Create;
    Operands[i]:=T386IntelOperand.Create;
 end;
 end;
@@ -1612,6 +1611,7 @@ Begin
   repeat
   repeat
     if is_prefix(actopcode) then
     if is_prefix(actopcode) then
      begin
      begin
+       OpOrder:=op_intel;
        PrefixOp:=ActOpcode;
        PrefixOp:=ActOpcode;
        opcode:=ActOpcode;
        opcode:=ActOpcode;
        condition:=ActCondition;
        condition:=ActCondition;
@@ -1622,6 +1622,7 @@ Begin
     else
     else
      if is_override(actopcode) then
      if is_override(actopcode) then
       begin
       begin
+        OpOrder:=op_intel;
         OverrideOp:=ActOpcode;
         OverrideOp:=ActOpcode;
         opcode:=ActOpcode;
         opcode:=ActOpcode;
         condition:=ActCondition;
         condition:=ActCondition;
@@ -1643,6 +1644,7 @@ Begin
      exit;
      exit;
    end;
    end;
   { Fill the instr object with the current state }
   { Fill the instr object with the current state }
+  OpOrder:=op_intel;
   Opcode:=ActOpcode;
   Opcode:=ActOpcode;
   condition:=ActCondition;
   condition:=ActCondition;
   opsize:=ActOpsize;
   opsize:=ActOpsize;
@@ -1928,7 +1930,10 @@ finalization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.53  2003-10-01 20:34:49  peter
+  Revision 1.54  2003-10-02 21:17:38  peter
+    * fix operand order when a prefix opcode is supplied
+
+  Revision 1.53  2003/10/01 20:34:49  peter
     * procinfo unit contains tprocinfo
     * procinfo unit contains tprocinfo
     * cginfo renamed to cgbase
     * cginfo renamed to cgbase
     * moved cgmessage to verbose
     * moved cgmessage to verbose