home *** CD-ROM | disk | FTP | other *** search
- ⓪ IMPLEMENTATION MODULE SysCtrl;
- ⓪ (*$Y+,N+,L-*)
- ⓪
- ⓪ (*
- ⓪"14.02.92 TT: ToSuper, ToUser statt Supexec wg. MiNT.
- ⓪"28.09.90 TT: ExcToScanAddr neu
- ⓪"13.06.90 TT: EnterSupervisorMode entfernt
- ⓪"01.05.90 TT: MSByte bei restoreTrap wird vor Vergleich ggf. gelöscht
- ⓪"14.07.89 TT: XBRA-Installation in TRAP #4 (Kennung: "MM2Y")
- ⓪"25.10.88 TT: CatchRemoval-Aufruf zum Restaurieren des alten TRAP 4-Vektors
- ⓪"09.04.88 TT: trapHandler und ScanBack laufen nun auch mit 68020.
- ⓪ *)
- ⓪
- ⓪ FROM SYSTEM IMPORT ASSEMBLER;
- ⓪ FROM SysTypes IMPORT ScanDesc, ExcDesc;
- ⓪ FROM MOSSupport IMPORT ToSuper, ToUser;
- ⓪
- ⓪ PROCEDURE GetScanAddr ( VAR info: ScanDesc );
- ⓪"BEGIN
- ⓪$ASSEMBLER
- ⓪(MOVE.L -(A3),A1
- ⓪(LEA 4(A7),A0
- ⓪(MOVE.L A0,ScanDesc.stack(A1) ; stack:= A7+4
- ⓪(MOVE.L A5,ScanDesc.link(A1) ; link:= A5
- ⓪(MOVE.L (A7),ScanDesc.pc(A1) ; pc:= RTS-Wert = (A7)
- ⓪$END
- ⓪"END GetScanAddr;
- ⓪
- ⓪ PROCEDURE ScanBack ( VAR info: ScanDesc ): BOOLEAN;
- ⓪"BEGIN
- ⓪$ASSEMBLER
- ⓪(SUBQ.L #4,A7
- ⓪(JSR ToSuper
- ⓪(
- ⓪(LEA err2(PC),A0
- ⓪(MOVE.L 8,-(A7)
- ⓪(MOVE.L A0,8 ; Bus error
- ⓪(MOVE.L 12,D1
- ⓪(MOVE.L A0,12 ; Addr error
- ⓪(MOVE.L A7,D0
- ⓪(
- ⓪(MOVE.L -(A3),A1
- ⓪(MOVE.L ScanDesc.stack(A1),A2 ; stack A7
- ⓪(MOVE.L ScanDesc.link(A1),A0 ; link A5
- ⓪(CMPA.L A2,A0 ; A5 >= A7 ?
- ⓪(BCS err ; nö
- ⓪(
- ⓪(MOVE.L (A0)+,ScanDesc.link(A1) ; UNLK A5
- ⓪(MOVE.L (A0)+,ScanDesc.pc(A1) ; RTS-Adr
- ⓪(MOVE.L A0,ScanDesc.stack(A1)
- ⓪(
- ⓪(MOVEQ #TRUE,D0
- ⓪(BRA ende
- ⓪(
- ⓪&err2
- ⓪(MOVE.L D0,A7 ; Bus/Addr-Error, SSP korrigieren
- ⓪&err
- ⓪(MOVEQ #FALSE,D0
- ⓪&ende
- ⓪(MOVE.L (A7)+,8 ; Bus error
- ⓪(MOVE.L D1,12 ; Addr error
- ⓪(MOVE D0,(A3)+
- ⓪$
- ⓪(JSR ToUser
- ⓪(ADDQ.L #4,A7
- ⓪$END
- ⓪"END ScanBack;
- ⓪
- ⓪
- ⓪ PROCEDURE ExcToScanAddr ( REF exc: ExcDesc; VAR info: ScanDesc );
- ⓪"BEGIN
- ⓪$ASSEMBLER
- ⓪(; globalScan.pc:= excData.regPC;
- ⓪(; globalScan.link:= excData.regA5.ad;
- ⓪(; globalScan.stack:= excData.parm;
- ⓪(MOVE.L -(A3),A0 ;info
- ⓪(MOVE.L -(A3),A1 ;ref
- ⓪(MOVE.L ExcDesc.regPC(A1),ScanDesc.pc(A0)
- ⓪(MOVE.L ExcDesc.regA5(A1),ScanDesc.link(A0)
- ⓪(MOVE.L ExcDesc.regUSP(A1),ScanDesc.stack(A0)
- ⓪$END
- ⓪"END ExcToScanAddr;
- ⓪
- ⓪ END SysCtrl.
- ⓪ ə
- (* $FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$00000846$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2$FFF2CAD2Ç$0000006ET.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$00000250$0000003B$00000048$0000006F$000003E6$FFEFB644$000003C7$FFEFB644$000003E6$00000489$000006C1$00000250$FFEFB644$FFEFB644$00000250$FFEFB644ÉÇé*)
-