1
0
mirror of https://github.com/moshix/mvs.git synced 2026-05-01 06:08:47 +00:00
Files
moshix.mvs/PC370_orig/Diskette/full/DEMO/DEMOTRAP.ALC

57 lines
2.7 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
TITLE 'TESTM37.ALC - TEST SVT TRAP FACILITY FOR PC/370 REL 4.2'
* PGM-ID. TESTM37.ALC
* AUTHOR. DON HIGGINS
* DATE. 01/05/88
* REMARKS. TEST NEW SVC TRAP FACILITY - SEE DOC\SYSTEM.DOC FOR MORE INFO.
* 1. SVC 37 DEFINES SVC TRAP TABLE VIA R1 (R1=0 CANCELS TRAP MODE).
* 2. SVC WITH NON-ZERO TRAP TABLE ENTRY CAUSES CURRENT PSW TO BE STORED
* IN OLD SVC INTERRUPTION PSW IN LOW VIRTUAL MEMORY X'20', SETS
* TRAP ACTIVE MODE IN PC/370 EMULATOR, AND BRANCHES TO TRAP ADDRESS.
* 3. SVC WITH ZERO TRAP TABLE ENTRY RESULTS IN REAL SVC EXECUTION.
* 3. SVC TRAP TABLE NOT USED IN TRAP ACTIVE MODE (ALL SVCS ARE REAL).
* 4. LPSW INSTRUCTION TURNS OFF TRAP ACTIVE MODE.
*
* THIS FACILITY CAN BE USED TO CODE MORE EFFICIENT PC/370 SVC SUPERVISOR SHELL.
* IT CAN BE USED DIRECTLY OR WITH PROBLEM STATE FACILITY TO REDUCE OVERHEAD
* ASSOCIATED WITH EMULATOR OF 370 SVC FIRST LEVEL INTERRUPT HANDLER. IT CAN
* BE USED TO SIMPLY ADD USER EXIT TO SELECTED PC/370 SVC'S SUCH AS I/O OPEN,
* CLOSE, ETC.
*
TESTM37 CSECT
LR R12,R15
USING TESTM37,R12
LA R2,=C'TESTM37 STARTED$'
SVC WTO
LA R1,SVCTAB
SVC SVCTRAP SET TRAP SVC TABLE (ALL 0'S)
LA R2,=C'TEST SVC 209 #1 VIA REAL - ENTRY 0$'
SVC WTO USE REAL SVC SINCE ENTRY 0
MVC SVCTAB+4*WTO,=A(WTOTRAP) SET TRAP ADDRESS IN TABLE
LA R2,=C'TEST SVC 209 #2 VIA TRAP - ENTRY NOT ZERO$'
SVC WTO USE WTOTRAP THIS TIME
SR R1,R1
SVC SVCTRAP CANCEL SVC TRAP FACILITY
LA R2,=C'TEST SVC 209 #3 VIA REAL - TRAP CANCELLED$'
SVC WTO USE REAL SVC - NOT TRAPS
LA R1,SVCTAB
SVC SVCTRAP SET TRAP ON AGAIN
LA R2,=C'TEST SVC 209 #4 VIA TRAP - TRAP BACK ON$'
SVC WTO USE TRAP AGAIN
SVC EXIT USE REAL - NO SVC 0 TRAP ENTRY
WTOTRAP EQU * ENTERED VIA SVC WTO WITH SVCTAB+4*WTO CONTAINING ENTRY
LR R3,R2 SAVE MSG ADDR FOR SVC CAUSING TRAP ENTRY
LA R2,=C'TRAP ENTERED$'
SVC WTO USE REAL - TRAP ACTIVE MODE
LR R2,R3
SVC WTO USE REAL - TRAP ACTIVE MODE
LA R2,=C'EXITING WTOTRAP NOW$'
SVC WTO USE REAL - TRAP ACTIVE MODE
USING IHAPSW,0
LPSW OLDSVC RETURN AND RESET ACTIVE MODE
LTORG
COPY CPY/EQUREGS R1-R15 EQU'S
COPY CPY/EQUSVCS PC/370 REAL SVC EQU'S
SVCTAB DC 256A(0) TABLE OF TRAP ADDRESSES FOR SVC 0-255
COPY CPY/IHAPSW IHAPSW DSECT OF LOW STORAGE PSW AREAS
END TESTM37