Browse Source

* unneeded assembler code converted to pascal

pierre 26 years ago
parent
commit
4a1e9f1419
1 changed files with 18 additions and 9 deletions
  1. 18 9
      rtl/go32v2/dos.pp

+ 18 - 9
rtl/go32v2/dos.pp

@@ -634,16 +634,24 @@ begin
 end;
 
 
+type swap_proc = procedure;
+
 var
-  _swap_in  : pointer;external name '_swap_in';
-  _swap_out : pointer;external name '_swap_out';
+  _swap_in  : swap_proc;external name '_swap_in';
+  _swap_out : swap_proc;external name '_swap_out';
   _exception_exit : pointer;external name '_exception_exit';
   _v2prt0_exceptions_on : longbool;external name '_v2prt0_exceptions_on';
 
 procedure swapvectors;
 begin
   DosError:=0;
-  asm
+  if _exception_exit<>nil then
+    if _v2prt0_exceptions_on then
+      _swap_in()
+    else
+      _swap_out();
+
+(*  asm
 { uses four global symbols from v2prt0.as to be able to know the current
   exception state without using dpmiexcp unit }
             movl _exception_exit,%eax
@@ -652,14 +660,12 @@ begin
             movl _v2prt0_exceptions_on,%eax
             orl  %eax,%eax
             je   .Lexceptions_off
-            movl _swap_out,%eax
-            call  %eax
+            call *_swap_out
             jmp  .Lno_excep
          .Lexceptions_off:
-            movl _swap_in,%eax
-            call %eax
+            call *_swap_in
          .Lno_excep:
-  end;
+  end; *)
 end;
 
 
@@ -997,7 +1003,10 @@ End;
 end.
 {
   $Log$
-  Revision 1.6  1999-04-28 11:42:44  peter
+  Revision 1.7  1999-05-04 23:55:50  pierre
+   * unneeded assembler code converted to pascal
+
+  Revision 1.6  1999/04/28 11:42:44  peter
     + FileNameCaseSensetive boolean
 
   Revision 1.5  1999/04/02 00:01:29  peter