anchor.diff:          TVarData(RetVal).VInteger := Integer(Boolean(Regs[paEAX]))
         else
           TVarData(RetVal).VInteger := Integer(Regs[paEAX]);
  -      PCardinal(Integer(@TVarData(RetVal).VInteger) + 4)^ := Regs[paEDX];
  +      PCardinal(NativeUInt(@TVarData(RetVal).VInteger) + 4)^ := Regs[paEDX];
       end;
       Result                 := RetVal;
       TVarData(RetVal).VType := varEmpty;
  
positive.code: 
    // Do the call
    asm
  {$IFDEF ALIGN_STACK}
              ADD     ESP, 4
  {$ENDIF ALIGN_STACK}
  
negative.code:           8:
            begin
              PCardinal(@Frame[Param^.Access])^     := PCardinal(PushData)^;
              PCardinal(@Frame[Param^.Access + 4])^ := PCardinal(NativeUInt(PushData) + 4)^;
            end;
            10:
            begin
              PCardinal(@Frame[Param^.Access    ])^ := PCardinal(PushData)^;
              PCardinal(@Frame[Param^.Access + 4])^ := PCardinal(NativeUInt(PushData) + 4)^;
              PWord    (@Frame[Param^.Access + 8])^ := PWord    (NativeUInt(PushData) + 8)^;
            end;
            else
              Move(PushData^, Frame[Param^.Access and not 3], Size);
  