home *** CD-ROM | disk | FTP | other *** search
-
- UNIT IVSWAP;
- {$F+}
-
- INTERFACE
-
-
- USES DOS,NEATUNIT;
-
-
- CONST LASTVEC = $CF; { LETZTER INTERRUPT- VEKTOR }
-
- TYPE INTPTR = ARRAY[0..LASTVEC] OF POINTER;
-
- VAR IP : INTPTR;
- SDP : POINTER;
-
-
- PROCEDURE SETIP;
-
-
- IMPLEMENTATION
-
-
- VAR OIP : INTPTR ABSOLUTE $0:0;
- EXITSAVE : POINTER;
- SDPORIG : POINTER ABSOLUTE $40:$67;
-
-
- {$F+}
- PROCEDURE MYEXIT;
- BEGIN
- CLI;
- OIP := IP;
- SDPORIG := SDP;
- STI;
- EXITPROC := EXITSAVE;
- EXITPROC := NIL;
- END;
-
-
- PROCEDURE SETIP;
- BEGIN
- CLI;
- IP := OIP;
- STI;
- END;
- {$F-}
-
-
- BEGIN
- SDP := SDPORIG;
- SWAPVECTORS;
- SETIP;
- SWAPVECTORS;
- EXITSAVE := EXITPROC;
- EXITPROC := @MYEXIT;
- END.
-