Table of Contents

DMSMDP Source

References

Source Listing

DMSMDP.ASSEMBLE.txt
  1. MDP TITLE 'DMSMDP (CMS) VM/370 - RELEASE 6' 00001000
  2. SPACE 2 00002000
  3. *. 00003000
  4. * 00004000
  5. * 00005000
  6. * MODULE NAME - 00006000
  7. * 00007000
  8. * DMSMDP 00008000
  9. * 00009000
  10. * FUNCTION - 00010000
  11. * 00011000
  12. * TO TYPE ON THE TERMINAL THE LOAD MAP ASSOCIATED WITH 00012000
  13. * THE SPECIFIED FILE 00013000
  14. * 00014000
  15. * ATTRIBUTES - 00015000
  16. * 00016000
  17. * DISK-RESIDENT, TRANSIENT; CALLED VIA SVC 00017000
  18. * NOTE: MODMAP MUST BE GENMOD'D WITH THE SYSTEM OPTION 00017100
  19. * 00018000
  20. * ENTRY POINTS - 00019000
  21. * 00020000
  22. * DMSMDP 00021000
  23. * 00022000
  24. * ENTRY CONDITIONS - 00023000
  25. * 00024000
  26. * GPR1 - A(PLIST) 00025000
  27. * PLIST - CL8'MODMAP ' 00026000
  28. * CL8' ' FILENAME 00027000
  29. * <CL8' '> FILETYPE 00028000
  30. * <CL8' '> FILEMODE 00029000
  31. * <CL8'PRINTER '> OUTPUT DEVICE 00030000
  32. * 'TERMINAL' (DEFAULT) 00031000
  33. * XL8'FF....FF' FENCE 00032000
  34. * 00033000
  35. * EXIT CONDITIONS - 00034000
  36. * 00035000
  37. * NORMAL - 00036000
  38. * GPR15 = 0 : MODMAP AVAILABLE 00037000
  39. * 00038000
  40. * ERROR - 00039000
  41. * GPR15 = XX: XX=ERROR CODE 00040000
  42. * 00041000
  43. * ERROR CODES- 00042000
  44. * | 24 NO FILENAME SPECIFIED 00043000
  45. * 24 INVALID PARAMETER 00044000
  46. * | 28 FILE NOT FOUND 00045000
  47. * | 40 NO LOAD MAP AVAILABLE 00046000
  48. * 00047000
  49. * CALLS TO OTHER ROUTINES - 00048000
  50. * 00049000
  51. * DMSCWR - WRITE TO TERMINAL 00050000
  52. * DMSMOD - LOADMOD REQUESTED MODULE 00051000
  53. * DMSSTTE - VERIFY EXISTENCE OF SPECIFIED MODULE 00052000
  54. * DMSERR - TO ISSUE ERROR MESSAGES 00053000
  55. * 00054000
  56. * EXTERNAL REFERENCES - 00055000
  57. * 00056000
  58. * NUCON - CMS NUCLEUS CONSTANTS TABLE 00057000
  59. * 00058000
  60. * TABLES | WORKAREAS - 00059000
  61. * 00060000
  62. * NONE 00061000
  63. * 00062000
  64. * REGISTER USAGE - 00063000
  65. * 00064000
  66. * GPR1 - A(PLIST) FOR SVC CALLS 00065000
  67. * GPR12 - MODULE ADDRESSIBILITY 00066000
  68. * GPR14 - RETURN 00067000
  69. * GPR15 - ERROR CODE RETURN 00068000
  70. * 00069000
  71. * OPERATION - 00070000
  72. * 00071000
  73. * CALL DMSSTTE TO CHECK FOR THE SPECIFIED MODULE 00072000
  74. * IF FOUND AND THE MODULE HAS A MAP CALL DMSMOD 00073000
  75. * TO BRING THE MODULE AND ITS MAP INTO CORE. 00074000
  76. * CONVERT THE LOADER TABLE ENTRY ADDRESSESS TO 00075000
  77. * EBCDIC AND TYPE NAME AND ADDRESS TO TERMINAL 00076000
  78. * FOR ALL ENTRIES. RETURN ON R14. 00077000
  79. *. 00078000
  80. EJECT 00079000
  81. DMSMDP START 00080000
  82. USING DMSMDP,12 00081000
  83. USING NUCON,R0 @V305066 00081100
  84. LR 12,15 00082000
  85. LA 15,2 00083000
  86. ST R14,SAVE14 SAVE R14 FOR LATER @V305066 00083100
  87. CLI 8(1),X'FF' 00084000
  88. BE ERR001E NO FILE NAME SPECIFIED 00085000
  89. CLI 16(R1),X'FF' END OF PARAMETERS 00086000
  90. BNE ERR070E NO, ERROR 00087000
  91. MVC FILNAM(8),8(1) 00088000
  92. OI MODFLGS,MDPCALL @VA07083 00088500
  93. LA 1,LDLST 00099000
  94. SVC 202 00100000
  95. DC AL4(RET) 00101000
  96. USING NUCON,R0 00102000
  97. L 3,ALDRTBLS 00103000
  98. LR 5,3 00104000
  99. LH 4,TBENT 00105000
  100. MH R4,=H'20' SIZE OF LOADER TABLE 00108000
  101. SR 3,4 00109000
  102. LA 4,20 SIZE OF LDR TBL ENTRIES 00110000
  103. SR 5,4 00111000
  104. LOOP MVC BUF(8),0(3) 00112000
  105. MVC TEMP,13(R3) MOVE ENY ADDRESS OR PR DISP TO A TEMP *00113000
  106. TO AVOID PROG CHECK AT END OF CORE 00114000
  107. UNPK HEXBUF(7),TEMP(4) UNPACK 00115000
  108. TR HEXBUF(6),TRTBL TRANSLATE TO EBCDIC 00116000
  109. LA 1,PLIST 00117000
  110. SVC 202 00118000
  111. BXLE 3,4,LOOP 00119000
  112. RET L R14,SAVE14 RESTORE R14 @V305066 00120000
  113. NI MODFLGS,255-MDPCALL @VA07083 00120050
  114. BR R14 RETURN @V305066 00120100
  115. SPACE 3 00121000
  116. ERR001E DMSERR TEXT='NO FILENAME SPECIFIED',LET=E,NUM=1 00122000
  117. LA R15,24 ERROR CODE 00123000
  118. B RET RETURN @V305066 00124000
  119. ERR070E LA R2,16(0,R1) POINT TO EXTRA PARM 00135000
  120. DMSERR TEXT='INVALID PARAMETER ''........''',NUM=70, X00136000
  121. LET=E,SUB=(CHAR8A,(R2)) 00137000
  122. LA R15,24 00138000
  123. B RET RETURN @V305066 00139000
  124. * 00140000
  125. PLIST DS 0D 00141000
  126. DC CL8'TYPLIN' 00142000
  127. DC AL1(1) 00143000
  128. DC AL3(BUF) 00144000
  129. DC C'B' 00145000
  130. DC AL3(L'BUF) 00146000
  131. * 00147000
  132. LDLST DC CL8'LOADMOD' 00148000
  133. FILNAM DS CL8 00149000
  134. DC 4X'FF' (NECESSARY FENCE) JS 00150000
  135. * 00158000
  136. TEMP DS CL3 TEMPORARY AREA FOR UNPACK 00159000
  137. BUF DC C'XXXXXXXX LLLLLL' 00160000
  138. ORG *-6 00161000
  139. HEXBUF DS XL6 00162000
  140. ORG 00163000
  141. DS X SLOP BYTE USED WHEN UNPACKING 00164000
  142. * 00165000
  143. SAVE14 DS F SAVE FOR R14 @V305066 00165100
  144. LTORG 00166000
  145. TRTBL EQU *-C'0' ANSLATE TABLE TO CONVERT TO EBCDIC 00167000
  146. DC C'0123456789ABCDEF' 00168000
  147. * 00169000
  148. EJECT 00170000
  149. NUCON 00171000
  150. EJECT 00172000
  151. FSTB 00173000
  152. REGEQU 00174000
  153. END 00175000