ibm:vm370-lib:dumpscan:dmmiob.assemble_src
Table of Contents
DMMIOB Source
References
- Fixes Applied : 0
- This Source Date : Friday, December 8, 1978
- Last Fix ID : [Unmodified]
Source Listing
- DMMIOB.ASSEMBLE.txt
- IOB TITLE 'DMMIOB (IPCS) VM/370 - RELEASE 6' 00001000
- * 00002000
- * 00003000
- * MODULE NAME: 00004000
- * DMMIOB SUBROUTINE OF DUMPSCAN 00005000
- * 00006000
- * FUNCTION: 00007000
- * DISPLAYS IO BLOCKS 00008000
- * 00009000
- * ATTRIBUTES: 00010000
- * REUSABLE 00011000
- * NON-REENTRANT 00012000
- * 00013000
- * ENTRY POINTS: 00014000
- * DMMIOB 00015000
- * 00016000
- * ENTRY CONDITIONS: 00017000
- * R2 POINTS TO THE PLIST WITH THE TOKENIZED INPUT 00018000
- * 00019000
- * EXIT CONDITIONS: 00020000
- * RETURN CODE IN R15 0 - GOOD 00021000
- * 4 - WARNING 00022000
- * 8 - FATAL 00023000
- * 00024000
- * CALLS TO OTHER ROUTINES: 00025000
- * DMMGET TO FETCH DATA INTO CORE 00026000
- * DMMHEX TO CONVERT EBCDIC TO HEX 00027000
- * 00028000
- * EXTERNAL REFERENCES: 00029000
- * 00030000
- * TABLES/WORKAREAS: 00031000
- * 00032000
- * REGISTER USAGE: 00033000
- * R15 ADDRESSES OF EXTERNAL ROUTINES 00034000
- * R14 RETURNS FROM EXTERNAL ROUTINES 00035000
- * R13 SAVE AREA ADDRESS 00036000
- * R12 BASE 00037000
- * R11 VMBLOK ADDRESS FOR EXTRACT 00038000
- * R10 INTERNAL LINKS 00039000
- * R9-R2 WORK REGISTERS 00040000
- * 00041000
- * OPERATION: 00042000
- * THE PLIST ADDRESS IS PASSED IN R2. THE PLIST 00043000
- * CONTAINS THE SUBCOMMAND, ONE OF :- 00044000
- * RIO CUU 00045000
- * VIO CUU USERID 00046000
- * VIO CUU 00047000
- * THE CHANNEL, CONTROL UNIT AND DEVICE BLOKS 00048000
- * ARE SCANNED, AND THE CONTENST OF THE APPROPRIATE 00049000
- * BLOCKS ARE DISPLAYED. IF NO USERID IS ENTERED 00050000
- * FOR A VIRTUAL DEVICE, THE DEFAULT IS 'OPERATOR', 00051000
- * OR THE LAST USERID ENTERED. 00052000
- * 00053000
- * ERROR MESSAGES: 00054000
- * DMMIOB712I 'CUU' ADDRESS NOT FOUND 00055000
- * DMMIOB713I USER 'USERID' VMBLOK NOT FOUND 00056000
- * 00057000
- * * * * * * * *------- -------- -------- -------- ------* 00058000
- DMMIOB CSECT @VA04250 00059000
- EXTRN DMMGET BRING DATA INTO CORE @VA04250 00060000
- EXTRN DMMINT HEX TO EBCDIC @VA04250 00061000
- EXTRN DMMHEX EBCDIC TO HEX @VA04250 00062000
- STM R14,R12,SAVEDISP(R13) SAVE CALLERS REGS @VA04250 00063000
- LR R12,R15 ADDRESSABILITY @VA04250 00064000
- USING DMMIOB,R12 USE IT @VA04250 00065000
- ST R13,SAVEBACK CALLERS SAVE AREA @VA04250 00066000
- B EYECATCH BYPASS EYECATCHER @VA04250 00067000
- DS 0D ALIGN @VA04250 00068000
- DC CL8'DMMIOB' EYECATCHER @VA04250 00069000
- RELLEV DC C'REL4LEV0' RELEASE AND LEVEL @V4075A1 00070000
- EYECATCH LA R13,SAVEAREA IOB SAVEAREA @VA04250 00071000
- XC RETCODE(WORKL),RETCODE CLEAR RETURN CODE @VA04250 00072000
- MVC SUBCUMSG,BLANKOUT CLEAR SUBORD CU MSG @VA04830 00073500
- * * * * * * * * ------- -------- -------- ------- * 00074000
- * * * * * * * * R2 POINTS TO THE PLIST. 00075000
- * * * * * * * * COMMAND HAS 'CUU' AS SECOND PARM, 00076000
- * * * * * * * * WHICH IS AT 8 INTO THE PLIST 00077000
- * * * * * * * * IN EBCDIC, FIRST RIGHT JUSTIFY THE 00078000
- * * * * * * * * ADDRESS, THEN CHECK CHARACTERS ARE 00079000
- * * * * * * * * VALID HEX, THEN TRANSLATE TO HEX 00080000
- * * * * * * * * AND PUT THE HEX VALUE INTO 00081000
- * * * * * * * * R3 FOR THE BLOK EXTRACTION ROUTINE 00082000
- * * * * * * * * ------- -------- -------- ------- * 00083000
- MVC PLISTCMD(PLISTL),0(R2) MOVE PLIST IN. @VA04250 00084000
- MVC HEADER(CMDL),PLISTCMD PLUG CMD INTO HEADER @VA04250 00085000
- MVC HEADER+CUU(CUUL),PLISTCUU PLUG ADDRESS INTO HDR @VA04250 00086000
- LA R4,PLISTCUU GET ADDRESS OF ADDRESS @VA04250 00087000
- ST R4,ADDPOINT SAVE ADDRESS OF ADDRESS @VA04250 00088000
- L R15,HEXADD ADDRESS OF HEX ROUTINE @VA04250 00089000
- BALR R14,R15 LINK TO HEX @VA04250 00090000
- LTR R15,R15 TEST RETURN @VA04250 00091000
- BNZ CODECHEK FIND HOW BAD @VA04250 00092000
- ST R5,CUUHEX SAVE THE HEX ADDRESS @VA04250 00093000
- CLC PLISTCMD(L'V),V IS IT A VIO REQUEST? @VA04250 00094000
- BE VIO YES @VA04250 00095000
- * * * * * * * * ------- -------- -------- ------- * 00096000
- * * * * * * * * THIS MUST BE A REAL DEVICE REQUEST. 00097000
- * * * * * * * * THIS ROUTINE ACCEPTS A DEVICE ADDRESS 00098000
- * * * * * * * * IN R3, AND LOCATES THE CHANNEL, CONTROL 00099000
- * * * * * * * * UNIT, AND DEVICE BLOCKS, AND PLUGS THE 00100000
- * * * * * * * * ADDRESSES IN R6, R7 AND R8. 00101000
- * * * * * * * * ------- -------- -------- ------- * 00102000
- MVC CHRCH(L'R),R PLUG 'R' INTO OUTPUT AREA HDRS @VA04250 00103000
- MVC CURCU(L'R),R FOR THE CHANNEL, CONTROL UNIT, @VA04250 00104000
- MVC DVRDV(L'R),R AND DEVICE BLOCKS @VA04250 00105000
- LR R3,R5 GET THE HEX ADDRESS FOR EXTRACT @VA04250 00106000
- LA R6,CHMASK ISOLATE CHAN ADDRESS @VA04250 00107000
- NR R6,R3 FROM CUU @VA04250 00108000
- SRL R6,7 CHAN ADD * 2 @VA04250 00109000
- LA R2,ARIOCT-PSA DISP TO CHANN TABLE ADDRESS @VA04250 00110000
- BAL R10,GOGET FETCH IT INTO CORE @VA04250 00111000
- A R6,0(R2) ADD CHAN TABLE ADDRESS @VA04250 00112000
- LR R2,R6 SET UP FOR GET @VA04250 00113000
- BAL R10,GOGET GET THAT INTO CORE @VA04250 00114000
- LH R6,0(R2) GET RCHBLOK INDEX @VA04250 00115000
- LTR R7,R6 DOES CHAN EXIST? @VA04250 00116000
- BM NOCHAN NO @VA04250 00117000
- LA R2,ARIOCH-PSA DISP TO REAL CH BLOK ADD @VA04250 00118000
- BAL R10,GOGET GET IT INTO CORE @VA04250 00119000
- A R6,0(R2) NOW R6 HAS REAL CHAN BLOCK @VA04250 00120000
- * * * * * * * * ------- -------- -------- ------- * 00121000
- LA R7,CUMASK1 ISOLATE CU BITS @VA04250 00122000
- NR R7,R3 FROM CUU @VA04250 00123000
- SRL R7,2 CU ADD * 2 @VA04250 00124000
- LA R7,RCHCUTBL-RCHBLOK(R7) IN TO INDEX TABLE @V4075A2 00125500
- AR R7,R6 PLUS RCH BLOK @VA04250 00126000
- LR R2,R7 SET UP FOR GET @VA04250 00127000
- BAL R10,GOGET FETCH INTO CORE @VA04250 00128000
- LH R7,0(R2) GET THE INDEX @VA04250 00129000
- LTR R7,R7 CU EXIST? @VA04250 00130000
- BNM COMPRCUB YES @VA04250 00131000
- LA R7,CUMASK2 ISOLAT CU @VA04250 00132000
- NR R7,R3 FROM CUU @VA04250 00133000
- SRL R7,R2 ALTERNATE CU ADDRESS @VA04250 00134000
- LA R7,RCHCUTBL-RCHBLOK(R7) IN TO INDEX TABLE @V4075A2 00135500
- AR R7,R6 PLUS RCH BLOK @VA04250 00136000
- LR R2,R7 SET UP FOR GET @VA04250 00137000
- BAL R10,GOGET FETCH INTO CORE @VA04250 00138000
- LH R7,0(R2) LOAD CONTROL UNIT INDEX @VA04250 00139000
- LTR R8,R7 CU EXIST? @VA04250 00140000
- BM NOCU NO @VA04250 00141000
- COMPRCUB LA R2,ARIOCU-PSA GET DISP TO CU BLOCK @VA04250 00142000
- BAL R10,GOGET INTO CORE @VA04250 00143000
- A R7,0(R2) NOW R7 HAS RCUBLOK ADDRESS @VA04250 00144000
- * * * * * * * * ------- -------- -------- ------- * 00145000
- LA R8,DVMASK GET DEV @VA04250 00146000
- NR R8,R3 FROM CUU @VA04250 00147000
- AR R8,R8 DEV ADD * 2 @VA04250 00148000
- LA R8,RCUDVTBL-RCUBLOK(R8) DEVBLOK INDEX @VA04250 00149000
- AR R8,R7 ADD DEVBLOK ADDRESS @VA04250 00150000
- LR R2,R8 SET FOR GET @VA04250 00151000
- BAL R10,GOGET GET INTO CORE @VA04250 00152000
- LH R8,0(R2) AND GET THE INDEX @VA04250 00153000
- LR R2,R7 GET CU BLOCK @VA04250 00154000
- LA R2,RCUTYPE-RCUBLOK(R2) ADD 5, POINT TO SUB BIT @VA04250 00155000
- BAL R10,GOGET GETIT IN COR @VA04250 00156000
- TM 0(R2),RCUSUB SUBORDINATE CUBLOK? @VA04250 00157000
- BZ TESTDEV NO - BRANCH @VA04250 00158000
- MVI SUBCUSW,SUB YES - SET SUB-CU SWITCH @VA04250 00159000
- ST R7,SUBCUADX SAVE HEX ADDRESS TO TRANSLATE @VA04250 00160000
- MVC SUBCUMSG,SUBCUM PLUB SUBCU MESSAGE @VA04250 00161000
- LR R2,R7 GET CUBLOK ADDRESS @VA04250 00162000
- LA R2,RCUCHA-RCUBLOK(R2) IN TO SUB CU ADDRESS @VA04250 00163000
- BAL R10,GOGET GET IT IN CORE @VA04250 00164000
- L R7,0(R2) GET IT IN R7 @VA04250 00165000
- TESTDEV LTR R8,R8 DEVICE EXIST? @VA04250 00166000
- BM NODEV NO @VA04250 00167000
- SLL R8,3 CONVERT TO BYTES @VA04250 00168000
- LA R2,ARIODV-PSA GET DISP TO DEV TABLE ADDRESS @VA04250 00169000
- BAL R10,GOGET INTO CORE @VA04250 00170000
- A R8,0(R2) ADD OFFSET - R8 NOW HAS DEV BLK @VA04250 00171000
- MVC HEADER+UID(UID),BLANKER BLANK ANY USERID @VA04250 00172000
- B DISPLAY NOW GO TO DISPLAY THEM @VA04250 00173000
- * * * * * * * * ------- -------- -------- ------- * 00174000
- * * * * * * * * IN ORDER TO FIND VIRTUAL DEVICE BLOCKS 00175000
- * * * * * * * * WE NEED THE ADDRESS OF THE USERS VMBLOK 00176000
- * * * * * * * * AND THE DEVICE ADDRESS. 00177000
- * * * * * * * * FIRST GET THE ADDRESS OF THE USER VMBLOK 00178000
- * * * * * * * * GO TO GETREC TO GET THE SYSTEM 00179000
- * * * * * * * * VMBLOCK ADDRESS 00180000
- * * * * * * * *------- -------- -------- -------- ------* 00181000
- VIO CLC PLISTUSR,FENCE USER IN THE PLIST? @VA04250 00182000
- BE PLUGUSER NO GO PLUG ONE @VA04250 00183000
- CLC PLISTUSR,BLANKER USER IN THE PLIST? @VA04250 00184000
- BNE GETSYSVM YES - CONTINUE @VA04250 00185000
- PLUGUSER MVC PLISTUSR,USERSAVE USE LAST USERID @VA04250 00186000
- GETSYSVM MVC USERSAVE,PLISTUSR SAVE THE CURRENT USERID @VA04250 00187000
- MVC CHRCH(L'V),V PLUG 'V' IN MESSAGE HEADERS @VA04250 00188000
- MVC CURCU(L'V),V FOR CHAN, CU, AND @VA04250 00189000
- MVC DVRDV(L'V),V DEVICE BLOCKS @VA04250 00190000
- LA R2,ASYSVM-PSA DISP TO SYSVMBLOCK ADDRESS @VA04250 00191000
- BAL R10,GOGET GO FETCH @VA04250 00192000
- L R2,0(R2) GET TRUE VMBLOCK ADDRESS @VA04250 00193000
- ST R2,BLOCKADD VMB ADDRESS FOR TRANS @VA04250 00194000
- LA R2,VMUSER-VMBLOK(R2) @VA04834 00194500
- BAL R10,GOGET GO FETCH @VA04250 00195000
- CLC PLISTUSR,0(R2) DOES THIS VMBLOK MATCH THE INPUT?@VA04834 00196100
- BE GOTUSER YES - GO GET ADDRESS @VA04250 00198000
- L R2,BLOCKADD NO - GO AFTER NEXT BLOK IN CHAIN @VA04834 00199100
- LA R2,NEXTBLK(R2) IN 8 BYTES TO NEXT BLOK PTR @VA04834 00199300
- BAL R10,GOGET AND FETCH IT INTO CORE @VA04834 00199500
- L R2,0(R2) PICK IT UP @VA04834 00199700
- LTR R2,R2 IS IT ZEROS @VA04250 00200000
- BNZ SAVEOC NO - KEEP ON @VA04250 00201000
- B NOUSER YES - END OF VMBLOKS @VA04250 00202000
- SAVEOC ST R2,OPVMADD SAVE 'END-OF-CHAIN' ADDRESS @VA04250 00203000
- ST R2,BLOCKADD VMB ADDRESS FOR TRANS @VA04250 00204000
- * * * * * * * *------- -------- -------- -------- ------* 00205000
- * * * * * * * * NOW PROCESS THE REMAINING VMBLOCKS 00206000
- * * * * * * * *------- -------- -------- -------- ------* 00207000
- LA R6,MAXUSERS MAX OF 500 USERS @VA04250 00208000
- BALGET LA R2,VMUSER-VMBLOK(R2) INCREMENT TO USER ID @VA04834 00209100
- BAL R10,GOGET GET THE USERID INTO CORE @VA04834 00209800
- CLC PLISTUSR,0(R2) IS THIS THE REQUESTED VMBLOK? @VA04834 00210500
- BE GOTUSER YES - GO PROCESS HIM @VA04250 00211000
- L R2,BLOCKADD NO - GO FOR NEXT BLOK @VA04834 00212100
- LA R2,NEXTBLK(R2) GET CYCLIC POINTER @VA04834 00212300
- BAL R10,GOGET FETCH IT INTO CORE @VA04834 00212500
- L R2,0(R2) PICK IT UP @VA04834 00212700
- ST R2,BLOCKADD VMB ADDRESS FOR TRANS @VA04250 00213000
- C R2,OPVMADD POINT TO END OF CHAIN? @VA04250 00214000
- BE NOUSER YES - WRITE 'NOT FOUND' LINE @VA04250 00215000
- BCT R6,BALGET GET NEXT VMBLOCK @VA04250 00216000
- NOUSER MVC ERUSER(L'PLISTUSR),PLISTUSR USERID INTO ERR MSG @VA04250 00217000
- LA R8,ERMSG713 USER NOT FOUND MSG @VA04250 00218000
- LA R9,E713L LENGTH @VA04250 00219000
- BAL R10,WRTERM WRITE ONE ENTRY @VA04250 00220000
- MVC RETCODE,CODE4 WARNING RETURN @VA04250 00221000
- B RETURN QUIT @VA04250 00222000
- * * * * * * * * ------- -------- -------- ------- * 00223000
- * * * * * * * * NOW WE HAVE A MATCH ON THE USERID. 00224000
- * * * * * * * * THE VMBLOK ADDRESS IS IN 'BLOCKADD' 00225000
- * * * * * * * * THE VIRTUAL 'CUU' IS IN 'CUUHEX' 00226000
- * * * * * * * * PASS THESE TO THE VIRTBLOK 00227000
- * * * * * * * * ROUTINE FOR VIRTUAL BLOKS. 00228000
- * * * * * * * * ------- -------- -------- ------- * 00229000
- GOTUSER LA R2,VMCHTBL-VMBLOK DISP OF CHAN TBL INTO VMBLOK @VA04837 00231100
- A R2,BLOCKADD PLUS BASE ADDRESS OF VMBLOK @VA04837 00231800
- L R3,CUUHEX GET THE HEX DEVICE ADDRESS @VA04837 00232500
- L R6,CHANMASK MASK OUT THE NON CHANNEL BITS @VA04837 00233200
- NR R6,R3 STRIP THEM OFF @VA04837 00233900
- SRL R6,7 AND SLIDE IT TO LOW ORDER @VA04837 00234600
- AR R2,R6 ADD THIS TO TABLE START ADDRESS @VA04837 00235300
- BAL R10,GOGET FETCH THE CHAN ENTRY INTO CORE @VA04837 00236000
- LH R6,0(R2) LOAD IT @VA04837 00236700
- LTR R7,R6 DOES THIS CHANNEL EXIST ? @VA04837 00237400
- BM NOVCHAN NO - STOP SEARCHING @VA04837 00238100
- LA R2,VMCHSTRT-VMBLOK DISP TO VCHAN BLOK @VA04837 00238800
- A R2,BLOCKADD PLUS BASE GIVES CH START ADDRESS @VA04837 00239500
- BAL R10,GOGET GO GET IT INTO CORE @VA04837 00240200
- A R6,0(R2) ADD TO CHANNEL ADDRESS @VA04837 00240900
- ST R6,VCHSAVE STORE IT FOR LATER @VA04837 00241600
- * * * * * * * * ------- -------- -------- ------- * 00244000
- * * * * * * * * SINCE WE ARE GOING TO READ IN THE 00245000
- * * * * * * * * VCHBLOK AND THE VDEVBLOK WE MUST 00246000
- * * * * * * * * SAVE THE VMCUSTRT AND VMDVSTRT FIELDS 00247000
- * * * * * * * * ------- -------- -------- ------- * 00248000
- LA R2,VMCUSTRT-VMBLOK DISP TO CUSTRT @VA04837 00249100
- A R2,BLOCKADD PLUS BASE ADDRESS @VA04837 00249700
- BAL R10,GOGET FETCH INTO CORE @VA04837 00250300
- MVC VMCUSAVE,0(R2) SAVE THE FIELD @VA04837 00250900
- LA R2,VMDVSTRT-VMBLOK AND THE SAME FOR VMDVSTRT @VA04837 00251500
- A R2,BLOCKADD POINT TO VMDVSTRT @VA04837 00252100
- BAL R10,GOGET FETCH IT IN @VA04837 00252700
- MVC VMDVSAVE,0(R2) AND SAVE IT @VA04837 00253300
- LA R2,VCHCUTBL-VCHBLOK DISPLACEMENT @VA04837 00253900
- AR R2,R6 PLUS THE OFFSET @VA04837 00254500
- BAL R10,GOGET FETCH IT @VA04837 00255100
- L R7,CUMASK MASK OUT THE NON - CU BITS @VA04837 00255700
- NR R7,R3 STRIP THEM OUT @VA04837 00256300
- SRL R7,3 PUT CTL UNIT ADDRESS INT R7 @VA04837 00256900
- AR R2,R7 ADD TO START OF TABLE @VA04837 00257500
- LH R7,0(R2) LOAD THE ENTRY @VA04837 00258100
- LTR R8,R7 IS THERE AN ENTRY @VA04837 00258700
- BM NOVCU NO - QUIT @VA04837 00259300
- A R7,VMCUSAVE ADD THE SAVED VALUE @VA04837 00259900
- ST R7,VCUSAVE AND SAVE THAT @VA04837 00260500
- ********** NOW THE CONTROL UNIT ************* @VA04837 00261100
- LA R2,VCUDVTBL-VCUBLOK DEVICE TABLE DISP @VA04837 00261700
- AR R2,R7 PLUS ADDRESS OF TABLE @VA04837 00262300
- L R8,DEVMASK MASK OUT NON DEVICE BITS @VA04837 00262900
- NR R8,R3 STRIP OUT @VA04837 00263500
- AR R8,R8 DOUBLE IT FOR HALFWORD TABLE @VA04837 00264100
- AR R2,R8 POINT TO DEVICE ENTRY @VA04837 00264700
- BAL R10,GOGET FETCH IT @VA04837 00265300
- LH R8,0(R2) PICK IT UP @VA04837 00265900
- LTR R8,R8 DEV EXIST? @VA04250 00271000
- BM NOVDEV NO @VA04250 00272000
- A R8,VMDVSAVE GET VDEVBLOK ADDRESS @VA04250 00273000
- LM R6,R7,VCHSAVE GET BACK THE ADDRESSES @VA04250 00274000
- MVC HEADER+UID(L'USERSAVE),USERSAVE PLUG USERID @VA04250 00275000
- B DISPLAY GO SHOW EM @VA04250 00276000
- * * * * * * * * ------- -------- -------- ------- * 00277000
- * * * * * * * * IF WE DIDNT FIND THE VIRTUAL DEVICE 00278000
- * * * * * * * * ------- -------- -------- ------- * 00279000
- NOVCHAN SR R6,R6 SET R6 @VA04250 00280000
- BCTR R6,R0 NEGATIVE @VA04250 00281000
- NOVCU SR R7,R7 MAKE R7 @VA04250 00282000
- BCTR R7,R0 NEGATIVE @VA04250 00283000
- NOVDEV SR R8,R8 MAKE R8 @VA04250 00284000
- BCTR R8,R0 NEGATIVE @VA04250 00285000
- MVC RETCODE,CODE4 SET RETURN @VA04250 00286000
- B WRITERR GO WRITE THE ERROR @VA04250 00287000
- * * * * * * * * ------- -------- -------- ------- * 00289000
- * * * * * * * * NOW CHBLOK ADDRESS IS IN R6, 00290000
- * * * * * * * * THE CUBLOK ADDRESS IS IN R7, 00291000
- * * * * * * * * AND DVBLOK ADDRESS IS IN R8. 00292000
- * * * * * * * * FORMAT AND DISPLAY THEM. 00293000
- * * * * * * * * ------- -------- -------- ------- * 00294000
- DISPLAY STM R6,R8,CHADSTOR PUT ADDRESSES IN CORE @VA04250 00295000
- LA R4,CHADSTOR GET ADDRESS FOR INT @VA04250 00296000
- LA R3,TRANL AND LENGTH - 16 @VA04250 00297000
- BAL R10,GOINT GO TRANSLATE @VA04250 00298000
- MVC CHBLKADD(TRADL),CHB(R5) PLUG CHAN BLK ADDRESS @VA04250 00299000
- MVC CUBLKADD(TRADL),CUB(R5) CU BLOK ADDRESS @VA04250 00300000
- MVC DVBLKADD(TRADL),DVB(R5) DEV BLK ADDRESS @VA04250 00301000
- CLI SUBCUSW,SUB IS IT A SUBORD CU? @VA04250 00302000
- BNE CHANTRAN NO -- DONT PLUG ADDRESS IN MSG @VA04250 00303000
- MVC SUBCUADD(TRADL),SUBDISP(R5) YES - PLUG IT @VA04250 00304000
- MVI SUBCUSW,PRIME TURN OFF SUBCUSW @VA04250 00305000
- * * * * * * * * ------- -------- -------- ------- * 00306000
- * * * * * * * * NOW TRANSLATE LINES FROM THE 00307000
- * * * * * * * * VARIOUS BLOCKS AND FORMAT THEM 00308000
- * * * * * * * * INTO THE OUTPUT AREA 00309000
- * * * * * * * * FIRST THE CHANNEL BLOK 00310000
- * * * * * * * * ------- -------- -------- ------- * 00311000
- CHANTRAN LA R6,CHLINES 3 CH LINES @VA04250 00312000
- CLC PLISTCMD(L'V),V ARE THESE 'VIRTUAL' BLOCKS? @VA04250 00313000
- BNE PLUGCH NO - LEAVE IT AT 3 LINES @VA04250 00314000
- BCTR R6,R0 YES - MUST ONLY FETCH 2 LINES @VA04250 00315000
- PLUGCH MVC ADSTOR,CHADSTOR PLUG CH BLOK ADDRESS @VA04250 00316000
- LA R2,CHLINE1 GET CHAN LINE 1 ADDRESS @VA04250 00317000
- ST R2,LINE1ADD PLUG IT FOR TRANSLATE/FORMAT @VA04250 00318000
- BAL R11,GETLINE GO FORMAT IT @VA04250 00319000
- * * * * * * * * ------- -------- -------- ------- * 00320000
- * * * * * * * * NOW THE CU BLOCK 00321000
- * * * * * * * * ------- -------- -------- ------- * 00322000
- LA R6,CULINES TWO CU LINES @VA04250 00323000
- MVC ADSTOR,CUADSTOR CU BLOK ADDRESS @VA04250 00324000
- LA R2,CULINE1 CU BLOK @VA04250 00325000
- ST R2,LINE1ADD PLUG FOR FORMAT @VA04250 00326000
- BAL R11,GETLINE GO FORMAT @VA04250 00327000
- * * * * * * * * ------- -------- -------- ------- * 00328000
- * * * * * * * * NOW THE DEV BLOCK 00329000
- * * * * * * * * ------- -------- -------- ------- * 00330000
- LA R6,DVLINES 3 DEV LINES @VA04250 00331000
- CLC PLISTCMD(L'V),V ARE THESE VIRTUAL BLOCKS? @VA04250 00332000
- BNE PLUGDV NO - LEAVE IT AT 3 LINES @VA04250 00333000
- BCTR R6,R0 YES - MUST REDUCE TO 2 LINES @VA04250 00334000
- PLUGDV MVC ADSTOR,DVADSTOR DEV BLOK ADDRESS @VA04250 00335000
- LA R2,DVLINE1 DEV BLOK OUTPUT AREA @VA04250 00336000
- ST R2,LINE1ADD PLUG IT @VA04250 00337000
- BAL R11,GETLINE GO DO DEVICE @VA04250 00338000
- * * * * * * * * ------- -------- -------- ------- * 00339000
- * * * * * * * * NOW PLUG THE ADDRESS OF THE SOUGHT DEVICE 00340000
- * * * * * * * * ------- -------- -------- ------- * 00341000
- MVC CHCHANAD(ADL),CHLINE1+ONE PLUG CHAN INTO CHBLOK @VA04250 00342000
- MVC CUUNITAD(ADL),CHLINE1+ONE AND INT CUBLOK @VA04250 00343000
- MVC CUUNITAD+ONE(ADL),CULINE1+TWO CU ADD INTO CUBLOK@VA04250 00344000
- MVC DVDEVAD(CUUL),PLISTCUU PLUG DEV ADD IN DEVBLK @VA04250 00345000
- * * * * * * * * ------- -------- -------- ------- * 00346000
- * * * * * * * * NOW ALL THE LINES ARE BUILT - GO WRITE THEM 00347000
- * * * * * * * * ------- -------- -------- ------- * 00348000
- B WRITE WRITE THE LINES @VA04250 00349000
- * * * * * * * * ------- -------- -------- ------- * 00350000
- * * * * * * * * THIS GETS THE TEXT OF THE VARIOUS CONTROL 00351000
- * * * * * * * * BLOCKS INTO CORE, TRANSLATES AND FORMATS 00352000
- * * * * * * * * THEM INTO EIGHT BYTE BLOCKS. THE DATA IS 00353000
- * * * * * * * * FETCHED 8 BYTES AT A TIME, AS THERE IS 00354000
- * * * * * * * * THE POSSIBILITY THAT A REAL IO BLOCK 00355000
- * * * * * * * * MAY CROSS A PAGE BOUNDARY AND SUFFER 00356000
- * * * * * * * * GARBAGE. R6 HAS THE NUMBER OF LINES TO 00357000
- * * * * * * * * BE PRINTED. THE REST SHOULD BE OBLIVIOUS. 00358000
- * * * * * * * * ------- -------- -------- ------- * 00359000
- GETLINE L R7,LINE1ADD ADDRESS OF FIRST LINE @VA04250 00360000
- LA R8,BLOX 4 BLOCKS OF 16 BYTES @VA04250 00361000
- L R2,ADSTOR GET ADDRESS OF BLOCK @VA04250 00362000
- GOGOGET BAL R10,GOGET GET IT INTO CORE @VA04250 00363000
- LR R4,R2 GET THE ADDRESS TO TRANSLATE @VA04250 00364000
- LA R3,WORDL AND THE LENGTH - 8 @VA04250 00365000
- BAL R10,GOINT GO TRANSLATE IT @VA04250 00366000
- MVC 0(WORDL,R7),0(R5) MOVE IN AN 8 BYTE BLOCK @VA04250 00367000
- LA R7,WORDL+ONE(R7) BUMP OUTPUT PLUS A SPACE @VA04250 00368000
- LA R5,WORDL(R5) BUMP INPUT @VA04250 00369000
- MVC 0(WORDL,R7),0(R5) MOVE THE SECOND 8 BYTE BLOCK @VA04250 00370000
- LA R7,WORDL+ONE(R7) NEXT OUTPUT SLOT @VA04250 00371000
- L R2,ADSTOR GET CURRENT INPUT PTR @VA04250 00372000
- LA R2,WORDL(R2) BUMP IT BY 8 INPUT BYTES @VA04250 00373000
- ST R2,ADSTOR AND RE-STORE IT @VA04250 00374000
- BCT R8,GOGOGET GO FINISH THE LINE @VA04250 00375000
- L R7,LINE1ADD WEVE DONE THE FIRST LINE. NOW @VA04250 00376000
- LA R7,LINEL(R7) UPDATE TO POINT TO THE NEXT LINE @VA04250 00377000
- ST R7,LINE1ADD AND RESTORE IT @VA04250 00378000
- BCT R6,GETLINE NOW GET THE NEXT LINE @VA04250 00379000
- BR R11 DONE ALL LINES - RETURN @VA04250 00380000
- * * * * * * * * ------- -------- -------- ------- * 00381000
- * * * * * * * * NOW WRITE THE LINES. WRITE THREE, THEN CHECK 00382000
- * * * * * * * * IF IT IS A VIRTUAL DISPLAY. IF SO SKIP A 00383000
- * * * * * * * * LINE IN THE FORMATTED AREA, SINCE THE VCHBLOK 00384000
- * * * * * * * * IS A LINE SHORTER THAN THE RCHBLOK. 00385000
- * * * * * * * * ------- -------- -------- ------- * 00386000
- WRITE MVC DVLINE3+SEC(L'DVLINE3-SEC),BLANKOUT CLR 2ND @VA04830 00387500
- CLC PLISTCMD(L'V),V ARE THESE VIRTUAL BLOKS? @VA04250 00388000
- BNE REAL NO - PROCESS AS IS @VA04250 00389000
- MVI CHLINE2+NUCH,BLANK SET @VA04830 00390100
- MVI CULINE2+NUCU,BLANK UP @VA04830 00390400
- MVI DVLINE2+NUDV,BLANK TO @VA04830 00390700
- MVC CHLINE2+NUCH+1(NUCHL-1),CHLINE2+NUCH CLEAR @VA04830 00391000
- MVC CULINE2+NUCU+1(NUCUL-1),CULINE2+NUCU CTL @VA04830 00391300
- MVC DVLINE2+NUDV+1(NUDVL-1),DVLINE2+NUDV BLOCKS @VA04830 00391600
- REAL LA R8,HEADER ADDRESS OF HEADER @VA04250 00393000
- LA R9,L'HEADER AND LENGTH @VA04250 00394000
- BAL R10,WRTERM WRITE HEADER @VA04250 00395000
- LA R2,FIRSTSET 3 DISPLAY LINES @VA04250 00396000
- LA R8,CHRCH OUTPUT AREA @VA04250 00397000
- LA R9,EIGHTY LINE LENGTH @VA04250 00398000
- GOWRITE BAL R10,WRTERM GO WRITE A LINE @VA04250 00399000
- LA R8,LINEL(R8) NEXT OUTPUT LINE @VA04250 00400000
- BCT R2,GOWRITE WRITE ANOTHER LINE @VA04250 00401000
- LA R2,NEXTSET GET 10 FOR LAST SET OF LINES @VA04250 00402000
- CLC V,PLISTCMD ARE THESE VIRT BLOKS? @VA04250 00403000
- BNE LASTSET NO - WRITE AS IS @VA04250 00404000
- LA R8,LINEL(R8) YES - SKIP A LINE @VA04250 00405000
- BCTR R2,R0 AND DECREMENT THE LINE COUNT @VA04250 00406000
- LASTSET BAL R10,WRTERM WRITE ONE OF THE LAST GROUP @VA04250 00407000
- LA R8,LINEL(R8) BUMP A LINE @VA04250 00408000
- BCT R2,LASTSET GO WRITE IT @VA04250 00409000
- B RETURN GET OUT @VA04250 00410000
- * * * * * * * * ------- -------- -------- ------- * 00411000
- * * * * * * * * COMMON WRTERM 00412000
- * * * * * * * * ------- -------- -------- ------- * 00413000
- WRTERM ST R8,PARMLIS1 SAVE MSG TEXT PTR IN PARM LIST @V4075A2 00414100
- ST R9,PARMLIS2 AND TEXT LENGTH @V4075A2 00414200
- LA R1,PARMLIS1 POINTER TO PASS @V4075A2 00414300
- L R15,FEDLNADD ADDRESS OF DMMFEDLN - LINE WRITER@V4075A2 00414400
- BALR R14,R15 GO WRITE THE LINE @V4075A2 00414500
- BR R10 AND RETURN @V4075A2 00414600
- PARMLIS1 DS F PARM1 @V4075A2 00414700
- PARMLIS2 DS F PARM2 @V4075A2 00414800
- FEDLNADD DC V(DMMFEDLN) LINE WRITER ROUTINE @V4075A2 00414900
- * * * * * * * * ------- -------- -------- ------- * 00416000
- * * * * * * * * GOINT - COMMON BALR TO INTERPRET 00417000
- * * * * * * * * ------- -------- -------- ------- * 00418000
- GOINT L R15,INTADD INT ROUTINE @VA04250 00419000
- BALR R14,R15 LINK @VA04250 00420000
- LTR R15,R15 TEST RETURN @VA04250 00421000
- BNZ CODECHEK TEST NON-ZERO RET @VA04250 00422000
- BR R10 BACK TO CALLER @VA04250 00423000
- * * * * * * * * ------- -------- -------- ------- * 00424000
- * * * * * * * * COMMON BAL TO DMMGET 00425000
- * * * * * * * * ------- -------- -------- ------- * 00426000
- GOGET L R15,GETADD ADDRESS OF DMMGET @VA04250 00427000
- BALR R14,R15 LINK @VA04250 00428000
- LTR R15,R15 TEST RETURN @VA04250 00429000
- BNZ CODECHEK GO TEST A NON ZERO RETURN @VA04250 00430000
- BR R10 RETURN TO GO GETTER @VA04250 00431000
- * * * * * * * * ------- -------- -------- ------- * 00432000
- * * * * * * * * ERROR ROUTINES 00433000
- * * * * * * * * ------- -------- -------- ------- * 00434000
- NOCHAN SR R6,R6 ZERO R6 @VA04250 00435000
- BCTR R6,R0 MAKE IT MINUS @VA04250 00436000
- NOCU SR R7,R7 ZERO IT @VA04250 00437000
- BCTR R7,R0 MAKE IT MINUS @VA04250 00438000
- NODEV SR R8,R8 ZERO DEV REG @VA04250 00439000
- BCTR R8,R0 MAKE IT MINUS @VA04250 00440000
- B WRITERR GO WRITE THE ERROR MSG @VA04250 00441000
- * * * * * * * * ------- -------- -------- ------- * 00442000
- * * * * * * * * WRITE THE ERROR MSG 00443000
- * * * * * * * * ------- -------- -------- ------- * 00444000
- WRITERR MVC ERRORADD,PLISTCUU PLUG ADDRESS IN ERROR MSG @VA04250 00445000
- LA R8,ERMSG712 GET ADDRESS OF ER MSG @VA04250 00446000
- LA R9,E712L LENGTH OF ERROR @VA04250 00447000
- BAL R10,WRTERM WRITE ERROR MSG @VA04250 00448000
- MVC RETCODE,CODE4 SET WARNING RETCODE @VA04250 00449000
- B RETURN @VA04250 00450000
- * * * * * * * * ------- -------- -------- ------- * 00451000
- * * * * * * * * CODECHECK 00452000
- * * * * * * * * ------- -------- -------- ------- * 00453000
- CODECHEK C R15,CODE4 IS IT A WARNING? @VA04250 00454000
- BE WARNING PLUG A 4 @VA04250 00455000
- MVC RETCODE,CODE8 PLUG 8 @VA04250 00456000
- B RETURN FATAL RETURN @VA04250 00457000
- WARNING MVC RETCODE,CODE4 PLUG A 4 @VA04250 00458000
- B RETURN @VA04250 00459000
- * * * * * * * * ------- -------- -------- ------- * 00460000
- * * * * * * * * CLOSE 00461000
- * * * * * * * * ------- -------- -------- ------- * 00462000
- RETURN L R13,SAVEBACK RESTORE CALLER SAVE PTR @VA04250 00463000
- MVC SAVREG15(L'RETCODE,R13),RETCODE PLUG RETCODE @VA04250 00464000
- LM R14,R12,SAVEDISP(R13) RESTORE CALLERS REGS @VA04250 00465000
- BR R14 RETURN @VA04250 00466000
- * * * * * * * * ------- -------- -------- ------- * 00467000
- * * * * * * * * CONSTANTS 00468000
- * * * * * * * * ------- -------- -------- ------- * 00469000
- * * * * * * * * SAVEAREA 00470000
- * * * * * * * * ------- -------- -------- ------- * 00471000
- SAVEAREA DS 0F THIS PROGRAM'S SAVE AREA @VA04250 00472000
- SAVEUSR DS F USER WORD @VA04250 00473000
- SAVEFWD DS F FORWARD POINTER @VA04250 00474000
- SAVEBACK DS F BACKWARD POINTER @VA04250 00475000
- SAVER14 DS F SAVE AREA FOR CALLER'S R14 @VA04250 00476000
- SAVER15 DS F SAVE AREA FOR CALLER'S R15 @VA04250 00477000
- SAVER0 DS F SAVE AREA FOR CALLER'S R0 @VA04250 00478000
- SAVER1 DS F SAVE AREA FOR CALLER'S R1 @VA04250 00479000
- SAVER2 DS F SAVE AREA FOR CALLER'S R2 @VA04250 00480000
- SAVER3 DS F SAVE AREA FOR CALLER'S R3 @VA04250 00481000
- SAVER4 DS F SAVE AREA FOR CALLER'S R4 @VA04250 00482000
- SAVER5 DS F SAVE AREA FOR CALLER'S R5 @VA04250 00483000
- SAVER6 DS F SAVE AREA FOR CALLER'S R6 @VA04250 00484000
- SAVER7 DS F SAVE AREA FOR CALLER'S R7 @VA04250 00485000
- SAVER8 DS F SAVE AREA FOR CALLER'S R8 @VA04250 00486000
- SAVER9 DS F SAVE AREA FOR CALLER'S R9 @VA04250 00487000
- SAVER10 DS F SAVE AREA FOR CALLER'S R10 @VA04250 00488000
- SAVER11 DS F SAVE AREA FOR CALLER'S R11 @VA04250 00489000
- SAVER12 DS F SAVE AREA FOR CALLER'S R12 @VA04250 00490000
- * * * * * * * * ------- -------- -------- ------- * 00491000
- DUM DS 4F @VA04250 00492000
- CODE4 DC F'4' WARNING @VA04250 00493000
- CODE8 DC F'8' FATAL @VA04250 00494000
- GETADD DC AL4(DMMGET) DMMGET @VA04250 00495000
- HEXADD DC AL4(DMMHEX) EBC TO HEX TRANS @VA04250 00496000
- INTADD DC AL4(DMMINT) HEX TO EBC TRANS @VA04250 00497000
- ADDPOINT DS F POINTER TO 'CUU' ADDRESS @VA04250 00498000
- RETCODE DS F RETURN CODE @VA04250 00499000
- CHADSTOR DS F STORE CH BLOK ADDRESS @VA04250 00500000
- CUADSTOR DS F STORE CUBLOK ADDRESS @VA04250 00501000
- DVADSTOR DS F STORE DVBLOK ADDRESS @VA04250 00502000
- SUBCUADX DS F HEX ADDRESS OF ANY SUBORD CU @VA04250 00503000
- WORKL EQU 20 LENGTH OF WORK AREAS @VA04250 00504000
- LINE1ADD DS F ADDRESS OF FIRST LINE OF OUTPUT @VA04250 00505000
- ADSTOR DS F CURRENT FORMAT ADDRESS @VA04250 00506000
- VMCUSAVE DS F SAVE FOR VMCUSTRT @VA04250 00507000
- VMDVSAVE DS F SAVE FOR VMDVSTRT @VA04250 00508000
- VCHSAVE DS F VCHBLOK ADDRESS @VA04250 00509000
- VCUSAVE DS F VCUBLOK @VA04250 00510000
- CUUHEX DS F CUU IN HEX @VA04250 00511000
- BLOCKADD DS F ADDRESS OF CURRENT VMBLOK @VA04250 00512000
- OPVMADD DS F ADDRESS OF OPERATORS VMBLOK @VA04250 00513000
- * * * * * * * * ------- -------- -------- ------- * 00514000
- * * * * * * * * FORMATTING AREAS TO DISPLAY THE 00515000
- * * * * * * * * BLOCK CHAINS 00516000
- * * * * * * * * ------- -------- -------- ------- * 00517000
- CHRCH DC CL12'RCHBLOK' HEADER @VA04250 00518000
- CHCHAN DC CL5'CHAN' HDR @VA04250 00519000
- CHCHANAD DC CL8'XXX' CHANNEL ADDRESS @VA04250 00520000
- CHADD DC CL8'ADDRESS' HDR @VA04250 00521000
- CHBLKADD DC CL47' ' ADDRESS OF CHBLOK @VA04250 00522000
- CHL1HDR DC CL4'000' ADDRESS LINE 1 @VA04250 00523000
- CHLINE1 DC CL76' ' LINE 1 @VA04250 00524000
- CHL2HDR DC CL4'020' ADD L2 @VA04250 00525000
- CHLINE2 DC CL76' ' LINE2 @VA04250 00526000
- CHL3HDR DC CL4'040' ADLINE3 @VA04250 00527000
- CHLINE3 DC CL76' ' LINE 3 @VA04250 00528000
- SPACE1 DC CL80' ' SPACE @VA04250 00529000
- CURCU DC CL12'RCUBLOK' HEADER @VA04250 00530000
- CUUNIT DC CL5'UNIT' HDR @VA04250 00531000
- CUUNITAD DC CL8'0XX' CONTROL UNIT ADDRESS @VA04250 00532000
- CUADD DC CL8'ADDRESS' HDR @VA04250 00533000
- CUBLKADD DC CL7' ' ADDRESS OF CUBLOK @VA04250 00534000
- SUBCUMSG DC CL40' ' MESSAGE RE SUBORDINATE CU @VA04250 00535000
- ORG SUBCUMSG+29 @VA04250 00536000
- SUBCUADD DC CL11' ' ADDRESS OF ABOVE @VA04250 00537000
- CUL1HDR DC CL4'000' ADDRESS LINE 1 @VA04250 00538000
- CULINE1 DC CL76' ' LINE 1 @VA04250 00539000
- CUL2HDR DC CL4'020' ADD L2 @VA04250 00540000
- CULINE2 DC CL76' ' LINE2 @VA04250 00541000
- SPACE2 DC CL80' ' SPACE @VA04250 00542000
- DVRDV DC CL12'RDEVBLOK' HEADER @VA04250 00543000
- DVDEV DC CL5'DEV' HDR @VA04250 00544000
- DVDEVAD DC CL8'00X' DEV ADDRESS @VA04250 00545000
- DVADD DC CL8'ADDRESS' HDR @VA04250 00546000
- DVBLKADD DC CL47' ' ADDRESS OF DVBLOK @VA04250 00547000
- DVL1HDR DC CL4'000' ADDRESS LINE 1 @VA04250 00548000
- DVLINE1 DC CL76' ' LINE 1 @VA04250 00549000
- DVL2HDR DC CL4'020' ADD L2 @VA04250 00550000
- DVLINE2 DC CL76' ' LINE2 @VA04250 00551000
- DVL3HDR DC CL4'040' ADLINE3 @VA04250 00552000
- DVLINE3 DC CL80' ' LINE 3 @VA04250 00553000
- * * * * * * * * ------- -------- -------- ------- * 00554000
- V DC C'V' V TO PLUG IN MESSAGE HEADER @VA04250 00555000
- R DC C'R' R DITTO @VA04250 00556000
- TRANL EQU 16 LENGTH OF LINE TO TRANSLATE @VA04250 00557000
- TLINEL EQU 32 LENGTH AFTER TRANS @VA04250 00558000
- LINEL EQU 80 LINE LENGTH @VA04250 00559000
- MAXUSERS EQU 500 MAXUSERS ALLOWED - LOOP ASSUMED @VA04250 00560000
- CHLINES EQU 3 THREE CHANNEL LINES @VA04250 00561000
- CULINES EQU 2 CU BLOK LINES @VA04250 00562000
- DVLINES EQU 3 DEVICE LINES @VA04250 00563000
- EIGHTY EQU 80 LINE LENGTH @VA04250 00564000
- FIRSTSET EQU 3 SOME OF LINES IN OUTPUT DISPLAY @VA04250 00565000
- NEXTSET EQU 10 REST OF THE LINES @VA04250 00566000
- * * * * * * * * ------- -------- -------- ------- * 00567000
- ADL EQU 1 LENGTH OF EACH SEG OF 'CUU' @VA04250 00568000
- ONE EQU 1 BUMP COUNTER @VA04250 00569000
- TWO EQU 2 INDEX @VA04250 00570000
- CHB EQU 2 CHANNEL BLOCK @VA04250 00571000
- CMDL EQU 3 LENGTH OF CMD @VA04250 00572000
- CUUL EQU 3 LENGTH OF 'CUU' @VA04250 00573000
- CUU EQU 4 ADDRESS DISP @VA04250 00574000
- BLOX EQU 4 4 X 16 BYTE BLOCKS ON OUT_LINE @VA04250 00575000
- TRADL EQU 6 LENGTH OF TRANSLATED ADDRESS @VA04250 00576000
- UID EQU 8 USERID DISP @VA04250 00577000
- NEXTBLK EQU 8 ADDRESS OF NEXT BLOK @VA04250 00578000
- WORDL EQU 8 LENGTH OF A TRANSLATED WORD @VA04250 00579000
- CUB EQU 10 CU BLOCK @VA04250 00580000
- SAVEDISP EQU 12 REGS IN SAVE AREA @VA04250 00581000
- SAVREG15 EQU 16 REG 15 IN SAVE AREA @VA04250 00582000
- DVB EQU 18 DEVICE BLOK @VA04250 00583000
- NUCH EQU 18 NOT USED PART OF CHBLOK @VA04250 00584000
- NUCU EQU 18 NOT USED PART OF CU BLOK @VA04250 00585000
- SUBDISP EQU 26 DISP TO SUB CU ADDR @VA04250 00586000
- SEC EQU 54 DISP TO SEC HALF OF LINE @VA08869 00587100
- BLANK EQU X'40' FILL FOR CLEAR @VA04830 00587500
- NUDV EQU 71 UNUSED PORTION OF VDEVBLOK @V4075A2 00588000
- NUCHL EQU X'DA' LENGTH TO CLEAR @VA04250 00589000
- NUCUL EQU X'8A' LENGTH TO CLEAR @VA04250 00590000
- NUDVL EQU X'59' LENGTH TO CLEAR @V4075A2 00591000
- CHMASK EQU X'F00' CHANNEL MASK @VA04250 00592000
- CUMASK1 EQU X'0F8' MASK FOR CU PORTION OF 'CUU' @VA04250 00593000
- CUMASK2 EQU X'0F0' SAME @VA04250 00594000
- DVMASK EQU X'00F' SAME - FOR DEVICE @VA04250 00595000
- * * * * * * * * ------- -------- -------- ------- * 00596000
- PLISTCMD DC CL8' ' COMMAND @VA04250 00597000
- PLISTCUU DC CL8' ' CUU @VA04250 00598000
- PLISTUSR DC CL8' ' USERID @VA04250 00599000
- PLISTFNC DC 8X'FF' FENCE @VA04250 00600000
- PLISTL EQU *-PLISTCMD LENGTH OF PLIST @VA04250 00601000
- * * * * * * * * ------- -------- -------- ------- * 00602000
- FENCE DC 8X'FF' FENCE @VA04250 00603000
- BLANKER DC CL8' ' BLANKS X '40' @VA04250 00604000
- USERSAVE DC CL8'OPERATOR' DEFAULT USERID @VA04250 00605000
- * * * * * * * * ------- -------- -------- ------- * 00606000
- ERMSG712 DC C'DMMIOB712I DEVICE ''' MSG NUMBER @VA04250 00607000
- ERRORADD DC CL3' ' BAD ADDRESS @VA04250 00608000
- RESTERR DC C''' NOT FOUND' BALANCE OF THE MESSAGE @VA04250 00609000
- E712L EQU *-ERMSG712 LENGTH @VA04250 00610000
- * * * * * * * * ------- -------- -------- ------- * 00611000
- ERMSG713 DC C'DMMIOB713I USER ''' MESSAGE NUMBER @VA04250 00612000
- ERUSER DC CL8' ' USER @VA04250 00613000
- EREST DC C''' VMBLOK NOT FOUND' @VA04428 00614000
- E713L EQU *-ERMSG713 LENGTH @VA04250 00615000
- * * * * * * * * ------- -------- -------- ------- * 00616000
- HEADER DC CL16' ' HEADER @VA04250 00617000
- SUBCUM DC CL40'REPLACES SUBORDINATE CUBLOK- ' @V4075A2 00618500
- * * * * * * * * ------- -------- -------- ------- * 00619000
- SUBCUSW DC X'00' SUBORDINATE CU BLOCK SWITCH @VA04250 00620000
- SUB EQU X'FF' SUBORDINATE @VA04250 00621000
- PRIME EQU X'00' PRIME CU @VA04250 00622000
- * * * * * * * * ------- -------- -------- ------- * 00623000
- DS 0F @VA04250 00624000
- CHANMASK DC XL4'F00' MASK TO SEPARATE CHAN FROM CUU @VA04250 00625000
- CUMASK DC XL4'0F0' CONTROL UNIT @VA04250 00626000
- DEVMASK DC XL4'00F' DEVICE @VA04250 00627000
- BLANKOUT DC CL80' ' BLANKS FOR FILL @VA04830 00627500
- PATCH DC 50F'0' PATCH @VA04250 00628000
- LTORG @VA04250 00629000
- COPY VMBLOK @VA04250 00630000
- COPY VBLOKS @VA04250 00631000
- PSA PSA DSECT @VA04250 00632000
- COPY RBLOKS REAL IO BLOCKS @VA04250 00633000
- R0 EQU 0 R0 EQUALS REGISTER 0 @VA04250 00634000
- R1 EQU 1 R1 EQUALS REGISTER 1 @VA04250 00635000
- R2 EQU 2 R2 EQUALS REGISTER 2 @VA04250 00636000
- R3 EQU 3 R3 EQUALS REGISTER 3 @VA04250 00637000
- R4 EQU 4 R4 EQUALS REGISTER 4 @VA04250 00638000
- R5 EQU 5 R5 EQUALS REGISTER 5 @VA04250 00639000
- R6 EQU 6 R6 EQUALS REGISTER 6 @VA04250 00640000
- R7 EQU 7 R7 EQUALS REGISTER 7 @VA04250 00641000
- R8 EQU 8 R8 EQUALS REGISTER 8 @VA04250 00642000
- R9 EQU 9 R9 EQUALS REGISTER 9 @VA04250 00643000
- R10 EQU 10 R10 EQUALS REGISTER 10 @VA04250 00644000
- R11 EQU 11 R11 EQUALS REGISTER 11 @VA04250 00645000
- R12 EQU 12 R12 EQUALS REGISTER 12 @VA04250 00646000
- R13 EQU 13 R13 EQUALS REGISTER 13 @VA04250 00647000
- R14 EQU 14 R14 EQUALS REGISTER 14 @VA04250 00648000
- R15 EQU 15 R15 EQUALS REGISTER 15 @VA04250 00649000
- END 00650000
ibm/vm370-lib/dumpscan/dmmiob.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator