Просмотр исходного кода

* merges from Pierre's fixes in m68k fixes branch

carl 23 лет назад
Родитель
Сommit
62e2cd1c67
4 измененных файлов с 25 добавлено и 41 удалено
  1. 5 2
      compiler/m68k/aasmcpu.pas
  2. 5 2
      compiler/m68k/agcpugas.pas
  3. 7 4
      compiler/m68k/cpubase.pas
  4. 8 33
      compiler/m68k/rasm.pas

+ 5 - 2
compiler/m68k/aasmcpu.pas

@@ -373,7 +373,7 @@ implementation
          init(_size);
          ops:=2;
          if ((op >= A_DBCC) and (op <= A_DBF))
-          or ((op >= A_FDBEQ) and (op <= A_FBDNGLE)) then
+          or ((op >= A_FDBEQ) and (op <= A_FDBNGLE)) then
            begin
              loadreg(0,_op2);
              loadsymbol(1,_op1,_op1ofs);
@@ -409,7 +409,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.5  2002-09-07 15:25:11  peter
+  Revision 1.6  2002-11-30 23:33:02  carl
+    * merges from Pierre's fixes in m68k fixes branch
+
+  Revision 1.5  2002/09/07 15:25:11  peter
     * old logs removed and tabs fixed
 
   Revision 1.4  2002/08/13 18:58:54  carl

+ 5 - 2
compiler/m68k/agcpugas.pas

@@ -73,7 +73,7 @@ interface
        'fbeq','fbne','fbngt','fbgt','fbge','fbnge',
        'fblt','fbnlt','fble','fbgl','fbngl','fbgle','fbngle',
        'fdbeq','fdbne','fdbgt','fdbngt','fdbge','fdnbge',
-       'fdblt','fdbnlt','fdble','fdbgl','fdbngl','fdbgle','fbdngle',
+       'fdblt','fdbnlt','fdble','fdbgl','fdbngl','fdbgle','fdbngle',
        'fseq','fsne','fsgt','fsngt','fsge','fsnge',
        'fslt','fsnlt','fsle','fsgl','fsngl','fsgle','fsngle',
        'fcmp','fdiv','fmove','fmovem',
@@ -417,7 +417,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.3  2002-09-07 15:25:11  peter
+  Revision 1.4  2002-11-30 23:33:02  carl
+    * merges from Pierre's fixes in m68k fixes branch
+
+  Revision 1.3  2002/09/07 15:25:11  peter
     * old logs removed and tabs fixed
 
   Revision 1.2  2002/08/13 18:58:54  carl

+ 7 - 4
compiler/m68k/cpubase.pas

@@ -71,7 +71,7 @@ uses
          a_fbeq,a_fbne,a_fbngt,a_fbgt,a_fbge,a_fbnge,
          a_fblt,a_fbnlt,a_fble,a_fbgl,a_fbngl,a_fbgle,a_fbngle,
          a_fdbeq,a_fdbne,a_fdbgt,a_fdbngt,a_fdbge,a_fdbnge,
-         a_fdblt,a_fdbnlt,a_fdble,a_fdbgl,a_fdbngl,a_fdbgle,a_fbdngle,
+         a_fdblt,a_fdbnlt,a_fdble,a_fdbgl,a_fdbngl,a_fdbgle,a_fdbngle,
          a_fseq,a_fsne,a_fsgt,a_fsngt,a_fsge,a_fsnge,
          a_fslt,a_fsnlt,a_fsle,a_fsgl,a_fsngl,a_fsgle,a_fsngle,
          a_fcmp,a_fdiv,a_fmove,a_fmovem,
@@ -493,11 +493,11 @@ uses
   {the return_result_reg, is used inside the called function to store its return
   value when that is a scalar value otherwise a pointer to the address of the
   result is placed inside it}
-	return_result_reg		=	accumulator;
+  return_result_reg   = accumulator;
 
   {the function_result_reg contains the function result after a call to a scalar
   function othewise it contains a pointer to the returned result}
