home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9101 / modula / tsr.def < prev    next >
Encoding:
Modula Definition  |  1991-09-23  |  1.6 KB  |  56 lines

  1. (*========================================================*)
  2. (*                       TSR.DEF                          *)
  3. (*       Terminate-And-Stay-Resident-Bibliothek           *)
  4. (*           für Topspeed-Modula-2 V. 2.xx                *)
  5. (*                                                        *)
  6. (*      Copyright(C) 1991 P. Engels & DOS-toolbox         *)
  7. (*========================================================*)
  8.  
  9. DEFINITION MODULE TSR;
  10.  
  11. FROM SYSTEM IMPORT A1;
  12.  
  13. (*# save,
  14.     call (near_call => off),
  15.     data (near_ptr => off) *)
  16.  
  17. TYPE 
  18.   InterruptRoutine = PROCEDURE;
  19.   RegisterPtr = POINTER TO RECORD
  20.    CASE : BOOLEAN OF
  21.   | TRUE : ES, DS, DI, SI, BP, SP, BX, DX, CX, AX: CARDINAL;
  22.            RetAdr                                : LONGCARD;
  23.            Flags                                 : BITSET
  24.   | FALSE: d1, d2, d3, d4, d5, d6                : CARDINAL;
  25.            BL, BH, DL, DH, CL, CH, AL, AH       : SHORTCARD
  26.    END
  27.   END;
  28.  
  29. (*# restore *)
  30.  
  31. (*# call (inline => on) *)
  32.  
  33.   INLINE PROCEDURE PushF = A1 (09CH);
  34.  
  35. (*# call (inline => off) *)
  36.  
  37.   PROCEDURE SSeg(): CARDINAL;
  38.  
  39.   PROCEDURE SOfs(): CARDINAL;
  40.  
  41.   PROCEDURE RegisterOfs(): CARDINAL;
  42.  
  43.   PROCEDURE GetInt(nr: SHORTCARD; 
  44.               VAR ISR: InterruptRoutine);
  45.  
  46.   PROCEDURE SetInt(nr: SHORTCARD; ISR: InterruptRoutine);
  47.  
  48.   PROCEDURE Keep(ReturnCode: SHORTCARD);
  49.  
  50.   PROCEDURE MakeResident(PopUp: PROC; HotKey: CARDINAL);
  51.  
  52. END TSR.
  53.  
  54. (*========================================================*)
  55. (*                   Ende von TSR.DEF                     *)
  56.