ibm:vm370-lib:cms:dmsasn.assemble_src
Table of Contents
DMSASN Source
References
- Fixes Applied : 2
- This Source Date : Tuesday, December 12, 1978
- Last Fix ID : [HRC004DS]
Source Listing
- DMSASN.ASSEMBLE.txt
- ASN TITLE 'DMSASN (CMS) VM/370 - RELEASE 6' 00001000
- SPACE 2 00002000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00003000
- *. * 00004000
- * * 00005000
- * MODULE NAME: * 00006000
- * * 00007000
- * DMSASN * 00008000
- * * 00009000
- * FUNCTION: * 00010000
- * * 00011000
- * TO ALLOW THE USER TO ASSOCIATE SYSTEM OR PROGRAMMER * 00012000
- * LOGICAL UNITS WITH THE PHYSICAL HARDWARE DEVICE. * 00013000
- * THE ASSGN COMMAND WILL BE USED WITH CMS/DOS AND CMS * 00014000
- * VSAM. * 00015000
- * * 00016000
- * ATTRIBUTES: * 00017000
- * * 00018000
- * TRANSIENT; SERIALLY REUSABLE. * 00019000
- * * 00020000
- * ENTRY POINTS: * 00021000
- * * 00022000
- * DMSASN * 00023000
- * * 00024000
- * ENTRY CONDITIONS: * 00025000
- * R1 MUST POINT TO THE ASSGN PARAMETER LIST * 00026000
- * THE COMMAND LANGUAGE USER'S GUIDE GIVES A DESCRIPTION * 00027000
- * OF THE PARAMETER LIST FORMATS * 00028000
- * * 00029000
- * THE GENERAL FORMAT IS AS FOLLOWS: * 00030000
- * DS 0F * 00031000
- * PLIST DC CL8'ASSGN' * 00032000
- * DC CL8'SYSXXX' SYSTEM OR PROG. LOGICAL UNIT * 00033000
- * DC CL8'IGN' OR 'UA' OR DEVICE TYPE * 00034000
- * DC CL8'(' START OF OPTIONS * 00035000
- * DC CL8'OPTIONS' * 00036000
- * DC 8X'FF' FENCE * 00037000
- * * 00038000
- * EXIT CONDITIONS: * 00039000
- * NORMAL RETURN * 00040000
- * R15 = 0 * 00041000
- * * 00042000
- * ERROR RETURN * 00043000
- * R15 NONZERO: * 00044000
- * = 24 INVALID, DUPLICATE OR CONFLICTING OPTIONS * 00045000
- * = 36 SPECIFIED DISK MODE LETTER IS NOT ACCESSED * 00046000
- * = 100 DEVICE NOT ATTACHED * 00047000
- * * 00048000
- * ERROR MESSAGES: * 00049000
- * * 00050000
- * * 00051000
- * DMSASN028E NO LOGICAL UNIT SPECIFIED * 00052000
- * * 00053000
- * EXPLANATION: THE COMMAND REQUIRES THE SPECIFICATION * 00054000
- * OF A LOGICAL UNIT WHEN REQUESTING THE ASSGN FUNCTION. * 00055000
- * * 00056000
- * SYSTEM ACTION: RC = 24 * 00057000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00058000
- * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00059000
- * WAS ENTERED. * 00060000
- * * 00061000
- * USER ACTION: RETYPE THE COMMAND SUPPLYING A LOGICAL * 00062000
- * UNIT TO BE ASSIGNED. * 00063000
- * * 00064000
- * * 00065000
- * DMSASN087E INVALID ASSIGNMENT OF 'SYSXXX' TO DEVICE * 00066000
- * 'DEVICE' * 00067000
- * * 00068000
- * EXPLANATION: THE ASSGN COMMAND MAKES CERTAIN * 00069000
- * RESTRICTIONS ON THE ASSIGNMENT OF LOGICAL * 00070000
- * UNITS TO VIRTUAL DEVICES: * 00071000
- * * 00072000
- * SYS000-SYS240 - CAN BE ASSIGNED TO ANY * 00073000
- * DEVICE AS SPECIFIED BY THE * 00074000
- * ASSGN COMMAND. * 00075000
- * * 00076000
- * SYSLOG - VALID ASSIGNMENT TO TERMINAL AND * 00077000
- * PRINTER. * 00078000
- * * 00079000
- * SYSLST - VALID ASSIGNMENT TO PRINTER, * 00080000
- * DISK, AND TAPE. * 00081000
- * * 00082000
- * SYSIPT - VALID ASSIGNMENT TO READER, DISK AND TAPE. * 00083000
- * * 00084000
- * SYSPCH - VALID ASSIGNMENT TO PUNCH, DISK, * 00085000
- * AND TAPE. * 00086000
- * * 00087000
- * SYSRDR - VALID ASSIGNMENT TO READER, DISK, * 00088000
- * AND TAPE. * 00089000
- * * 00090000
- * SYSCAT - VALID ASSIGNMENT TO DISK. * 00091000
- * * 00092000
- * SYSCLB - VALID ASSIGNMENT TO DISK. * 00093000
- * * 00094000
- * SYSRLB - VALID ASSIGNMENT TO DISK. * 00095000
- * * 00096000
- * SYSSLB - VALID ASSIGNMENT TO DISK. * 00097000
- * * 00098000
- * SYSIN - VALID ASSIGNMENT TO READER, TAPE, * 00099000
- * AND DISK. * 00100000
- * * 00101000
- * SYSOUT - VALID ASSIGNMENT TO TAPE. * 00102000
- * * 00103000
- * DMSASN087E IS ISSUED WHEN THE ASSGN COMMAND * 00104000
- * HAS BEEN ISSUED IN VIOLATION OF THE VALID * 00105000
- * ASSIGNMENTS DISCUSSED ABOVE. * 00106000
- * * 00107000
- * SYSTEM ACTION: RC = 24 * 00108000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00109000
- * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00110000
- * WAS ENTERED. * 00111000
- * * 00112000
- * USER ACTION: REISSUE THE ASSGN COMMAND * 00113000
- * SPECIFYING A VALID COMBINATION OF LOGICAL * 00114000
- * UNIT AND VIRTUAL DEVICE. * 00115000
- * * 00116000
- * * 00117000
- * DMSASN070E INVALID PARAMETER 'PARAMETER' * 00118000
- * * 00119000
- * EXPLANATION: INVALID OPERAND ON THE COMMAND LINE. * 00120000
- * * 00121000
- * SYSTEM ACTION: RC = 24 * 00122000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00123000
- * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND WAS * 00124000
- * ENTERED. * 00125000
- * * 00126000
- * USER ACTION: RETYPE THE COMMAND IN THE CORRECT FORMAT.* 00127000
- * * 00128000
- * * 00129000
- * DMSASN050E PARAMETER MISSING AFTER SYSXXX * 00130000
- * * 00131000
- * EXPLANATION: THE DEVICE TYPE OPERAND IS MISSING FROM * 00132000
- * THE COMMAND LINE. * 00133000
- * * 00134000
- * SYSTEM ACTION: RC = 24 * 00135000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00136000
- * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00137000
- * WAS ENTERED. * 00138000
- * * 00139000
- * USER ACTION: RETYPE THE COMMAND SUPPLYING A PROPER * 00140000
- * DEVICE TYPE. * 00141000
- * * 00142000
- * * 00143000
- * DMSASN003E INVALID OPTION 'OPTION' * 00144000
- * * 00145000
- * EXPLANATION: THE SPECIFIED OPTION IS INVALID OR MAY * 00146000
- * HAVE BEEN MISSPELLED. * 00147000
- * * 00148000
- * SYSTEM ACTION: RC = 24 * 00149000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00150000
- * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND WAS * 00151000
- * ENTERED. * 00152000
- * * 00153000
- * USER ACTION: RETYPE THE COMMAND SPECIFYING THE CORRECT* 00154000
- * OPTION. * 00155000
- * * 00156000
- * * 00157000
- * DMSASN027E INVALID DEVICE 'DEVICE' * 00158000
- * * 00159000
- * EXPLANATION: THE SPECIFIED DEVICE TYPE IS INVALID * 00160000
- * OR MAY HAVE BEEN MISSPELLED. * 00161000
- * * 00162000
- * SYSTEM ACTION: RC = 24 * 00163000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00164000
- * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00165000
- * WAS ENTERED. * 00166000
- * * 00167000
- * USER ACTION: RETYPE THE COMMAND SPECIFYING THE * 00168000
- * CORRECT DEVICE TYPE. * 00169000
- * * 00170000
- * * 00171000
- * DMSASN029E INVALID PARAMETER 'PARAMETER' IN THE OPTION * 00172000
- * 'OPTION' FIELD * 00173000
- * * 00174000
- * EXPLANATION: THE SPECIFIED PARAMETER FOLLOWING THE * 00175000
- * SPECIFIED OPTION IS INVALID. * 00176000
- * * 00177000
- * SYSTEM ACTION: RC = 24 * 00178000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00179000
- * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00180000
- * * 00181000
- * USER ACTION: CHECK THE FORMAT OF THE FIELD, SUPPLY * 00182000
- * THE RIGHT PARAMETER AND RETRY THE COMMAND. * 00183000
- * * 00184000
- * * 00185000
- * DMSASN035E INVALID TAPE MODE * 00186000
- * * 00187000
- * EXPLANATION: AN INVALID COMBINATION OF TAPE OPTIONS * 00188000
- * WAS SPECIFIED. FOR EXAMPLE: 9TRACK, DEN 200 * 00189000
- * * 00190000
- * SYSTEM ACTION: RC = 24 * 00191000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00192000
- * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00193000
- * WAS ENTERED. * 00194000
- * * 00195000
- * USER ACTION: CORRECT THE TAPE OPTIONS AND RETRY. * 00196000
- * * 00197000
- * * 00198000
- * DMSASN099E CMS/DOS ENVIRONMENT NOT ACTIVE * 00199000
- * * 00200000
- * EXPLANATION: IN ORDER TO EXECUTE THE COMMAND, THE * 00201000
- * CMS/DOS ENVIRONMENT SHOULD BE ACTIVE. * 00202000
- * * 00203000
- * SYSTEM ACTION: RC = 24 * 00204000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM * 00205000
- * REMAINS IN THE SAME STATUS AS BEFORE THE COMMAND * 00206000
- * WAS ENTERED. * 00207000
- * * 00208000
- * USER ACTION: USE THE 'SET DOS' COMMAND TO ACTIVATE * 00209000
- * THE CMS/DOS ENVIRONMENT AND RETYPE THE COMMAND. * 00210000
- * * 00211000
- * * 00212000
- * DMSASN065E 'OPTION' OPTION SPECIFIED TWICE * 00213000
- * * 00214000
- * EXPLANATION: THE OPTION WAS SPECIFIED MORE THAN ONCE. * 00215000
- * * 00216000
- * SYSTEM ACTION: RC = 24 * 00217000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00218000
- * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00219000
- * * 00220000
- * USER ACTION: REMOVE ALL BUT ONE OCCURRENCE OF THE * 00221000
- * OPTION AND REISSUE THE COMMAND. * 00222000
- * * 00223000
- * * 00224000
- * DMSASN066E 'OPTION' AND 'OPTION' ARE CONFLICTING OPTIONS* 00225000
- * * 00226000
- * EXPLANATION: THE SPECIFIED OPTIONS ARE MUTUALLY * 00227000
- * EXCLUSIVE AND MAY NOT BE SPECIFIED IN THE SAME COMMAND.* 00228000
- * * 00229000
- * SYSTEM ACTION: RC = 24 * 00230000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00231000
- * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00232000
- * * 00233000
- * USER ACTION: CORRECT AND REISSUE THE COMMAND. * 00234000
- * * 00235000
- * * 00236000
- * DMSASN069E DISK 'MODE' NOT ACCESSED * 00237000
- * * 00238000
- * EXPLANATION: THE SPECIFIED DISK HAS NOT BEEN ACCESSED.* 00239000
- * * 00240000
- * SYSTEM ACTION: RC = 36 * 00241000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00242000
- * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00243000
- * * 00244000
- * USER ACTION: ACCESS THE SPECIFIED DISK AND REISSUE * 00245000
- * THE COMMAND. * 00246000
- * * 00247000
- * DMSASN113S 'TAPN/MODE/READER/PUNCH/PRINTER (CUU)' NOT * 00248000
- * ATTACHED * 00249000
- * * 00250000
- * EXPLANATION: THE DEVICE SPECIFIED IS NOT ATTACHED * 00251000
- * TO THE VIRTUAL MACHINE. * 00252000
- * * 00253000
- * SYSTEM ACTION: RC = 100 * 00254000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00255000
- * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00256000
- * * 00257000
- * USER ACTION: ATTACH THE DEVICE TO THE VIRTUAL MACHINE * 00258000
- * AND RETYPE THE COMMAND. * 00259000
- * * 00260000
- * * 00261000
- * DMSASN090E INVALID DEVICE CLASS 'DEVICE CLASS' FOR * 00262000
- * 'DEVICE' * 00263000
- * * 00264000
- * EXPLANATION: THE DEVICE CLASS INFORMATION RETURNED * 00265000
- * AFTER EXECUTION OF A DIAGNOSE REQUEST (CODE 24) * 00266000
- * CONFLICTS WITH THE DEVICE BEING ASSIGNED. * 00267000
- * * 00268000
- * SYSTEM ACTION: RC = 36 * 00269000
- * EXECUTION OF THE COMMAND TERMINATES. THE SYSTEM REMAINS* 00270000
- * IN THE SAME STATUS AS BEFORE THE COMMAND WAS ENTERED. * 00271000
- * * 00272000
- * USER ACTION: RETRY THE COMMAND. IF THIS FAILS, CONTACT* 00273000
- * YOUR IBM REPRESENTATIVE. * 00274000
- * * 00275000
- * * 00276000
- * * 00277000
- * * 00278000
- * CALLS TO OTHER ROUTINES: * 00279000
- * DMSLAD * 00280000
- * * 00281000
- * EXTERNAL REFERENCE: * 00282000
- * NUCON, CMSCB, REGEQU, DEVTAB * 00283000
- * * 00284000
- * CALLED BY : * 00285000
- * INVOKED AS COMMAND BY TERMINAL USER USING CMS/DOS * 00286000
- * AND CMS VSAM * 00287000
- * * 00288000
- * TABLES AND WORK AREAS : * 00289000
- * * 00290000
- * TABSTART - TABLE CONTAINING KEYWORD OPTIONS, DEVICE FOR* 00293000
- * WHICH OPTION IS VALID AND CONFLICTING * 00294000
- * OPTIONS. * 00295000
- * DENTAB - TABLE CONTAINING VALID TAPE DENSITIES. * 00296000
- * UNITTAB - TABLE USED TO CONVERT SYSTEM LOGICAL * 00297000
- * UNITS TO AN INDEX IN THE LUB TABLE. * 00298000
- * TRTCH - TABLE TO CONVERT CMS TAPE UNIT, DENSITY * 00299000
- * AND TRTCH INFORMATION TO THE APPROPRIATE * 00300000
- * CMS/DOS VALUE. * 00301000
- * TRTAB - TABLE TO ASSIGN DISPLACEMENTS WITHIN * 00302000
- * TRTCH TABLE. * 00303000
- * * 00304000
- * REGISTER USAGE : * 00305000
- * * 00306000
- * R1 - PLIST ON ENTRY * 00307000
- * R2 - WORKING REGISTER * 00308000
- * R3 - WORKING REGISTER * 00309000
- * R4 - WORKING REGISTER * 00310000
- * R5 - USED FOR SCANNING PLIST * 00311000
- * R6 - WORKING REGISTER * 00312000
- * R7 - WORKING REGISTER * 00313000
- * R8 - WORKING REGISTER * 00314000
- * R9 - WORKING REGISTER * 00315000
- * R10 - WORKING REGISTER * 00316000
- * R11 - BASE REGISTER * 00317000
- * R12 - BASE REGISTER * 00318000
- * R14 - EXTERNAL LINKAGE * 00319000
- * R15 - EXTERNAL LINKAGE * 00320000
- * * 00321000
- * * 00322000
- * OPERATION: * 00323000
- * * 00324000
- * THE SIMULATED DOS/VS SUPERVISOR CONTAINS TWO CONTROL * 00325000
- * BLOCKS WHICH ARE MANIPULATED BY THE ASSGN COMMAND: * 00326000
- * THE LUB (LOGICAL UNIT BLOCK) AND THE PUB (PHYSICAL * 00327000
- * UNIT BLOCK). CMS/DOS WILL SUPPORT 255 LUBS * 00328000
- * WHICH IS CONSISTENT WITH DOS/VS AND 18 PUBS * 00329000
- * CORRESPONDING WITH THE 18 CMS SUPPORTED DEVICE TYPES. * 00330000
- * FIRST, THE PLIST IS SCANNED FOR INVALID PARAMETERS * 00331000
- * AND SPECIFIED OPTIONS, IF ANY. THE SYSXXX PARAMETER * 00332000
- * IS THEN CONVERTED TO THE CORRESPONDING 2 BYTE * 00333000
- * ENTRY CORRESPONDING TO A SYSTEM LOGICAL UNIT OR A * 00334000
- * PROGRAMMER LOGICAL UNIT. * 00335000
- * * 00336000
- * THE DEVICE PARAMETER IS THEN ANALYZED TO SEE WHETHER * 00337000
- * TERMINAL, PRINTER, PUNCH, READER, TAP1, TAP2, TAP3, * 00338000
- * TAP4, DISK MODE LETTER A - G, S,Y,Z, IGN OR UA * 00339000
- * WAS SPECIFIED. * 00340000
- * * 00341000
- * INFORMATION IS STORED IN THE LUB AND PUB ENTRIES * 00342000
- * DEPENDING ON THE DEVICE TYPE AS FOLLOWS: * 00343000
- * * 00344000
- * * 00345000
- * PUB INFORMATION: * 00346000
- * * 00347000
- * TERMINAL - CUU = 2-BYTE ENTRY IN DEVTAB, DEVTYPE=X'00' * 00348000
- * PRINTER - CUU = X'000E',DEVTYPE=X'40'- X'43' * 00349000
- * READER - CUU = X'000C', DEVTYPE = X'10'-X'12' * 00350000
- * PUNCH - CUU = X'000D',DEVTYPE = X'20', X'21', X'23' * 00351000
- * TAP1 - CUU = X'0181', DEVTYPE = X'50', X'52', X'53' * 00352000
- * TAP2 - CUU = X'0182', DEVTYPE = X'50', X'52', X'53' * 00353000
- * TAP3 - CUU = X'0183', DEVTYPE = X'50', X'52', X'53' * 00354000
- * TAP4 - CUU = X'0184', DEVTYPE = X'50',X'52', X'53' * 00355000
- * IGN - NO ALTERATION TO PUB ENTRY * 00356000
- * UA - NO ALTERATION TO THE PUB ENTRY * 00357000
- * A - G INFORMATION OBTAINED FROM THE ADT AS FOLLOWS: * 00358000
- * S,Y,Z - CUU FOR APPROPRIATE DISK ADDRESS, DEVTYPE = * 00359000
- * X'62'IF 2314 OR = X'63' IF 3330 OR = X'69' IF 3340 35MB* 00360000
- * OR = X'6A' IF 3340 70MB OR = X'65' IF 3330-11 * 00360600
- * OR = X'67' IF 3350 00361200
- * OR = X'6C' IF 3380 HRC004DS 00361600
- * * 00362000
- * * 00363000
- * LUB INFORMATION: * 00364000
- * THERE ARE 255 LUBS AS PART OF THE SIMULATED DOS * 00365000
- * SUPERVISOR. EACH ENTRY CONTAINS TWO BYTES. CMS/DOS * 00366000
- * WILL USE THE FIRST BYTE OF EACH ENTRY. THIS BYTE WILL * 00367000
- * CONTAIN AN INDEX PTR TO THE CORRESPONDING PUB ENTRY. * 00368000
- * THE ONE BYTE LUB BYTE CAN BE ANY OF THE FOLLOWING: * 00369000
- * * 00370000
- * HEX * 00371000
- * 00 - POINTER TO TERMINAL PUB * 00372000
- * 01 - POINTER TO PRINTER PUB * 00373000
- * 02 - POINTER TO THE PUNCH PUB * 00374000
- * 03 - POINTER TO THE READER PUB * 00375000
- * 04 - POINTER TO THE TAP1 PUB * 00376000
- * 05 - POINTER TO THE TAP2 PUB * 00377000
- * 06 - POINTER TO THE TAP3 PUB * 00378000
- * 07 - POINTER TO THE TAP4 PUB * 00379000
- * 08 - POINTER TO THE A-DISK PUB * 00380000
- * 09 - POINTER TO THE B-DISK PUB * 00381000
- * 0A - POINTER TO THE C-DISK PUB * 00382000
- * 0B - POINTER TO THE D-DISK PUB * 00383000
- * 0C - POINTER TO THE E-DISK PUB * 00384000
- * 0D - POINTER TO THE F-DISK PUB * 00385000
- * 0E - POINTER TO THE G-DISK PUB * 00386000
- * 0F - POINTER TO THE S-DISK PUB * 00387000
- * 10 - POINTER TO THE Y-DISK PUB * 00388000
- * 11 - POINTER TO THE Z-DISK PUB * 00389000
- * * 00390000
- * IF UA (UNASSIGNED) WAS SPECIFIED ON THE COMMAND LINE, * 00391000
- * THE LUB ENTRY WILL BE MODIFIED TO A X'FF'. IF THE * 00392000
- * KEYWORD IGN WAS SPECIFIED, THE LUB ENTRY WILL BE * 00393000
- * MODIFIED TO A X'FE'. * 00394000
- * IF SYSXXX = SYSIN, THE LUB ENTRIES FOR SYSIPT AND * 00395000
- * SYSRDR WILL BE ALTERED. IF SYSXXX = SYSOUT, THEN THE * 00396000
- * LUB ENTRIES FOR SYSPCH AND SYSLST WILL BE ALTERED. * 00397000
- * RESTRICTIONS: * 00398000
- * * 00399000
- * ASSIGNMENT OF SYSRES, SYSVIS, SYSREC, SYSUSE, AND * 00400000
- * SYSLNK WILL BE RESTRICTED UNDER CMS/DOS. * 00401000
- * SYSOUT CANNOT BE ASSIGNED TO A DISK. * 00402000
- * * 00403000
- * OPTIONS: * 00404000
- * * 00405000
- * * 00406000
- * FOR DEVICE = TERMINAL * 00407000
- * * 00408000
- * UPCASE - PROVIDE TRANSLATION TO UPPERCASE. * 00409000
- * THIS IS THE DEFAULT CONDITION. * 00410000
- * * 00411000
- * LOWCASE - PROVIDE NO TRANSLATION TO UPPERCASE; * 00412000
- * * 00413000
- * * 00414000
- * FOR DEVICE = TAPN, ONLY: * 00415000
- * * 00416000
- * 7TRACK|9TRACK - SPECIFIES TRACK SETTING * 00417000
- * * 00418000
- * DEN 200|556|800|1600 - SPECIFIES BIT DENSITY * 00419000
- * * 00420000
- * TRTCH O|OC|OT|E|ET - INDICATES THE DESIRED TAPE * 00421000
- * RECORDING TECHNIQUE ('O' IS DEFAULT): * 00422000
- * * 00423000
- * PARITY (ODD, EVEN), CONVERTER (ON, OFF), * 00424000
- * TRANSLATOR (ON, OFF). * 00425000
- * * 00426000
- * THE TAPE OPTIONS WILL BE CONVERTED TO A ONE BYTE CODE * 00427000
- * WHICH WILL BE STORED IN BYTE 6 OF THE PUB ENTRY. * 00428000
- * IF NO TAPE OPTIONS ARE SPECIFIED, AND THE TAPE IS * 00429000
- * 7TRACK, DEFAULTS ARE 800 BPI, DATA CONVERTER ON, * 00430000
- * TRANSLATOR OFF AND ODD PARITY. IF THE TAPE IS * 00431000
- * 9TRACK, THE DENSITY WILL DEFAULT TO THE DENSITY OF THE * 00432000
- * TAPE DRIVE. * 00433000
- * THE DISK MODE LETTER WILL BE STORED IN BYTE 4 OF * 00434000
- * THE PUB ENTRY WHEN APPLICABLE. * 00435000
- * * 00436000
- *. * 00437000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00438000
- EJECT 00439000
- DMSASN START X'E000' TRANSIENT (SERIALLY REUSABLE) @V305066 00440000
- * 00441000
- * SET UP BASIC ADDRESSABILITY * 00442000
- * 00443000
- LR R12,R15 @V305066 00444000
- USING DMSASN,R12,R11 ADDRESSIBILITY @V305066 00445000
- USING NUCON,R0 @V305066 00446000
- L R11,BASE2 @V305066 00447000
- ST R14,GR14SA @V305066 00448000
- LR R5,R1 SAVE INPUT PARAMETER POINTER @V305066 00449000
- ST R13,GR13SA SAVE SA POINTER @V305066 00450000
- L R2,ASYSREF @V305066 00451000
- USING BGCOM,R2 ESTABLISH ADDRESSABILITY @V305066 00452000
- USING NUCON,R0 @V305066 00453000
- SR R13,R13 CLEAR R13 FOR LATER USE @V305066 00454000
- TM DOSFLAGS,DOSMODE DOS ENVIRONMENT IN EFFECT ? @V305066 00455000
- BNO ERR99E ASSGN INVAL OUTSIDE DOS ENVIR @V305066 00456000
- XC ASNFLAGS(ENDFLAGS-ASNFLAGS),ASNFLAGS CLEAR FLG @V305066 00457000
- MVI NINTRACK+8,RESET04 REINITIALIZE TABLE @V305066 00458000
- MVI SEVTRACK+8,RESET04 REINITIALIZE TABLE @V305066 00459000
- MVI TRKTCH+8,RESET04 REINITIALIZE TABLE @V305066 00460000
- MVI DEVID,BLANK PROPAGATE BLANKS THROUGH @V305066 00461000
- MVC DEVID+1(13),DEVID FIELD FOR REUSEABILITY @V305066 00462000
- * 00463000
- * 00464000
- * THE PLIST PTR IS UPDATED TO POINT TO OPERAND ONE AND 00465000
- * THE PLIST END INDICATOR IS PUT IN GR 6. 00466000
- * 00467000
- LA R5,8(,R5) SKIP TO FIRST PARAMETER @V305066 00468000
- SR R15,R15 ZERO RETURN CODE REGISTER @V305066 00469000
- L R6,PLISTEND SET REG 6 = X'FFFFFFFF' @V305066 00470000
- C R6,0(,R5) ? NULL ENTRIES ? @V305066 00471000
- BE ERR28E YES. NOT ALLOWED - ERROR @V305066 00472000
- C R6,8(,R5) ONLY 1 PARAMETER ? @V305066 00473000
- BE ERR50E YES, ERROR @V305066 00474000
- * CHECK FOR ANY OPTIONS. 00475000
- LR R2,R5 SAVE CURRENT PLIST POINTER @V305066 00476000
- LA R2,16(,R2) POINT TO OPTIONS/FENCE @V305066 00477000
- LR R9,R6 TEMP SWITCH @V305066 00478000
- C R6,0(R2) ANY OPTIONS? @V305066 00479000
- BE SETPLIST NO @V305066 00480000
- CLI 0(R2),LTPAREN START OF OPTIONS? @V305066 00481000
- BNE ERR70 ERROR - INVALID PARAMETER @V305066 00482000
- B PAREN1 FIRST '(' ENCOUNTERED @V305066 00483000
- OPT1A C R6,0(,R2) ? END OF PARAMETER ? @V305066 00484000
- BE SETPLIST YES - GO SET UP PLIST COPY @V305066 00485000
- CLI 0(R2),LTPAREN START OF OPTIONS? @V305066 00486000
- BNE ADDTO NO, TRY SOME MORE @V305066 00487000
- PAREN1 LTR R9,R9 FIRST PARENTHESES? @V305066 00488000
- BM PAROK O.K., FIRST PAREN @V305066 00489000
- LR R5,R2 TWO '(' FOUND: ERROR @V305066 00490000
- B ERR65E @V305066 00491000
- PAROK EQU * @V305066 00492000
- XR R9,R9 CLEAR SWITCH @V305066 00493000
- SR R13,R13 @V305066 00494000
- LR R13,R2 SAVE START OF OPTION @V305066 00495000
- ADDTO LA R2,8(,R2) INCREMENT @V305066 00496000
- CLI 0(R2),RTPAREN CHECK END OF PLIST @V305066 00497000
- BNE OPT1A NO - SCAN NEXT 8 BYTES @V305066 00498000
- LTR R9,R9 TEST FOR '(' ENTERED @V305066 00499000
- BNM REPFF @V305066 00500000
- LR R5,R2 ERROR IF NO '(' @V305066 00501000
- B ERR70E @V305066 00502000
- REPFF EQU * @V305066 00503000
- ST R6,0(,R2) REPL WITH X'FF'S FOR LATER @V305066 00504000
- SETPLIST LTR R13,R13 ANY OPTIONS? @V305066 00505000
- BNZ OPTNS YES @V305066 00506000
- OI OPTNFLAG,NOOPTNS NO '(' FOUND: NO OPTS ALLOW @V305066 00507000
- LR R8,R5 DUMMY R8 @V305066 00508000
- B OP1 GO PROCESS PARAMS @V305066 00509000
- OPTNS CLI 1(R13),BLANK DO OPTS FOLLOW IMMED. @V305066 00510000
- BNE ADJOPT YES @V305066 00511000
- LA R13,8(,R13) GET FIRST OPTION @V305066 00512000
- LR R8,R13 SAVE OPTION START @V305066 00513000
- B OP1 @V305066 00514000
- ADJOPT MVC 0(7,R13),1(R13) LEFT ADJUST OPTION CHECK @V305066 00515000
- MVI 7(R13),BLANK PAD WITH BLANK @V305066 00516000
- LR R8,R13 SAVE OPTION START @V305066 00517000
- * 00518000
- * CHECK VALID OPTIONS... 00519000
- * 00520000
- * PLIST POINTS TO PARAMETER 1. 00521000
- * THE FIRST PARAMETER IS CHECKED FOR TYPE AND VALIDITY. 00522000
- * 00523000
- OP1 EQU * @V305066 00524000
- CLC 0(3,R5),SYS SYSXXX PARAMETER? @V305066 00525000
- BNE ERR70E NO, ERROR @V305066 00526000
- CLI 7(R5),BLANK PARM CAN BE MAX OF 6 CHARACTERS @V305066 00527000
- BNE ERR70E ERROR IF NOT BLANK @V305066 00528000
- CLI 6(R5),BLANK BLANK CHARACTER? @V305066 00529000
- BNE ERR70E ERROR IF NOT BLANK @V305066 00530000
- CLC 3(3,R5),ZERO PROG/SYS UNIT @V305066 00531000
- BL SYSTEM SYSTEM UNIT @V305066 00532000
- LA R1,3(R5) PT TO XXX PART OF SYSXXX @V305066 00533000
- LA R7,3 SET UP COUNT @V305066 00534000
- COMPARE CLI 0(R1),HEXF0 MAKE SURE EACH DIGIT NUMERIC @V305066 00535000
- BL ERR70E ERROR IF NOT NUMERIC @V305066 00536000
- CLI 0(R1),HEXF9 NUMERIC? @V305066 00537000
- BH ERR70E ERROR IF NOT NUMERIC @V305066 00538000
- LA R1,1(,R1) POINT TO NEXT DIGIT @V305066 00539000
- BCT R7,COMPARE ALL THROUGH CHECKING ? @V305066 00540000
- MVI SAVEUNIT,PROG PROG LUB UNIT @V305066 00541000
- CLC 3(3,R5),TWO41 MAX 241 PROG LOG UNITS @V305066 00542000
- BH ERR70E INVALID OPTION SYSXXX @V305066 00543000
- PACK PACKFLD(8),3(3,R5) CVT ZONED XXX VAL.TO PACK @V305066 00544000
- CVB R7,PACKFLD CVT PACKED DEC TO BINARY @V305066 00545000
- STC R7,SAVEUNIT+1 STORE IN SAVEUNIT @V305066 00546000
- B DEV1 @V305066 00547000
- SYSTEM MVI SAVEUNIT,SYSLOG SYSTEM LOGICAL UNIT @V305066 00548000
- CLC 3(3,R5),IN SYSXXX = SYSIN ? @V305066 00549000
- BE SYSIN YES @V305066 00550000
- CLC 3(3,R5),OUT SYSXXX = SYSOUT ? @V305066 00551000
- BE SYSOUT YES @V305066 00552000
- LA R7,UNITTAB CVT LAST 3 BYTES SYSXXX @V305066 00553000
- LA R9,ENDTAB @V305066 00554000
- REPEAT CLC 3(3,R5),1(R7) MATCH? @V305066 00555000
- BE MOVE1 YES @V305066 00556000
- LA R7,4(,R7) BUMP TO NEXT ENTRY @V305066 00557000
- BCT R9,REPEAT GO TO REPEAT @V305066 00558000
- B ERR70E NOT FOUND @V305066 00559000
- SYSIN MVC SAVEUNIT+1(2),IPTRDR IF SYSIN WAS SPECIFIED, @V305066 00560000
- OI SYSSW,PASS1 BOTH SYSIPT/SYSRDR LUBS @V305066 00561000
- B DEV1 MUST BE ALTERED @V305066 00562000
- SYSOUT MVC SAVEUNIT+1(2),PCHLST IF SYSOUT WAS SPECIFIED, @V305066 00563000
- OI SYSSW,PASS1 BOTH SYSPCH/SYSLST LUBS @V305066 00564000
- B DEV1 MUST BE ALTERED. @V305066 00565000
- MOVE1 MVC SAVEUNIT+1(1),0(R7) SAVE SEC HALF LOG UNIT @V305066 00566000
- ST R7,JSAVER7 REM. R7 IN CASE = 'SYSCAT' @V305066 00567000
- DEV1 C R6,8(,R5) ? ONLY 1 PARAM? @V305066 00568000
- BE ERR50E YES, QUIT @V305066 00569000
- MVC LOGUNIT(6),0(R5) SAVE SYSXXX VALUE @V305066 00570000
- LA R5,8(,R5) PTS TO DEVICE @V305066 00571000
- SR R4,R4 CLEAR REG4 4 FOR LATER USE @V305066 00572000
- LA R14,TERM PROVIDE NAME/MIN. ABBREV. @V305066 00573000
- LA R2,ONE TO SUBRTN @V305066 00574000
- BAL R10,DEVABBR CHECK FOR 'TERM' DEVICE @V305066 00575000
- BNE DEV3 NOT EQUAL @V305066 00576000
- LA R1,TERMTAB VALID LOG UNITS FOR TERM @V305066 00577000
- BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00578000
- LA R4,DISP0 R4 USED FOR PUB DISP @V305066 00579000
- L R10,ADEVTAB DEVTAB ADDRESS TO R10 @V305066 00580000
- MVC CUU(2),0(R10) SAVE CUU FOR TERMINAL @V305066 00581000
- MVI DEVTYPE,DEVTERM DEV TYPE = X'00' FOR TERM @V305066 00582000
- NI PUBMODE,255-PUBCASE DEFAULT TO UPCASE @V305066 00583000
- TM OPTNFLAG,NOOPTNS ANY OPTIONS? @V305066 00584000
- BO GETLUB @V305066 00585000
- CLC 0(8,R13),LOWRCASE LOWERCASE? @V305066 00586000
- BNE CHKUP NO, CHECK FOR UPCASE @V305066 00587000
- OI PUBMODE,PUBCASE SET CODE TO LOWER CASE @V305066 00588000
- CHKEND C R6,8(,R13) BETTER BE END OF PLIST @V305066 00589000
- BE GETLUB YES, LOC. LUB/PUB ENTRIES @V305066 00590000
- TM PUBMODE,PUBCASE LOWERCASE ALREADY SPECIFIED?@V305066 00591000
- BO LOWCASE2 YES @V305066 00592000
- CLC 8(8,R13),UPCASE REPEAT OF UPCASE @V305066 00593000
- BNE CONFLCT2 NO, SEE IF CONFLICT OPTION @V305066 00594000
- B DUP SPECIFIED TWICE @V305066 00595000
- PREP66E LR R2,R13 POINT TO CONFLICTING OPTION @V305066 00596000
- LA R7,8(R13) OTHER CONFLICTING OPTION @V305066 00597000
- B ERR66E CONFLICTING OPTION MSG @V305066 00598000
- LOWCASE2 CLC 8(8,R13),LOWRCASE REPEAT OF LOWCASE @V305066 00599000
- BNE CONFLICT NO, IS IT CONFLICT OPTION ? @V305066 00600000
- DUP LA R5,8(,R13) POINT TO SECOND OPTION @V305066 00601000
- B ERR65E OPTION SPECIFIED TWICE @V305066 00602000
- CONFLICT CLC 8(8,R13),UPCASE IS IT UPCASE? @V305066 00603000
- BE PREP66E YES, CONFLICT OPTION @V305066 00604000
- B ERR03A INVALID OPTION @V305066 00605000
- CONFLCT2 CLC 8(8,R13),LOWRCASE IS IT LOWCASE ? @V305066 00606000
- BE PREP66E YES, CONFLICT OPTION @V305066 00607000
- B ERR03A INVALID OPTION @V305066 00608000
- CHKUP CLC 0(8,R13),UPCASE SEARCH FOR 'UPCASE' @V305066 00609000
- BE CHKEND YES @V305066 00610000
- C R6,0(,R13) END OF PLIST? @V305066 00611000
- BE GETLUB @V305066 00612000
- LR R5,R13 POINT TO INVALID OPTION @V305066 00613000
- B ERR03E INVALID OPTION @V305066 00614000
- DEV3 EQU * @V305066 00615000
- LA R14,RDR PROVIDE DEVICE NAME AND MIN. @V305066 00616000
- LA R2,ONE ABBREV. FOR SUBRTN @V305066 00617000
- BAL R10,DEVABBR CHECK FOR 'READER' @V305066 00618000
- BNE DEV4 NO, GO ON @V305066 00619000
- TM BATFLAGS,BATRUN IS BATCH RUNNING? @VA04311 00619100
- BZ NOTBAT NO, COOL SO FAR @VA04311 00619150
- OI BATFLAG2,BATDCMS TELL BATCH WHO'S CALLING @VA04311 00619200
- LR R1,R5 R1 -> INVALID PLIST @VA04311 00619250
- LA R2,8 BACK UP ON @VA04311 00619300
- SR R1,R2 COMMAND LINE @VA04311 00619350
- L R14,GR14SA BATCH GOES BACK TO CMS @VA04311 00619400
- L R15,ABATABND ENTER BATCH AT 'ABEND' POINT @VA04311 00619450
- BR R15 AND DON'T COME BACK @VA04311 00619500
- NOTBAT EQU * @VA04311 00619550
- LA R1,RDRTAB VALID LOG UNITS FOR RDR @V305066 00620000
- BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00621000
- BAL R10,OPTCHK OPTIONS INVALID FOR READER @V305066 00622000
- LA R4,THREE R4=3 IMPLIES RDR PUB ENTRY @V305066 00623000
- MVC CUU(2),RDRCUU CUU FOR RDR @V305066 00624000
- LA R0,T12 PREP TO ISSUE DIAGNOSE @V305066 00625000
- BAL R10,DIAGNOSE BRANCH TO ISSUE DIAGNOSE @V305066 00626000
- CLI VIRTSAVE,CLASURI UNIT/REC I/P DEV CLASS @V305066 00627000
- BNE ERR113SA INVALID @V305066 00628000
- CLI VIRTSAVE+1,TYP2501 2501 CARD READER? @V305066 00629000
- BE RDR2501 YES @V305066 00630000
- CLI VIRTSAVE+1,TYP2540R 2540 CARD READER? @V305066 00631000
- BE RDR2540 YES @V305066 00632000
- MVI DEVTYPE,DOS3505 DOS 3505 RDR, CMS CODE=X'84'@V305066 00633000
- B GETLUB OBTAIN LUB ENTRY @V305066 00634000
- RDR2501 MVI DEVTYPE,DOS2501 DOS 2501 READER @V305066 00635000
- B GETLUB GET LUB AND PUB ENTRIES @V305066 00636000
- RDR2540 MVI DEVTYPE,DOS2540 DOS 2540 RDR @V305066 00637000
- B GETLUB @V305066 00638000
- DEV4 EQU * @V305066 00639000
- LA R14,PRT PROVIDE DEVICE NAME @V305066 00640000
- LA R2,TWO AND MIN. ABBREV. FOR SUBRTN @V305066 00641000
- BAL R10,DEVABBR CHECK FOR 'PRINTER' @V305066 00642000
- BNE DEV5 NO, GO ON @V305066 00643000
- LA R1,PRTTAB VALID LOG UNITS FOR PRT @V305066 00644000
- BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00645000
- BAL R10,OPTCHK OPTIONS INVALID FOR PRINTER @V305066 00646000
- LA R4,ONE R4 = 1 IMPLIES PRT PUB ENTRY @V305066 00647000
- MVC CUU(2),PRTCUU SAVE CUU FOR PRINTER @V305066 00648000
- LA R0,FOURTEEN PREP FOR DIAGNOSE @V305066 00649000
- BAL R10,DIAGNOSE ISSUE DIAGNOSE @V305066 00650000
- CLI VIRTSAVE,CLASURO UNIT REC OP DEV CLASS @V305066 00651000
- BNE ERR113SA INVALID @V305066 00652000
- CLI VIRTSAVE+1,TYP1403 1403 PRT? @V305066 00653000
- BE PRT1403 YES @V305066 00654000
- CLI VIRTSAVE+1,TYP3211 3211 PRINTER? @V305066 00655000
- BE PRT3211 YES @V305066 00656000
- CLI VIRTSAVE+1,TYP3203 3203 PRINTER? @V505098 00656300
- BE PRT3211 YES @V505098 00656600
- MVI DEVTYPE,DOS1443 DOS 1443 PRT, CMS CODE=X'44'@V305066 00657000
- B GETLUB @V305066 00658000
- PRT1403 TM REALSAVE+3,FTRUCS UCS FEAT ON 1403 PRT? @V305066 00659000
- BO UCSFEAT YES @V305066 00660000
- MVI DEVTYPE,DOS1403 DOS 1403 PRT WITHOUT UCS @V305066 00661000
- B GETLUB @V305066 00662000
- UCSFEAT MVI DEVTYPE,DOS1403U DOS 1403 PRT WITH UCS @V305066 00663000
- B GETLUB @V305066 00664000
- PRT3211 MVI DEVTYPE,DOS3211 DOS 3203/3211 PRINTERS @V505098 00665000
- B GETLUB @V305066 00666000
- DEV5 EQU * @V305066 00667000
- LA R14,PUN PROVIDE NAME/MIN. ABBREV @V305066 00668000
- LA R2,TWO SUBRTN CHECK FOR 'PUNCH' @V305066 00669000
- BAL R10,DEVABBR @V305066 00670000
- BNE DEV6 @V305066 00671000
- LA R1,PCHTAB VALID LOG UNITS FOR PUNCH @V305066 00672000
- BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00673000
- BAL R10,OPTCHK OPTIONS INVALID FOR PUNCH @V305066 00674000
- LA R4,TWO R4 = 2 IMPLIES PCH PUB ENTRY @V305066 00675000
- MVC CUU(2),PCHCUU SAVE CUU FOR PUNCH @V305066 00676000
- LA R0,THIRTEEN PUNCH @V305066 00677000
- BAL R10,DIAGNOSE ISSUE DIAGNOSE @V305066 00678000
- CLI VIRTSAVE,CLASURO UNIT/REC OP DEV CLASS @V305066 00679000
- BNE ERR113SA INVALID @V305066 00680000
- CLI VIRTSAVE+1,TYP2540P 2540 PUNCH? @V305066 00681000
- BE PCH2540 YES @V305066 00682000
- CLI VIRTSAVE+1,TYP3525 3525 PUNCH @V305066 00683000
- BE PCH3525 YES @V305066 00684000
- MVI DEVTYPE,DOS2520 DOS2520 PCH, CMS CODE X '90' @V305066 00685000
- B GETLUB @V305066 00686000
- PCH2540 MVI DEVTYPE,PUN2540 2540 PUNCH @V305066 00687000
- B GETLUB @V305066 00688000
- PCH3525 MVI DEVTYPE,DOS3525 3525 PUNCH @V305066 00689000
- B GETLUB GO GET LUB/PUB ENTRIES @V305066 00690000
- SPACE 2 00691000
- OPTCHK EQU * @V305066 00692000
- TM OPTNFLAG,NOOPTNS ANY OPTIONS? @V305066 00693000
- BCR 1,R10 NO, RETURN TO MAINLINE @V305066 00694000
- C R6,0(R13) PLIST FENCE ? @V305066 00695000
- BCR 8,R10 YES, RETURN TO MAINLINE @V305066 00696000
- LR R5,R13 POINT TO INVALID OPTION @V305066 00697000
- B ERR03E INVALID OPTION @V305066 00698000
- SPACE 2 00699000
- DEV6 CLC 0(3,R5),TAP ?1ST 3 CHAR TAP ? @V305066 00700000
- BNE CHKIGN NO, SEE IF DUMMY ENTRY @V305066 00701000
- CLI 3(R5),BLANK NO SPECIFIC TAPE ID? @V305066 00702000
- BNE T2 FALSE, GO CHK VALIDITY @V305066 00703000
- MVI 3(R5),CHAR1 MAKE DEFAULT TAPE = 'TAP1' @V305066 00704000
- B T3 @V305066 00705000
- T2 CLI 4(R5),BLANK ONLY 1 DIGIT ON TAPID? @V305066 00706000
- BNE ERR27E TOO MANY - ERROR @V305066 00707000
- CLI 3(R5),CHAR1 IS IT NUMERIC > 0 ? @V305066 00708000
- BL ERR27E NO ERROR @V305066 00709000
- CLI 3(R5),CHAR5 IS IT DIGIT > 5? @V305066 00710000
- BH ERR27E YES, ERROR @V305066 00711000
- LA R9,TAPETAB CONVERT TAPID TO PUB INDEX @V305066 00712000
- LA R7,TAPEND NO. OF TABLE ENTRIES @V305066 00713000
- TAPLOOP CLC 0(4,R5),0(R9) TABLE MATCH PARAMETER? @V305066 00714000
- BE CVT YES @V305066 00715000
- LA R9,5(,R9) NO MATCH, PT NEXT TAB ENTRY @V305066 00716000
- BCT R7,TAPLOOP GO COMPARE AGAIN @V305066 00717000
- B ERR70E OTHERWISE, ERROR @V305066 00718000
- CVT IC R4,4(R9) PLACE RIGHT CODE IN R4 @V305066 00719000
- T3 LA R1,TAPTAB VALID LOG UNIT FOR TAPE @V305066 00720000
- BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00721000
- L R10,ADEVTAB ADDRESS OF DEVTAB @V305066 00722000
- USING DEVTAB,R10 ESTABLISH ADDRESSABILITY @V305066 00723000
- LA R10,TAPE1 PREPARE FOR DEVTAB LOOKUP @V305066 00724000
- ST R6,SAVEAD TEMP STORE R6 @V305066 00725000
- LA R6,CON8 LENGTH OF DEVTAB ENTRY @V305066 00726000
- LA R7,TAPE4 LAST ENTRY IN DEVTAB @V305066 00727000
- COMPEQ CLC 4(4,R10),0(R5) TAPX IN PLIST = TAB ENTRY? @V305066 00728000
- BE MOVECUU YES @V305066 00729000
- BXLE R10,R6,COMPEQ END OF TABLE LOOKUP? @V305066 00730000
- B ERR27E YES, NOT FOUND, ERROR @V305066 00731000
- MOVECUU L R6,SAVEAD RESTORE R6 @V305066 00732000
- MVC CUU(2),0(R10) MOVE CUU FROM DEVTAB @V305066 00733000
- DROP R10 @V305066 00734000
- MVI VALFLAG,TAPDEV INDICATE TAPE @V305066 00735000
- LH R0,CUU TAPE CUU FOR DIAGNOSE @V305066 00736000
- LR R14,R5 MAKE R14 = R5 @V305066 00737000
- BAL R10,DIAGNOSE ISSUE DIAGNOSE @V305066 00738000
- CLI VIRTSAVE,CLASTAPE MAG TAPE DEV. CLASS @V305066 00739000
- BNE ERR113SA INVALID @V305066 00740000
- CLI VIRTSAVE+1,TYP2401 2401 TAPE? @V305066 00741000
- BE TAP2400 2400 TAPE ? @V305066 00742000
- CLI VIRTSAVE+1,TYP2415 2415 TAPE? @V305066 00743000
- BE TAP2400 YES @V305066 00744000
- CLI VIRTSAVE+1,TYP2420 2420 TAPE? @V305066 00745000
- BE TAP2400 YES @V305066 00746000
- CLI VIRTSAVE+1,TYP3420 3420 TAPE? @V305066 00747000
- BE TAP3420 YES @V305066 00748000
- MVI DEVTYPE,DOS3410 DOS 3410 DEV TYPE @V305066 00749000
- B TESTOPT GO TO SEE IF OPTIONS @V305066 00750000
- TAP2400 MVI DEVTYPE,DOS2400 DOS 2400 DEV TYPE @V305066 00751000
- B TESTOPT SEE IF ANY OPTIONS @V305066 00752000
- TAP3420 MVI DEVTYPE,DOS3420 DOS 3420 DEV TYPE @V305066 00753000
- TESTOPT TM OPTNFLAG,NOOPTNS ANY OPTIONS? @V305066 00754000
- BO DEFAULT @V305066 00755000
- LR R9,R8 POINT TO BEGIN OPTIONS @V305066 00756000
- LR R5,R8 @V305066 00757000
- XR R7,R7 @V305066 00758000
- * 'CODE' IN COMMENTS REFERS TO DISPLACEMENT IN 'TRTCH' ASSIGNED TO 00759000
- * KEYWORD OPERANDS. 00760000
- MVC KEYWORD(8),DEN SEARCH FOR DENSITY KEYWORD @V305066 00761000
- BAL R10,SCAN 'SCAN' ROUT FOR KEYWORDS @V305066 00762000
- CLI FLAG2,MATCH 'DEN' FOUND ? @V305066 00763000
- BNE TRK9SRCH NO. @V305066 00764000
- LA R9,DENTAB YES - SEARCH FOR VALID DEN @V305066 00765000
- DENSRCH CLC 0(8,R9),0(R5) DENSITY VALID ? @V305066 00766000
- BE GOODEN YES - CONTINUE @V305066 00767000
- CLC 0(8,R9),DENEND NO - END OF DENSITY TAB ? @V305066 00768000
- BE ERR29E SORRY, THAT'S IT @V305066 00769000
- LA R9,8(,R9) @V305066 00770000
- B DENSRCH OTHERWISE, GET ANOTHER @V305066 00771000
- DEFAULT EQU * @V305066 00772000
- MVC PUBMODE(2),DEFMODES @V305066 00773000
- B GETLUB @V305066 00774000
- * 00775000
- GOODEN OI TAPSW,DENSITY YES - SET DENSITY SWITCH @V305066 00776000
- MVC TDENSITY(4),0(R5) SAVE DENSITY @V305066 00777000
- TRK9SRCH LR R5,R8 RESTORE R5 TO 1ST KEYWORD @V305066 00778000
- MVC KEYWORD(8),NINTRACK SEARCH FOR 9-TRACK OPTION @V305066 00779000
- BAL R10,SCAN 'SCAN' FOR OPTION @V305066 00780000
- LR R5,R8 RESET OPTION PTR @V305066 00781000
- CLI FLAG2,MATCH '9TRACK' FOUND ? @V305066 00782000
- BNE TRK7SRCH NO. @V305066 00783000
- OI TAPSW,TRK9 YES - SET 9-TRACK SWITCH @V305066 00784000
- * 00785000
- TRK7SRCH MVC KEYWORD(8),SEVTRACK SEARCH FOR 7-TRACK OPTION @V305066 00786000
- BAL R10,SCAN GOT O 'SCAN' FOR OPTION @V305066 00787000
- LR R5,R8 RESET OPTION PTR @V305066 00788000
- CLI FLAG2,MATCH '7TRACK' FOUND ? @V305066 00789000
- BNE TRTSRCH NO. @V305066 00790000
- OI TAPSW,TRK7 YES - SET 7-TRACK SWITCH @V305066 00791000
- * 00792000
- TRTSRCH MVC KEYWORD(8),TRKTCH SEARCH FOR TRTCH KEYWORD @V305066 00793000
- BAL R10,SCAN USE 'SCAN' FOR KEYWORD @V305066 00794000
- XR R7,R7 CLEAR FOR CODE USE @V305066 00795000
- CLI FLAG2,MATCH 'TRTCH' FOUND ? @V305066 00796000
- BNE DENCHEK NO. @V305066 00797000
- OI TAPSW,TRTFLAG YES - SET TRT SWITCH @V305066 00798000
- TM TAPSW,TRK9 DID USER SPEC'FY 9-TRACK ? @V305066 00799000
- BO ERR35E IF SO, ERROR @V305066 00800000
- * 00801000
- * SEARCH TRTAB TABLE TO GET DISPLACEMENT FOR 'TRTCH' 00802000
- LA R9,TRTAB START OF TABLE @V305066 00803000
- AGAIN CLC 0(3,R9),0(R5) CHEK FOR O, OC,OT,E,ET @V305066 00804000
- BE VALID FOUND @V305066 00805000
- CLC 0(2,R9),TRTEND CHEK END OF TABLE @V305066 00806000
- BE ERR29E ERROR IF NOTHING FOUND @V305066 00807000
- LA R9,4(,R9) BUMP INDEX AND @V305066 00808000
- B AGAIN CHEK AGAIN @V305066 00809000
- * 00810000
- VALID IC R7,3(R9) GET CODE FOR 'TRTCH' DISPL @V305066 00811000
- TM TAPSW,DENSITY DENSITY GIVEN? @V305066 00812000
- BZ EQUAL7 NO. DEFAULT DENSITY. @V305066 00813000
- B DENSNUM YES - CONTINUE LATER @V305066 00814000
- * 00815000
- DENCHEK TM TAPSW,DENSITY DENSITY? (NO TRTCH COND.) @V305066 00816000
- BZ CHEKNEW NO - CHEK FOR NEW ENTRY @V305066 00817000
- DENSNUM CLC TDENSITY(4),SIXTN00 COMP DENSITY TO 1600 BPI @V305066 00818000
- BE VAL1600 @V305066 00819000
- CLC TDENSITY(4),HIDENSTY 6250 BPI @V305066 00820000
- BE VAL6250 EQUAL @V305066 00821000
- CLC TDENSITY(4),EIGHT00 COMP DENSITY TO '800' BPI @V305066 00822000
- BL CHEKLOW @V305066 00823000
- BE CHEKEQL @V305066 00824000
- B ERR35E INVALID MODE @V305066 00825000
- VAL6250 TM TAPSW,TRK7 CHECK FOR '7TRACK' @V305066 00826000
- BO ERR35E '7TRACK' INVALID WITH 6250 @V305066 00827000
- TM TAPSW,TRTFLAG 'TRTCH' IS EQUALLY BAD @V305066 00828000
- BO ERR35E 6250 INVALID WITH '7TRACK' @V305066 00829000
- LA R7,17(,R7) SET '9TRACK', 6250 BPI @V305066 00830000
- B DT11 @V305066 00831000
- VAL1600 TM TAPSW,TRK7 CHEK FOR '7TRACK' @V305066 00832000
- BO ERR35E @V305066 00833000
- TM TAPSW,TRTFLAG 'TRTCH' IS EQUALLY BAD @V305066 00834000
- BO ERR35E @V305066 00835000
- LA R7,16(,R7) SET 9 TRACK, 1600 BPI @V305066 00836000
- B DT11 @V305066 00837000
- * 00838000
- CHEKEQL TM TAPSW,TRK7 IF =800, CHEK FOR 7TRACK @V305066 00839000
- BO EQUAL7 IF 7TRACK, DROP @V305066 00840000
- TM TAPSW,TRTFLAG CHEK 'TRTCH' ALSO (7TRK) @V305066 00841000
- BO EQUAL7 @V305066 00842000
- XR R7,R7 DEF TO PROVIDE 9TRK,800 BPI @V305066 00843000
- B DT11 @V305066 00844000
- EQUAL7 LA R7,1(,R7) 7TRACK, 800 BPI CODE (1) @V305066 00845000
- TM TAPSW,TRTFLAG 'TRTCH' SPEC'D? @V305066 00846000
- BO DT11 YES. @V305066 00847000
- LA R7,2(,R7) NO, DEFAULT TO 'O' @V305066 00848000
- B DT11 @V305066 00849000
- * 00850000
- CHEKLOW TM TAPSW,TRK9 MAKE SURE IT'S 7 TRACK... @V305066 00851000
- BNZ ERR35E @V305066 00852000
- TM TAPSW,TRTFLAG 'TRTCH' SPEC'D? @V305066 00853000
- BO CHEK200 YES @V305066 00854000
- LA R7,2(,R7) NO, DEFAULT TO 'O' @V305066 00855000
- CHEK200 EQU * @V305066 00856000
- CLC TDENSITY(4),TWO00 CHEK FOR 200 BPI @V305066 00857000
- BH FIVE56 IF NOT, DROP @V305066 00858000
- LA R7,11(,R7) PROVIDE 7TRK/200 BPI CODE (11) @V305066 00859000
- B DT11 @V305066 00860000
- FIVE56 LA R7,6(,R7) IF >200, USE 7TRK, 556 BPI CODE (6) @V305066 00861000
- B DT11 @V305066 00862000
- CHEKNEW MVC PUBMODE(2),DEFMODES DEFAULT MODES @V305066 00863000
- B DT14 GO CKECK ERRRONEOUS PARAMS. @V305066 00864000
- * 00865000
- DT11 LTR R7,R7 IS MODE NUMBER 0 TO 16 ? @V305066 00866000
- BM ERR35E NO - ERROR @V305066 00867000
- CH R7,H17 HIGHEST INDEX IN TABLE @V305066 00868000
- BH ERR35E NO - ERROR @V305066 00869000
- * USE R7 AS DISPLACEMENT IN 'TRTCH' TABLE 00870000
- AR R7,R7 DOUBLE VALUE IN R7 @V305066 00871000
- LA R5,TRTCH ADDR OF TRTCH TABLE IN R5 @V305066 00872000
- AR R5,R7 PT TO ENTRY IN TRTCH TAB @V305066 00873000
- MVC PUBMODE(2),0(R5) CMS/DOS TAPE MODES TO PUB @V305066 00874000
- CLI PUBMODE+1,TWELVE DEALING WITH 7 TRACK TAPE @V305066 00875000
- BNL DT14 IF 9 TRACK BRANCH @V305066 00876000
- OI PUBFLAG,TRACK7 INDICATE 7-TRACK @V305106 00877000
- * THIS CODE CHECKS FOR ERRONEOUS PARAMETERS WHEN USING THE DISK OR 00878000
- * TAPE OPTIONS OF THE ASSGN COMMAND 00879000
- DT14 LR R5,R8 RESET TO FIRST KEYWORD @V305066 00880000
- OI FLAG3,LASTCHK FINAL CHEK FOR BAD OPTIONS @V305066 00881000
- DT15 EQU * @V305066 00882000
- BAL R2,SCANTS INVOKE OPTION SCANNER @V305066 00883000
- CLI 2(R5),ROPTCD 9TRACK/7TRACK OR PERMANENT? @V305066 00884000
- BE BUMP8A @V305066 00885000
- CLC 0(2,R5),LOWRCASE LOWCASE? @V305066 00886000
- BE CHKTERM @V305066 00887000
- CLC 0(2,R5),UPCASE UPCASE? @V305066 00888000
- BNE BUMP16A IF NOT THESE, IT'S A KEYWORD @V305066 00889000
- CHKTERM TM VALFLAG,TERMDEV TERMINAL DEVICE? @V305066 00890000
- BNO ERR03E IF NOT, ERROR @V305066 00891000
- BUMP8A LA R5,8(,R5) UP PTR FOR NON-KEYWORD OPTS @V305066 00892000
- B ENDCHEKA @V305066 00893000
- BUMP16A LA R5,16(,R5) @V305066 00894000
- ENDCHEKA C R6,0(,R5) IS THIS END OF SCAN? @V305066 00895000
- BH DT15 NO, INVOKE THE SCANNER AGAIN @V305066 00896000
- B GETLUB YES, PLIST IS OK @V305066 00897000
- * 00898000
- * 00899000
- CHKIGN CLC 0(8,R5),IGN IGNORE PARAMETER @V305066 00900000
- BNE CHKUA @V305066 00901000
- LR R14,R5 SEE IF ASSGNED TO RESTRICTED @V305066 00902000
- S R14,FULL8 LOGICAL UNITS @V305066 00903000
- CLC 0(8,R14),SYSRDR SYSRDR ? @V305066 00904000
- BE RESTRICT RESTRICTED @V305066 00905000
- CLC 0(8,R14),SYSIPT SYSIPT? @V305066 00906000
- BE RESTRICT RESTRICTED @V305066 00907000
- CLC 0(8,R14),SYSINA SYSIN? @V305066 00908000
- BE RESTRICT RESTRICTED @V305066 00909000
- CLC 0(8,R14),SYSCLB SYSCLB? @V305066 00910000
- BE RESTRICT RESTRICTED @V305066 00911000
- OI FLAG4,DUM INDICATE DUMMY SPECIFIED @V305066 00912000
- B GETLUB @V305066 00913000
- RESTRICT LR R4,R14 READY R4 FOR MESSAGE @V305066 00914000
- B ERR87E1 GO TO PRINT ERROR MESSAGE @V305066 00915000
- CHKUA CLC 0(8,R5),UA UNASSIGNED @V305066 00916000
- BNE CHKMODE NO @V305066 00917000
- OI FLAG4,NOASN IND. UNASSIGNED SPECIFIED @V305066 00918000
- B GETLUB @V305066 00919000
- CHKMODE CLI 1(R5),BLANK IS IT MODE PARM? @V305066 00920000
- BNE ERR70E @V305066 00921000
- LA R9,MODETAB ADDR OF MODE CONVER TABLE @V305066 00922000
- LA R7,ENDMODE NO. OF TABLE ENTRIES @V305066 00923000
- MODECOMP CLC 0(1,R5),0(R9) TAB MODE=COMMAND MODE? @V305066 00924000
- BE MODEOK YES @V305066 00925000
- LA R9,2(,R9) NO, PT TO NEXT TAB ENTRY @V305066 00926000
- BCT R7,MODECOMP GO COMPARE AGAIN @V305066 00927000
- B ERR70E OTHERWISE ERROR @V305066 00928000
- MODEOK IC R4,1(R9) PLACE DISK MODE CODE IN R4 @V305066 00929000
- LA R1,DSKTAB VALID LOG UNIT FOR DISK @V305066 00930000
- BAL R10,CHKASN SEE IF VALID ASSIGNMENT @V305066 00931000
- MVC MODESAVE(1),0(R5) SAVE CMS DISK MODE @V305066 00932000
- L R15,VCADTLKP PREPARE TO DO ADT LOOKUP @VM03093 00933000
- LA R1,MODESAVE-24 POSITION INPUT TO ADTLKP @V305066 00934000
- BALR R14,R15 BRANCH @V305066 00935000
- LTR R15,R15 SUCCESSFUL? @V305066 00936000
- BNZ ERR69E NO ... @V305066 00937000
- ST R1,AADTDISK FOUND - REMEMBER A(ADT) @V305066 00938000
- USING ADTSECT,R1 CHECK THE ADT BLOCK ... @V305066 00939000
- TM ADTFLG2,ADTFROS OS DISK @V305066 00940000
- BO FOUNDIT YES @V305066 00941000
- TM ADTFLG2,ADTFDOS DOS DISK ? @V305066 00942000
- BO FOUNDIT YES @V305066 00943000
- TM ADTFLG1,ADTFRO+ADTFRW SHOULD BE ACCESS'D @V305066 00944000
- BZ ERR69E ERROR IF NOT ACCESSED @V305066 00945000
- FOUNDIT MVC SAVEAD(4),ADTDTA DEVICE TABLE IN NUCON @V305066 00946000
- L R10,SAVEAD PUT ADDRESS IN REGISTER @V305066 00947000
- MVC CUU(2),DTAD(R10) DISK CUU TO PUB ENTRY @V305066 00948000
- CLI DTADT(R10),T2314 2314/2319 @V305066 00949000
- BE TYP2314 YES @V305066 00950000
- TM DOSFLAGS,DOSVSAM HAS VSAM BEEN 'SET'? @V505098 00950700
- BZ CHK3350 NO, CONTINUE @V505098 00951400
- OI PUBFLAG,PUBRPS MARK DISK FOR VSAM RPS USE @V505098 00952100
- CHK3350 CLI DTADT(R10),T3350 3350? @V505098 00952800
- BNE CHK3380 IF NOT 3350, CHECK FOR 3380 HRC004DS 00953790
- MVI DEVTYPE,DOS3350 OTHERWISE, SUPPORT AS 3350 @V505098 00954200
- B MVEMODE GO MOVE DISK MODE TO PUB @V505098 00954900
- CHK3380 CLI DTADT(R10),T3380 3350? HRC004DS 00955000
- BNE CHK3340 IF NOT 3380, CHECK FOR 3340 HRC004DS 00955100
- MVI DEVTYPE,DOS3380 OTHERWISE, SUPPORT AS 3380 HRC004DS 00955200
- B MVEMODE GO MOVE DISK MODE TO PUB HRC004DS 00955300
- * B ERR366E NO SUPPORT FOR 3380 HRC004DS 00955400
- CHK3340 CLI DTADT(R10),T3340 3340 ? @V505098 00955600
- BE TYP3340 YES @V305106 00957000
- EQUAL MVI DEVTYPE,DOS3330 DOS PUB DEV. CODE FOR 3330 @V305066 00958000
- LH R0,CUU GET DEVICE ADDRESS @V505098 00958100
- DC X'83090024' DIAGNOSE TO GET MODEL NUMBER@V505098 00958200
- BO ERR113S ERROR, DEVICE NOT ATTACHED @V505098 00958300
- CLM R10,B'0010',MDL333B IS IT 3330-11? @V505098 00958400
- BNE MVEMODE NO, MUST BE REGULAR 3330 @V505098 00958500
- MVI DEVTYPE,DOS333B PUB DEV CODE FOR 3330-11 @V505098 00958600
- MVEMODE MVC DISKMODE,0(R5) DISK MODE TO PUB DUMMY @V305066 00959000
- TM OPTNFLAG,NOOPTNS ANY OPTIONS SPECIFIED? @V305066 00960000
- BNZ GETLUB NO @V305066 00961000
- LR R5,R8 R5 = ADDR OF FIRST OPTION @V305066 00962000
- C R6,0(,R8) END OF PLIST? @V305066 00963000
- BE GETLUB OK @V305066 00964000
- B ERR03E INVALID OPTION @V305066 00965000
- TYP3340 LH R0,CUU CUU TO REGISTER @V305066 00966000
- DC X'83090024' DIAGNOSE CODE 24 @V305066 00967000
- BO ERR113S ERROR, DEVICE NOT ATTACHED @V305066 00968000
- ST R9,VIRTSAVE STORE DEVICE CLASS INFO @V305066 00969000
- ST R10,REALSAVE STORE FEATURE INFO @V305066 00970000
- CLI VIRTSAVE,CLASDASD DISK DEVICE CLASS @V305066 00971000
- BNE ERR113SA NO, INVALID DEVICE CLASS @V305066 00972000
- TM REALSAVE+3,FTR35MB 3340 35MB @V305066 00973000
- BO TYPE35 YES, 35MB @V305066 00974000
- MVI DEVTYPE,DOS3340B 3340 70MB @V305066 00975000
- B MVEMODE MOVE CMS DISK MODE LETTER @V305066 00976000
- TYPE35 MVI DEVTYPE,DOS3340A 3340 35MB @V305066 00977000
- B MVEMODE MOVE CMS DISK MODE LETTER @V305066 00978000
- TYP2314 MVI DEVTYPE,DOS2314 DOS PUB DEV. CODE FOR 2314/2319@V305066 00979000
- B MVEMODE BRANCH ABOVE @V305066 00980000
- * 00981000
- DROP R1 (THRU WITH ADT BLOCK HERE) @V305066 00982000
- CHKASN CLI LOGUNIT+3,CHAR0 PROG LOG UNIT @V305066 00983000
- BCR 11,R10 YES, GO NO FURTHER @V305066 00984000
- COMP CLC LOGUNIT+3(3),0(R1) MATCH ON TABLE ENTRY @V305066 00985000
- BCR 8,R10 YES, GO NO FURTHER @V305066 00986000
- CLI 3(R1),END END OF VALID LOG. UNITS @V305066 00987000
- BE ERR87E YES, INVALID ASSIGNMENT @V305066 00988000
- LA R1,3(,R1) POINT TO NEXT TABLE ENTRY @V305066 00989000
- B COMP COMPARE AGAIN @V305066 00990000
- * 00991000
- DIAGNOSE DC X'83010024' @V305066 00992000
- BO ERR113SB DEVICE NOT ATTACHED @V305066 00993000
- ST R1,VIRTSAVE STORE R1 AND R2 UPON @V305066 00994000
- ST R2,REALSAVE RETURN FROM DIAGNOSE @V305066 00995000
- BR R10 RETURN TO MAIN CODE. @V305066 00996000
- * 00997000
- GETLUB L R1,ABGCOM PART COMREG ADDRESS @V305066 00998000
- LA R7,SAVEUNIT+1 R7 POINTS TO LUB INDEX @V305066 00999000
- CVTSEC LH R3,74(R1) NICL @V305066 01000000
- SR R14,R14 GET ... @V305066 01001000
- IC R14,0(,R3) NUMBER OF SYSTEM LUBS @V305066 01002000
- SR R3,R3 @V305066 01003000
- IC R3,0(R7) LOGICAL UNIT NUMBER @V305066 01004000
- TM SAVEUNIT,PROG PROG CLASS? @V305066 01005000
- BNO AREA2 SYS CLASS @V305066 01006000
- AR R3,R14 INCREM BY NO. OF SYS LUBS @V305066 01007000
- AREA2 EQU * @V305066 01008000
- AR R3,R3 ADD SYS CLASS FICL @V305066 01009000
- AH R3,76(R1) ADD LUB TAB ADDR @V305066 01010000
- TM SYSSW,PASS1+PASS2 SYSIN/SYSOUT SPECIFIED ? @V305066 01011000
- BO GETPUB SECOND PASS - GET PUB @V305066 01012000
- TM SYSSW,PASS1 FIRST PASS? @V305066 01013000
- BO PASFIRST YES @V305066 01014000
- * AT THIS TIME R3 POINTS TO LUB BYTE 01015000
- * 01016000
- GETPUB L R2,ABGCOM ADDRESS OF BGCOM IN R2 @V305066 01017000
- LH R2,PUBPT PUB ADDRESS @V305066 01018000
- TM FLAG4,DUM DUMMY SPECIFIED ON COMMAND ? @V305066 01019000
- BNO CHKNEXT NO @V305066 01020000
- MOVEFE MVI 0(R3),IGNORE YES, INSERT PROPER LUB INDEX @V305066 01021000
- TM SYSSW,PASS1+PASS2 SYSIN OR SYSOUT SPECIFIED? @V305066 01022000
- BO FE YES @V305066 01023000
- B EXIT @V305066 01024000
- FE L R3,LUBPOINT RESTORE FIRST LUB POINTER @V305066 01025000
- NI SYSSW,255-PASS1+PASS2 TURN OFF SW @V305066 01026000
- B MOVEFE @V305066 01027000
- PASFIRST ST R3,LUBPOINT TWO LUBS MUST BE @V305066 01028000
- OI SYSSW,PASS2 SET UP FOR SECOND PASS @V305066 01029000
- LA R7,1(,R7) BUMP SAVEUNIT PTR BY 1 @V305066 01030000
- B CVTSEC REPEAT OPERATION @V305066 01031000
- CHKNEXT TM FLAG4,NOASN WAS UNASSIGNED SPECIFIED? @V305066 01032000
- BNO PUBENTRY NO, GO LOCATE PUB ENTRY @V305066 01033000
- MOVEFF MVI 0(R3),NOASSGN INSERT PROPER LUB ENTRY @V305066 01034000
- TM SYSSW,PASS1+PASS2 SYSIN OR SYSOUT SPECIFIED? @V305066 01035000
- BO FF YES @V305066 01036000
- B EXIT @V305066 01037000
- FF L R3,LUBPOINT RESTORE FIRST LUB POINTER @V305066 01038000
- NI SYSSW,255-PASS1+PASS2 TURN OFF SWITCH @V305066 01039000
- B MOVEFF @V305066 01040000
- PUBENTRY STC R4,0(R3) STORE PUB INDEX CODE IN LUB @V305066 01041000
- TM SYSSW,PASS1+PASS2 SYSIN OR SYSOUT SPECIFIED? @V305066 01042000
- BO FILL2 YES, STORE CODE IN LUB @V305066 01043000
- SLL R4,3 MULT BY LEN OF PUB ENTRY @V305066 01044000
- AR R4,R2 ADD ADDRESS OF PUB @V305066 01045000
- INSERT MVC 0(8,R4),CUU CUU/DEVTYPE/PUBMODES/7TRK FLG @V305066 01046000
- B EXIT @V305066 01047000
- FILL2 L R3,LUBPOINT RESTORE FIRST LUB POINTER @V305066 01048000
- NI SYSSW,255-PASS1+PASS2 TURN OFF SWITCH @V305066 01049000
- B PUBENTRY @V305066 01050000
- * 01051000
- *********************************************************************** 01052000
- * 01053000
- * THE SCAN ROUTINE CHECKS THE PARAMETER WHICH IS POINTED TO BY PLIST 01054000
- * TO SEE IF IT IS A LEGAL PARAMETER. IF IT IS NOT LEGAL AN ERROR 01055000
- * MESSAGE IS TYPED AT THE USER'S TERMINAL 01056000
- ******************************************************************** 01057000
- SCANTS EQU * @V305066 01058000
- LA R7,TABSTART BEG ADDR OF KEYWORD/OPT TAB @V305066 01059000
- LR R3,R8 @V305066 01060000
- LA R8,T12 LENGTH OF EACH TAB. ENTRY @V305066 01061000
- LA R9,TABEND1 END OF TABLE @V305066 01062000
- * 01063000
- KEYCOMP CLC 0(8,R7),0(R5) CHEK VALID OPTION @V305066 01064000
- BNE BXLE TRY AGAIN... @V305066 01065000
- TM FLAG3,LASTCHK IS THIS FINAL CHEK? @V305066 01066000
- BO FINAL YES, SKIP @V305066 01067000
- MVC TESTBYTE(1),8(R7) GET FLAG BYTE @V305066 01068000
- NC TESTBYTE(1),VALFLAG 'AND' IT FOR VALID DEVICE @V305066 01069000
- CLC TESTBYTE(1),VALFLAG DEVICE/OPTION COMPATIBLE? @V305066 01070000
- BNE ERR03E INVALID OPTION @V305066 01071000
- FINAL LR R8,R3 @V305066 01072000
- BR R2 @V305066 01073000
- BXLE BXLE R7,R8,KEYCOMP @V305066 01074000
- BNE ERR03E INVALID OPTION @V305066 01075000
- EJECT 01076000
- * 01077000
- DEVABBR EQU * CHEK DEV NAME AND ABBRE @V305066 01078000
- LR R9,R5 PRESERVE COMMAND PTR @V305066 01079000
- BCTR R2,0 DECREMENT FOR 'EXECUTE' @V305066 01080000
- AR R9,R2 R9 TO SCAN FOR 1ST BLANK @V305066 01081000
- MATCHR EX R2,COMPABR LOOK FOR MATCH @V305066 01082000
- BCR 7,R10 IF NO MATCH, RET.: CC > 0 @V305066 01083000
- CLI 1(R9),BLANK MATCH, NEXT CHAR BLANK @V305066 01084000
- BCR 8,R10 YES, RETURN: CC = 0 @V305066 01085000
- CH R2,H7 LAST CHAR @V305066 01086000
- BCR 8,R10 YES,RETURN: CC = 0 @V305066 01087000
- LA R2,1(,R2) IF NOT, BUMP CHAR COUNT AND @V305066 01088000
- LA R9,1(,R9) BLANK PTR AND @V305066 01089000
- B MATCHR CONTINUE SCANNING @V305066 01090000
- COMPABR CLC 0(*-*,R14),0(R5) MATCH DEVICE PASSED VS. ENTRY @V305066 01091000
- EJECT 01092000
- * 01093000
- *********************************************************************** 01094000
- * 01095000
- * KEYWORD SCAN SUB-ROUTINE 01096000
- * 01097000
- * THIS SUB-ROUTINE ATTEMPTS TO FIND THE KEYWORD (GIVEN 01098000
- * TO IT AS A PARAMETER) IN THE COMMAND INPUT PLIST. 01099000
- * 01100000
- *********************************************************************** 01101000
- * 01102000
- * 'SCAN' SEARCHES THE PLIST FOR THE OPTION PASSED TO IT 01103000
- * IN 'KEYWORD'. IF FOUND, A FLAG IS SET AND THE SCAN CONTINUES 01104000
- * TO CHECK FOR A DUPLICATE OPTION. IF NO DUPLICATION, 01105000
- * 'SCANTS' IS CALLED TO POSITION R7 AT THE OPTION TABLE ENTRY 01106000
- * FOR THIS OPTION. IF THERE IS A POSSIBLE CONFLICTING OPTION 01107000
- * FOR THE 'FOUND' OPTION, THE TABLE ENTRY FOR THE CONFLICTING 01108000
- * OPTION IS CHECKED FOR THE 'FOUND' FLAG. IF THE FLAG IS ON 01109000
- * THERE IS A CONFLICT AND AN ERROR EXIT IS TAKEN. 01110000
- * 01111000
- SCAN EQU * @V305066 01112000
- SCANNING CLC KEYWORD(8),0(R5) MATCH? @V305066 01113000
- BNE SCANNOT NO... @V305066 01114000
- TM VALFLAG,FOUND IS THIS A REPEAT? @V305066 01115000
- BO ERR65E YES, ERROR @V305066 01116000
- LR R2,R5 KEEP OPTION POINTR @V305066 01117000
- OI VALFLAG,FOUND FIRST HIT. @V305066 01118000
- SCANBUMP LA R5,8(,R5) @V305066 01119000
- B SCANNING KEEP ON MOVING... @V305066 01120000
- * 01121000
- SCANNOT C R6,0(,R5) END OF PLIST? @V305066 01122000
- BNE SCANBUMP NO, CONTINUE @V305066 01123000
- TM VALFLAG,FOUND WAS OPTION FOUND? @V305066 01124000
- BO SCANHIT YES, GO PROCESS @V305066 01125000
- MVI FLAG2,NOMATCH NO, TELL CALLER @V305066 01126000
- BR R10 @V305066 01127000
- SCANHIT MVI FLAG2,MATCH TELL CALLER IT'S A HIT @V305066 01128000
- NI VALFLAG,255-FOUND TURN OFF 'FOUND' COND. @V305066 01129000
- LR R5,R2 POINT TO OPT IN COMMAND @V305066 01130000
- BAL R2,SCANTS GO POINT TO TABLE ENTRY @V305066 01131000
- LA R5,8(,R5) KEYWRD OPER. FOR CALLER @V305066 01132000
- * R7 -> TABLE ENTRY FOR OPT 01133000
- L R2,8(R7) LOAD CONFLICTING OPT ADDR. @V305066 01134000
- LA R2,0(,R2) CLEAR THE FLAG BYTE @V305066 01135000
- LTR R2,R2 ANY POSSIBLE CONFLICTS? @V305066 01136000
- BZ SCANRET IF NOT, RETURN @V305066 01137000
- TM 8(R2),FOUND IF SO, FOUND CONFLICT OPT @V305066 01138000
- BO ERR66E CONFLICTING OPTIONS @V305066 01139000
- SCANRET OI 8(R7),FOUND SET 'FOUND' OPTN'S CONFLICT FLG @V305066 01140000
- BR R10 RETURN @V305066 01141000
- EJECT 01142000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01143000
- * ROUTINE TO CONVERT CUU FROM BINARY TO ZONED FORMAT * 01144000
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 01145000
- SPACE 2 01146000
- CVTCUU LH R4,CUU CUU TO REGISTER @V305066 01147000
- SLL R4,4 ZERO OUT LAST 4 BITS @V305066 01148000
- ST R4,PACK+4 STORE IN PACKED FIELD @V305066 01149000
- OI PACK+7,PACKDEC INSURE PACKED DECIMAL @V305066 01150000
- UNPK PACK(3),PACK+6(2) UNPACK @V305066 01151000
- OI PACK+2,CHAR0 MAKE SURE PRINTABLE @V305066 01152000
- LA R4,PACK POSITION FOR MESSAGE @V305066 01153000
- BR R10 @V305066 01154000
- EJECT 01155000
- * 01156000
- *********************************************************************** 01157000
- * 01158000
- * ERROR MESSAGES 01159000
- * 01160000
- *********************************************************************** 01161000
- ERR28E EQU * @V305066 01162000
- DMSERR NUM=28,LET=E,TEXT='NO LOGICAL UNIT SPECIFIED' @V305066 01163000
- LA R15,TWENTY4 RETURN CODE = 24 @V305066 01164000
- B EXIT @V305066 01165000
- ERR87E LA R4,LOGUNIT POINT TO SYSXXX @V305066 01166000
- ERR87E1 DMSERR NUM=87,LET=E,TEXT='INVALID ASSIGNMENT OF ''......'' TO *01167000
- DEVICE ''.......''',SUB=(CHARA,(R4),CHARA,(R5)),RENT=NO 01168000
- LA R15,24 RETURN CODE = 24 @V305066 01169000
- B EXIT BR TO EXIT @V305066 01170000
- ERR70 EQU * @V305066 01171000
- LR R5,R2 R5 POINTS TO INVALID PARAMETER @V305066 01172000
- ERR70E EQU * @V305066 01173000
- DMSERR NUM=70,LET=E,SUB=(CHARA,(R5)),TEXT='INVALID PARAMETER '*01174000
- '........''' @V305066 01175000
- LA R15,TWENTY4 RETURN CODE = 24 @V305066 01176000
- B EXIT @V305066 01177000
- SPACE 2 01178000
- * 01179000
- ERR50E DMSERR NUM=50,SUB=(CHARA,(R5)),LET=E,TEXT='PARAMETER MISSING A*01180000
- FTER ......' @V305066 01181000
- LA R15,TWENTY4 RETURN CODE = 24 @V305066 01182000
- B EXIT @V305066 01183000
- SPACE 2 01184000
- ERR03A LA R5,8(,R13) POINT TO INVALID OPTION @V305066 01185000
- ERR03E DMSERR NUM=03,LET=E,SUB=(CHARA,(R5)),TEXT='INVALID OPTION ''..*01186000
- ......''' @V305066 01187000
- LA R15,TWENTY4 RETURN CODE = 24 @V305066 01188000
- B EXIT @V305066 01189000
- ERR27E DMSERR NUM=27,LET=E,SUB=(CHARA,(R5)),TEXT='INVALID DEVICE ''..*01190000
- ......''' @V305066 01191000
- LA R15,TWENTY4 RETURN CODE = 24 @V305066 01192000
- B EXIT @V305066 01193000
- SPACE 2 01194000
- ERR29E LA R3,8 THIS ROUTINE SUBS 8 FROM @V305066 01195000
- LR R4,R5 THE PARM TO GET THE OPT @V305066 01196000
- SR R4,R3 FOR ERR MSG. @V305066 01197000
- DMSERR NUM=29,LET=E,SUB=(CHARA,(R5),CHARA,(R4)),TEXT='INVALID *01198000
- PARAMETER ''........'' IN THE OPTION ''........'' FIELD'*01199000
- ,RENT=NO @V305066 01200000
- LA R15,TWENTY4 RETURN CODE = 24 @V305066 01201000
- B EXIT @V305066 01202000
- SPACE 2 01203000
- ERR35E DMSERR NUM=35,LET=E,TEXT='INVALID TAPE MODE' @V305066 01204000
- LA R15,TWENTY4 RETURN CODE = 24 @V305066 01205000
- B EXIT @V305066 01206000
- SPACE 2 01207000
- ERR99E DMSERR NUM=99,LET=E,TEXT='CMS/DOS ENVIRONMENT NOT ACTIVE' 01208000
- LA R15,FORTY RETURN CODE = 40 @V305066 01209000
- B EXIT @V305066 01210000
- ERR65E DMSERR NUM=65,LET=E,SUB=(CHARA,(R5)),TEXT='''........'' OPTION*01211000
- SPECIFIED TWICE' @V305066 01212000
- LA R15,TWENTY4 RETURN CODE = 24 @V305066 01213000
- B EXIT @V305066 01214000
- SPACE 2 01215000
- ERR66E DMSERR NUM=66,LET=E,SUB=(CHARA,(R2),CHARA,(R7)),TEXT='''......*01216000
- ..'' AND ''........'' ARE CONFLICTING OPTIONS',RENT=NO 01217000
- LA R15,TWENTY4 RETURN CODE = 24 @V305066 01218000
- B EXIT @V305066 01219000
- SPACE 2 01220000
- * 01221000
- ERR69E LA R5,MODESAVE POINT TO MODE LETTER, @V305066 01222000
- DMSERR NUM=69,LET=E,SUB=(CHARA,((R5),1)),TEXT='DISK ''..'' NOT*01223000
- ACCESSED' @V305066 01224000
- LA R15,THIRTY6 RETURN CODE = 36 @V305066 01225000
- B EXIT @V305066 01226000
- * 01227000
- * 01228000
- ERR113SA MVI CLASSSW,SWON INDICATE WHICH MESSAGE @V305066 01229000
- ERR113SB CLC CUU(2),RDRCUU READER? @V305066 01230000
- BE RDRMSG YES, ISSUE MESSAGE @V305066 01231000
- CLC CUU(2),PCHCUU PUNCH? @V305066 01232000
- BE PCHMSG YES, ISSUE MESSAGE @V305066 01233000
- CLC CUU(2),PRTCUU PRINTER? @V305066 01234000
- BE LSTMSG YES, ISSUE MESSAGE @V305066 01235000
- L R4,ADEVTAB DEVTAB ADDRESS @V305066 01236000
- USING DEVTAB,R4 ESTABLISH ADDRESSABILITY @V305066 01237000
- LA R6,CON8 LEN. OF DEVTAB ENTRY @V305066 01238000
- LA R4,TAPE1 FIRST ENTRY IN DEVTAB @V305066 01239000
- LA R7,TAPE4 LAST DEVTAB ENTRY @V305066 01240000
- EQ CLC 0(2,R4),CUU CUU MATCH? @V305066 01241000
- BE TAPMSG YES, ISSUE TAPE MESSAGE @V305066 01242000
- BXLE R4,R6,EQ BUMP TO NEXT ENTRY @V305066 01243000
- MVC DEVID(1),0(R5) MUST BE DISK @V305066 01244000
- B ERR113S BR TO PRINT ERROR @V305066 01245000
- TAPMSG MVC DEVID(4),4(R4) MOVE TAPX TO MESSAGE @V305066 01246000
- B ERR113S BR TO PPINT ERROR @V305066 01247000
- RDRMSG MVC DEVID(6),READER READER MESSAGE @V305066 01248000
- MVC PACK(3),RDRPACK PACKED RDR CUU @V305066 01249000
- B ERR113S GO TO PRINT MESSAGE @V305066 01250000
- PCHMSG MVC DEVID(5),PUNCH PUNCH MESSAGE @V305066 01251000
- MVC PACK(3),PCHPACK PACKED PCH CUU @V305066 01252000
- B ERR113S GO TO PRINT MESSAGE @V305066 01253000
- LSTMSG MVC DEVID(7),PRINTER PRINTER MESSAGE @V305066 01254000
- MVC PACK(3),PRTPACK PACKED PRT CUU @V305066 01255000
- DROP R4 @V305066 01256000
- ERR113S LA R5,DEVID PREPARE TO ISSUE MESSAGE @V305066 01257000
- CLI CLASSSW,SWON IS IT INVAL MESSAGE CLASS @V305066 01258000
- BE ERR90E YES @V305066 01259000
- LA R4,PACK ERROR MSG FIELD @V305066 01260000
- CLI PACK,PACKSW CUU ALREADY PACKED @V305066 01261000
- BNE MSGOUT YES, SKIP CONVERT @V305066 01262000
- BAL R10,CVTCUU CONVERT CUU @V305066 01263000
- MSGOUT DMSERR NUM=113,LET=S,SUB=(CHARA,(R5),CHARA,(R4)),TEXT='''.....*01264000
- ... (...)'' NOT ATTACHED',RENT=NO @V305066 01265000
- LA R15,HUNDRED RETURN CODE = 100 @V305066 01266000
- B EXIT @V305066 01267000
- * 01268000
- ERR90E LA R6,VIRTSAVE POINTER FOR MESSAGE @V305066 01269000
- DMSERR NUM=90,LET=E,SUB=(HEX4A,(R6),CHARA,(R5)),TEXT='INVALID *01270000
- DEVICE CLASS ''..'' FOR ''.......''',RENT=NO @V305066 01271000
- LA R15,THIRTY6 RETURN CODE = 36 @V305066 01272000
- B EXIT @V305066 01273000
- * 01274000
- ERR366E DMSERR TEXT='NO CMS/DOS SUPPORT FOR NATIVE 3380 DISK',LET=E,NU*01275490
- M=366 @V305066 01276000
- LA R15,THIRTY6 RETURN CODE @V305066 01277000
- B EXIT GET OUT @V305066 01278000
- *********************************************************************** 01279000
- * 01280000
- * EXIT PROCESSING 01281000
- * 01282000
- *********************************************************************** 01283000
- * 01284000
- EXIT EQU * @V305066 01285000
- L R13,GR13SA GET R13 BACK @V305066 01286000
- L R14,GR14SA GET GR14 BACK @V305066 01287000
- ST R15,GR15SAVE SAVE REG 15 TEMPORARILY @V305066 01288000
- L R15,GR15SAVE RESTORE REG 15 @V305066 01289000
- BR R14 RETURN @V305066 01290000
- * 01291000
- EJECT 01292000
- * 01293000
- *********************************************************************** 01294000
- * 01295000
- * CONSTANTS AND WORK AREAS * 01296000
- * 01297000
- *********************************************************************** 01298000
- DS 0F @V305066 01299000
- GR13SA DS F SAVE GR 13 ON ENTRY. @V305066 01300000
- GR15SAVE DS F SAVE GR 15 BEFORE SVCFRET CALL. @V305066 01301000
- GR14SA DS F SAVE AREA FOR RETURN REGISTER @V305066 01302000
- TDENSITY DS F USER DENSITY SAVE @V305066 01303000
- VIRTSAVE DS F @V305066 01304000
- REALSAVE DS F @V305066 01305000
- JSAVER7 DS F REM R7 = ADDR OF UNITTAB ENTRY @V305066 01306000
- PLISTEND DC XL4'FFFFFFFF' PARAM LIST END INDICATOR. @V305066 01307000
- DS 0D ALIGN. @V305066 01308000
- BASE2 DC A(DMSASN+4096) @V305066 01309000
- LUBPOINT DS F @V305066 01310000
- IPTRDR DC XL2'0001' @V305066 01311000
- PCHLST DC XL2'0203' @V305066 01312000
- UA DC CL8'UA' @V305066 01313000
- IGN DC CL8'IGN' @V305066 01314000
- SYS DC CL3'SYS' FIRST 3 CHARS IN SYSXXX @V305066 01315000
- ZERO DC CL3'000' PROG/SYS LOGICAL UNIT @V305066 01316000
- TWO41 DC CL3'241' MAX 241 PROG.LOG. UNITS @V305066 01317000
- IN DC CL3'IN ' LOG. UNIT = SYSIN @V305066 01318000
- OUT DC CL3'OUT' LOG. UNIT = SYSOUT @V305066 01319000
- PCHCUU DC XL2'000D' CUU FOR PUNCH @V305066 01320000
- RDRCUU DC XL2'000C' CUU FOR RDR @V305066 01321000
- PRTCUU DC XL2'000E' CUU FOR PRINTER @V305066 01322000
- FULL8 DC F'8' @V305066 01323000
- H17 DC H'17' @V305066 01324000
- H7 DC H'7' @V305066 01325000
- DEFMODES DC XL2'0000' DEFAULT MODES IN PUB @V305066 01326000
- SYSRDR DC CL8'SYSRDR' SYSRDR @V305066 01327000
- SYSIPT DC CL8'SYSIPT' SYSIPT @V305066 01328000
- SYSINA DC CL8'SYSIN ' SYSIN @V305066 01329000
- SYSCLB DC CL8'SYSCLB' SYSCLB @V305066 01330000
- PRINTER DC CL7'PRINTER' @V305066 01331000
- PUNCH DC CL5'PUNCH' @V305066 01332000
- READER DC CL6'READER' @V305066 01333000
- RDRPACK DC XL3'F0F0C3' PACKED READER CUU @V305066 01334000
- PCHPACK DC XL3'F0F0C4' PACKED PUNCH CUU @V305066 01335000
- PRTPACK DC XL3'F0F0C5' PACKED PRINTER CUU @V305066 01336000
- SPACE 01337000
- ASNFLAGS EQU * BEG OF CONSECUTIVE FLAGS: @V305066 01338000
- FLAG3 DC X'00' FLAG FOR DSK OR TAP OPTION. @V305066 01339000
- CLASSSW DC X'00' @V305066 01340000
- TESTBYTE DS X @V305066 01341000
- VALFLAG DC X'00' @V305066 01342000
- OPTNFLAG DC X'00' INVALID OPTIONS FLAG @V305066 01343000
- FLAG2 DC X'00' @V305066 01344000
- FLAG4 DC X'00' @V305066 01345000
- TAPSW DC X'00' SWITCH FOR TAPE OPTIONS @V305066 01346000
- SYSSW DC X'00' @V305066 01347000
- CUU DC H'0' @V305066 01348000
- DC XL1'00' @V305066 01349000
- DISKMODE DC XL1'00' @V305066 01350000
- DEVTYPE DC XL1'00' @V305066 01351000
- PUBMODE DC XL1'00' @V305066 01352000
- DC XL1'00' @V305066 01353000
- PUBFLAG DC XL1'00' PUB FLAG BYTE @V305106 01354000
- PUBRPS EQU X'04' ON FOR VSAM RPS SUPPORT @V305106 01355000
- TRACK7 EQU X'01' @V305066 01356000
- PACK DC 2F'0' SPACE FOR PACKED DECIMAL. @V305066 01357000
- ENDFLAGS EQU * END OF CONSECUTIVE FLAGS. @V305066 01358000
- DEVID DC CL8' ' @V305066 01359000
- LOGUNIT DC CL6' ' @V305066 01360000
- SPACE 01361000
- * FLAG3 DEFINITIONS: 01362000
- LASTCHK EQU X'10' @V305066 01363000
- SPACE 01364000
- * VALFLAG DEFINITIONS: 01365000
- FOUND EQU X'F0' @V305066 01366000
- TAPDEV EQU X'04' @V305066 01367000
- TERMDEV EQU X'02' @V305066 01368000
- SPACE 01369000
- ROPTCD EQU C'R' @V305066 01370000
- SPACE 01371000
- * FLAG4 DEFINITIONS: 01372000
- DUM EQU X'80' @V305066 01373000
- NOASN EQU X'40' @V305066 01374000
- SPACE 01375000
- * OPTNFLAG DEFINITIONS: 01376000
- NOOPTNS EQU X'FF' OPTIONS NOT ALLOWED @V305066 01377000
- SPACE 01378000
- * FLAG2 DEFINITIONS: 01379000
- MATCH EQU X'FF' @V305066 01380000
- NOMATCH EQU X'00' @V305066 01381000
- SPACE 01382000
- * TAPSW DEFINITIONS: 01383000
- RESET EQU X'00' RESET @V305066 01384000
- TRK9 EQU X'80' 9TRACK @V305066 01385000
- TRK7 EQU X'40' 7TRACK @V305066 01386000
- DENSITY EQU X'20' DENSITY SPECIFIED @V305066 01387000
- TRTFLAG EQU X'10' 'TRTCH' SPECIFIED @V305066 01388000
- SPACE 01389000
- BLANK EQU C' ' @V305066 01390000
- A EQU X'C1' @V305066 01391000
- G EQU C'G' @V305066 01392000
- S EQU C'S' @V305066 01393000
- Y EQU C'Y' @V305066 01394000
- Z EQU C'Z' @V305066 01395000
- PUBCASE EQU X'08' @V305066 01396000
- LTPAREN EQU C'(' @V305066 01397000
- RTPAREN EQU C')' @V305066 01398000
- CHAR1 EQU C'1' @V305066 01399000
- CHAR5 EQU C'5' @V305066 01400000
- SPACE 2 01401000
- IGNORE EQU X'FE' IGN @V305066 01402000
- END EQU X'FF' END FOF TABLE @V305066 01403000
- NOASSGN EQU X'FF' UN ASSIGNED @V305066 01404000
- CHAR0 EQU X'F0' PRINTABLE CHAR @V305066 01405000
- HEXF0 EQU X'F0' @V305066 01406000
- HEXF9 EQU X'F9' @V305066 01407000
- PACKDEC EQU X'0C' PACKED DECIMAL @V305066 01408000
- DEVTERM EQU X'00' DEVICE TYPE FOR TERMINAL @V305066 01409000
- PACKSW EQU X'00' @V305066 01410000
- UCS EQU X'01' @V305066 01411000
- SWON EQU X'01' @V305066 01412000
- FTRUCS EQU X'01' UCS FEATURE @V305066 01413000
- RESET04 EQU X'04' @V305066 01414000
- CLASDASD EQU X'04' DIRECT ACC STORAGE DEV CLASS @V305066 01415000
- FTR70MB EQU X'04' 3340 70MB @V305066 01416000
- CLASTAPE EQU X'08' MAGNETIC TAPE DEVICE CLASS @V305066 01417000
- TYP3410 EQU X'08' 3410 TAPE DRIVE @V305066 01418000
- TYP3411 EQU X'08' 3411 TAPE DRIVE @V305066 01419000
- FTR35MB EQU X'08' 3340 35MB @V305066 01420000
- DOS2501 EQU X'10' @V305066 01421000
- CLASURO EQU X'10' UNIT RECORD OUTPUT DEVICE CLASS @V305066 01422000
- TYP3420 EQU X'10' 3420 TAPE DRIVE @V305066 01423000
- DOS2540 EQU X'11' @V305066 01424000
- DOS3505 EQU X'12' @V305066 01425000
- DOS2520 EQU X'20' @V305066 01426000
- CLASURI EQU X'20' UNIT RECORD INPUT DEVICE CLASS @V305066 01427000
- TYP2420 EQU X'20' 2420 TAPE DRIVE @V305066 01428000
- PUN2540 EQU X'21' @V305066 01429000
- DOS3525 EQU X'23' @V305066 01430000
- DOS1403 EQU X'40' @V305066 01431000
- TYP2415 EQU X'40' 2415 TAPE DRIVE @V305066 01432000
- DOS1443 EQU X'41' @V305066 01433000
- TYP1403 EQU X'41' 1403 PRINTER @V305066 01434000
- DOS1403U EQU X'42' @V305066 01435000
- TYP3211 EQU X'42' 3211 PRINTER @V305066 01436000
- TYP3203 EQU X'43' 3203 PRINTER @V505098 01436500
- DOS3211 EQU X'43' @V305066 01437000
- TYP1443 EQU X'44' 1443 PRINTER @V305066 01438000
- DOS2400 EQU X'50' DOS DEV TYPE CODE FOR 2400 @V305066 01439000
- DOS3420 EQU X'52' DOS DEV TYPE CODE FOR 3420 @V305066 01440000
- DOS3410 EQU X'53' DOS DEV TYPE CODE FOR 3410 @V305066 01441000
- TYP2401 EQU X'80' 2401 TAPE DRIVE @V305066 01442000
- TYP2501 EQU X'81' 2501 CARD READER @V305066 01443000
- TYP2540R EQU X'82' 2540 CARD READER @V305066 01444000
- TYP2540P EQU X'82' 2540 CARD PUNCH @V305066 01445000
- TYP3505 EQU X'84' 3505 CARD READER @V305066 01446000
- TYP3525 EQU X'84' 3525 CARD PUNCH @V305066 01447000
- TYP2520P EQU X'90' 2520 CARD PUNCH @V305066 01448000
- SPACE 2 01449000
- DISP0 EQU 0 @V305066 01450000
- ONE EQU 1 @V305066 01451000
- TWO EQU 2 @V305066 01452000
- THREE EQU 3 @V305066 01453000
- FOUR EQU 4 @V305066 01454000
- CON8 EQU 8 @V305066 01455000
- T12 EQU 12 @V305066 01456000
- THIRTEEN EQU 13 @V305066 01457000
- FOURTEEN EQU 14 @V305066 01458000
- TWENTY4 EQU 24 RETURN CODE = 24 @V305066 01459000
- FORTY EQU 40 RETURN CODE = 40 @V305066 01460000
- HUNDRED EQU 100 RETURN CODE = 100 @V305066 01461000
- PROG EQU X'01' @V305066 01462000
- SYSLOG EQU X'00' @V305066 01463000
- TWELVE EQU X'C0' @V305066 01464000
- THIRTY6 EQU 36 @V305066 01465000
- * 01466000
- * ADT DEVICE CODES 01467000
- * 01468000
- T2314 EQU X'08' 2314/2319 @V305066 01469000
- T3330 EQU X'09' 3330 @V505098 01469500
- T3340 EQU X'07' 3340 @V305066 01470000
- T3350 EQU X'0B' 3350 @V305066 01471000
- T3380 EQU X'0E' 3380 HRC004DS 01471500
- * 01472000
- * DOS/VS PUB DEVICE CODES FOR DASD 01473000
- * 01474000
- DOS2314 EQU X'62' DOS PUB DEV CODE FOR 2314/2319 @V305066 01475000
- DOS3330 EQU X'63' DOS PUB DEV CODE FOR 3330 @V305066 01476000
- DOS333B EQU X'65' DOS PUB DEV CODE FOR 3330-11 @V505098 01476300
- DOS3350 EQU X'67' DOS PUB DEV CODE FOR 3350 @V505098 01476600
- DOS3380 EQU X'6C' DOS PUB DEV CODE FOR 3380 HRC004DS 01476800
- DOS3340B EQU X'6A' 3340 70MB @V305066 01477000
- DOS3340A EQU X'69' 3340 35MB @V305066 01478000
- SPACE 01479000
- * SYSSW DEFINITIONS: 01480000
- PASS1 EQU X'80' USED WHEN SYSIN/SYSOUT SPEC @V305066 01481000
- PASS2 EQU X'40' USED WHEN SYSIN/SYSOUT SPEC @V305066 01482000
- SPACE 01483000
- MODESAVE DC CL2' ' DISK-MODE (FOLLOWED BY ONE BLANK) @V305066 01484000
- MDL333B DC X'0B' MODEL NUMBER FOR 3330-11 @V505098 01484500
- SPACE 01485000
- SAVEAD DC F'0' @V305066 01486000
- SAVEUNIT DC CL3' ' @V305066 01487000
- DS 0D @V305066 01488000
- PACKFLD DC 2F'0' @V305066 01489000
- KEYWORD DS 8C @V305066 01490000
- * 01491000
- TERMTAB DC CL3'LOG',XL1'FF' @V305066 01492000
- PRTTAB DC CL3'LOG',CL3'LST',XL1'FF' @V305066 01493000
- PCHTAB DC CL3'PCH',XL1'FF' @V305066 01494000
- RDRTAB DC CL3'RDR',CL3'IN ',CL3'IPT',XL1'FF' @V305066 01495000
- DSKTAB DC CL3'RDR',CL3'IPT',CL3'PCH',CL3'LST',CL3'CAT',CL3'CLB' 01496000
- DC CL3'RLB',CL3'SLB',CL3'IN ',XL1'FF' @V305066 01497000
- TAPTAB DC CL3'RDR',CL3'IPT',CL3'PCH',CL3'LST',CL3'IN ',CL3'OUT' 01498000
- DC XL1'FF' @V305066 01499000
- * 01506000
- TABSTART DS 0D @V305066 01507000
- UPCASE DC CL8'UPCASE',X'02',AL3(LOWRCASE) @V305066 01508000
- LOWRCASE DC CL8'LOWCASE',X'02',AL3(UPCASE) @V305066 01509000
- DEN DC CL8'DEN',X'04',AL3(0) @V305066 01510000
- NINTRACK DC CL8'9TRACK',X'04',AL3(SEVTRACK) @V305066 01511000
- SEVTRACK DC CL8'7TRACK',X'04',AL3(NINTRACK) @V305066 01512000
- TRKTCH DC CL8'TRTCH',X'04',AL3(NINTRACK) @V305066 01513000
- TABEND1 EQU * @V305066 01514000
- * 01515000
- DENTAB EQU * @V305066 01516000
- TWO00 DC CL8'200' @V305066 01517000
- EIGHT00 DC CL8'800' @V305066 01518000
- SIXTN00 DC CL8'1600' @V305066 01519000
- HIDENSTY DC CL8'6250' @V305066 01520000
- DENEND DC CL8'556' @V305066 01521000
- * 01522000
- MODETAB EQU * @V305066 01523000
- DC CL1'A',XL1'08' @V305066 01524000
- DC CL1'B',XL1'09' @V305066 01525000
- DC CL1'C',XL1'0A' @V305066 01526000
- DC CL1'D',XL1'0B' @V305066 01527000
- DC CL1'E',XL1'0C' @V305066 01528000
- DC CL1'F',XL1'0D' @V305066 01529000
- DC CL1'G',XL1'0E' @V305066 01530000
- DC CL1'H',XL1'1E' HRC002DS 01530080
- DC CL1'I',XL1'1F' HRC002DS 01530160
- DC CL1'J',XL1'20' HRC002DS 01530240
- DC CL1'K',XL1'21' HRC002DS 01530320
- DC CL1'L',XL1'22' HRC002DS 01530400
- DC CL1'M',XL1'23' HRC002DS 01530480
- DC CL1'N',XL1'24' HRC002DS 01530560
- DC CL1'O',XL1'25' HRC002DS 01530640
- DC CL1'P',XL1'26' HRC002DS 01530720
- DC CL1'Q',XL1'27' HRC002DS 01530800
- DC CL1'R',XL1'28' HRC002DS 01530880
- DC CL1'S',XL1'0F' @V305066 01531000
- DC CL1'T',XL1'29' HRC002DS 01531100
- DC CL1'U',XL1'2A' HRC002DS 01531200
- DC CL1'V',XL1'2B' HRC002DS 01531300
- DC CL1'W',XL1'2C' HRC002DS 01531400
- DC CL1'X',XL1'2D' HRC002DS 01531500
- DC CL1'Y',XL1'10' @V305066 01532000
- DC CL1'Z',XL1'11' @V305066 01533000
- ENDMODE EQU (*-MODETAB)/2 @V305066 01534000
- * 01535000
- TAPETAB EQU * @V305066 01536000
- DC CL4'TAP0',XL1'12' HRC002DS 01537290
- DC CL4'TAP1',XL1'04' HRC002DS 01537580
- DC CL4'TAP2',XL1'05' @V305066 01538000
- DC CL4'TAP3',XL1'06' @V305066 01539000
- DC CL4'TAP4',XL1'07' @V305066 01540000
- DC CL4'TAP5',XL1'13' HRC002DS 01540080
- DC CL4'TAP6',XL1'14' HRC002DS 01540160
- DC CL4'TAP7',XL1'15' HRC002DS 01540240
- DC CL4'TAP8',XL1'16' HRC002DS 01540320
- DC CL4'TAP9',XL1'17' HRC002DS 01540400
- DC CL4'TAPA',XL1'18' HRC002DS 01540480
- DC CL4'TAPB',XL1'19' HRC002DS 01540560
- DC CL4'TAPC',XL1'1A' HRC002DS 01540640
- DC CL4'TAPD',XL1'1B' HRC002DS 01540720
- DC CL4'TAPE',XL1'1C' HRC002DS 01540800
- DC CL4'TAPF',XL1'1D' HRC002DS 01540880
- TAPEND EQU (*-TAPETAB)/5 @V305066 01541000
- * 01542000
- UNITTAB DC XL1'00',CL3'RDR' @V305066 01543000
- DC XL1'01',CL3'IPT' @V305066 01544000
- DC XL1'02',CL3'PCH' @V305066 01545000
- DC XL1'03',CL3'LST' @V305066 01546000
- DC XL1'04',CL3'LOG' @V305066 01547000
- DC XL1'07',CL3'SLB' @V305066 01548000
- DC XL1'08',CL3'RLB' @V305066 01549000
- DC XL1'0B',CL3'CLB' @V305066 01550000
- UNITCAT DC XL1'0D',CL3'CAT' @V305066 01551000
- ENDTAB EQU (*-UNITTAB)/4 @V305066 01552000
- * 01553000
- RDR DC CL8'READER',CL3'00C' @V305066 01554000
- PUN DC CL8'PUNCH',CL3'00D' @V305066 01555000
- PRT DC CL8'PRINTER',CL3'00E' @V305066 01556000
- TERM DC CL8'TERMINAL',CL3'009' @V305066 01557000
- TAP DC CL8'TAP0',CL3'180' HRC002DS 01558290
- DC CL8'TAP1',CL3'181' HRC002DS 01558580
- DC CL8'TAP2',CL3'182' @V305066 01559000
- DC CL8'TAP3',CL3'183' @V305066 01560000
- DC CL8'TAP4',CL3'184' @V305066 01561000
- DC CL8'TAP5',CL3'185' HRC002DS 01561080
- DC CL8'TAP6',CL3'186' HRC002DS 01561160
- DC CL8'TAP7',CL3'187' HRC002DS 01561240
- DC CL8'TAP8',CL3'288' HRC002DS 01561320
- DC CL8'TAP9',CL3'289' HRC002DS 01561400
- DC CL8'TAPA',CL3'28A' HRC002DS 01561480
- DC CL8'TAPB',CL3'28B' HRC002DS 01561560
- DC CL8'TAPC',CL3'28C' HRC002DS 01561640
- DC CL8'TAPD',CL3'28D' HRC002DS 01561720
- DC CL8'TAPE',CL3'28E' HRC002DS 01561800
- DC CL8'TAPF',CL3'28F' HRC002DS 01561880
- DEVEND EQU (*-RDR)/11 @V305066 01562000
- * 01563000
- EJECT 01564000
- * THE FOLLOWING IS THE TABLE FOR MODE SET FOR TAPE 01565000
- SPACE 3 01566000
- TRTCH EQU * @V305066 01567000
- DC B'11001011',XL1'C8' 800 BPI/9TRACK @V305066 01568000
- DC B'10010011',XL1'90' 800 BPI/ODD /CV- ON/TR-OFF@V305066 01569000
- DC B'10111011',XL1'B8' 800 BPI/ODD/CV-OFF/TR-ON @V305066 01570000
- DC B'10110011',XL1'B0' 800 BPI/ODD/CV-OFF/TR-OFF @V305066 01571000
- DC B'10101011',XL1'A8' 800 BPI/EVEN/CV-OFF/TR-ON @V305066 01572000
- DC B'10100011',XL1'A0' 800 BPI/EVEN/CV-OFF/TR-OFF@V305066 01573000
- DC B'01010011',XL1'50' 556 BPI/ ODD/CV- ON/TR-OFF@V305066 01574000
- DC B'01111011',XL1'78' 556 BPI/ODD/CV-OFF/TR-ON @V305066 01575000
- DC B'01110011',XL1'70' 556 BPI/ODD/CV-OFF/TR-OFF @V305066 01576000
- DC B'01101011',XL1'68' 556 BPI/EVEN/CV-OFF/TR-ON @V305066 01577000
- DC B'01100011',XL1'60' 556 BPI/EVEN/CV-OFF/TR-OFF@V305066 01578000
- DC B'00010011',XL1'10' 200BPI/ ODD/CV- ON/TR-OFF @V305066 01579000
- DC B'00111011',XL1'38' 200 BPI/ODD/CV-OFF/TR-ON @V305066 01580000
- DC B'00110011',XL1'30' 200 BPI/ODD/CV-OFF/TR-OFF @V305066 01581000
- DC B'00101011',XL1'28' 200 BPI/EVEN/CV-OFF/TR-ON @V305066 01582000
- DC B'00100011',XL1'20' 200 BPI/EVEN/CV-OFF/TR-OFF@V305066 01583000
- DC B'11000011',XL1'C0' 1600 BPI/9TRACK @V305066 01584000
- DC B'11010011',XL1'D0' 6250 BPI/9TRACK @V305066 01585000
- SPACE 3 01586000
- * THIS TABLE IS USED BY FILEDEF TO ASSIGN DISPLACEMENTS WITHIN 01587000
- * 'TRTCH' (ABOVE) FOR VARIOUS TAPE OPTIONS SPECIFIED BY THE USER 01588000
- * 01589000
- TRTAB DC C'O ',X'02' @V305066 01590000
- DC C'OC ',X'00' @V305066 01591000
- DC C'OT ',X'01' @V305066 01592000
- DC C'E ',X'04' @V305066 01593000
- TRTEND DC C'ET ',X'03' @V305066 01594000
- SPACE 01595000
- AADTDISK DS F ADDR OF ADT FOR ACCESS DISK @V305066 01596000
- SPACE 01597000
- LTORG OTHER CONSTANTS AS NEEDED: @V305066 01598000
- EJECT 01599000
- *********************************************************************** 01600000
- * 01601000
- * DSECTS AND DUMMY AREAS 01602000
- * 01603000
- *********************************************************************** 01604000
- * 01605000
- CMSCB @V305066 01606000
- * 01607000
- EJECT 01608000
- NUCON @V305066 01609000
- EJECT 01610000
- SYSCOM @V305066 01611000
- BGCOM @V305066 01612000
- SVCSAVE @V305066 01613000
- ADT @V305066 01614000
- REGEQU @V305066 01615000
- DEVTAB @V305066 01616000
- END 01617000
ibm/vm370-lib/cms/dmsasn.assemble_src.txt ยท Last modified: 2023/08/06 13:35 by Site Administrator