-	function_result_reg	=	accumulator;
+  function_result_reg = accumulator;
       {# Hi-Results are returned in this register (64-bit value high register) }
       accumulatorhigh = R_D1;
       {# Floating point results will be placed into this register }
@@ -592,7 +592,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.13  2002-11-17 18:26:16  mazen
+  Revision 1.14  2002-11-30 23:33:03  carl
+    * merges from Pierre's fixes in m68k fixes branch
+
+  Revision 1.13  2002/11/17 18:26:16  mazen
   * fixed a compilation bug accmulator-->accumulator, in definition of return_result_reg
 
   Revision 1.12  2002/11/17 17:49:09  mazen

+ 8 - 33
compiler/m68k/rasm.pas

@@ -101,7 +101,7 @@ type
    AS_SEPARATOR,AS_ID,AS_REGISTER,AS_OPCODE,AS_SLASH,AS_APPT,AS_REALNUM,
    AS_ALIGN,
      {------------------ Assembler directives --------------------}
-   AS_DB,AS_DW,AS_DD,AS_XDEF,AS_END,
+   AS_DB,AS_DW,AS_DD,AS_END,
      {------------------ Assembler Operators  --------------------}
    AS_MOD,AS_SHL,AS_SHR,AS_NOT,AS_AND,AS_OR,AS_XOR);
 
@@ -117,7 +117,7 @@ const
    _count_asmoperators  = longint(lastoperator)-longint(firstoperator);
 
    _asmdirectives : array[0.._count_asmdirectives] of tasmkeyword =
-    ('DC.B','DC.W','DC.L','XDEF','END');
+    ('DC.B','DC.W','DC.L','END');
 
     { problems with shl,shr,not,and,or and xor, they are }
     { context sensitive.                                 }
@@ -1622,7 +1622,7 @@ type
                      end
                      else
                      Begin
-                        Message(asmr_e_68020_mode_required);
+                        Message1(asmr_e_higher_cpu_mode_required,'68020');
                         if not (actasmtoken in [AS_SEPARATOR,AS_COMMA]) then
                         Begin
                           Message(asmr_e_invalid_reg_list_for_opcode);
@@ -2059,7 +2059,7 @@ type
        end
        else
        if ((opcode >= A_DBCC) and (opcode <= A_DBF))
-       or ((opcode >= A_FDBEQ) and (opcode <= A_FBDNGLE)) then
+       or ((opcode >= A_FDBEQ) and (opcode <= A_FDBNGLE)) then
        begin
          if (ops<>2) or
             (operands[1].opr.typ <> OPR_REGISTER) or
@@ -2133,34 +2133,6 @@ type
                  Consume(AS_DD);
                  BuildConstant($ffffffff);
                 end;
-        AS_XDEF:
-                  Begin
-                   { normal units should not be able to declare }
-                   { direct label names like this... anyhow     }
-                   { procedural calls in asm blocks are         }
-                   { supposedely replaced automatically         }
-                   if (cs_compilesystem in aktmoduleswitches) then
-                   begin
-                     Consume(AS_XDEF);
-                      if actasmtoken <> AS_ID then
-                       Message(asmr_e_invalid_global_def)
-                      else
-                        ConcatPublic(curlist,actasmpattern);
-                      Consume(actasmtoken);
-                      if actasmtoken <> AS_SEPARATOR then
-                      Begin
-                        Message(asmr_e_syntax_error);
-                        while actasmtoken <> AS_SEPARATOR do
-                         Consume(actasmtoken);
-                      end;
-                   end
-                   else
-                   begin
-                     Message(asmr_w_xdef_not_supported);
-                     while actasmtoken <> AS_SEPARATOR do
-                       Consume(actasmtoken);
-                   end;
-                  end;
         AS_ALIGN: Begin
                     Message(asmr_w_align_not_supported);
                     while actasmtoken <> AS_SEPARATOR do
@@ -2225,7 +2197,10 @@ Begin
 end.
 {
   $Log$
-  Revision 1.8  2002-09-07 15:25:13  peter
+  Revision 1.9  2002-11-30 23:33:03  carl
+    * merges from Pierre's fixes in m68k fixes branch
+
+  Revision 1.8  2002/09/07 15:25:13  peter
     * old logs removed and tabs fixed
 
   Revision 1.7  2002/09/03 19:04:18  daniel