home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / ASMUTL / PC370.ZIP / TEST25ML.ALC < prev    next >
Encoding:
Text File  |  1987-04-22  |  3.3 KB  |  102 lines

  1.     TITLE 'TEST25ML - TEST SVC 25-27 LOAD, ATTACH, AND DETACH'
  2. * AUTHOR. DON HIGGINS.
  3. * DATE.   04/09/87
  4. * REMARKS.
  5. *
  6. *   THIS PROGRAM TESTS 4 DIFFERENT DYNAMIC SUBROUTINE OPTIONS
  7. *
  8. *     1.  LOAD Z86SUB.COM 8086 NATIVE CODE COM MODULE VIA LOAD SVC 25
  9. *         AND EXECUTE VIA USER CODE EXIT SVC 15.
  10. *     2.  LOAD TEST25S1.MOD 370 CODE CREATED WITH L370 OPTION M WITHOUT
  11. *         COM PREFIX CODE AND EXECUTE VIA BALR TO LOAD ADDRESS.  NOTE
  12. *         ADDRESS CONSTANTS IN OPTION M MODULES ARE RELATIVE ZERO.
  13. *     3.  LOAD TEST25S2.COM 370 CODE CREATED WITH L370 WITH COM PREFIX
  14. *         CODE (DEFAULT) AND EXECUTE VIA BALR TO LOAD ADDRESS + X'210'.
  15. *         NOTE ADDRESS CONSTANTS IN DEFAULT COM MODULE ARE RELOCATED BY X'200'.
  16. *     4.  LOAD TEST25S3.COM 370 CODE CREATED WITH L370 WITH COM PREFIX
  17. *         CODE AND EXECUTE VIA ATTACH SVC 26.  NOTE ADDRESS CONSTANTS IN
  18. *         COM MODULES EXECUTED VIA ATTACH FUNCTION CORRECTLY SINCE ATTACH
  19. *         EXTABLISHES SEPARATE VIRTUAL ADDRESS SPACE WITH ORIGIN AT LOAD
  20. *         ADDRESS + X'010' WHICH PLACES CODE AT RELATIVE X'200'.
  21. *
  22. * MAINTENANCE.
  23. *
  24. * 04/18/87 ADD ATTACH AND DETACH TESTS
  25. * 04/22/87 MOVE NEW SVC DOCUMENTATION TO SVC.DOC AND ADD ALL 4 TESTS.
  26. *
  27. TEST25ML CSECT
  28.     LR    R12,R15
  29.     USING TEST25ML,R12
  30.     ST    R14,SAVEXIT
  31.     LA    R2,=C'TEST25ML LOAD MODULE TESTS STARTED$'
  32.     SVC   WTO
  33.     LA    R1,=C'X:\XXX\XXXXXXXX.XXX'
  34.     SVC   LOAD
  35.     LTR   R15,R15
  36.     LA    R2,=C'R15 NOT EQUAL 1 FOR BAD FILE NAME$'
  37.     BZ    ERR
  38.     LA    R1,=C'Z86SUB.COM'
  39.     SVC   LOAD
  40.     LTR   R15,R15
  41.     LA    R2,=C'LOAD Z86SUB.COM FAILED$'
  42.     BNZ   ERR
  43.     LR    R15,R0
  44.     SVC   USEREXIT EXECUTE 8086 ROUTINE
  45.     SVC   USEREXIT EXECUTE 8086 ROUTINE  AGAIN TO VERFIY REUSABLE
  46.     LA    R1,=C'TEST25S1.MOD'
  47.     SVC   LOAD
  48.     LTR   R15,R15
  49.     LA    R2,=C'R15 NOT ZERO FOR OK LOAD$'
  50.     BNZ   ERR
  51.     LR    R15,R0
  52.     BALR  R14,R15   EXECUTE S1 370 CODE MOD FILE AT LOAD ADDR.
  53.     BALR  R14,R15   AGAIN TO VERIFY REUSABLE
  54.     LA    R1,=C'TEST25S2.COM'
  55.     SVC   LOAD
  56.     LTR   R15,R15
  57.     LA    R2,=C'R15 NOT ZERO FOR OK LOAD$'
  58.     BNZ   ERR
  59.     LR    R15,R0
  60.     LA    R15,COMPFX(R15)
  61.     BALR  R14,R15   EXECUTE S2 370 CODE COM FILE AT LOAD + X'210'
  62.     BALR  R14,R15   AGAIN TO VERIFY REUABLE
  63.     LA    R1,=C'TEST25S3.COM'
  64.     SVC   LOAD
  65.     LTR   R15,R15
  66.     LA    R2,=C'R15 NOT ZERO FOR OK LOAD$'
  67.     BNZ   ERR
  68.     STM   R14,R12,12(R13) SAVE REGS ACROSS ATTACH
  69. *
  70. * NOTE R13 DOES NOT CHANGE VALUE, BUT IT POINTS TO DIFFERENT ADDRESS SPACE
  71. * SAVE AREA WHILE RUNNING IN DAUGHTER TASK
  72. *
  73.     SVC   ATTACH    EXECUTE S2 AS DAUGHTER TASK IN ITS OWN ADDR. SPACE
  74.     LM    R14,R12,12(R13) RESTORE REGS
  75.     SVC   ATTACH    AGAIN TO VERIFY REUSABLE (REUSES ASCB)
  76.     LM    R14,R12,12(R13) RESTORE REGS
  77. EOJ      EQU   *
  78.     LA    R2,=C'TEST25ML ENDED$'
  79.     SVC   WTO
  80.     L     R14,SAVEXIT
  81.     BR    R14  EXIT VIA DETACH OF MOTHER TASK AT X'102'
  82. ERR      EQU   *
  83.     SVC   WTO
  84.     B     EOJ
  85. COMPFX   EQU   X'210'
  86. SAVEXIT  DC    A(0)
  87. EXIT     EQU   0
  88. TRACE    EQU   9
  89. USEREXIT EQU   15
  90. LOAD     EQU   25
  91. ATTACH   EQU   26
  92. DETACH   EQU   27
  93. WTO      EQU   209
  94. R0       EQU   0    LOAD ADDRESS RETURN
  95. R1       EQU   1
  96. R2       EQU   2    WTO PARM
  97. R12      EQU   12
  98. R13      EQU   13   SAVE AREA
  99. R14      EQU   14   LINK RETURN
  100. R15      EQU   15   RETURN CODE/BALR ENTRY
  101.     END   TEST25ML
  102.