Explorar o código

* range check errors

git-svn-id: trunk@2402 -
peter %!s(int64=19) %!d(string=hai) anos
pai
achega
4bee83c736
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      compiler/i386/n386mat.pas

+ 2 - 2
compiler/i386/n386mat.pas

@@ -300,11 +300,11 @@ implementation
                             printf ("\n");
                             printf ("\n");
                             printf ("; quotient now in EDX\n");
                             printf ("; quotient now in EDX\n");
                             }
                             }
-                            emit_const_reg(A_ADD,S_L,m,NR_EAX);
+                            emit_const_reg(A_ADD,S_L,aint(m),NR_EAX);
                             emit_const_reg(A_ADC,S_L,0,NR_EDX);
                             emit_const_reg(A_ADC,S_L,0,NR_EDX);
                           end;
                           end;
                         if s<>0 then
                         if s<>0 then
-                          emit_const_reg(A_SHR,S_L,s,NR_EDX);
+                          emit_const_reg(A_SHR,S_L,aint(s),NR_EDX);
                         cg.ungetcpuregister(exprasmlist,NR_EDX);
                         cg.ungetcpuregister(exprasmlist,NR_EDX);
                         cg.ungetcpuregister(exprasmlist,NR_EAX);
                         cg.ungetcpuregister(exprasmlist,NR_EAX);
                         location.register:=cg.getintregister(exprasmlist,OS_INT);
                         location.register:=cg.getintregister(exprasmlist,OS_INT);