home *** CD-ROM | disk | FTP | other *** search
- TITLE 'TEST25ML - TEST SVC 25-27 LOAD, ATTACH, AND DETACH'
- * AUTHOR. DON HIGGINS.
- * DATE. 04/09/87
- * REMARKS.
- *
- * THIS PROGRAM TESTS 4 DIFFERENT DYNAMIC SUBROUTINE OPTIONS
- *
- * 1. LOAD Z86SUB.COM 8086 NATIVE CODE COM MODULE VIA LOAD SVC 25
- * AND EXECUTE VIA USER CODE EXIT SVC 15.
- * 2. LOAD TEST25S1.MOD 370 CODE CREATED WITH L370 OPTION M WITHOUT
- * COM PREFIX CODE AND EXECUTE VIA BALR TO LOAD ADDRESS. NOTE
- * ADDRESS CONSTANTS IN OPTION M MODULES ARE RELATIVE ZERO.
- * 3. LOAD TEST25S2.COM 370 CODE CREATED WITH L370 WITH COM PREFIX
- * CODE (DEFAULT) AND EXECUTE VIA BALR TO LOAD ADDRESS + X'210'.
- * NOTE ADDRESS CONSTANTS IN DEFAULT COM MODULE ARE RELOCATED BY X'200'.
- * 4. LOAD TEST25S3.COM 370 CODE CREATED WITH L370 WITH COM PREFIX
- * CODE AND EXECUTE VIA ATTACH SVC 26. NOTE ADDRESS CONSTANTS IN
- * COM MODULES EXECUTED VIA ATTACH FUNCTION CORRECTLY SINCE ATTACH
- * EXTABLISHES SEPARATE VIRTUAL ADDRESS SPACE WITH ORIGIN AT LOAD
- * ADDRESS + X'010' WHICH PLACES CODE AT RELATIVE X'200'.
- *
- * MAINTENANCE.
- *
- * 04/18/87 ADD ATTACH AND DETACH TESTS
- * 04/22/87 MOVE NEW SVC DOCUMENTATION TO SVC.DOC AND ADD ALL 4 TESTS.
- *
- TEST25ML CSECT
- LR R12,R15
- USING TEST25ML,R12
- ST R14,SAVEXIT
- LA R2,=C'TEST25ML LOAD MODULE TESTS STARTED$'
- SVC WTO
- LA R1,=C'X:\XXX\XXXXXXXX.XXX'
- SVC LOAD
- LTR R15,R15
- LA R2,=C'R15 NOT EQUAL 1 FOR BAD FILE NAME$'
- BZ ERR
- LA R1,=C'Z86SUB.COM'
- SVC LOAD
- LTR R15,R15
- LA R2,=C'LOAD Z86SUB.COM FAILED$'
- BNZ ERR
- LR R15,R0
- SVC USEREXIT EXECUTE 8086 ROUTINE
- SVC USEREXIT EXECUTE 8086 ROUTINE AGAIN TO VERFIY REUSABLE
- LA R1,=C'TEST25S1.MOD'
- SVC LOAD
- LTR R15,R15
- LA R2,=C'R15 NOT ZERO FOR OK LOAD$'
- BNZ ERR
- LR R15,R0
- BALR R14,R15 EXECUTE S1 370 CODE MOD FILE AT LOAD ADDR.
- BALR R14,R15 AGAIN TO VERIFY REUSABLE
- LA R1,=C'TEST25S2.COM'
- SVC LOAD
- LTR R15,R15
- LA R2,=C'R15 NOT ZERO FOR OK LOAD$'
- BNZ ERR
- LR R15,R0
- LA R15,COMPFX(R15)
- BALR R14,R15 EXECUTE S2 370 CODE COM FILE AT LOAD + X'210'
- BALR R14,R15 AGAIN TO VERIFY REUABLE
- LA R1,=C'TEST25S3.COM'
- SVC LOAD
- LTR R15,R15
- LA R2,=C'R15 NOT ZERO FOR OK LOAD$'
- BNZ ERR
- STM R14,R12,12(R13) SAVE REGS ACROSS ATTACH
- *
- * NOTE R13 DOES NOT CHANGE VALUE, BUT IT POINTS TO DIFFERENT ADDRESS SPACE
- * SAVE AREA WHILE RUNNING IN DAUGHTER TASK
- *
- SVC ATTACH EXECUTE S2 AS DAUGHTER TASK IN ITS OWN ADDR. SPACE
- LM R14,R12,12(R13) RESTORE REGS
- SVC ATTACH AGAIN TO VERIFY REUSABLE (REUSES ASCB)
- LM R14,R12,12(R13) RESTORE REGS
- EOJ EQU *
- LA R2,=C'TEST25ML ENDED$'
- SVC WTO
- L R14,SAVEXIT
- BR R14 EXIT VIA DETACH OF MOTHER TASK AT X'102'
- ERR EQU *
- SVC WTO
- B EOJ
- COMPFX EQU X'210'
- SAVEXIT DC A(0)
- EXIT EQU 0
- TRACE EQU 9
- USEREXIT EQU 15
- LOAD EQU 25
- ATTACH EQU 26
- DETACH EQU 27
- WTO EQU 209
- R0 EQU 0 LOAD ADDRESS RETURN
- R1 EQU 1
- R2 EQU 2 WTO PARM
- R12 EQU 12
- R13 EQU 13 SAVE AREA
- R14 EQU 14 LINK RETURN
- R15 EQU 15 RETURN CODE/BALR ENTRY
- END TEST25ML