home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / emulate / systems / pc370 / demo / demotrap.alc < prev    next >
Text File  |  1988-01-05  |  3KB  |  57 lines

  1.     TITLE 'TESTM37.ALC - TEST SVT TRAP FACILITY FOR PC/370 REL 4.2'
  2. * PGM-ID.  TESTM37.ALC
  3. * AUTHOR.  DON HIGGINS
  4. * DATE.    01/05/88
  5. * REMARKS. TEST NEW SVC TRAP FACILITY - SEE DOC\SYSTEM.DOC FOR MORE INFO.
  6. *   1.  SVC 37 DEFINES SVC TRAP TABLE VIA R1 (R1=0 CANCELS TRAP MODE).
  7. *   2.  SVC WITH NON-ZERO TRAP TABLE ENTRY CAUSES CURRENT PSW TO BE STORED
  8. *       IN OLD SVC INTERRUPTION PSW IN LOW VIRTUAL MEMORY X'20', SETS
  9. *       TRAP ACTIVE MODE IN PC/370 EMULATOR, AND BRANCHES TO TRAP ADDRESS.
  10. *   3.  SVC WITH ZERO TRAP TABLE ENTRY RESULTS IN REAL SVC EXECUTION.
  11. *   3.  SVC TRAP TABLE NOT USED IN TRAP ACTIVE MODE (ALL SVCS ARE REAL).
  12. *   4.  LPSW INSTRUCTION TURNS OFF TRAP ACTIVE MODE.
  13. *
  14. * THIS FACILITY CAN BE USED TO CODE MORE EFFICIENT PC/370 SVC SUPERVISOR SHELL.
  15. * IT CAN BE USED DIRECTLY OR WITH PROBLEM STATE FACILITY TO REDUCE OVERHEAD
  16. * ASSOCIATED WITH EMULATOR OF 370 SVC FIRST LEVEL INTERRUPT HANDLER.  IT CAN
  17. * BE USED TO SIMPLY ADD USER EXIT TO SELECTED PC/370 SVC'S SUCH AS I/O OPEN,
  18. * CLOSE, ETC.
  19. *
  20. TESTM37  CSECT
  21.     LR    R12,R15
  22.     USING TESTM37,R12
  23.     LA    R2,=C'TESTM37 STARTED$'
  24.     SVC   WTO
  25.     LA    R1,SVCTAB
  26.     SVC   SVCTRAP                           SET TRAP SVC TABLE (ALL 0'S)
  27.     LA    R2,=C'TEST SVC 209 #1 VIA REAL - ENTRY 0$'
  28.     SVC   WTO                               USE REAL SVC SINCE ENTRY 0
  29.     MVC   SVCTAB+4*WTO,=A(WTOTRAP)          SET TRAP ADDRESS IN TABLE
  30.     LA    R2,=C'TEST SVC 209 #2 VIA TRAP - ENTRY NOT ZERO$'
  31.     SVC   WTO                               USE WTOTRAP THIS TIME
  32.     SR    R1,R1
  33.     SVC   SVCTRAP                           CANCEL SVC TRAP FACILITY
  34.     LA    R2,=C'TEST SVC 209 #3 VIA REAL - TRAP CANCELLED$'
  35.     SVC   WTO                               USE REAL SVC - NOT TRAPS
  36.     LA    R1,SVCTAB
  37.     SVC   SVCTRAP                           SET TRAP ON AGAIN
  38.     LA    R2,=C'TEST SVC 209 #4 VIA TRAP - TRAP BACK ON$'
  39.     SVC   WTO                               USE TRAP AGAIN
  40.     SVC   EXIT                              USE REAL - NO SVC 0 TRAP ENTRY
  41. WTOTRAP  EQU   *  ENTERED VIA SVC WTO WITH SVCTAB+4*WTO CONTAINING ENTRY
  42.     LR    R3,R2 SAVE MSG ADDR FOR SVC CAUSING TRAP ENTRY
  43.     LA    R2,=C'TRAP ENTERED$'
  44.     SVC   WTO                               USE REAL - TRAP ACTIVE MODE
  45.     LR    R2,R3
  46.     SVC   WTO                               USE REAL - TRAP ACTIVE MODE
  47.     LA    R2,=C'EXITING WTOTRAP NOW$'
  48.     SVC   WTO                               USE REAL - TRAP ACTIVE MODE
  49.     USING IHAPSW,0
  50.     LPSW  OLDSVC                            RETURN AND RESET ACTIVE MODE
  51.     LTORG
  52.     COPY  CPY/EQUREGS R1-R15 EQU'S
  53.     COPY  CPY/EQUSVCS PC/370 REAL SVC EQU'S
  54. SVCTAB   DC    256A(0)     TABLE OF TRAP ADDRESSES FOR SVC 0-255
  55.     COPY  CPY/IHAPSW  IHAPSW DSECT OF LOW STORAGE PSW AREAS
  56.     END   TESTM37
  57.