home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / SYSCTRL.I < prev    next >
Encoding:
Text File  |  1992-02-14  |  2.8 KB  |  3 lines

  1. ⓪ IMPLEMENTATION MODULE SysCtrl;
  2. ⓪ (*$Y+,N+,L-*)
  3. ⓪ 
  4. ⓪ (*
  5. ⓪"14.02.92 TT: ToSuper, ToUser statt Supexec wg. MiNT.
  6. ⓪"28.09.90 TT: ExcToScanAddr neu
  7. ⓪"13.06.90 TT: EnterSupervisorMode entfernt
  8. ⓪"01.05.90 TT: MSByte bei restoreTrap wird vor Vergleich ggf. gelöscht
  9. ⓪"14.07.89 TT: XBRA-Installation in TRAP #4 (Kennung: "MM2Y")
  10. ⓪"25.10.88 TT: CatchRemoval-Aufruf zum Restaurieren des alten TRAP 4-Vektors
  11. ⓪"09.04.88 TT: trapHandler und ScanBack laufen nun auch mit 68020.
  12. ⓪ *)
  13. ⓪ 
  14. ⓪ FROM SYSTEM IMPORT ASSEMBLER;
  15. ⓪ FROM SysTypes IMPORT ScanDesc, ExcDesc;
  16. ⓪ FROM MOSSupport IMPORT ToSuper, ToUser;
  17. ⓪ 
  18. ⓪ PROCEDURE GetScanAddr ( VAR info: ScanDesc );
  19. ⓪"BEGIN
  20. ⓪$ASSEMBLER
  21. ⓪(MOVE.L  -(A3),A1
  22. ⓪(LEA     4(A7),A0
  23. ⓪(MOVE.L  A0,ScanDesc.stack(A1)      ; stack:= A7+4
  24. ⓪(MOVE.L  A5,ScanDesc.link(A1)       ; link:= A5
  25. ⓪(MOVE.L  (A7),ScanDesc.pc(A1)       ; pc:= RTS-Wert = (A7)
  26. ⓪$END
  27. ⓪"END GetScanAddr;
  28. ⓪ 
  29. ⓪ PROCEDURE ScanBack ( VAR info: ScanDesc ): BOOLEAN;
  30. ⓪"BEGIN
  31. ⓪$ASSEMBLER
  32. ⓪(SUBQ.L  #4,A7
  33. ⓪(JSR     ToSuper
  34. ⓪(
  35. ⓪(LEA     err2(PC),A0
  36. ⓪(MOVE.L  8,-(A7)
  37. ⓪(MOVE.L  A0,8            ; Bus error
  38. ⓪(MOVE.L  12,D1
  39. ⓪(MOVE.L  A0,12           ; Addr error
  40. ⓪(MOVE.L  A7,D0
  41. ⓪(
  42. ⓪(MOVE.L  -(A3),A1
  43. ⓪(MOVE.L  ScanDesc.stack(A1),A2   ; stack A7
  44. ⓪(MOVE.L  ScanDesc.link(A1),A0    ; link A5
  45. ⓪(CMPA.L  A2,A0           ; A5 >= A7 ?
  46. ⓪(BCS     err             ; nö
  47. ⓪(
  48. ⓪(MOVE.L  (A0)+,ScanDesc.link(A1) ; UNLK A5
  49. ⓪(MOVE.L  (A0)+,ScanDesc.pc(A1)   ; RTS-Adr
  50. ⓪(MOVE.L  A0,ScanDesc.stack(A1)
  51. ⓪(
  52. ⓪(MOVEQ   #TRUE,D0
  53. ⓪(BRA     ende
  54. ⓪(
  55. ⓪&err2
  56. ⓪(MOVE.L  D0,A7           ; Bus/Addr-Error, SSP korrigieren
  57. ⓪&err
  58. ⓪(MOVEQ   #FALSE,D0
  59. ⓪&ende
  60. ⓪(MOVE.L  (A7)+,8            ; Bus error
  61. ⓪(MOVE.L  D1,12           ; Addr error
  62. ⓪(MOVE    D0,(A3)+
  63. ⓪$
  64. ⓪(JSR     ToUser
  65. ⓪(ADDQ.L  #4,A7
  66. ⓪$END
  67. ⓪"END ScanBack;
  68. ⓪ 
  69. ⓪ 
  70. ⓪ PROCEDURE ExcToScanAddr ( REF exc: ExcDesc; VAR info: ScanDesc );
  71. ⓪"BEGIN
  72. ⓪$ASSEMBLER
  73. ⓪(; globalScan.pc:= excData.regPC;
  74. ⓪(; globalScan.link:= excData.regA5.ad;
  75. ⓪(; globalScan.stack:= excData.parm;
  76. ⓪(MOVE.L  -(A3),A0        ;info
  77. ⓪(MOVE.L  -(A3),A1        ;ref
  78. ⓪(MOVE.L  ExcDesc.regPC(A1),ScanDesc.pc(A0)
  79. ⓪(MOVE.L  ExcDesc.regA5(A1),ScanDesc.link(A0)
  80. ⓪(MOVE.L  ExcDesc.regUSP(A1),ScanDesc.stack(A0)
  81. ⓪$END
  82. ⓪"END ExcToScanAddr;
  83. ⓪ 
  84. ⓪ END SysCtrl.
  85. ⓪ ə
  86. (* $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ÉÇé*)
  87.