ibm:vm370-lib:dumpscan:dmmdsc.assemble_src
Table of Contents
DMMDSC Source
References
- Fixes Applied : 3
- This Source Date : Monday, December 11, 1978
- Last Fix ID : [HRC001DM]
Source Listing
- DMMDSC.ASSEMBLE.txt
- DSC TITLE 'DMMDSC (IPCS) VM/370 - RELEASE 6' 00001000
- * 00002000
- * MODULE NAME: 00003000
- * DUMPSCAN 00004000
- * 00005000
- * FUNCTION: 00006000
- * PROVIDE A METHOD OF EXAMINING THE CMS FORMAT 00007000
- * CP DUMPS CREATED BY VMFDUMP. 00008000
- * 00009000
- * ATTRIBUTES: 00010000
- * REUSABLE 00011000
- * NON-REENTRANT 00012000
- * 00013000
- * ENTRY POINTS: 00014000
- * DUMPSCAN 00015000
- * INPUT READ IN AREA 00016000
- * 00017000
- * ENTRY CONDITIONS: 00018000
- * NONE 00019000
- * 00020000
- * EXIT CONDITIONS: 00021000
- * RETURN CODE IN R15 00022000
- * 0 - USER 'HX', 'QUIT' OR END. 00023000
- * 8 - ERROR PROCESSING THE DUMP 00024000
- * 00025000
- * CALLS TO OTHER ROUTINES: 00026000
- * DMMFEX FULL SCREEN WRITE FROM DUMP 00027000
- * DMMFED DISPLAY AREAS OF THE DUMP 00028000
- * DMMLOC LOCATE STRING REQUEST 00029000
- * DMMSCR FOR SCROLL FUNCTION 00030000
- * DMMREG TO DISPLAY REGISTERS 00031000
- * DMMVMB TO DISPLAY VMBLOKS 00032000
- * DMMMOD TO FIND MODULES AND RESOLVE ADDRESSES 00033000
- * DMMTRC DISPLAY TRACE TABLE ENTRIES 00034000
- * DMMLOC TO FIND STRINGS IN 'LOCATE STRING FROM TO' 00035000
- * EXTERNAL REFERENCES: 00036000
- * SCRNAREA DISPLAY AREA 00037000
- * HEXAD LAST DISPLAYED ADDRESS IN HEX 00038000
- * 00039000
- * TABLES/WORKAREAS: 00040000
- * PLIST THE TOKENIZED INPUT TO PASS TO SUBROUTINES 00041000
- * 00042000
- * REGISTER USAGE: 00043000
- * R15 ADDRESSES OF EXTERNAL ROUTINES 00044000
- * R14 RETURNS FROM EXTERNAL ROUTINES 00045000
- * R13 SAVE AREA ADDRESS 00046000
- * R12,R11 BASES @V4075A2 00047000
- * R10 INTERNAL LINK @V4075A2 00048000
- * R9-R2 WORK REGISTERS 00049000
- * R2 PASSES ADDRESS OF PLIST TO SUBROUTINES 00050000
- * 00051000
- * NOTES: 00052000
- * 00053000
- * OPERATION: 00054000
- * DUMPSCAN IS MOST EFFECTIVE ON A GRAPHICS TYPE 00055000
- * TERMINAL. HOWEVER IT DOES TEST TERMINAL TYPE AND 00056000
- * PROVIDES A SLIGHTLY REDUCED FUNCTION TO A 2741. 00057000
- * USER IS FIRST OFFERED ASSISTANCE. THEN HE IS ASKED 00058000
- * FOR THE DUMP IDENTIFICATION. THIS IS CHECKED FOR 00059000
- * VALIDITY, AND FSSTATE ISSUED AGAINST THE DUMP. 00060000
- * IF ALL IS WELL '*** READY ***' PROMPTS USER TO 00061000
- * ENTER HIS COMMAND. THE COMMAND IS INTERROGATED, 00062000
- * VALIDITY CHECKED AND TOKENIZED INTO THE PLIST. 00063000
- * CONTROL IS PASSED TO THE APPROPRIATE SUBROUTINE, 00064000
- * ALONG WITH THE PLIST ADDRESS IF REQUIRED. 00065000
- * ON RETURN, THE RETURN CODE IS CHECKED. 00066000
- * 0 OR 4 CAUSE A RETURN TO THE READY MESSAGE, 00067000
- * 8 CAUSES RETURN TO CMS. 00068000
- * 00069000
- * ERROR MESSAGES: 00070000
- * DMMDSC719I - ERROR IN FSSTATE 00071000
- * 00072000
- * * * * * * * *------- -------- -------- -------- ------* 00073000
- EJECT 00074000
- DMMDSC CSECT @VA04250 00075000
- ENTRY TYPEFLAG TYPE OF TERMINAL @VA04250 00076000
- ENTRY CONSOLE ADDRESS OF VIRT CONSOLE @VA04250 00077000
- ENTRY CMDINFO HEADER LINE @VA04250 00078000
- ENTRY DUMPFSCB FSCB OF DUMP @VA04250 00079000
- ENTRY STRINGAD SEARCH ARGUMENT FOR LOCATE @V4075A2 00080000
- ENTRY STRINGLN LENGTH OF ARG @V4075A2 00081000
- ENTRY INPUT READ IN AREA @VA04250 00082000
- ENTRY SHARECON COMMON CONSTANTS @V4075A2 00083000
- ENTRY INLENGTH LENGTH OF INPUT LINE @VA04250 00084000
- ENTRY PRINTONE ONE-SHOT PRINT FLAG @V4075A2 00085000
- ENTRY PRINTSW @V4075A2 00086000
- EXTRN DMMDIR SCREEN WRITE @VA04250 00087000
- EXTRN DMMFED DISPLAY @VA04250 00088000
- EXTRN DMMFEX DISPLAY HEXLOC @VA04250 00089000
- EXTRN DMMGET FETCH DUMP TO CORE @VA04250 00090000
- EXTRN DMMHEX UNTRANSLATE @VA04250 00091000
- EXTRN DMMINT TRANSLATE @VA04250 00092000
- EXTRN DMMIOB VIO/RIO @VA04250 00093000
- EXTRN DMMLOC LOCATE @VA04250 00094000
- EXTRN DMMMAP ADD MAP TO DUMP @V4075A2 00095000
- EXTRN DMMMOD MODULE/ADDRESS SEARCH @VA04250 00096000
- EXTRN DMMREG REGISTERS @VA04250 00097000
- EXTRN DMMSCR SCROLL @VA04250 00098000
- EXTRN DMMTRC TRACE @VA04250 00099000
- EXTRN DMMVMB VMBLOK @VA04250 00100000
- EXTRN SCRNAREA DISPLAY AREA @VA04250 00101000
- EXTRN HEXAD LAST ADDRESS DISPLAYED @VA04250 00102000
- EXTRN ISW ITEM TABLE READ @VA04250 00103000
- EXTRN MAPREDSW LOAD MAP READ @VA04250 00104000
- EXTRN RECORDNO LAST RECORD READ @VA04250 00105000
- EXTRN PREBUFAD ADDRESS OF LOC BUFFER @V4075A2 00106000
- EXTRN BOUND INCREMENT PARM @V4075A2 00107000
- STM R14,R12,SAVEDISP(R13) SAVE CALLERS REGS @VA04250 00108000
- LR R12,R15 ADDRESSABILITY @VA04250 00109000
- LA R11,1 SET UP SECOND BASE REG @V4075A2 00110000
- SLL R11,12 SET TO 4096 @V4075A2 00111000
- AR R11,R12 AND ADD THIS BASE @V4075A2 00112000
- USING DMMDSC,R12,R11 BASE REG ASSIGNMENTS @V4075A2 00113000
- ST R13,SAVEBACK CALLERS SAVE AREA @VA04250 00114000
- B EYECATCH BYPASS EYECATCHER @VA04250 00115000
- DS 0D ALIGN @VA04250 00116000
- DC CL8'DMMDSC' EYECATCHER @VA04250 00117000
- RELLEV DC C'REL4LEV0' RELEASE AND LEVEL @V4075A1 00118000
- EYECATCH LA R13,SAVEAREA DSC SAVEAREA @VA04250 00119000
- XC RETCODE,RETCODE CLEAR RETURN CODE @VA04250 00120000
- * * * * * * * *------- -------- -------- -------- ------* 00121000
- * * * * * * * * FIND OUT IF THE TERMINAL IS A GRAPHIC 00122000
- * * * * * * * * DEVICE OR A TYPEWRITER TYPE. 00123000
- * * * * * * * *------- -------- -------- -------- ------* 00124000
- LA R6,NULL SET UP TO TEST TERM TYPE @VA04250 00125000
- BCTR R6,R0 FILL IT WITH 'FF' @VA04250 00126000
- DC X'83670024' CONS DIAGNOSE @VA04250 00127000
- ST R6,CONSOLE ADDRESS OF VIRTUAL CONSOLE @VA04250 00128000
- ST R8,TYPESAVE SAVE REAL DEVICE TYPE @VA04250 00129000
- TM TYPESAVE,CLASTERM IS IT A 2741 TYPE @VA04250 00130000
- BNO GETDUMP NO - ASSUME GRAPHIC DEVICE @VA04250 00131000
- TM TYPEREM,HIBYTEST IS IT A DISPLAY TEMINNAL? @VA09785 00132150
- BNZ SETYPER NO-SET 2741 @VA09785 00132300
- TM TYPEREM,LOBYTEST INSURE 3275,3276,3277 OR 3278 @VA09785 00132450
- BNZ GETDUMP IT IS A DISPLAY TERMINAL--BRANCH @VA09785 00132600
- SETYPER EQU * @VA09785 00132750
- MVI TYPEFLAG,TYPER NOT 3270 - SET TYPEWRITER FLAG @VA04250 00134000
- EJECT 00135000
- * * * * * * * *------- -------- -------- -------- ------* 00136000
- * * * * * * * * NOW START COMMUNICATION 00137000
- * * * * * * * * FIND OUT IF HE NEEDS HELP 00138000
- * * * * * * * *------- -------- -------- -------- ------* 00139000
- GETDUMP BAL R10,CLEAR CLEAR SCREEN @VA04250 00140000
- MVI PAGESW,PAGE1 RESET TO TYPE INFORMATION PAGE1 HRC001DM 00141990
- REREAD DS 0H HRC001DM 00142980
- LA R10,DUMPFSCB GET ADDRESS OF ANY OPEN DUMPFSCB HRC001DM 00143970
- FSCLOSE FSCB=(R10) AND CLOSE IT HRC001DM 00144960
- ENTER DS 0H HRC001DM 00145950
- LA R8,EMSG7011 ADDRESS HRC001DM 00146940
- LA R9,L'EMSG7011 AND LENGTH HRC001DM 00147930
- BAL R10,WRTERM WRITE FIRST MESSAGE HRC001DM 00148920
- LA R8,EMSG7012 ADDRESS HRC001DM 00149910
- LA R9,L'EMSG7012 AND LENGTH HRC001DM 00150900
- BAL R10,WRTERM WRITE FIRST MESSAGE HRC001DM 00151890
- LA R8,EMSG7013 ADDRESS HRC001DM 00152880
- LA R9,L'EMSG7013 AND LENGTH HRC001DM 00153870
- BAL R10,WRTERM WRITE FIRST MESSAGE HRC001DM 00154860
- LA R8,EMSG7014 ADDRESS HRC001DM 00155850
- LA R9,L'EMSG7014 AND LENGTH HRC001DM 00156840
- BAL R10,WRTERM WRITE FIRST MESSAGE HRC001DM 00157830
- LA R8,INPUT ADDRESS @VA04250 00161000
- BAL R10,RDTERM READ IT IN @VA04250 00162000
- LTR R0,R0 NULL LINE?? @VA04250 00163000
- BZ ENTER DONT LET HIM AWAY WITH THAT HRC001DM 00164490
- LR R2,R0 GET INLINE LENGTH @VA04250 00165000
- BAL R10,INCHECK CHECK 'HX' @V4075A2 00166000
- BAL R10,TOKEN TOKENIZE INPUT LINE @V4075A2 00167000
- * * * * * * * *------- -------- -------- -------- ------* 00168000
- * * * * * * * * NOW SLOT THE NUMBER ONTO THE END OF THE 00169000
- * * * * * * * * DUMP 'PRB' NAME, AND GET THE MODE. 00170000
- * * * * * * * *------- -------- -------- -------- ------* 00171000
- LA R2,L'PLIST1-THREEBYT MAX ALLOWED BYTES OF INPUT @VA04250 00172000
- LA R3,PLIST+VDEND END OF VALID DATA IN PLIST @VA04250 00173000
- LA R4,DUMPFSCB+FNEND END OF FILE NAME IN PLIST @VA04250 00174000
- MVC DUMPFSCB+FSCBDNUM(L'ZEROS),ZEROS SET DUMP NO. 0 @VA04250 00175000
- COMP CLI 0(R3),BLANK BLANK? @VA04250 00176000
- BE BUMPER YES - NO MOVE @VA04250 00177000
- MVC 0(CHARLEN,R4),0(R3) MOVE A CHARACTER @VA04250 00178000
- BCTR R4,R0 AND FSCB PTR @VA04250 00179000
- BUMPER BCTR R3,R0 DECREMENT PLIST PTR @VA04250 00180000
- BCT R2,COMP AND TRY AGAIN @VA04250 00181000
- CLC PLIST2,FENCE END OF LIST - NO MODE? @VA04250 00182000
- BE STATE GO SEE IF THERE REALLY IS A DUM @VA04250 00183000
- MVC DUMPFSCB+FM(CHARLEN),PLIST2 PLUG THE MODE @VA04250 00184000
- * * * * * * * *------- -------- -------- -------- ------* 00185000
- * * * * * * * * NOW SEE IF THE DUMP EXISTS 00186000
- * * * * * * * *------- -------- -------- -------- ------* 00187000
- STATE FSSTATE FSCB=DUMPFSCB,ERROR=STATERR @VA04250 00188000
- L R2,ISWADD ITEM TABLE SW @VA04250 00189000
- MVI 0(R2),NOTRED TURN IT OFF FOR THE NEW DUMP @VA04250 00190000
- L R2,MAPRSADD LOAD MAP READ @VA04250 00191000
- MVI 0(R2),NOTRED TURN IT OFF TOO @VA04250 00192000
- L R2,RECNOADD ADDRESS OF LAST RECORD READ @VA04250 00193000
- LA R3,NULL SET UP TO SET IT TO 'FF' @VA04250 00194000
- BCTR R3,R0 SET TO FFFFFFFFF @VA04250 00195000
- ST R3,0(R2) PLUG IN LAST REC READ @VA04250 00196000
- L R2,HEXADADD ADDRESS OF SCROLL ADDRESS @VA04250 00197000
- ST R3,0(R2) SET TO FOXES - NEW DUMP @VA04250 00198000
- * * * * * * * *------- -------- -------- -------- ------* 00199000
- * * * * * * * * WRITE THE READY MESSAGE 00200000
- * * * * * * * *------- -------- -------- -------- ------* 00201000
- REREADY CLI TYPEFLAG,TYPER TYPER? @VA04250 00202000
- BNE GRAPHITE NO - SCREEN @VA04250 00203000
- LA R8,SHORTRDY ADDRESS @VA04250 00204000
- LA R9,L'SHORTRDY AND LENGTH @VA04250 00205000
- BAL R10,WRTERM WRITE '*R' _ SHORT READY - 2741 @VA04250 00206000
- B READY GO READ IN LINE @VA04250 00207000
- GRAPHITE LA R8,READYMSG ADDRESS @VA04250 00208000
- LA R9,L'READYMSG AND LENGTH @VA04250 00209000
- BAL R10,WRTERM WRITE '*** READY ***' TO SCREEN @VA04250 00210000
- B READY GO TO READ IN @VA04250 00211000
- EJECT 00212000
- * * * * * * * *------- -------- -------- -------- ------* 00213000
- * * * * * * * THIS SECTION READS THE LINE ENTERED 00214000
- * * * * * * * AT THE CONSOLE, AND PASSES CONTROL 00215000
- * * * * * * * TO THE APPROPRIATE ROUTINE. 00216000
- * * * * * * * *-----------------------------------------* 00217000
- READY MVC INSAVE,BLANKOUT CLEAR SAVE AREA @VA04830 00218000
- MVC INSAVE,INPUT SAVE LAST INPUT LINE @VA04250 00219000
- MVC OLDINLEN,INLENGTH SAVE LAST INPUT LENGTH @VA04250 00220000
- CLI PRINTONE,TURNOFF PRINT ON FOR A ONE-SHOT DEAL? @V4075A2 00221000
- BE READIN NO - DONT CHANGE ANYTHING @V4075A2 00222000
- MVI PRINTONE,TURNOFF YES - TURN OFF ONE SHOT FLAG @V4075A2 00223000
- MVI PRINTSW,TURNOFF AND TURN PRINT OFF @V4075A2 00224000
- READIN LA R8,INPUT ADDRESS OF BUFFER @V4075A2 00225000
- BAL R10,RDTERM READ IT @VA04250 00226000
- LTR R10,R0 GET INPUT LENGTH FOR 'HUH?' @VA04250 00227000
- BZ REUSE CHECK IF 'REUSE' IS VALID @VA04250 00228000
- LR R2,R10 GET INPUT LENGTH FOR TOKEN @VA04250 00229000
- ST R2,INLENGTH SAVE INPUT LENGTH @VA04250 00230000
- REINCHK BAL R10,INCHECK 'HX' ? @V4075A2 00231000
- BAL R10,AMPTRUNK AMP NAME OVER 8 CHARS ?? @V4075A2 00232000
- BAL R10,TOKEN TOKENIZE INPUT @V4075A2 00233000
- PLISTSCN CLC PLIST(CHARLEN),VMBLOK VMBLOK? @V4075A2 00234000
- BE VCHECK CHECK FOR ABBREVIATIONS @VA04250 00235000
- CLC PLIST(THREEBYT),DMK DMKXXX @VA04250 00236000
- BE GOMOD MOD SEARCH SET UP @VA04250 00237000
- CLC PLIST(THREEBYT),HDK HDKXXX HRC001DM 00237300
- BE GOMOD MOD SEARCH SET UP HRC001DM 00237600
- CLC PLIST(CHARLEN),SCROLL SCROLL REQUEST? @VA04250 00238000
- BE SCHECK ABBREV CHECK @VA04250 00239000
- CLC PLIST(CHARLEN),REGS ALL REGS? @VA04250 00240000
- BE RCHECK ABBREV CHECK @VA04250 00241000
- CLC PLIST(TWOBYTES),G G REGS? @VA04250 00242000
- BE GOREGS GEN REGS @VA04250 00243000
- CLC PLIST(TWOBYTES),C C REGS? @VA04250 00244000
- BE GOREGS CTL REGS @VA04250 00245000
- CLC PLIST(CHARLEN),DISPLAY DISPLAY TYPE? @VA04250 00246000
- BE DCHECK ABBREVIATION CHECK @VA04250 00247000
- CLC PLIST(CHARLEN),TRACE TRACE REQUEST? @VA04250 00248000
- BE TCHECK CHECK ABBREVIATIONS @VA04250 00249000
- CLC PLIST(CHARLEN),LOCATE LOCATE? @VA04250 00250000
- BE LCHECK GO CHECK @VA04250 00251000
- CLC PLIST(L'QUERY),QUERY IS IT A QUESTION MARK? @VA04250 00252000
- BE POSTIN GO SHOW INPUT LINE @VA04250 00253000
- CLC PLIST(SEVENBYT),INVALID INVALID INPUT SIGNAL @VA04250 00254000
- BE INQUIRY GO CHANGE 'HUH' CHARACTER @VA04250 00255000
- CLC PLIST(CHARLEN),PRINT PRINT? @V4075A2 00256000
- BE PCHECK GO TEST OUT THE COMMAND @V4075A2 00257000
- CLC PLIST(CHARLEN),AMPERSAN &? @V4075A2 00258000
- BE AMPCHECK GO HANDLE &NAME REQUEST @V4075A2 00259000
- CLC PLIST,MAP NUC MAP REQUEST? @V4075A2 00260000
- BE MAPCHECK YES - GO SET UP TO ADD MAP @V4075A2 00261000
- CLC PLIST(CHARLEN),M MREGS ? @V4075A2 00262000
- BE APCHECK GO TEST AP REGS REQUEST. @V4075A2 00263000
- CLC PLIST(CHARLEN),A AREGS ? @V4075A2 00264000
- BE APCHECK CHECK AP REGS REQUEST @V4075A2 00265000
- * * * * * * * * ------- -------- -------- ------- * 00266000
- * * * * * * * * THE INPUT WAS NOT RECOGNIZED. 00267000
- * * * * * * * * SHOW THE USER HIS INPUT LINE 00268000
- * * * * * * * * AND LET HIM RETRY 00269000
- * * * * * * * * ------- -------- -------- ------- * 00270000
- NOTKNOWN BAL R10,CLEAR CLEAR SCREEN @VA04250 00271000
- LA R8,HUH ADDRESS OF '???...' CHARACTER @VA04250 00272000
- LA R9,L'HUH AND LENGTH @VA04250 00273000
- A R9,INLENGTH ADD THE LENGTH OF THE INPUT LINE @V4075A2 00274000
- BAL R10,WRTERM DID NOT RECOGNIZE THE INPUT @VA04250 00275000
- B REREADY GO BACK TO READ @VA04250 00276000
- EJECT 00277000
- * * * * * * * *------- -------- -------- -------- ------* 00278000
- * * * * * * * * THESE HANDLE THE ROUTING TO THE VARIOUS 00279000
- * * * * * * * * SUBROUTINES, AND THEIR RETURN. 00280000
- * * * * * * * * EACH ROUTINE, WHERE APPROPRIATE, 00281000
- * * * * * * * * CHECKS FOR VALID ABBREVIATIONS OF THE 00282000
- * * * * * * * * SUBCOMMANDS. 00283000
- * * * * * * * *------- -------- -------- -------- ------* 00284000
- * * * * * * * * CHECK 'VIO' THEN GIVE VMBLOK A TRY 00285000
- * * * * * * * * ------- -------- -------- ------- * 00286000
- VCHECK CLC PLIST+ONE(L'NOPARM),NOPARM IS THIS JUST 'V' ? @VA04250 00287000
- BE GOVMB TREAT IT AS A VMB REQUEST @VA04250 00288000
- LA R2,PLIST+L'VIOBLOK-ONE COUNT LETTERS IN PLIST @VA04250 00289000
- LA R3,VIOBLOK+L'VIOBLOK-ONE MATCH WITH THE TARGET @VA04250 00290000
- LA R4,L'VIOBLOK-ONE COUNT TRIES DOWN TO 'VX' @VA04250 00291000
- BAL R10,PCOMP GO TO PLIST CHECK ROUTINE @VA04250 00292000
- B VMBCHECK NOT VIO - TRY VMB @VA04250 00293000
- BAL R10,NULLCHK4 CHECK NO FOURTH TERM @VA04250 00294000
- B GOIOB HIT ON VIO - GO TO IOB @VA04250 00295000
- VMBCHECK LA R2,PLIST+L'VMBLOK-ONE PLIST ENTRY LENGTH @VA04250 00296000
- LA R3,VMBLOK+L'VMBLOK-ONE MATCH VMBLOK @VA04250 00297000
- LA R4,L'VMBLOK TRY ALL LETTERS @VA04250 00298000
- BAL R10,PCOMP GO TO CHECK ROUTINE @VA04250 00299000
- B NOTKNOWN NO LUCK @VA04250 00300000
- * * * * * * * * ------- -------- -------- ------- * 00301000
- * * * * * * * * VMBLOK SETUP 00302000
- * * * * * * * * ------- -------- -------- ------- * 00303000
- GOVMB BAL R10,CLEAR TOP OF SCREEN @VA04250 00304000
- BAL R10,NULLCHK2 CHECK NO SECOND PARM @VA04250 00305000
- L R15,VMBADD 'VMB' ADDRESS @VA04250 00306000
- BALR R14,R15 GO @VA04250 00307000
- LTR R15,R15 HOW WAS IT? @VA04250 00308000
- BZ REREADY REAL GOOD @VA04250 00309000
- B CODECHEK THAT BAD HUH? @VA04250 00310000
- * * * * * * * * ------- -------- -------- ------- * 00311000
- * * * * * * * * SCROLL VALIDITY CHECKING 00312000
- * * * * * * * * ------- -------- -------- ------- * 00313000
- SCHECK LA R2,PLIST+L'SCROLL COUNT LETTERS IN PLIST @VA04250 00314000
- LA R3,SCROLL+L'SCROLL MATCH IN TARGET @VA04250 00315000
- LA R4,L'SCROLL NUMBER OF TRIES @VA04250 00316000
- BAL R10,PCOMP PLIST CHECKOUT @VA04250 00317000
- B NOTKNOWN NO LUCK @VA04250 00318000
- * * * * * * * * ------- -------- -------- ------- * 00319000
- * * * * * * * * SET UP FOR SCROLL 00320000
- * * * * * * * * ------- -------- -------- ------- * 00321000
- GOSCROLL BAL R10,NULLCHK2 CHECK NO SECOND PARM @VA04250 00322000
- LA R2,PLIST INPUT TO PASS TO SCROLL @VA04250 00323000
- L R15,SCRADD SCROLL ROUTINE @VA04250 00324000
- BALR R14,R15 GO SCROLL IT @VA04250 00325000
- LTR R15,R15 OK ? @VA04250 00326000
- BNZ CODECHEK WHAT WAS THE RET CODE @VA04250 00327000
- B READY READ NEXT LINE @VA04250 00328000
- * * * * * * * *------- -------- -------- -------- ------* 00329000
- * * * * * * * * CHECK OUT 'RIOBLOK' 00330000
- * * * * * * * * ------- -------- -------- ------- * 00331000
- RCHECK CLC PLIST+ONE(L'NOPARM),NOPARM IS THIS JUST AN 'R'? @VA04250 00332000
- BE GOREGS TREAT IT AS A REG REQUEST @VA04250 00333000
- LA R2,PLIST+L'RIOBLOK-ONE 'RIO ' @VA04250 00334000
- LA R3,RIOBLOK+L'RIOBLOK-ONE TARGET @VA04250 00335000
- LA R4,L'RIOBLOK-ONE TRY DOWN TO 'RI' @VA04250 00336000
- BAL R10,PCOMP CHECK PLIST @VA04250 00337000
- B REGCHECK NOT RIO - TRY REGS @VA04250 00338000
- BAL R10,NULLCHK3 CHECK NO THIRD PARM @VA04250 00339000
- B GOIOB RIO REQUEST @VA04250 00340000
- ************************************************************ @V4075A2 00341000
- * CHECK FOR MREGS OR AREGS REQUEST @V4075A2 00342000
- ************************************************************ @V4075A2 00343000
- APCHECK LA R2,PLIST+L'XREGS-ONE COUNT PLIST ENTRY @V4075A2 00344000
- LA R3,XREGS+L'XREGS-ONE COUNT TARGET @V4075A2 00345000
- LA R4,L'XREGS-1 COUNT TIMES TO TRY @V4075A2 00346000
- BAL R10,PCOMP CHECK ALL ABBREVIATIONS @V4075A2 00347000
- B NOTKNOWN BAD RETURN @V4075A2 00348000
- BAL R10,NULLCHK2 CHECK FOR NO SECOND TERM @V4075A2 00349000
- B GOREGS OK - PASS IT TO DMMREG @V4075A2 00350000
- * * * * * * * * ------- -------- -------- ------- * 00351000
- * * * * * * * * NOT 'RIO' - NOW CHECK 'REGS' 00352000
- * * * * * * * * ------- -------- -------- ------- * 00353000
- REGCHECK LA R2,PLIST+L'REGS-ONE COUNT PLIST ENTRY @VA04250 00354000
- LA R3,REGS+L'REGS-ONE COUNT IN TARGET @VA04250 00355000
- LA R4,L'REGS COUNT TRIES @VA04250 00356000
- BAL R10,PCOMP CHECK IT AGAINST TARGET @VA04250 00357000
- B NOTKNOWN NOLUCK @VA04250 00358000
- GOREGS BAL R10,NULLCHK2 CHECK NO SECOND PARM @VA04250 00359000
- LA R2,PLIST GET THE COMMAND @VA04250 00360000
- L R15,REGADD AND THE ADDRESS @VA04250 00361000
- BALR R14,R15 AND GO REG IT @VA04250 00362000
- LTR R15,R15 TEST RETCODE @VA04250 00363000
- BNZ CODECHEK HOW BAD? @VA04250 00364000
- B REREADY GO WRITE READY. @VA04250 00365000
- ***************************************************************@V4075A2 00366000
- * &NAME ALLOWS USER TO EQUATE A GIVEN NAME TO A @V4075A2 00367000
- * GIVEN SUBCOMMAND. '&' ONLY REQUESTS A LISTING @V4075A2 00368000
- * OF ASSIGNED NAMES. CHECK THIS FIRST. @V4075A2 00369000
- * ENTRIES, OF THE FORM '&NAME A B C' WHERE &NAME @V4075A2 00370000
- * IS A USER SUPPLIED NAME, AND 'A B C' IS A SUBCOMMAND @V4075A2 00371000
- * ARE STORED IN 'AMPTABLE', AS A STRING OF 8 BYTE @V4075A2 00372000
- * TOKENS. NEW ENTRIES ARE ADDED TO THE END. IF @V4075A2 00373000
- * THIS IS A REPLACE THE OLD ENTRY IS FIRST REMOVED, @V4075A2 00374000
- * AND THE GAS EXTRACTED. @V4075A2 00375000
- ***************************************************************@V4075A2 00376000
- AMPCHECK CLC AMPERSAN,PLIST IS THIS A LONE AMPERSAND ? @V4075A2 00377000
- BE SHOWTAB YES - GO DISPLAY THE TABLE @V4075A2 00378000
- ***************************************************************@V4075A2 00379000
- * AN &NAME SUBCOMMAND MAY NOT CONTAIN @V4075A2 00380000
- * AN &NAME TERM NOR A PRINT SUBCOMMAND. @V4075A2 00381000
- ***************************************************************@V4075A2 00382000
- CLC PLIST2(CHARLEN),PRINT IS THIS TO BE A PRINT? @V4075A2 00383000
- BE ILLEGAMP YES - DONT ALLOW IT @V4075A2 00384000
- LA R3,PLIST2 POINT TO NEXT TERM @V4075A2 00385000
- TERM2CHK CLC FENCE,0(R3) ARE THERE MORE TERMS ? @V4075A2 00386000
- BE TSEARCH NO MORE TERMS - GO SCAN TABLE @V4075A2 00387000
- CLC 0(CHARLEN,R3),AMPERSAN IS THERE A SECOND AMPER ?@V4075A2 00388000
- BE ILLEGAMP YES - GO ISSUE WARNING @V4075A2 00389000
- LA R3,L'PLIST(R3) CHECK NEXT TERM @V4075A2 00390000
- B TERM2CHK AND TRY THE NEXT @V4075A2 00391000
- ***************************************************************@V4075A2 00392000
- * SEARCH THE NAMETABLE FOR THE &NAME, @V4075A2 00393000
- * THE END OF THE ENTRIES, OR THE END OF THE TABLE @V4075A2 00394000
- ***************************************************************@V4075A2 00395000
- TSEARCH LA R3,AMPTABLE POINT TO THE &NAME TABLE @V4075A2 00396000
- ENDCHECK CLC FENCE,0(R3) END OF TABLE-SPACE? @V4075A2 00397000
- BE OFFEND YES - NOT IN TAB. CHECK 2ND TERM @V4075A2 00398000
- CLC BLANKS,0(R3) END OF ENTRIES @V4075A2 00399000
- BE NOTINTAB NOT IN TABLE - ADD IT @V4075A2 00400000
- CLC PLIST,0(R3) NAME WE'RE SEEKING ? @V4075A2 00401000
- BE FOUNDAMP YES - NAME IS IN TABLE @V4075A2 00402000
- LA R3,L'AMPTABLE(R3) NOT YET - TRY NEXT ENTRY @V4075A2 00403000
- B ENDCHECK ROUND AGAIN @V4075A2 00404000
- OFFEND CLC PLIST2,FENCE NO SECOND TERM - IE CALLING ? @V4075A2 00405000
- BE NOTKNOWN YES - SO IT WAS NOT FOUND @V4075A2 00406000
- B FULLMSG NO - ADDING, BUT NO ROOM IN TAB. @V4075A2 00407000
- ***************************************************************@V4075A2 00408000
- * ADD THIS NAME TO THE END OF THE TABLE @V4075A2 00409000
- * R3 POINTS TO THE AMPTABLE SLOT @V4075A2 00410000
- ***************************************************************@V4075A2 00411000
- NOTINTAB CLC PLIST2,FENCE INVALID CALL TO TABLE? @V4075A2 00412000
- BE NOTKNOWN YES SEND IT BACK @V4075A2 00413000
- LA R2,PLIST NO - ADD IT - POINT TO INPUT @V4075A2 00414000
- ST R3,NEWSTART SAVE THE START INCASE NO ROOM @V4075A2 00415000
- NEXTTERM MVC 0(L'AMPTABLE,R3),0(R2) MOVE THE PLIST ENTRY TO THE TABLE 00416000
- LA R2,L'PLIST(R2) NEXT PLIST ENTRY @V4075A2 00417000
- CLC FENCE,0(R2) IS IT THE END OF THE PLIST? @V4075A2 00418000
- BE AMPEND YES - &NAME IS ADDED - EXIT @V4075A2 00419000
- LA R3,L'AMPTABLE(R3) NEXT SLOT IN &NAME TABLE @V4075A2 00420000
- CLC FENCE,0(R3) ARE WE OFF THE END OF THE TABLE? @V4075A2 00421000
- BNE NEXTTERM NOT YET - TRY AGAIN @V4075A2 00422000
- ***************************************************************@V4075A2 00423000
- * IF WE FILLED UP THE TABLE, WE MAY HAVE A PART @V4075A2 00424000
- * OF AN ENTRY IN THE TABLE. THIS REMOVES IT @V4075A2 00425000
- ***************************************************************@V4075A2 00426000
- L R3,NEWSTART FILLED UP, CLEAR OUT PART ENTRY @V4075A2 00427000
- ST R3,NEXTSLOT THIS IS THE NEW NEXT SLOT @V4075A2 00428000
- FENCEYET CLC FENCE,0(R3) BACK TO END OF TABLE @V4075A2 00429000
- BE FULLMSG YES - GO SEND NOROOM MSG @V4075A2 00430000
- MVC 0(L'AMPTABLE,R3),BLANKS CLEAR OUT AN ENTRY @V4075A2 00431000
- LA R3,L'AMPTABLE(R3) BUMP TO NEXT SLOT @V4075A2 00432000
- B FENCEYET AND TRY THE NEXT @V4075A2 00433000
- ***************************************************************@V4075A2 00434000
- * AN &TERM WAS FOUND LURKING IN THE SUBCOMMAND. @V4075A2 00435000
- * SEND A MESSAGE TO THE USER, WARNING HIM @V4075A2 00436000
- ***************************************************************@V4075A2 00437000
- ILLEGAMP LA R8,ILLAMPMS GET THE TWO AMPERS MESSAGE @V4075A2 00438000
- LA R9,TAMSGLEN AND ITS LENGTH @V4075A2 00439000
- BAL R10,WRTERM AND WRITE IT @V4075A2 00440000
- B AMPEND GO TO GET OUT @V4075A2 00441000
- ***************************************************************@V4075A2 00442000
- * HERE AS A RESULT OF AN '&' REQUEST WE DISPLAY @V4075A2 00443000
- * THE CURRENT TABLE ENTRIES @V4075A2 00444000
- ***************************************************************@V4075A2 00445000
- SHOWTAB MVI AMPBUFF,BLANK SET TO CLEAR @V4075A2 00446000
- MVC AMPBUFF+1(L'AMPBUFF-1),AMPBUFF BUFFER TO BLANKS @V4075A2 00447000
- LA R2,AMPTABLE START OF TABLE @V4075A2 00448000
- LA R3,AMPBUFF START OF BUFFER @V4075A2 00449000
- TABLEMOV MVC 0(L'AMPTABLE,R3),0(R2) MOVE TERM INTO THE BUFFER@V4075A2 00450000
- LA R2,L'AMPTABLE(R2) BUMP INPUT POINTER @V4075A2 00451000
- LA R3,L'AMPTABLE+1(R3) AND O/P PTR (MAY BE 8 BY)@V4075A2 00452000
- CLC BLANKS,0(R2) END OF ENTRIES ? @V4075A2 00453000
- BE WRTABEND YES - MARK END OF TABLE @V4075A2 00454000
- CLC FENCE,0(R2) END OF TABLE ? @V4075A2 00455000
- BE WRTABEND SAME DEAL @V4075A2 00456000
- CLC 0(CHARLEN,R2),AMPERSAN OR IS IT THE NEXT ENTRY @V4075A2 00457000
- BE WRTABLE WRITE IT BUT DONT FLAG END @V4075A2 00458000
- B TABLEMOV STILL WITHIN ENTRY - BACK AROUND @V4075A2 00459000
- ***************************************************************@V4075A2 00460000
- * NOW THE LINE IS IN PLACE. RUN THROUGH IT @V4075A2 00461000
- * AND STRIP OUT THE BLANKS, THEN WRITE IT. @V4075A2 00462000
- ***************************************************************@V4075A2 00463000
- WRTABEND MVI TABENDSW,TURNON SET END OF ENTRIES @V4075A2 00464000
- WRTABLE XC OUTLINE,OUTLINE CLEAR THE OUTPUT AREA @V4075A2 00465000
- MVI ZBSWITCH,TURNOFF SET SWITCH OFF @V4075A2 00466000
- LA R4,AMPBUFF INPUT PTR @V4075A2 00467000
- LA R5,OUTLINE OUTPUT POINTER @V4075A2 00468000
- LA R6,L'AMPBUFF COUNT BYTES @V4075A2 00469000
- ZBTEST CLI 0(R4),BLANK IS IT A BLANK? @V4075A2 00470000
- BE ZBCHECK IF SO, IS IT THE FIRST? @V4075A2 00471000
- CLI 0(R4),HEXZERO OR A HEX '00'? @V4075A2 00472000
- BE ZBCHECK FIRST? @V4075A2 00473000
- MVI ZBSWITCH,TURNOFF NEITHER - SET SWITCH OFF @V4075A2 00474000
- MOVEBYTE MVC 0(ONE,R5),0(R4) MOVE A BYTE TO OUTPUT @V4075A2 00475000
- LA R5,ONE(R5) BUMP OUTPUT PTR @V4075A2 00476000
- BUMPIN LA R4,ONE(R4) BUMP INPUT PTR @V4075A2 00477000
- BCT R6,ZBTEST TRY NEXT CHAR @V4075A2 00478000
- B WRITESET ALL DONE - SET UP WRITE @V4075A2 00479000
- ZBCHECK CLI ZBSWITCH,TURNON IS THIS NOT THE FIRST ZERO? @V4075A2 00480000
- BE BUMPIN YES - SKIP IT @V4075A2 00481000
- MVI ZBSWITCH,TURNON NO - SET IT ON @V4075A2 00482000
- B MOVEBYTE BUT MOVE IT ANYWAY @V4075A2 00483000
- ***************************************************************@V4075A2 00484000
- * NOW ALL BYTES ARE MOVED. R5 POINTS @V4075A2 00485000
- * TO THE LAST CHAR IN THE COMPRESSED LINE @V4075A2 00486000
- * FIND ITS LENGTH, AND THEN WRITE IT. @V4075A2 00487000
- ***************************************************************@V4075A2 00488000
- WRITESET LA R6,OUTLINE-ONE START OF LINE @V4075A2 00489000
- SR R5,R6 LENGTH OF LINE @V4075A2 00490000
- LR R9,R5 PUT IT IN R9 @V4075A2 00491000
- LA R8,OUTLINE START OF LINE @V4075A2 00492000
- BAL R10,WRTERM GO WRITE IT @V4075A2 00493000
- ***************************************************************@V4075A2 00494000
- * SEE IF WE HAVE WRITTEN ALL THE LINES @V4075A2 00495000
- * OR IF WE HAVE MORE TO GO. @V4075A2 00496000
- ***************************************************************@V4075A2 00497000
- CLI TABENDSW,TURNON DID WE REACH LAST ENTRY ? @V4075A2 00498000
- BE ENDSWOFF YES - GO WRAP UP @V4075A2 00499000
- LA R3,AMPBUFF START OF OUTPUT BUFFER @V4075A2 00500000
- MVI AMPBUFF,BLANK AND CLEAR IT @V4075A2 00501000
- MVC AMPBUFF+1(L'AMPBUFF-1),AMPBUFF @V4075A2 00502000
- B TABLEMOV AND GO DO THE NEXT ONE @V4075A2 00503000
- ENDSWOFF MVI TABENDSW,TURNOFF YES - RESET THE SWITCH. @V4075A2 00504000
- B AMPEND AND EXIT @V4075A2 00505000
- ***************************************************************@V4075A2 00506000
- * WE FOUND THE NAME IN THE TABLE. @V4075A2 00507000
- * IF THERE IS A SECOND PARM ON THE INPUT, @V4075A2 00508000
- * REMOVE THE OLD ENTRY AND CLOSE UP THE TABLE. @V4075A2 00509000
- * THEN ADD THE NEW ENTRY TO THE END. @V4075A2 00510000
- * IF THERE IS NO SECOND PARM IN THE INPUT, @V4075A2 00511000
- * FETCH THE EXISTING ENTRY AND SUBMIT IT. @V4075A2 00512000
- ***************************************************************@V4075A2 00513000
- FOUNDAMP CLC PLIST2,FENCE IS THERE NO SECOND TERM ? @V4075A2 00514000
- BE SUBMIT RIGHT - GO SEND IN THE SUBCOMMAND@V4075A2 00515000
- ***************************************************************@V4075A2 00516000
- * THERE IS A PARM. 'PERFORM TABLE MAINTENANCE' @V4075A2 00517000
- ***************************************************************@V4075A2 00518000
- ST R3,NEXTSLOT TRUE IF WE REPLACE LAST ENTRY @V4075A2 00519000
- LA R2,L'AMPTABLE(R3) NEXT SLOT IN TABLE @V4075A2 00520000
- NEXTNAME CLC 0(CHARLEN,R2),AMPERSAN SCAN FOR NEXT '&' @V4075A2 00521000
- BE CLOSEUP FOUND IT - GO CLOSE GAP @V4075A2 00522000
- CLC BLANKS,0(R2) THEN IS IT BLANKS ? @V4075A2 00523000
- BE LASTENTR YES - THIS WAS THE LAST ENTRY @V4075A2 00524000
- CLC FENCE,0(R2) END OF TABLE AREA ? @V4075A2 00525000
- BE LASTENTR LAST IN SPACE @V4075A2 00526000
- LA R2,L'AMPTABLE(R2) NONE OF THE ABOVE @V4075A2 00527000
- B NEXTNAME TRY NEXT TERM @V4075A2 00528000
- ***************************************************************@V4075A2 00529000
- * THIS BLANKS OUT THE ENTRY IF IT WAS THE LAST ONE @V4075A2 00530000
- ***************************************************************@V4075A2 00531000
- LASTENTR MVC 0(L'AMPTABLE,R3),BLANKS CLEAR OUT THE ENTRY @V4075A2 00532000
- LA R3,L'AMPTABLE(R3) POINT TO NEXT TERM @V4075A2 00533000
- CLC BLANKS,0(R3) TABLE EMPTY ? @V4075A2 00534000
- BE ADDNEXT YES - GO PLUG IT IN @V4075A2 00535000
- CLC FENCE,0(R3) OR END OF TABLE SPACE ? @V4075A2 00536000
- BE ADDNEXT EITHER WAY, GO PLUG IN THE NEW ON@V4075A2 00537000
- B LASTENTR NO - GO CLEAR MORE @V4075A2 00538000
- ***************************************************************@V4075A2 00539000
- * NOW CLOSE UP TO COVER THE OLD NAME @V4075A2 00540000
- * R2 POINTS TO NEXT VALID NAME, R3 TO THE OLD NAME. @V4075A2 00541000
- ***************************************************************@V4075A2 00542000
- CLOSEUP MVC 0(L'AMPTABLE,R3),0(R2) MOVE ENTRY LEFT IN TABLE @V4075A2 00543000
- LA R2,L'AMPTABLE(R2) BUMP INPUT PTR @V4075A2 00544000
- LA R3,L'AMPTABLE(R3) AND OUT PTR @V4075A2 00545000
- CLC FENCE,0(R2) OUT OF SPACE ? @V4075A2 00546000
- BE LAPCHECK GO CHECK ENDING CONDITION @V4075A2 00547000
- CLC BLANKS,0(R2) OR ALL DONE ? @V4075A2 00548000
- BE LAPCHECK CHECK ENDING @V4075A2 00549000
- B CLOSEUP NOT YET - ROUND AGAIN @V4075A2 00550000
- ***************************************************************@V4075A2 00551000
- * NOW CHECK THAT THE WHOLE ENTRY WAS CLEARED @V4075A2 00552000
- ***************************************************************@V4075A2 00553000
- LAPCHECK ST R3,NEXTSLOT SAVE THE POINTER TO NEXT SLOT @V4075A2 00554000
- LAPLOOP CLC BLANKS,0(R3) HAS IT BEEN CLEARED ? @V4075A2 00555000
- BE ADDNEXT YES - GO ADD NEW ENTRY @V4075A2 00556000
- CLC FENCE,0(R3) OR IS IT END OF TABLE ? @V4075A2 00557000
- BE ADDNEXT YES - GO ADD THE NEW ENTRY @V4075A2 00558000
- MVC 0(L'AMPTABLE,R3),BLANKS NO - DO IT NOW @V4075A2 00559000
- LA R3,L'AMPTABLE(R3) LOOK AT THE NEXT. @V4075A2 00560000
- B LAPLOOP AND ROUND AGAIN @V4075A2 00561000
- ***************************************************************@V4075A2 00562000
- * THE LIST IS NOW CONDENSED. ADD THE NEW @V4075A2 00563000
- * ENTRY ONTO THE END, GETTING THE STARTING @V4075A2 00564000
- * ADDRESS FROM 'NEXTSLOT' @V4075A2 00565000
- ************************************************************* @V4075A2 00566000
- ADDNEXT LA R2,PLIST POINT TO NEW ENTRY @V4075A2 00567000
- L R3,NEXTSLOT POINT TO NEXTSLOT @V4075A2 00568000
- NEXTOKEN MVC 0(L'AMPTABLE,R3),0(R2) MOVE IN THE TOKEN @V4075A2 00569000
- LA R2,L'AMPTABLE(R2) BUMP INPUT @V4075A2 00570000
- LA R3,L'AMPTABLE(R3) AND OUTPUT @V4075A2 00571000
- CLC FENCE,0(R2) END OF INPUT FROM PLIST? @V4075A2 00572000
- BE AMPEND YES ALL MOVED @V4075A2 00573000
- CLC FENCE,0(R3) END OF TABLE SPACE ? @V4075A2 00574000
- BE NOROOM RIGHT - GO SEND MESSAGE @V4075A2 00575000
- B NEXTOKEN NO - GO GET NEXT @V4075A2 00576000
- ***************************************************************@V4075A2 00577000
- * CLEAR OUT THE PARTIAL ENTRY AND @V4075A2 00578000
- * WRITE THE 'NO ROOM AT THE TABLE' MESSAGE @V4075A2 00579000
- ***************************************************************@V4075A2 00580000
- NOROOM L R3,NEXTSLOT POINT TO FIRST TRUE SPACE @V4075A2 00581000
- CLEARTAB MVC 0(L'AMPTABLE,R3),BLANKS CLEAR A SLOT @V4075A2 00582000
- LA R3,L'AMPTABLE(R3) POINT TO NEXT TO CLEAR @V4075A2 00583000
- CLC BLANKS,0(R3) IS IT ALREADY BLANK ? @V4075A2 00584000
- BE FULLMSG YES - DONE - GO TO MSG @V4075A2 00585000
- CLC FENCE,0(R3) OR END OF TABLE? @V4075A2 00586000
- BNE CLEARTAB NO - GO DO NEXT @V4075A2 00587000
- FULLMSG LA R8,TABFULMS GET THE ADDRESS OF THE MSG @V4075A2 00588000
- LA R9,TFMSGLEN AND THE LENGTH @V4075A2 00589000
- BAL R10,WRTERM AND GO WRITE IT @V4075A2 00590000
- B AMPEND AND GET OUT @V4075A2 00591000
- ***************************************************************@V4075A2 00592000
- * GET THE SUBCOMMAND FROM THE TABLE AND @V4075A2 00593000
- * SEND IT TO BE PROCESSED. @V4075A2 00594000
- ***************************************************************@V4075A2 00595000
- SUBMIT MVC INSAVE,BLANKOUT CLEAR SAVE AREA @V4075A2 00596000
- MVC INSAVE,INPUT SAVE INPUT LINE @V4075A2 00597000
- MVC OLDINLEN,INLENGTH AND LENGTH @V4075A2 00598000
- LA R4,L'AMPTABLE(R3) R4 NOW START OF SUBC. @V4075A2 00599000
- LA R3,INPUT WHERE TO PUT IT @V4075A2 00600000
- LA R2,NULL SET COUNTER @V4075A2 00601000
- AMPTOPLS MVC 0(L'AMPTABLE,R3),0(R4) MOVE IN A TOKEN @V4075A2 00602000
- LA R4,L'AMPTABLE(R4) BUMP INPUT @V4075A2 00603000
- LA R3,L'AMPTABLE+1(R3) AND OUTPUT @V4075A2 00604000
- LA R2,L'AMPTABLE+1(R2) COUNT THE BYTES MOVED IN @V4075A2 00605000
- CLC 0(CHARLEN,R4),AMPERSAN START OF NEXT ENTRY ? @V4075A2 00606000
- BE COUNTIT YES - GO SAVE LENGTH @V4075A2 00607000
- CLC BLANKS,0(R4) OR END OF TABLE? @V4075A2 00608000
- BE COUNTIT YES - GO SAVE LENGTH @V4075A2 00609000
- CLC FENCE,0(R4) OR END OF TABLE SPACE ? @V4075A2 00610000
- BE COUNTIT YES - GO SAVE LENGTH @V4075A2 00611000
- B AMPTOPLS NONE OF ABOVE - MOVE IN TOKEN @V4075A2 00612000
- COUNTIT ST R2,INLENGTH SAVE THE INPUT LENGTH @V4075A2 00613000
- B REINCHK ALL DONE - GO TOKENIZE @V4075A2 00614000
- ************************************************************ @V4075A2 00615000
- * THE LENGTH OF AN ''&NAME'' MUST NOT EXCEED @V4075A2 00616000
- * EIGHT BYTES - CHECK FOR THIS. @V4075A2 00617000
- ************************************************************ @V4075A2 00618000
- AMPTRUNK LA R3,INPUT START OF INPUT @V4075A2 00619000
- BCHK CLI 0(R3),BLANK SCAN FOR START OF DATA @V4075A2 00620000
- BNE AMP THEN IS IT AN AMPERSAND? @V4075A2 00621000
- LA R3,1(R3) LOOK FOR NEXT @V4075A2 00622000
- B BCHK AND TRY IT @V4075A2 00623000
- AMP CLC 0(CHARLEN,R3),AMPERSAN IS IT AN &NAME DEAL? @V4075A2 00624000
- BNE NOTRUNK NO - NO CHECK NEEDED @V4075A2 00625000
- LA R4,L'PLIST CHECK FOR TOTAL 8 BYTES @V4075A2 00626000
- AMPTRK LA R3,1(R3) BUMP TO NAME @V4075A2 00627000
- CLI 0(R3),BLANK OFF THE END ? @V4075A2 00628000
- BE NOTRUNK YES - LENGTH IS OK @V4075A2 00629000
- BCT R4,AMPTRK NOT YET - GO COUNT MORE @V4075A2 00630000
- B NOTKNOWN &NAME IS TOO LONG - DUMP IT @V4075A2 00631000
- NOTRUNK BR R10 RETURN @V4075A2 00632000
- ***************************************************************@V4075A2 00633000
- * ENDING ROUTINE @V4075A2 00634000
- ***************************************************************@V4075A2 00635000
- AMPEND B REREADY BACK TO WORK @V4075A2 00636000
- ************************************************************ @V4075A2 00637000
- * SAVE THE SECOND PARM ON THIS LINE, AS IT IS THE @V4075A2 00638000
- * SEARCH ARGUMENT FOR THE LOCATE COMMAND, AND CANNOT @V4075A2 00639000
- * BE TOKENIZED. @V4075A2 00640000
- ************************************************************ @V4075A2 00641000
- SAVSTRNG LA R3,INPUT START OF INPUT LINE @V4075A2 00642000
- L R4,INLENGTH AND ITS LENGTH @V4075A2 00643000
- STRINGSC CLI 0(R3),BLANK SCAN LEADING BLANKS @V4075A2 00644000
- BNE LOCATEP1 NO - INTO FIRST PARM (L) @V4075A2 00645000
- LA R3,1(R3) NEXT INPUT BYTE @V4075A2 00646000
- BCT R4,STRINGSC GO SCAN LINE @V4075A2 00647000
- B NOTKNOWN FELL OFF THE END ????? @V4075A2 00648000
- LOCATEP1 CLI 0(R3),BLANK SCAN P1 TILL YOU FIND THE BLANK @V4075A2 00649000
- BE LOCATES1 NOW GO LOOK FOR SECOND PARM @V4075A2 00650000
- LA R3,1(R3) NEXT BYTE @V4075A2 00651000
- BCT R4,LOCATEP1 IF NOT TOO FAR @V4075A2 00652000
- B NOTKNOWN END OF LINE @V4075A2 00653000
- LOCATES1 CLI 0(R3),BLANK SCAN THIS SPACE FOR SECOND PARM @V4075A2 00654000
- BNE LOCSTRNG GOT IT - GO MOVE IT @V4075A2 00655000
- LA R3,1(R3) NO - TRY NEXT @V4075A2 00656000
- BCT R4,LOCATES1 TRY AGAIN @V4075A2 00657000
- B NOTKNOWN OFF THE END @V4075A2 00658000
- ************************************************************ @V4075A2 00659000
- * NOW R3 POINTS TO THE FIRST BYTE OF THE LOCATE SEARCH @V4075A2 00660000
- * ARGUMENT. FIND THE LENGTH OF THE BALANCE OF THE INPUT @V4075A2 00661000
- * AND MOVE IT TO STRINGAD WHERE DMMLOC CAN FIND IT @V4075A2 00662000
- ************************************************************ @V4075A2 00663000
- LOCSTRNG LA R4,INPUT POINT TO START OF INPUT LINE @V4075A2 00664000
- A R4,INLENGTH NOW POINT TO END OF INPUT @V4075A2 00665000
- SR R4,R3 R2 NOW HAS LENGTH OF TERMS 2 - 5 @V4075A2 00666000
- BM FIXUP NOTHING CAN GO WRONG...GO WRONG..@V4075A2 00667000
- C R4,MAXSTRNG GO WRONG... GO WRONG... @V4075A2 00668000
- BH FIXUP BUT IF IT DOES... @V4075A2 00669000
- SAVESTLN ST R4,STRINGLN SAVE IT FOR DMMLOC @V4075A2 00670000
- BCTR R4,R0 SET UP LENGTH FOR EX @V4075A2 00671000
- MVI STRINGAD,BLANK SET UP TO CLEAR STRING @V4075A2 00672000
- MVC STRINGAD+1(L'STRINGAD-1),STRINGAD CLR TO BLANKS @V4075A2 00673000
- EX R4,STRMOVE MOVE THE STRING @V4075A2 00674000
- BR R10 RETURN TO GO TO DMMLOC @V4075A2 00675000
- FIXUP L R4,MAXSTRNG SET ARBITRARY MAX OF 148 @V4075A2 00676000
- B SAVESTLN AND GO SAVE IT @V4075A2 00677000
- STRMOVE MVC STRINGAD(0),0(R3) MOVE THE STRING @V4075A2 00678000
- * * * * * * * * ------- -------- -------- ------- * 00679000
- * * * * * * * * DISPLAY COMMAND 00680000
- * * * * * * * * ------- -------- -------- ------- * 00681000
- DCHECK CLI PLIST2,PC % WITH NO ADDRESS? @VA04250 00682000
- BE NOTKNOWN YES - SEND IT BACK @VA04250 00683000
- LA R2,PLIST+L'DISPLAY-ONE END OF PLIST ENTRY @VA04250 00684000
- LA R3,DISPLAY+L'DISPLAY-ONE END OF TARGET @VA04250 00685000
- LA R4,L'DISPLAY COUNT @VA04250 00686000
- BAL R10,PCOMP GO CHECK IT @VA04250 00687000
- B NOTKNOWN NO LUCK @VA04250 00688000
- GOFED BAL R10,ADLENGTH CHECK FOR ONLY SIX ADD DIGITS @VA04250 00689000
- BAL R10,NULLCHK4 CHECK NO FOURTH TERM @VA04250 00690000
- CLC PLIST3,FENCE IS THERE NO LENGTH TERM? @VA04250 00691000
- BE GOFEX YES - TREAT IT AS AN 'X' @VA04250 00692000
- LA R2,PLIST PLIST ADDRESS @VA04250 00693000
- L R15,FEDADD DUMP @VA04250 00694000
- BALR R14,R15 GO @VA04250 00695000
- LTR R15,R15 TEST @VA04250 00696000
- BNZ CODECHEK HOW BAD @VA04250 00697000
- L R3,HEXADADD DISPLAY ADDRESS IN HEX @VA04250 00698000
- ST R2,0(R3) PLUG LAST ADDRESS FROM DUMP @VA04250 00699000
- B REREADY GET NEXT @VA04250 00700000
- * * * * * * * * ------- -------- -------- ------- * 00701000
- * * * * * * * * TRACE REQUEST 00702000
- * * * * * * * * ------- -------- -------- ------- * 00703000
- TCHECK LA R2,PLIST+L'TRACE-ONE PLIST FOR TRACE @VA04250 00704000
- LA R3,TRACE+L'TRACE-ONE TARGET @VA04250 00705000
- LA R4,L'TRACE COUNT TRIES @VA04250 00706000
- BAL R10,PCOMP PLIST CHECKOUT @VA04250 00707000
- B NOTKNOWN NO LUCK @VA04250 00708000
- * * * * * * * * ------- -------- -------- ------- * 00709000
- * * * * * * * * TRACE SET UP 00710000
- * * * * * * * * ------- -------- -------- ------- * 00711000
- GOTRACE LA R2,PLIST PLIST @VA04250 00712000
- BAL R10,NULLCHK3 CHECK NO THIRD PARM @VA04250 00713000
- L R15,TRACEADD ADDRESS @VA04250 00714000
- BALR R14,R15 GO @VA04250 00715000
- LTR R15,R15 RETCODE ZERO? @VA04250 00716000
- BNZ CODECHEK WELL HOW BAD WAS IT @VA04250 00717000
- L R3,HEXADADD LAST ADDRESS DISPLAYED @VA04250 00718000
- LA R2,0(R2) INDICATE DUMP NOT LAST COMMAND @VA04250 00719000
- S R2,SCBKUP CALC CURRENT LINE PTR FOR SCROLL @VA04250 00720000
- ST R2,0(R3) PLUG LAST ADDRESS FOR SCROLL @VA04250 00721000
- B REREADY GET NEXT CMD @VA04250 00722000
- ************************************************************ @V4075A2 00723000
- * USER HAS CALLED MAP TO ADD A NUC MAP TO THE END OF THE DUMP. @V4075A2 00724000
- * THIS GETS SPACE FOR MAP'S BUFFER, THEN READS THE DUMP @V4075A2 00725000
- * TO SEE THAT THERE IS NOT ALREADY A MAP ON THE END. @V4075A2 00726000
- * IT THEN FILLS IN SHARECON WITH THE DATA MAP WILL NEED, @V4075A2 00727000
- * THE DUMP NUMBER AND THE ADDRESS OF DMKCPEND. @V4075A2 00728000
- * IN R1 IT THEN PASSES TO DMMMAP A POINTER TO THE @V4075A2 00729000
- * ADDRESS OF 20K BUFFER FOR MAP TO HOLD THE CONDENSED 00730000
- * LOAD MAP. ON RETURN IT FREES THE STORAGE AND, IF THE @V4075A2 00731000
- * RETURN IS OK, IT TELLS THE USER. @V4075A2 00732000
- ************************************************************ @V4075A2 00733000
- MAPCHECK DMSFREE DWORDS=2560,ERR=FREEERR GET 20K FOR BUFFERS @VA08369 00734000
- ST R1,GOTTENAD SAVE THE POINTER @V4075A2 00735000
- LR R2,R1 GET IT IN A WORK REG @V4075A2 00736000
- ************************************************************ @V4075A2 00737000
- * NOW READ THE DUMP INFORMATION RECORD TO FIND @V4075A2 00738000
- * HOW MANY RECORDS IN THE ORIGINAL DUMP. @V4075A2 00739000
- ************************************************************ @V4075A2 00740000
- LA R3,DUMPFSCB FSCB FOR READ @V4075A2 00741000
- FSREAD FSCB=(R3),BUFFER=(R2),ERROR=RDERR,RECNO=2 @V4075A2 00742000
- USING DMPINREC,R2 LAY DUMPINREC OVER THE RECORD @V4075A2 00743000
- LA R2,DMPPGMAP+ITEMTAB INCREMENT TO THE PAGE DATA @V4075A2 00744000
- DROP R2 AND RETURN R2 @V4075A2 00745000
- ************************************************************ @V4075A2 00746000
- * NOW SCAN THE ITEM TABLE FOR THE 'FFFF' INDICATING THE @V4075A2 00747000
- * END OF THE ORIGINAL DUMP ENTRIES. @V4075A2 00748000
- ************************************************************ @V4075A2 00749000
- LA R5,NULL SET COUNTER TO 0 @V4075A2 00750000
- L R4,MAXCOUNT SET FOR TOP LIMIT TO TRIES @V4075A2 00751000
- EOTABLE CLC EOTFOX,0(R2) END OF THE TABLE @V4075A2 00752000
- BE READCHK SURE - GO CHECK FOR DUMP @V4075A2 00753000
- LA R2,TWO(R2) NO - BUMP THE TABLE POINTER @V4075A2 00754000
- LA R5,ONE(R5) AND BUMP THE COUNTER @V4075A2 00755000
- BCT R4,EOTABLE AND TRY ANOTHER @V4075A2 00756000
- LA R8,ITBLMSG WARN ABOUT BAD ITEM TABLE @V4075A2 00757000
- LA R9,L'ITBLMSG AND LENGTH @V4075A2 00758000
- BAL R10,WRTERM AND GO SEND IT @V4075A2 00759000
- ************************************************************ @V4075A2 00760000
- * NOW READ PAST THE END OF THE ORIGINAL DUMP. IF THERE IS @V4075A2 00761000
- * NO NUC MAP, WE SHOULD GET A READ ERROR. @V4075A2 00762000
- ************************************************************ @V4075A2 00763000
- READCHK L R4,GOTTENAD ADDRESS FOR READ BUFFER @V4075A2 00764000
- LA R5,DUMMIES(R5) EXTRA RECS AT START OF DUMP @V4075A2 00765000
- FSREAD FSCB=(R3),BUFFER=(R4),RECNO=(R5) @V4075A2 00766000
- LR R2,R15 SAVE THE RETURN CODE @V4075A2 00767000
- C R2,EOF EOF? - NORMAL - NO MAP @V4075A2 00768000
- BE OKNOMAP YES - GO SET UP TO GO TO MAP @V4075A2 00769000
- C R2,NOERR IS THERE A MAP THERE? @V4075A2 00770000
- BE TWOMAPS YES - GO WARN USER @V4075A2 00771000
- B RDERR MUST BE SOME OTHER ERR @V4075A2 00772000
- ************************************************************ @V4075A2 00773000
- * WRITE THE ERROR MSG "MAP ALREADY PRESENT" @V4075A2 00774000
- ************************************************************ @V4075A2 00775000
- TWOMAPS LA R8,TWOMAPMS MAP ALREADY PRESENT MSG @V4075A2 00776000
- LA R9,L'TWOMAPMS AND LENGTH @V4075A2 00777000
- BAL R10,WRTERM AND GO WRITE IT @V4075A2 00778000
- B REREADY AND BACK TO WORK @V4075A2 00779000
- ************************************************************ @V4075A2 00780000
- * NOW SET UP THE VALUES DMMMAP EXPECTS TO FIND IN SHARECON. @V4075A2 00781000
- * FIRST THE DUMPNUMBER, FROM THE DUMPFSCB, @V4075A2 00782000
- * THEN THE ADDRESS OF DMKCPEND FROM THE SYMBOL TABLE. @V4075A2 00783000
- ************************************************************ @V4075A2 00784000
- OKNOMAP MVC DUMPNUM,DUMPFSCB+L'DUMPNUM PLUG THIS DUMP NUM @V4075A2 00785000
- ************************************************************ @V4075A2 00786000
- * NOW FIND ADDRESS OF DMKCPEND FOR MAP TO CHECK AGAINST @V4075A2 00787000
- * THE LOAD LOAD MAP VALUE FOR CPEND. READ IN THE SYMBOL @V4075A2 00788000
- * TABLE AND SCAN FOR CPEND @V4075A2 00789000
- ************************************************************ @V4075A2 00790000
- FSREAD FSCB=(R3),BUFFER=(R4),RECNO=1,ERROR=RDERR @V4075A2 00791000
- ENDYET CLC CPEND,0(R4) IS THIS DMKCPEND? @V4075A2 00792000
- BE GOTEND YES - GO SAVE ADDRESS @V4075A2 00793000
- LA R4,TABENT(R4) NO - BUMP TO NEXT SYM TAB ENTRY @V4075A2 00794000
- B ENDYET AND TRY IT @V4075A2 00795000
- GOTEND L R4,EIGHT(R4) GO TO ADDRESS PART OF ENTRY @V4075A2 00796000
- ST R4,REALEND AND SAVE IT @V4075A2 00797000
- ************************************************************ @V4075A2 00798000
- * THE DUMP MUST BE ON THE "A" DISK, CHECK THIS IN FSCB. @V4075A2 00799000
- * THE FSCB MAY SAY "A" DISK BUT THE DUMP MAY REALLY BE @V4075A2 00800000
- * ON A READ EXTENSION OF THE "A" DISK ( B/A ). @V4075A2 00801000
- * CHECK THE FILE STATUS BLOCK TO SEE WHETHER WE HAVE @V4075A2 00802000
- * THIS CASE. IF NOT, CLOSE THE FILE AND PASS THE @V4075A2 00803000
- * ADDRESS OF THE 12K BUFFER TO DMMMAP. @V4075A2 00804000
- * OTHERWISE WARN THE USER TO PUT THE DUMP ON THE "A" DISK. @V4075A2 00805000
- ************************************************************ @V4075A2 00806000
- CLC ADISK,DUMPFSCB+FM IS THE DUMP ON THE A DISK? @V4075A2 00807000
- BNE NOWRITE NO - GO WARN USER @V4075A2 00808000
- FSSTATE FSCB=DUMPFSCB THEN IS IT B/A ? GET THE @V4075A2 00809000
- LR R2,R1 FILE STATUS TABLE. @V4075A2 00810000
- LTR R15,R15 IF NO FILE - NO STATUS TABLE @V4075A2 00811000
- BNZ STATERR MUSTA LOST THE DUMP SOMEHOW @V4075A2 00812000
- USING FSTSECT,R2 NOW CHECK THE FILE STATUS FLAG@V4075A2 00813000
- MVC STATFLAG,FSTFB FOR A X'C0' - READ EXTENSION @V4075A2 00814000
- NI STATFLAG,HIHALF EXAMINE HI HALF BYTE ONLY @V4075A2 00815000
- CLI STATFLAG,FSTFRWX READ EXTENSION OF R/W DISK? @V4075A2 00816000
- BE NOWRITE YES - GO TELL USER @V4075A2 00817000
- DROP R2 DROP @V4075A2 00818000
- FSCLOSE FSCB=DUMPFSCB SO MAP CAN WRITE THE NUC MAP @V4075A2 00819000
- LA R1,GOTTENAD POINTER TO BUFFER ADDRESS @V4075A2 00820000
- L R15,MAPADD ADDRESS OF DMMMAP @V4075A2 00821000
- BALR R14,R15 AND GO @V4075A2 00822000
- ST R15,MAPRET SAVE THE RETURN @V4075A2 00823000
- L R1,GOTTENAD SET UP TO RETURN CORE @V4075A2 00824000
- DMSFRET DWORDS=2560,LOC=(1),ERR=FREEERR @VA08369 00825000
- LA R2,DUMPFSCB AGAIN CLOSE THE FILE @V4075A2 00826000
- FSCLOSE FSCB=(R2) SO DUMPSCAN CAN READ IT @V4075A2 00827000
- L R2,MAPRET GET THE RETURN FROM MAP @V4075A2 00828000
- LTR R2,R2 HOW WAS IT @V4075A2 00829000
- BNZ REREADY BAD @V4075A2 00830000
- LA R8,MAPONMSG GOOD - TELL USER @V4075A2 00831000
- LA R9,L'MAPONMSG AND LENGTH @V4075A2 00832000
- BAL R10,WRTERM AND WRITE IT @V4075A2 00833000
- B REREADY AND BACK TO THE BARRELL @V4075A2 00834000
- ********************************************************** @V4075A2 00835000
- * EITHER THE DUMP IS NOT ON THE A DISK, OR IT IS ON @V4075A2 00836000
- * A DISK WHICH IS A READ EXTENSION OF THE A DISK. @V4075A2 00837000
- * IN THIS CASE, DMMMAP WOULD WRITE THE NUC MAP AS @V4075A2 00838000
- * A SEPARATE FILE. DISALLOW THIS AND WARN THE USER. @V4075A2 00839000
- ********************************************************** @V4075A2 00840000
- NOWRITE LA R8,DPNOTAMS DUMP NOT ON A DISK @V4075A2 00841000
- LA R9,L'DPNOTAMS AND LENGTH @V4075A2 00842000
- BAL R10,WRTERM AND WRITE IT @V4075A2 00843000
- B REREADY BACK TO WORK @V4075A2 00844000
- ************************************************************ @V4075A2 00845000
- * READ ERROR HANDLER @V4075A2 00846000
- ************************************************************ @V4075A2 00847000
- RDERR LR R2,R15 SAVE THE RETURN @V4075A2 00848000
- LINEDIT TEXT='DMMDSC100S ERROR ''...'' READING FILE ''........X00849000
- ............''',DOT=NO,RENT=NO,SUB=(DEC,(2),CHAR8A,DUMPFX00850000
- SCB+8) WRITE THE READ ERROR MSG @V4075A2 00851000
- B REREADY AND RETURN @V4075A2 00852000
- ************************************************************ @V4075A2 00853000
- * FREE - FRET ERROR HANDLER @V4075A2 00854000
- ************************************************************ @V4075A2 00855000
- FREEERR LR R2,R15 SAVE THE ERROR @V4075A2 00856000
- LINEDIT TEXT='ERROR ''...'' IN DMSFREE OR DMSFRET, SEE SYSTEM X00857000
- PROGRAMMERS GUIDE',DOT=NO,SUB=(DEC,(2)) WRITE ERROR 00858000
- B REREADY AND RETURN @V4075A2 00859000
- * * * * * * * *------- -------- -------- -------- -------* 00860000
- * * * * * * * * LOCATE REQUEST 00861000
- * * * * * * * * ------- -------- -------- ------- * 00862000
- LCHECK LA R2,PLIST+L'LOCATE-ONE PLIST FOR LOCATE @VA04250 00863000
- LA R3,LOCATE+L'LOCATE-ONE TARGET @VA04250 00864000
- LA R4,L'LOCATE COUNT TRIES @VA04250 00865000
- BAL R10,PCOMP PLIST CHECKOUT @VA04250 00866000
- B NOTKNOWN NO LUCK @VA04250 00867000
- * * * * * * * * ------- -------- -------- ------- * 00868000
- * * * * * * * * TRACE SET UP 00869000
- * * * * * * * * ------- -------- -------- ------- * 00870000
- GOLOCATE LA R2,PLIST PLIST @VA04250 00871000
- BAL R10,NULLCHK6 GO TEST FOR RIGHT NO. PARMS @V4075A2 00872000
- MVC PLIST+FR(TWOBYTES),BLANKS TRUNC 'FROM' TO 6 BY @VA04250 00873000
- MVC PLIST+TO(TWOBYTES),BLANKS TRUNC 'TO' TO 6 BYTES @VA04250 00874000
- BAL R10,SAVSTRNG GO SAVE THE SEARCH ARGUMENT @V4075A2 00875000
- ***************************************************************@V4075A2 00876000
- * IF THIS IS A ONE-SHOT PRINT WITH NO SUBCOMMAND @V4075A2 00877000
- * RESTORE THE LATEST GENERATED 'FROM' ADDRESS @V4075A2 00878000
- * INTO THE PLIST IF IT IS NOT BLANKS - IE A NEW @V4075A2 00879000
- * ADDRESS HAS NOT BEEN DEVELOPED @V4075A2 00880000
- ***************************************************************@V4075A2 00881000
- CLI PRINTONE,NOSUBC IS THIS 1-SHOT-PRT-W-NO-SUBCMD ?@V4075A2 00882000
- BNE FROMOK NO - THE FROM ADDRESS IS GOOD @V4075A2 00883000
- CLC NEWFREBC,BLANKS IS THERE A VALID NEW ADDRESS ? @V4075A2 00884000
- BE FROMOK NO - USE THE OLD ONE @V4075A2 00885000
- MVC PLIST3,NEWFREBC YES - GET SAVED NEW-EBCD-ADDR @V4075A2 00886000
- MVC NEWFREBC,BLANKS AND CLEAR IT @V4075A2 00887000
- FROMOK L R15,LOCADD ADDRESS OF LOCATE SUBROUTINE @V4075A2 00888000
- BALR R14,R15 GO @VA04250 00889000
- LTR R15,R15 RETCODE ZERO? @VA04250 00890000
- BNZ CODECHEK WELL HOW BAD WAS IT @VA04250 00891000
- B READY GET NEXT CMD @VA04250 00892000
- ***************************************************************@V4075A2 00893000
- * CHECK THE 'PRINT' COMMAND FOR VALID OPERANDS, @V4075A2 00894000
- * ONLY ONE OPERAND, AND CORRECT FORMAT - 'PRINT ON, @V4075A2 00895000
- * OFF,CLOSE, ,?,SUBCOMMAND' @V4075A2 00896000
- ***************************************************************@V4075A2 00897000
- PCHECK CLC PLIST1,PRT ALLOW THE 'PRT' ABBREV. @V4075A2 00898000
- BE CHECKTWO GO TEST SECOND TERM @V4075A2 00899000
- ***************************************************************@V4075A2 00900000
- * NOW CHECK FOR TRUNCATIONS @V4075A2 00901000
- ***************************************************************@V4075A2 00902000
- LA R2,PLIST+L'PRINT-ONE PLIST ENTRY @V4075A2 00903000
- LA R3,PRINT+L'PRINT-ONE TARGET ENTRY @V4075A2 00904000
- LA R4,L'PRINT BYTES TO TRY @V4075A2 00905000
- BAL R10,PCOMP GO TO TRUNCATION CHECK ROUTINE @V4075A2 00906000
- B NOTKNOWN NOT PRINT - SEND IT BACK @V4075A2 00907000
- ***************************************************************@V4075A2 00908000
- * NOW CHECK THE SECOND PARM FOR 'ON, OF, OFF, C(LOSE' @V4075A2 00909000
- * '?' OR NO PARM. @V4075A2 00910000
- ***************************************************************@V4075A2 00911000
- CHECKTWO CLC PLIST2,ON TURN PRINT ON? @V4075A2 00912000
- BE PRINTON YES @V4075A2 00913000
- CLC PLIST2,OFF OFF? @V4075A2 00914000
- BE PRINTOFF @V4075A2 00915000
- CLC PLIST2,OF OF? @V4075A2 00916000
- BE PRINTOFF GO TURN IT OFF @V4075A2 00917000
- ***************************************************************@V4075A2 00918000
- * CHECK FOR A '?' OR A NULL PARM @V4075A2 00919000
- ***************************************************************@V4075A2 00920000
- QCHECK CLC PLIST2(L'QUERY),QUERY IS THIS '?' @V4075A2 00921000
- BE SHOWPRSW YES - GO DISPLAY PRT SW STATUS @V4075A2 00922000
- FENCECHK CLC PLIST2,FENCE IS THERE A SECOND PARM ? @V4075A2 00923000
- BE RESUBCOM NO GO RESUBMIT THE LAST SUBC. @V4075A2 00924000
- ***************************************************************@V4075A2 00925000
- * NOW CHECK FOR 'CLOSE' OR ITS TRUNCATION @V4075A2 00926000
- ***************************************************************@V4075A2 00927000
- LA R2,PLIST2+L'CLOSE-ONE PLIST OFFERING @V4075A2 00928000
- LA R3,CLOSE+L'CLOSE-ONE AND THE TARGET @V4075A2 00929000
- LA R4,L'CLOSE AND THE NUMBER OF BYTES @V4075A2 00930000
- BAL R10,PCOMP GO TEST TRUNCATIONS @V4075A2 00931000
- B PPCHECK NOT CLOSE - MAY BE 'PRINT PRINT' @V4075A2 00932000
- ***************************************************************@V4075A2 00933000
- * MUST BE A CLOSE - CLOSE THE PRT THEN GO INTO @V4075A2 00934000
- * THE 'TURN PRINT OFF' SEQUENCE. @V4075A2 00935000
- ***************************************************************@V4075A2 00936000
- BAL R10,CLOSEPRT @V4075A2 00937000
- B REREADY RETURN @V4075A2 00938000
- PRINTOFF MVI PRINTSW,TURNOFF TURN IT OFF @V4075A2 00939000
- B REREADY GO WRITE THE READY MSG @V4075A2 00940000
- PRINTON MVI PRINTSW,TURNON SET IT ON @V4075A2 00941000
- B REREADY GO READY MSG @V4075A2 00942000
- SHOWPRSW CLI PRINTSW,TURNON IS PRINT ON ? @V4075A2 00943000
- BE SHOWON YES - GO SHOW STATUS @V4075A2 00944000
- LA R8,PRINTOFM NO ITS 'OFF' - WRITE 'OFF' MSG @V4075A2 00945000
- LA R9,L'PRINTOFM AND THE LENGTH @V4075A2 00946000
- BAL R10,WRTERM AND GO WRITE IT. @V4075A2 00947000
- B REREADY AND GO BACK @V4075A2 00948000
- SHOWON LA R8,PRINTONM GET 'PRINT ON' MSG @V4075A2 00949000
- LA R9,L'PRINTONM AND ITS LENGTH @V4075A2 00950000
- BAL R10,WRTERM AND WRITE IT @V4075A2 00951000
- B REREADY AND RETURN @V4075A2 00952000
- ***************************************************************@V4075A2 00953000
- * IT WAS NOT A 'CLOSE' COMMAND - TREAT IT @V4075A2 00954000
- * AS A SUBCOMMAND. MOVE THE SUBCOMMAND PORTION @V4075A2 00955000
- * INTO THE INPUT LINE, COUNT THE BYTES, AND @V4075A2 00956000
- * PASS IT AS A NEW INPUT LINE. @V4075A2 00957000
- * IF PRINT IS ON - COOL - IF NOT - TURN IT ON @V4075A2 00958000
- * FOR 1 PASS AND INDICATE A SUBC. WAS ENTERED @V4075A2 00959000
- ***************************************************************@V4075A2 00960000
- PPCHECK CLC PLIST2(ONE),PRINT 'PRINT PRINT' IS INVALID @V4075A2 00961000
- BE NOTKNOWN GO SEND IT BACK TO USER @V4075A2 00962000
- SUBCOM CLI PRINTSW,TURNON IS PRINT ON ? @V4075A2 00963000
- BE PLISTMOV YES - OK - GO MOVE THE PLIST @V4075A2 00964000
- MVI PRINTSW,TURNON NO - SO TURN IT ON FOR 1 SHOT @V4075A2 00965000
- MVI PRINTONE,SUBCOMM SET THE ONE-SHOT-W-SUBC. FLAG @V4075A2 00966000
- PLISTMOV MVC INSAVE,BLANKOUT CLEAR INPUT SAVE @V4075A2 00967000
- MVC INSAVE,INPUT SAVE OLD INPUT LINE @V4075A2 00968000
- MVC OLDINLEN,INLENGTH AND LENGTH @V4075A2 00969000
- MVC INPUT,BLANKOUT CLEAR THE INPUT LINE @V4075A2 00970000
- LA R2,NULL CLEAR COUNTER @V4075A2 00971000
- LA R3,PLIST2 POINT TO SUB IN PLIST @V4075A2 00972000
- LA R4,INPUT AND INPUT LINE TOMOVE IT TO @V4075A2 00973000
- MOVEDWD MVC 0(L'PLIST1,R4),0(R3) AND MOVE A DOUBLE WORD @V4075A2 00974000
- LA R2,L'PLIST+1(R2) COUNT 9 BYTES @V4075A2 00975000
- LA R3,L'PLIST1(R3) AND THE FROM POINTER @V4075A2 00976000
- LA R4,L'PLIST1+1(R4) BUMP THE 'TO' POINTER @V4075A2 00977000
- CLC FENCE,0(R3) END OF PLIST ? @V4075A2 00978000
- BE COUNTIN IF SO GO SET LENGTH @V4075A2 00979000
- B MOVEDWD ELSE GET THE NEXT @V4075A2 00980000
- COUNTIN ST R2,INLENGTH SAVE THE NEW LENGTH @V4075A2 00981000
- B REINCHK PASS IT OFF AS I/P LINE @V4075A2 00982000
- ***************************************************************@V4075A2 00983000
- * NO SECOND PARM WAS FOUND - RESUBMIT THE PREVIOUS @V4075A2 00984000
- * COMMAND, TURNING PRINT ON AND OFF IF APPROPRIATE. @V4075A2 00985000
- ***************************************************************@V4075A2 00986000
- RESUBCOM CLI PRINTSW,TURNON IS PRINT ON ? @V4075A2 00987000
- BE RESUB YES LEAVE IT ON @V4075A2 00988000
- MVI PRINTSW,TURNON NO - TURN IT ON FOR THIS SUBC. @V4075A2 00989000
- MVI PRINTONE,NOSUBC SET FLAG TO TURN IT OFF AFTER. @V4075A2 00990000
- RESUB MVC INPUT,BLANKOUT CLEAR THE INPUT LINE AND @V4075A2 00991000
- MVC INPUT,INSAVE RESTORE THE SAVED PREVIOUS SUBC. @V4075A2 00992000
- MVC INLENGTH,OLDINLEN AND ITS INPUT LENGTH, AND @V4075A2 00993000
- L R2,INLENGTH SET UP R2 FOR TOKENIZER. @V4075A2 00994000
- B REINCHK AND SEND IT OUT AS A COMMAND. @V4075A2 00995000
- * * * * * * * *------- -------- -------- -------- -------* 00996000
- * * * * * * * * MOD SET UP 00997000
- * * * * * * * * ------- -------- -------- ------- * 00998000
- GOMOD CLC DMKQ,INPUT IS IT AN ADDRESS LOCATE? @VA04250 00999000
- BE GOMOD1 NO - CHECK FOR A NULL PARM HRC001DM 01000190
- CLC HDKQ,INPUT IS IT AN ADDRESS LOCATE? HRC001DM 01000380
- BNE GONULLCK NO - CHECK FOR A NULL PARM HRC001DM 01000570
- GOMOD1 EQU * HRC001DM 01000760
- BAL R10,NULLCHK3 YES - CHECK NO THIRD PARM @VA04250 01001000
- BAL R10,ADLENGTH NOW - CHECK ADDRESS LENGTH @VA04250 01002000
- B LOADPLST AND SET UP PLIST @VA04250 01003000
- GONULLCK BAL R10,NULLCHK2 CHECK FOR NO EXTRA PARM @VA04250 01004000
- LOADPLST LA R2,PLIST PLIST ADDRESS TO PASS TO MOD @VA04250 01005000
- L R15,MODADD MOD ADDRESS @VA04250 01006000
- BALR R14,R15 GO @VA04250 01007000
- LTR R15,R15 TEST @VA04250 01008000
- BZ READY OK - @VA04250 01009000
- B CODECHEK NO - HOW BAD? @VA04250 01010000
- * * * * * * * * ------- -------- -------- ------- * 01011000
- * * * * * * * * IOBLOK FUNCTION 01012000
- * * * * * * * * ------- -------- -------- ------- * 01013000
- GOIOB BAL R10,CLEAR CLEAR TO TOP OF SCREEN @VA04250 01014000
- CLI PLIST+CUUBLANK,BLANK MUST BE MAX 3 'CUU' CHARS @VA04250 01015000
- BNE NOTKNOWN MORE THAN THREE - WARN HIM @VA04250 01016000
- L R15,IOBADD OK - GO TO IOBLOK ROUTINE @VA04250 01017000
- LA R2,PLIST PLIST FOR IOB @VA04250 01018000
- BALR R14,R15 LINK @VA04250 01019000
- LTR R15,R15 TEST RETURN CODE @VA04250 01020000
- BZ REREADY GO AGAIN @VA04250 01021000
- B CODECHEK FIND OUT HOW BAD @VA04250 01022000
- * * * * * * * * ------- -------- -------- ------- * 01023000
- * * * * * * * * DISPLAY HEXLOC - NO LENGTH 01024000
- * * * * * * * * IMPLIES A FULL SCREEN WRITE 01025000
- * * * * * * * * ------- -------- -------- ------- * 01026000
- GOFEX LA R2,PLIST PASS PARM LIST @VA04250 01027000
- L R15,FEXADD EXAMINE ADDRESS @VA04250 01028000
- BALR R14,R15 GO @VA04250 01029000
- LTR R15,R15 RET CODE OK? @VA04250 01030000
- BZ READY YES - CONTINUE @VA04250 01031000
- B CODECHEK GO TEST THE RET CODE @VA04250 01032000
- * * * * * * * * ------- -------- -------- ------- * 01033000
- * * * * * * * * COMMON BAL TO INTERPRET 01034000
- * * * * * * * * ------- -------- -------- ------- * 01035000
- GOINT L R15,INTADD ADDRESS OF TRANS ROUTINE @VA04250 01036000
- BALR R14,R15 LINK @VA04250 01037000
- LTR R15,R15 BAD? @VA04250 01038000
- BNZ CODECHEK HOW BAD? @VA04250 01039000
- BR R10 RETURN @VA04250 01040000
- * * * * * * * * ------- -------- -------- ------- * 01041000
- * * * * * * * * COMMON WRTERM 01042000
- * * * * * * * * ------- -------- -------- ------- * 01043000
- WRTERM ST R8,PARMLIS1 SAVE MSG TEXT PTR IN PARM LIST @V4075A2 01044000
- ST R9,PARMLIS2 AND TEXT LENGTH @V4075A2 01045000
- LA R1,PARMLIS1 POINTER TO PASS @V4075A2 01046000
- L R15,FEDLNADD ADDRESS OF DMMFEDLN - LINE WRITER@V4075A2 01047000
- BALR R14,R15 GO WRITE THE LINE @V4075A2 01048000
- BR R10 AND RETURN @V4075A2 01049000
- PARMLIS1 DS F PARM1 @V4075A2 01050000
- PARMLIS2 DS F PARM2 @V4075A2 01051000
- FEDLNADD DC V(DMMFEDLN) LINE WRITER ROUTINE @V4075A2 01052000
- * * * * * * * * ------- -------- -------- ------- * 01053000
- * * * * * * * * CHECK SUBROUTINE RETURN CODES 01054000
- * * * * * * * * ------- -------- -------- ------- * 01055000
- CODECHEK C R15,CODE4 CAN WE GO ON @VA04250 01056000
- BE REREADY YES @VA04250 01057000
- ST R15,RETCODE PASS RETURN @VA04250 01058000
- B RETURNER GET OUT - DONT CLEAR SCREEN @VA04250 01059000
- * * * * * * * * ------- -------- -------- ------- * 01060000
- * * * * * * * * COMMON RDTERM 01061000
- * * * * * * * * ------- -------- -------- ------- * 01062000
- RDTERM RDTERM (R8) COMMON READ FROM CONSOLE @VA04250 01063000
- BR R10 RETURN @VA04250 01064000
- * * * * * * * * ------- -------- -------- ------- * 01065000
- * * * * * * * * THE PLAN IS TO COMPARE THE RIGHTMOST LETTERS 01066000
- * * * * * * * * OF THE PLIST AND THE TARGET WORD, THEN MOVE 01067000
- * * * * * * * * THE COMPARE ONE BYTE LEFT UNTIL EITHER 01068000
- * * * * * * * * WE COUNT THEM ALL, IN WHICH CASE THEY 01069000
- * * * * * * * * MATCH ENTIRELY, OR THERE IS A 'NO-MATCH'. 01070000
- * * * * * * * * IF THEY DO NOT MATCH, BUT THE PLIST IS A 01071000
- * * * * * * * * BLANK, CONTINUE THE SEARCH. IF NOT - ABORT. 01072000
- * * * * * * * * ------- -------- -------- ------- * 01073000
- PCOMP CLC 0(CHARLEN,R2),0(R3) COMPARE RIGHTMOST BYTES @VA04250 01074000
- BE PCOUNT GOOD - TRY NEXT @VA04250 01075000
- B PBLANKCK NO - BUT ITS OK IF ITS A BLANK @VA04250 01076000
- PCOUNT BCTR R2,R0 BACK UP PLIST POINTER @VA04250 01077000
- BCTR R3,R0 BACK UP TARGET POINTER @VA04250 01078000
- BCT R4,PCOMP TRY ANOTHER @VA04250 01079000
- B GOODRET(R10) ALL GOOD - TAKE THE GOOD EXIT @VA04250 01080000
- PBLANKCK CLI 0(R2),BLANK WAS IT A BLANK @VA04250 01081000
- BE PCOUNT YES - OK @VA04250 01082000
- CLI 0(R2),U WAS IT A 'U' - AS IN SCROLLU? @VA04250 01083000
- BE SCRCHECK IT WAS A 'U' _ WAS IT A SCROLL? @VA04250 01084000
- BR R10 NO - BAD MATCH - RETURN @VA04250 01085000
- SCRCHECK CLI PLIST,S DOES PLIST HAVE AN 'S'? @VA04250 01086000
- BE PCOUNT YES IT DOES - LET IT CONTINUE @VA04250 01087000
- BR R10 NO - BAD RETURN @VA04250 01088000
- * * * * * * * *------- -------- -------- -------- ------* 01089000
- * * * * * * * * NOW THE INPUT LINE MUST BE TOKENIZED 01090000
- * * * * * * * * PASS THE INPUT LINE LENGTH IN R2 01091000
- * * * * * * * *------- -------- -------- -------- ------* 01092000
- TOKEN LA R3,INPUT INPUT LINE ADDRESS @VA04250 01093000
- LA R4,PLIST TOKENIZED OUTPUT @VA04250 01094000
- LA R5,L'PLIST1 COUNT 8 BYTES @VA04250 01095000
- LA R6,PLIST7 SET PLIST LIMIT @VA04250 01096000
- SIGSCAN CLI 0(R3),BLANK SCAN INPUT FOR NON-BLANK @V4075A2 01097000
- BE CHARSRCH STILL BLANK - KEEP ON. @VA04250 01098000
- MOVE8 MVC 0(L'PLIST1,R4),0(R3) GOT A CHAR, MOVE 8 IN @VA04250 01099000
- BUMPA LA R3,ONE(R3) BUMP INPUT @VA04250 01100000
- BCT R2,OVER8 END OF INPUT? @VA04250 01101000
- B OUT YES - WRAP IT UP. @VA04250 01102000
- OVER8 BCT R5,BLANKA NO - OVER 8 BYTES? @VA04250 01103000
- B BLANKB TRY NEXT CHARACTER @VA04250 01104000
- BUMPB LA R3,ONE(R3) BUMP INPUT @VA04250 01105000
- BCT R2,BLANKB END OF INPUT ? @VA04250 01106000
- B OUT WRAP UP. @VA04250 01107000
- BLANKB TM 0(R3),DELIM DELIMITER @VA04250 01108000
- BNZ BUMPB NO - GET NEXT CHAR @VA04250 01109000
- BUMPC LA R3,ONE(R3) UP IT AGAIN @VA04250 01110000
- BCT R2,BLANKC END OF INPUT ? @VA04250 01111000
- B OUT YES QUIT @VA04250 01112000
- BLANKC TM 0(R3),DELIM DELIMITER IN INPUT ? @VA04250 01113000
- BZ BUMPC YES - KEEP LOOKING @VA04250 01114000
- SRL R4,3 ROUND PLIST PTR DOWN TO @VA04250 01115000
- SLL R4,3 PREVIOUS D'WORD, AND @VA04250 01116000
- AH R4,X8 ADD 8, FOR NEXT PLIST SLOT @VA04250 01117000
- CR R4,R6 END OF PLIST? @VA04250 01118000
- BNL FENCER YES - CHOP IT OFF @VA04250 01119000
- LA R5,L'PLIST1 RESET BYTE COUNTER @VA04250 01120000
- B MOVE8 GO TAKE ANOTHER TOKE @VA04250 01121000
- CHARSRCH LA R3,ONE(R3) SCAN FOR FIRST CHAR ON INLINE @VA04250 01122000
- BCT R2,SIGSCAN TRY NEXT IF NOT END OF LINE @V4075A2 01123000
- B FENCER THIS LINE WAS ALL BLANKS @VA04250 01124000
- BLANKA TM 0(R3),DELIM INPUT CHAR A DELIMITER (4X) @VA04250 01125000
- BNZ BUMPA NO - KEEP LOOKING @VA04250 01126000
- LA R7,L'PLIST1 SET UP TO CLEAR PLIST ENTRY @VA04250 01127000
- SR R7,R5 COUNT VALID BYTES TO BE LEFT @VA04250 01128000
- AR R4,R7 AND ADD TO R4 @VA04250 01129000
- MVC 0(SEVENBYT,R4),BLANKS BLANK IT OUT @VA04250 01130000
- B BUMPC SCAN TO END OF BLANKS @VA04250 01131000
- OUT SRL R4,3 POINT TO NEXT PLIST SLOT @VA04250 01132000
- SLL R4,3 @VA04250 01133000
- AH R4,X8 BUMP BY EIGHT @VA04250 01134000
- FENCER MVC 0(L'FENCE,R4),FENCE FENCE IT IN @VA04250 01135000
- BR R10 RETURN @V4075A2 01136000
- * * * * * * * * ------- -------- -------- ------- * 01137000
- * * * * * * * * THIS TRANSLATES THE ERROR CODE IN R15, 01138000
- * * * * * * * * AND PLUGS IT INTO THE TEXT OF THE ERROR 01139000
- * * * * * * * * MESSAGE, ALONG WITH THE FILE ID 01140000
- * * * * * * * *------- -------- -------- -------- ------* 01141000
- STATERR XC DEPACK(L'DEPACK+L'DECODE),DEPACK CLEAR WORKAREA @VA04250 01142000
- LR R6,R15 SAVE R15 ACROSS WRTERM @VA04250 01143000
- C R6,NOFILE WAS IT A 'FILE NOT FOUND' ? @VA04250 01144000
- BNE NOMSG IF NOT - BYPASS 'DUMP NOT FOUND' @VA04250 01145000
- LA R8,NOFILMSG ADDRESS OF MESSAGE @VA04250 01146000
- LA R9,L'NOFILMSG AND LENGTH @VA04250 01147000
- BAL R10,WRTERM WRITE 'DUMP NOT FOUND' @VA04250 01148000
- NOMSG CVD R6,DECODE GET RET CODE IN DECIMAL @VA04250 01149000
- UNPK DEPACK+FIV(L'DEPACK-FIV),DECODE+SIX(L'DECODE-SIX) 01150000
- OI DEPACK+SEV,NUMZONE FIX UP SIGN TO PRINT @VA04250 01151000
- MVC ERRMSGCD,DEPACK+FIV PLUG ERROR CODEINTO MSG @VA04250 01152000
- MVC ERRMSGFN,DUMPFSCB+FN PLUG FILE NAME @VA04250 01153000
- MVC ERRMSGFT,DUMPFSCB+FT AND TYPE @VA04250 01154000
- MVC ERRMSGM,DUMPFSCB+FM AND MODE @VA04250 01155000
- LA R8,ERMSG719 ADDRESS @VA04250 01156000
- LA R9,E719L AND LENGTH @VA04250 01157000
- BAL R10,WRTERM WRITE 'DUMP NOT FOUND' @VA04250 01158000
- B REREAD GET ANOTHER DUMP - DONT CLEAR HRC001DM 01159490
- * * * * * * * *------- -------- -------- -------- ------* 01160000
- * * * * * * * * THIS CHECKS THE INPUT LINE FOR 01161000
- * * * * * * * * HELP OR EXIT REQUESTS 01162000
- * * * * * * * *------- -------- -------- -------- ------* 01163000
- INCHECK CLC HELP,INPUT HELP? @VA04250 01164000
- BE REINFO YES - GO SHOW HELP PAGE @VA04250 01165000
- CLC HX,INPUT HALT EX. @VA04250 01166000
- BE RETURN SHUT DOWN @VA04250 01167000
- CLC QUIT,INPUT QUIT @VA04250 01168000
- BE RETURN SHUT DOWN @VA04250 01169000
- CLC END,INPUT END @VA04250 01170000
- BE RETURN SHUT DOWN @VA04250 01171000
- BR R10 RETURN @V4075A2 01172000
- * * * * * * * *------- -------- -------- -------- ------* 01173000
- * * * * * * * * THIS DISPLAYS THE 'HELP' INFORMATION' 01174000
- * * * * * * * *------- -------- -------- -------- ------* 01175000
- REINFO CLI TYPEFLAG,TYPER TYPEWRITER? @VA04250 01176000
- BNE SCRNHELP NO - GO SCREEN 'HELP' MSG @VA04250 01177000
- L R8,INFOADD1 ADDRESS OF START OF 'HELP' PAGE @VA04250 01178000
- LA R4,LINECNT SET UP LINE COUNT - 43 LINES @VA04250 01179000
- LA R9,LINELEN LENGTH - 80 BYTES @VA04250 01180000
- NEXTLINE BAL R10,WRTERM WRITE A LINE OF 'HELP' PAGE @VA04250 01181000
- LA R8,LINELEN(R8) POINT TO NEXT LINE @VA04250 01182000
- BCT R4,NEXTLINE KEEP GOING @VA04250 01183000
- B ENTER GO BACK @VA04250 01184000
- * * * * * * * * ------- -------- -------- ------- * 01185000
- * * * * * * * * THIS WRITES THE HELP PAGE ON 01186000
- * * * * * * * * A 3270 SCREEN 01187000
- * * * * * * * * ------- -------- -------- ------- * 01188000
- SCRNHELP L R4,CONSOLE VIRT CONS ADDRESS @VA04250 01189000
- CLI PAGESW,PAGE1 WHICH PAGE NEXT? @VA04250 01190000
- BE WRITE1 GO WRITE PAGE1 @VA04250 01191000
- MVI PAGESW,PAGE1 RESET SWITCH @VA04250 01192000
- L R3,INFOADD2 GET SET TO WRITE PAGE2 @VA04250 01193000
- B CCWSETUP GO PLUG ADDRESSES IN DIAGNOSE @VA04250 01194000
- WRITE1 MVI PAGESW,PAGE2 SETUP FOR PAGE 2 @VA04250 01195000
- L R3,INFOADD1 WRITE PAGE1 @VA04250 01196000
- CCWSETUP ST R3,CCWA PLUG ADDRESS IN CCWA @VA04250 01197000
- ST R3,CCWB AND CCWB @VA04250 01198000
- LA R3,CCWA CCW ADDRESS @VA04250 01199000
- MVI CCWA,CMDCODE RESTORE COMMAND CODE IN A @VA04250 01200000
- MVI CCWB,CMDCODE AND B @VA04250 01201000
- MVI CCWA+FIV,ERASE 'ERASE' CONTROL BYTE @VA04250 01202000
- ST R3,PARMLIS1 SAVE MSG TEXT PTR IN PARM LIST @V4075A2 01203000
- ST R4,PARMLIS2 AND TEXT LENGTH @V4075A2 01204000
- LA R1,PARMLIS1 POINTER TO PASS @V4075A2 01205000
- L R15,DIRLNADD ADDRESS OF DMMDIRLN SCREEN WRITER@V4075A2 01206000
- BALR R14,R15 GO WRITE THE SCREEN @V4075A2 01207000
- B HELPINCK AND RETURN @V4075A2 01208000
- DIRLNADD DC V(DMMDIRLN) SCREEN WRITER ROUTINE @V4075A2 01209000
- HELPINCK BAL R10,RDTERM GO READ REPLY TO THE HELP PROMPT @V4075A2 01210000
- BAL R10,INCHECK SEE IF HE WANTS OUT, OR MORE HELP@V4075A2 01211000
- MVI PAGESW,PAGE1 RESET TO PAGE 1 @V4075A2 01212000
- CLI DUMPFSCB+FNEND,NULLDUMP SEE IF DUMP NUMB YET @V4075A2 01213000
- BE GETDUMP NO - GO GET IT HRC001DM 01214490
- BAL R10,CLEAR TOP OF THE SCREEN @V4075A2 01215000
- B REREADY YES - CONTINUE @V4075A2 01216000
- * * * * * * * * ------- -------- -------- ------- * 01217000
- * * * * * * * * SET DIFFERENT ???????? CHAR 01218000
- * * * * * * * * ------- -------- -------- ------- * 01219000
- INQUIRY MVC HUH,PLIST2 MOVE IN 'HUH?' CHAR @VA04250 01220000
- B REREADY READY MSG @VA04250 01221000
- * * * * * * * * ------- -------- -------- ------- * 01222000
- * * * * * * * * DISPLAY LAST COMMAND 01223000
- * * * * * * * * ------- -------- -------- ------- * 01224000
- POSTIN BAL R10,NULLCHK2 CHECK FOR NO SECOND TERM @VA04250 01225000
- LA R8,INSAVE ADDRESS AND @VA04250 01226000
- L R9,OLDINLEN LENGTH OF OLD INPUT LINE @VA04250 01227000
- BAL R10,WRTERM WRITE THE OLD INPUT LINE @VA04250 01228000
- B REREADY ROUND AGAIN @VA04250 01229000
- * * * * * * * * ------- -------- -------- ------- * 01230000
- * * * * * * * * THIS CLEARS THE 3270 SCREEN AND ALLOWS 01231000
- * * * * * * * * THE NEXT OPERATION TO BE POSITIONED 01232000
- * * * * * * * * AT THE TOP THEREOF. 01233000
- * * * * * * * *------- -------- -------- -------- ------* 01234000
- CLEAR STM R7,R9,SAVCLR SAVE REGS @VA04250 01235000
- ***************************************************************@V4075A2 01236000
- * DONT CLEAR THE SCREEN IF THIS IS A 1-SHOT-NO-SUBC @V4075A2 01237000
- ***************************************************************@V4075A2 01238000
- CLI PRINTONE,NOSUBC IS THIS A RESUBMIT ? @V4075A2 01239000
- BE ALLCLEAR YES - DONT CLEAR SCREEN @V4075A2 01240000
- L R8,SCRNADD GET THE ADDRESS OF THE SCREEN @VA04250 01241000
- ST R8,CCWC PLUG ADDRESS IN CCW @VA04250 01242000
- LA R8,CCWC CCW ADD @VA04250 01243000
- L R9,CONSOLE VIRT CONS ADDRESS @VA04250 01244000
- MVI CCWC,CMDCODE RESTORE CMD CODE @VA04250 01245000
- MVI CCWC+FIV,ERASE SET ERASE BYTE @VA04250 01246000
- DIAG WAITT WAIT FOR TERMINAL TO QUIESCE @VA04250 01247000
- DC X'83890058' DIAGNOSE @VA04250 01248000
- ALLCLEAR LM R7,R9,SAVCLR RESTORE REGS @VA04250 01249000
- BR R10 RETURN @VA04250 01250000
- * * * * * * * * ------- -------- -------- ------- * 01251000
- * * * * * * * * THIS CHECKS THAT THOSE COMMANDS 01252000
- * * * * * * * * WHICH SHOULD HAVE NO OPERANDS 01253000
- * * * * * * * * DO IN FACT HAVE NONE - EXCEPT 01254000
- * * * * * * * * THE 'U' AFTER SCROLL 01255000
- * * * * * * * * ------- -------- -------- ------- * 01256000
- NULLCHK2 CLC FENCE,PLIST2 IS THERE A SECOND PARM? @VA04250 01257000
- BER R10 OK - RETURN @VA04250 01258000
- CLI PLIST2,U YES - IS IT A 'U' @VA04250 01259000
- BER R10 OK - RETURN @VA04250 01260000
- B NOTKNOWN NO - INVALID - TOSS IT OUT @VA04250 01261000
- * * * * * * * * ------- -------- -------- ------- * 01262000
- * * * * * * * * THIS CHECKS THAT THOSE COMMANDS 01263000
- * * * * * * * * WHICH SHOULD HAVE ONLY TWO TERMS 01264000
- * * * * * * * * DO IN FACT HAVE NO MORE. 01265000
- * * * * * * * * 'T' MAY HAVE 1 OR 2 TERMS. SEE NEXT COMMENTS 01266000
- * * * * * * * * ------- -------- -------- ------- * 01267000
- NULLCHK3 CLC FENCE,PLIST3 IS THERE A THIRD PARM? @VA04250 01268000
- BER R10 NO - OK TO RETURN @VA04250 01269000
- CLC FENCE,PLIST2 P3 COULD BE TRASH. FENCE HERE? @VA04250 01270000
- BER R10 GOOD GUESS - OK TO GO ON @VA04250 01271000
- B NOTKNOWN YES - THROW IT BACK @VA04250 01272000
- * * * * * * * * ------- -------- -------- ------- * 01273000
- * * * * * * * * THIS CHECKS THAT THOSE COMMANDS 01274000
- * * * * * * * * WHICH SHOULD HAVE ONLY THREE TERMS 01275000
- * * * * * * * * DO IN FACT HAVE NO MORE. 01276000
- * * * * * * * * 'D' AND 'VIO' MAY HAVE 2 OR 3 TERMS. 01277000
- * * * * * * * * IN THIS CASE THE FIRST TEST WILL NOT 01278000
- * * * * * * * * FIND THE X'FF..' IT EXPECTS. 01279000
- * * * * * * * * ------- -------- -------- ------- * 01280000
- NULLCHK4 CLC FENCE,PLIST4 IS THERE A FOURTH PARM? @VA04250 01281000
- BER R10 NO - OK TO RETURN @VA04250 01282000
- CLC FENCE,PLIST3 P4 COULD BE TRASH. FENCE IN P3? @VA04250 01283000
- BER R10 SURE - OK TO RETURN @VA04250 01284000
- B NOTKNOWN YES - THROW IT BACK @VA04250 01285000
- * * * * * * * * ------- -------- -------- ------- * 01286000
- * * * * * * * * THIS CHECKS THAT THOSE COMMANDS 01287000
- * * * * * * * * WHICH SHOULD HAVE ONLY FOUR TERMS 01288000
- * * * * * * * * DO IN FACT HAVE NO MORE. 01289000
- * * * * * * * * ------- -------- -------- ------- * 01290000
- NULLCHK5 CLC FENCE,PLIST5 IS THERE A FIFTH PARM? @VA04250 01291000
- BER R10 NO - OK TO RETURN @VA04250 01292000
- B NOTKNOWN YES - THROW IT BACK @VA04250 01293000
- * * * * * * * * ------- -------- -------- ------- * @V4075A2 01294000
- * * * * * * * * THIS CHECKS THAT THE LOCATE COMMAND @V4075A2 01295000
- * * * * * * * * WHICH SHOULD HAVE ONLY FOUR OR FIVE @V4075A2 01296000
- * * * * * * * * PARMS DOES IN FACT HAVE NO MORE. @V4075A2 01297000
- * * * * * * * * IN THIS CASE THE FIRST TEST MAY NOT @V4075A2 01298000
- * * * * * * * * FIND THE X'FF..' IT EXPECTS. @V4075A2 01299000
- * * * * * * * * ------- -------- -------- ------- * @V4075A2 01300000
- NULLCHK6 CLC FENCE,PLIST6 IS THERE A SIXTH PARM? @V4075A2 01301000
- BER R10 NO - OK TO RETURN @V4075A2 01302000
- CLC FENCE,PLIST5 P6 COULD BE TRASH. FENCE IN P5? @V4075A2 01303000
- BER R10 SURE - OK TO RETURN @V4075A2 01304000
- B NOTKNOWN YES - THROW IT BACK @V4075A2 01305000
- * * * * * * * * ------- -------- -------- ------- * 01306000
- * * * * * * * * FOR THE ROUTINES DMMFED AND DMMFEX, 01307000
- * * * * * * * * THIS CHECKS THAT ONLY SIX BYTES 01308000
- * * * * * * * * OF ADDRESS ARE PASSED, UNLESS 01309000
- * * * * * * * * THE EXTRA BYTES ARE LEADING ZEROS. 01310000
- * * * * * * * * ------- -------- -------- ------- * 01311000
- ADLENGTH LA R2,PLIST2 POINT TO LEFT CHAR OF ADDRESS @VA04250 01312000
- LA R3,PLIST3 LIMIT FOR SEARCH @VA04250 01313000
- LA R4,NULL ADDRESS BYTE COUNTER @VA04250 01314000
- CLI 0(R2),T IS IT A 'T' @VA04250 01315000
- BNE PCENT GO CHECK PERCENT @VA04250 01316000
- CHEKNEXT LA R2,ONE(R2) NEXT CHARACTER @VA04250 01317000
- CR R2,R3 OFF THE END? @VA04250 01318000
- BNL CHECK7 YES - CHECK THE COUNT @VA04250 01319000
- PCENT CLI 0(R2),PC IS THIS A '%' @VA04250 01320000
- BE CONCAT YES -GO MAKE CONCAT CHECK @VA04250 01321000
- CLI 0(R2),BLANK THEN IS IT A BLANK? @VA04250 01322000
- BE CHECK7 YES LAST OF THE BIG TIME CHARS @VA04250 01323000
- LA R4,ONE(R4) NO - BUMP COUNT @VA04250 01324000
- B CHEKNEXT GO TRY THE NEXT CHAR @VA04250 01325000
- CONCAT LA R2,ONE(R2) BUMP POINTER @VA04250 01326000
- CR R2,R3 OFF THE END @VA04250 01327000
- BNL ADLEND YES - OK - RETURN @VA04250 01328000
- CLI 0(R2),BLANK THEN IS IT A BLANK? @VA04250 01329000
- BNE NOTKNOWN NO - BAD - QUIT @VA04250 01330000
- B ADLEND YES - THAS OK - RETURN @VA04250 01331000
- * * * * * * * * ------- -------- -------- ------- * 01332000
- * * * * * * * * NOW WE HAVE COUNTED THE ADDRESS BYTES 01333000
- * * * * * * * * ------- -------- -------- ------- * 01334000
- CHECK7 C R4,SEVEN COMPARE TO '7' @VA04250 01335000
- BL ADLEND LOW - GOOD - RETURN @VA04250 01336000
- BH CHECK8 GO TEST THE EIGHT BYTES @VA04250 01337000
- LA R2,PLIST2 POINT TO START OF ADDRESS AGAIN @VA04250 01338000
- CLI 0(R2),T IS IT A 'T' ? @VA04250 01339000
- BNE ZEROCHEK NO - GO ZERO @VA04250 01340000
- LA R2,ONE(R2) LOOK AT SECOND CHAR @VA04250 01341000
- ZEROCHEK CLI 0(R2),ZERO THEN IT BETTER BE A ZERO @VA04250 01342000
- BE ADLEND YES - OK - RETURN @VA04250 01343000
- B NOTKNOWN NO - DONT LIKE IT @VA04250 01344000
- CHECK8 LA R2,PLIST2 LOOK AT THE 1ST CHAR YET AGAIN @VA04250 01345000
- CLI 0(R2),ZERO BE A ZERO @VA04250 01346000
- BNE NOTKNOWN NOPE - OUT @VA04250 01347000
- LA R2,ONE(R2) NEXT @VA04250 01348000
- CLI 0(R2),ZERO ZERO ? @VA04250 01349000
- BNE NOTKNOWN NO - BAD LUCK @VA04250 01350000
- ADLEND BR R10 MADE IT THROUGH - RETURN @VA04250 01351000
- * * * * * * * * ------- -------- -------- ------- * 01352000
- * * * * * * * * THIS CHECKS THE LAST COMMAND. 01353000
- * * * * * * * * IF IT IS LOCATE OR SCROLL IT MAY BE 01354000
- * * * * * * * * REUSED IE. SCROLL AGAIN, ORCONTINUE 01355000
- * * * * * * * * THE LOCATE FOR ANOTHER HIT. 01356000
- * * * * * * * * ------- -------- -------- ------- * 01357000
- REUSE CLC PLIST(CHARLEN),LOCATE LOCATE? @VA04250 01358000
- BE RELOCATE YES SET IT UP @VA04250 01359000
- CLC PLIST(CHARLEN),SCROLL SCROLL? @VA04250 01360000
- BE RESCROLL SET IT UP @VA04250 01361000
- B REREADY NEITHER - ROUND AGAIN @VA04250 01362000
- * * * * * * * * ------- -------- -------- ------- * 01363000
- * * * * * * * * FIRST THE LOCATE 01364000
- * * * * * * * * ------- -------- -------- ------- * 01365000
- * @V4075A2 01366000
- * IN A RELOCATE THE NEW 'FROM' ADDRESS IS ROUNDED @V4075A2 01367000
- * TO A QUAD-WORD BOUNDARY. IF THE USER HAD SPECIFIED @V4075A2 01368000
- * OTHER THAN THIS FOR A PARTICULAR SEARCH, IT WOULD BE @V4075A2 01369000
- * LOST ON THE SECOND AND SUBSEQUENT 'REUSE' OPERATIONS. @V4075A2 01370000
- * THIS PICKS UP THAT PART OF THE OLD 'FROM' ADDRESS @V4075A2 01371000
- * WHICH IS BELOW 16, AND ADDS IT INTO THE NEW 'FROM'. @V4075A2 01372000
- ************************************************************** @V4075A2 01373000
- RELOCATE LA R4,PLIST3 GET THE EXISTING 'FROM' @V4075A2 01374000
- L R15,HEXADD ADDRESS OF TRANSLATE @V4075A2 01375000
- BALR R14,R15 GO TRANSLATE @V4075A2 01376000
- LTR R15,R15 HOW BAD WAS IT @V4075A2 01377000
- BNZ CODECHEK IT WAS SOOO BAD.... @V4075A2 01378000
- SLL R5,28 STRIP OFF ALL OVER 1 HALF BYTE @V4075A2 01379000
- SRL R5,28 AND RESTORE THE CORRECT VALUE @V4075A2 01380000
- L R2,HEXADADD ADDR OF THE LAST DISPLAY ADDRESS @V4075A2 01381000
- L R2,0(R2) GET THE ADDRESS @VA04250 01382000
- L R3,BOUNDADD GET THE POINTER TO THE INCREMENT @V4075A2 01383000
- L R3,0(R3) AND GET THE INCREMENT @V4075A2 01384000
- SRL R3,ONE RESTORE TO BYTES FROM H'WORDS @V4075A2 01385000
- C R3,SIXTEEN IS THE INC GREATER THAN ONE LINE @V4075A2 01386000
- BH ADDBOUND YES - USE THE BOUND PARAMETER @V4075A2 01387000
- L R3,SIXTEEN NO - USE ONE LINE @V4075A2 01388000
- ADDBOUND AR R2,R3 ADD TO THE 'FROM' ADDRESS @V4075A2 01389000
- AR R2,R5 AND ADD ORIG LINE DISPLACEMENT @V4075A2 01390000
- ST R2,NEWFROM STORE IT @VA04250 01391000
- LA R3,XADDL LENGTH OF ADDRESS TO TRANSLATE @VA04250 01392000
- LA R4,NEWFROM+ONE ADDRESS FOR TRANSLATE @VA04250 01393000
- BAL R10,GOINT GO TRANSLATE @VA04250 01394000
- MVC PLIST3,BLANKS SET PLIST TO BLANKS @VA04250 01395000
- MVC PLIST3(SIXBYTES),0(R5) PLUG NEW ADDRESS @VA04250 01396000
- ***************************************************************@V4075A2 01397000
- * IF 'PRINT ' FOLLOWS A REUSE OF LOCATE, THE ORIGINAL @V4075A2 01398000
- * 'FROM' ADDRESS FROM THE INPUT LINE IS USED @V4075A2 01399000
- * AND DOES NOT REFLECT THE LATEST 'FROM'. THIS SAVES @V4075A2 01400000
- * THE FROM ADDRESS TO REFLECT THE LATEST UPDATE @V4075A2 01401000
- ***************************************************************@V4075A2 01402000
- MVC NEWFREBC,PLIST3 SAVE THE UPDATED FROM ADDR @V4075A2 01403000
- MVC INLENGTH,OLDINLEN FAKE UP INPUT LENGTH @VA04250 01404000
- MVC INPUT,INSAVE AND INPUT LINE @VA04250 01405000
- B GOLOCATE GO BACK TO LOCATE @VA04250 01406000
- * * * * * * * * ------- -------- -------- ------- * 01407000
- * * * * * * * * REUSE THE SCROLL 01408000
- * * * * * * * * ------- -------- -------- ------- * 01409000
- RESCROLL MVC INPUT,INSAVE REPLACE THE LAST INPUT LINE @VA04250 01410000
- MVC INLENGTH,OLDINLEN AND LENGTH @VA04250 01411000
- B GOSCROLL FOR CONSISTENCY - AND CONTINUE @VA04250 01412000
- ***************************************************************@V4075A2 01413000
- * THIS CLOSES THE PRINTER @V4075A2 01414000
- ***************************************************************@V4075A2 01415000
- CLOSEPRT LA R2,CLOSER @V4075A2 01416000
- LA R3,L'CLOSER @V4075A2 01417000
- DC X'83230008' CALL CP TO CLOSE PRINT FILE @V4075A2 01418000
- BR R10 RETURN @V4075A2 01419000
- * * * * * * * * ------- -------- -------- ------- * 01420000
- * * * * * * * * RETURN 01421000
- * * * * * * * * ------- -------- -------- ------- * 01422000
- RETURN BAL R10,CLEAR CLEAR SCREEN FOR TERM MESSAGE @VA04250 01423000
- BAL R10,CLOSEPRT GO SHUT DOWN PRINTER @V4075A2 01424000
- LA R10,DUMPFSCB GET READY TO @VA04250 01425000
- FSCLOSE FSCB=(R10) CLOSE THE DUMP FILE @VA04250 01426000
- L R2,PBADDADD ADDRESS OF LOC BUFFER ADDRESS @V4075A2 01427000
- L R2,0(R2) GET THE BUFFER ADDRESS @V4075A2 01428000
- LTR R2,R2 ANY ADDRESS ? @V4075A2 01429000
- BZ RETURNER NO - GET RIGHT OUT @V4075A2 01430000
- LR R1,R2 YES - SET UP TO RETURN STORAGE @V4075A2 01431000
- DMSFRET DWORDS=(1030),LOC=(1),ERR=FREEERR @V4075A2 01432000
- RETURNER L R13,SAVEBACK CALLERS SAVE PTR @VA04250 01433000
- MVC SAVREG15(L'RETCODE,R13),RETCODE RC FOR PICK UP @VA04250 01434000
- LM R14,R12,SAVEDISP(R13) CALLERS REGS @VA04250 01435000
- BR R14 RETURN @VA04250 01436000
- * * * * * * * * ------- -------- -------- ------- * 01437000
- * * * * * * * * CONSTANTS 01438000
- * * * * * * * * ------- -------- -------- ------- * 01439000
- CLOSER DC C'CLOSE PRT' @V4075A2 01440000
- CODE4 DC F'4' ACCEPTABLE RETURN @VA04250 01441000
- CODE8 DC F'8' NON DITTO @VA04250 01442000
- SIXTEEN DC F'16' BUMP 'FROM' FOR 'RELOCATE' @VA04250 01443000
- HUH DC CL16'????????' 'DONT RECOGNISE INPUT' @VA04250 01444000
- INPUT DS CL150 READ FROM CONSOLE @VA04250 01445000
- INSAVE DS CL150 INPUT SAVE AREA @VA04250 01446000
- CMDINFO DC 80C' ' HEADER FOR SCREEN DISPLAY @VA04250 01447000
- NOPARM DC XL15'40404040404040FFFFFFFFFFFFFFFF' ONLY 1CHAR @VA04250 01448000
- PLIST DS 8D THE FAMOUS PARAMETER LIST @VA04250 01449000
- ORG PLIST @VA04250 01450000
- PLIST1 DS D FIRST PLIST PARAMETER @VA04250 01451000
- PLIST2 DS D SECOND @VA04250 01452000
- PLIST3 DS D THIRD @VA04250 01453000
- PLIST4 DS D FOURTH @VA04250 01454000
- PLIST5 DS D FIFTH @VA04250 01455000
- PLIST6 DS D SIXTH @VA04250 01456000
- PLIST7 DS D SEVENTH @VA04250 01457000
- PLIST8 DS D EIGHTH @VA04250 01458000
- * * * * * * * * ------- -------- -------- ------- * 01459000
- * * * * * * * * SAVEAREA 01460000
- * * * * * * * * ------- -------- -------- ------- * 01461000
- SAVEAREA DS 0F THIS PROGRAM'S SAVE AREA @VA04250 01462000
- SAVEUSR DS F USER WORD @VA04250 01463000
- SAVEFWD DS F FORWARD POINTER @VA04250 01464000
- SAVEBACK DS F BACKWARD POINTER @VA04250 01465000
- SAVER14 DS F SAVE AREA FOR CALLER'S R14 @VA04250 01466000
- SAVER15 DS F SAVE AREA FOR CALLER'S R15 @VA04250 01467000
- SAVER0 DS F SAVE AREA FOR CALLER'S R0 @VA04250 01468000
- SAVER1 DS F SAVE AREA FOR CALLER'S R1 @VA04250 01469000
- SAVER2 DS F SAVE AREA FOR CALLER'S R2 @VA04250 01470000
- SAVER3 DS F SAVE AREA FOR CALLER'S R3 @VA04250 01471000
- SAVER4 DS F SAVE AREA FOR CALLER'S R4 @VA04250 01472000
- SAVER5 DS F SAVE AREA FOR CALLER'S R5 @VA04250 01473000
- SAVER6 DS F SAVE AREA FOR CALLER'S R6 @VA04250 01474000
- SAVER7 DS F SAVE AREA FOR CALLER'S R7 @VA04250 01475000
- SAVER8 DS F SAVE AREA FOR CALLER'S R8 @VA04250 01476000
- SAVER9 DS F SAVE AREA FOR CALLER'S R9 @VA04250 01477000
- SAVER10 DS F SAVE AREA FOR CALLER'S R10 @VA04250 01478000
- SAVER11 DS F SAVE AREA FOR CALLER'S R11 @VA04250 01479000
- SAVER12 DS F SAVE AREA FOR CALLER'S R12 @VA04250 01480000
- INLENGTH DS F LENGTH OF LINE READ IN @VA04250 01481000
- OLDINLEN DS F LENGTH OF PREVIOUS LINE @VA04250 01482000
- NEWFROM DS F UPDATED 'FROM' FOR 'RELOCATE' @VA04250 01483000
- NEWFREBC DC CL8' ' EBC FORM OF ABOVE @V4075A2 01484000
- RETCODE DS F RETURN CODE @VA04250 01485000
- CONSOLE DS F ADDRESS OF VIRTUAL CONS @VA04250 01486000
- BLANKS DC CL8' ' BLANKS @VA04250 01487000
- FENCE DC XL8'FFFFFFFFFFFFFFFF' END OF PLIST @VA04250 01488000
- X8 DC H'8' PLIST INCREMENT @VA04250 01489000
- TYPEFLAG DC X'00' TYPE OF TERMINAL @VA04250 01490000
- QUERY DC XL2'6F40' '? ' FOR RESTATE INPUT @VA04250 01491000
- PRINTSW DC X'00' PRINT SWITCH @V4075A2 01492000
- ***************************************************************@V4075A2 01493000
- * ONE-SHOT PRINT SW IS X'00' IF NOT IN A ONE SHOT @V4075A2 01494000
- * PRINT SITUATION, SUCH AS PRINT ON, OR PRINT OFF AND @V4075A2 01495000
- * NOT A PRINT COMMAND. IT IS X'0F' IF ONE-SHOT PRINT @V4075A2 01496000
- * WITH DISPLAY SUPPRESSED, SUCH AS 'PRINT' AFTER @V4075A2 01497000
- * A SUBCOMMAND - D 1234, @V4075A2 01498000
- * AND X'FF' IF ONE SHOT WITH DISPLAY, SUCH AS @V4075A2 01499000
- * PRINT D 1234. @V4075A2 01500000
- ***************************************************************@V4075A2 01501000
- PRINTONE DC X'00' ONE SHOT PRINT SWITCH. @V4075A2 01502000
- * * * * * * * * ------- -------- -------- ------- * 01503000
- TYPESAVE DS 0F RESULTS OF CONSOLE DIAGNOSE @VA04250 01504000
- DS 1C DEV TYPE BYTE 1 @VA04250 01505000
- TYPEREM DS 1C DEV TYPE BYTE 2 @VA04250 01506000
- DS H UNUSED DEV TYPE BYTES @VA04250 01507000
- * * * * * * * * ------- -------- -------- ------- * 01508000
- SEVEN DC F'7' COUNT OF ADDRESS BYTES @VA04250 01509000
- NOFILE DC F'28' FILE NOT FOUND RETCODE @VA04250 01510000
- PAGESW DC X'01' PAGE SWITCH @VA04250 01511000
- DUMPFSCB FSCB 'PRB0000X DUMP * ',BSIZE=4096 HRC001DM 01512490
- NULL EQU X'00' TO ZERO A REG @VA04250 01513000
- TYPER EQU X'FF' TYPEWRITER TYPE DEVICE @VA04250 01514000
- HIBYTEST EQU X'F0' TEST FOR 3270 TYPE DISPLAY @VA09785 01514400
- LOBYTEST EQU X'0F' TERMINALS @VA09785 01514800
- NUMZONE EQU X'F0' ZONE FOR A NUMEROC CHARACTER @VA04250 01515000
- CMDCODE EQU X'19' COMMAND CODE IN DIAGNOSE CCW @VA04250 01516000
- ERASE EQU X'FF' ERASE CONTROL BYTE IN CCW @VA04250 01517000
- BLANK EQU X'40' SIGNIFICANT CHARACTER COMPARE @VA04250 01518000
- DELIM EQU X'B0' DELIMITER TEST - '4X' @VA04250 01519000
- REC2 EQU X'02' RECORD #2 @VA04250 01520000
- S EQU X'E2' S FOR SCROLL @VA04250 01521000
- T EQU X'E3' LEADING 'T' @VA04250 01522000
- U EQU X'E4' U FOR SCROLL 'U' @VA04250 01523000
- NULLDUMP EQU X'E7' DUMP NOT INDICATED YET @V4075A2 01524000
- PC EQU X'6C' PERCENT @VA04250 01525000
- ZERO EQU X'F0' ZERO @VA04250 01526000
- PAGE1 EQU X'01' PAGE1 SW @VA04250 01527000
- PAGE2 EQU X'02' PAGE2 SW @VA04250 01528000
- NOTRED EQU X'00' NOT READ STATUS @VA04250 01529000
- CHARLEN EQU X'01' LENGTH OF ONE BYTE INPUT TEST @VA04250 01530000
- TWOBYTES EQU X'02' TWO @VA04250 01531000
- THREEBYT EQU X'03' THREE @VA04250 01532000
- SIXBYTES EQU X'06' SIX @VA04250 01533000
- SEVENBYT EQU X'07' SEVEN @VA04250 01534000
- ONE EQU 1 COUNTER BUMPER @VA04250 01535000
- XADDL EQU 3 LENGTH OF HEX ADDRESS @VA04250 01536000
- VDEND EQU 4 END OF VALID INPUT @VA04250 01537000
- GOODRET EQU 4 DISP TO GOOD RETURN ADDRESS @VA04250 01538000
- FIV EQU 5 UNPACK DISP @VA04250 01539000
- SIX EQU 6 UNPACK DISP @VA04250 01540000
- SEV EQU 7 UNPACK DISP @VA04250 01541000
- FN EQU 8 FILE NAME IN FSCB @VA04250 01542000
- FSCBDNUM EQU 11 DUMP NUMBER @VA04250 01543000
- CUUBLANK EQU 11 END OF 'CUU' IN PLIST @VA04250 01544000
- SAVEDISP EQU 12 DISP. OF REGS IN SAVEAREA @VA04250 01545000
- FNEND EQU 15 END OF FILE NAME @VA04250 01546000
- FT EQU 16 FILE TYPE @VA04250 01547000
- SAVREG15 EQU 16 DISP FOR REG15 IN SAVAREA @VA04250 01548000
- FR EQU 22 FROM DISP. @VA04250 01549000
- FM EQU 24 FILE MODE IN FSCB @VA04250 01550000
- TO EQU 30 'TO' DISP @VA04250 01551000
- LINECNT EQU 43 NUMBER OF LINES @VA04250 01552000
- TRYDIAG EQU 50 NUMBER OF RETRIES FOR DIAGNOSE @VA04250 01553000
- LINELEN EQU 80 LENGTH OF LINE @VA04250 01554000
- ***************************************************************@V4075A2 01555000
- * CONSTANTS FOR PRINT @V4075A2 01556000
- ***************************************************************@V4075A2 01557000
- OF DC CL8'OF' @V4075A2 01558000
- OFF DC CL8'OFF' PRINT OFF PARM @V4075A2 01559000
- ON DC CL8'ON' PRINT ON @V4075A2 01560000
- PRT DC CL8'PRT' PRT ABBREV FOR PRINT @V4075A2 01561000
- CLOSE DC CL6'CLOSE' CLOSE PARM OF PRINT SUBC. @V4075A2 01562000
- PRINT DC CL6'PRINT' PRINT SUBCOMMAND @V4075A2 01563000
- PRINTONM DC C'PRINT IS ON' POS. REPLY TO PRINT ? @V4075A2 01564000
- PRINTOFM DC C'PRINT IS OFF' NEG REPLY TO PRINT ? @V4075A2 01565000
- TURNON EQU X'FF' SWITCH ON VALUE @V4075A2 01566000
- TURNOFF EQU X'00' SWITCH OFF VALUE @V4075A2 01567000
- SUBCOMM EQU X'FF' ONE-SHOT PRINT W DISPLAY @V4075A2 01568000
- NOSUBC EQU X'0F' ONE-SHOT PRINT - NO DISPLAY. @V4075A2 01569000
- * * * * * * * *------- -------- -------- -------- ------* 01570000
- * * * * * * * * CONSTANTS FOR RDERR 01571000
- * * * * * * * *------- -------- -------- -------- ------* 01572000
- DEPACK DS D UNPACKED RETCODE @VA04250 01573000
- DECODE DS D DECIMAL RETCODE @VA04250 01574000
- ERMSG719 DC C'DMMDSC719I ERROR ''' TEXT OF ERROR MESSAGE @VA04423 01575000
- ERRMSGCD DC CL3' ' * @VA04250 01576000
- ERRMSGT2 DC C''' IN FSSTATE. FILE ''' * @VA04250 01577000
- ERRMSGFN DC CL8' ' * @VA04250 01578000
- ERRMSFIL DC CL2' ' FILLER @VA04250 01579000
- ERRMSGFT DC CL6' ' * @VA04250 01580000
- ERRMSGF2 DC CL1' ' FILLER @VA04250 01581000
- ERRMSGM DC CL2' ' * @VA04250 01582000
- ERRMSGHK DC CL1'''' TRAILING HICKEY @VA04250 01583000
- E719L EQU *-ERMSG719 * @VA04250 01584000
- * * * * * * * * ------- -------- -------- ------- * 01585000
- * * * * * * * * OTHER MESSAGES 01586000
- * * * * * * * * ------- -------- -------- ------- * 01587000
- EMSG7011 DC C'DMMDSC701R Please enter one of the following operands:*01588190
- ' HRC001DM 01588380
- EMSG7012 DC C' NNNNN < MODE > - To view PRBNNNNN from CMS *01588570
- DISK ''MODE''' HRC001DM 01588760
- EMSG7013 DC C' HELP - To request HELP informatio*01588950
- n' HRC001DM 01589140
- EMSG7014 DC C' END, QUIT, HX - To EXIT' HRC001DM 01589330
- SHORTRDY DC C'*R' SHORT READY MSG @VA04250 01590000
- READYMSG DC C'*** READY ***' REGULAR READY @VA04250 01591000
- NOFILMSG DC C'DUMP NOT FOUND - CHECK NUMBER AND MODE' @VA04250 01592000
- * * * * * * * *------- -------- -------- -------- ------* 01593000
- * * * * * * * * CONSTANTS FOR INPUT CHECK ROUTINE * 01594000
- * * * * * * * *------- -------- -------- -------- ------* 01595000
- RIOBLOK DC CL8'RIOBLOK' REAL DEVICE TRACKING @VA04250 01596000
- VIOBLOK DC CL8'VIOBLOK' VIRTUAL DEVICE TRACKING @VA04250 01597000
- VMBLOK DC CL7'VMBLOK' SUMMARY OF USERIDS & STATUS @VA04250 01598000
- SCROLL DC CL7'SCROLL' SCROLL @VA04250 01599000
- LOCATE DC CL7'LOCATE' LOCATE A STRING @VA04250 01600000
- TRACE DC CL6'TRACE' 'N' TRACE TABLE ENTRIES @VA04250 01601000
- DISPLAY DC CL8'DISPLAY' DISPLAY REQUEST @VA04250 01602000
- REGS DC CL5'REGS' CONTROL AND GENERAL REG REQUEST @VA04250 01603000
- G DC CL2'G' GENERAL REG REQ. @VA04250 01604000
- C DC CL2'C' CONTROL REG REQUEST @VA04250 01605000
- XREGS DC CL6'XREGS' AREGS OR MREGS @V4075A2 01606000
- A DC C'A' APREGS @V4075A2 01607000
- M DC C'M' MREGS @V4075A2 01608000
- EXAMINE DC CL2'X' ONE FULL SCREEN OF THE DUMP @VA04250 01609000
- DMK DC CL3'DMK' MODULE OR ENTRY SEARCH @VA04250 01610000
- HDK DC CL3'HDK' MODULE OR ENTRY SEARCH HRC001DM 01610500
- DMKQ DC CL4'DMK?' ADDRESS LOCATE REQUEST @VA04250 01611000
- HDKQ DC CL4'HDK?' ADDRESS LOCATE REQUEST HRC001DM 01611500
- IREC DC CL2'I' DUMP INFORMATION RECORD (REC2) @VA04250 01612000
- INVALID DC CL7'INVALID' SET 'UNRECOGNISABLE INPUT' FLAG @VA04250 01613000
- ZEROS DC CL5'00000' TO RESET FSCB FILENAME @VA04250 01614000
- * * * * * * * * ------- -------- -------- ------- * 01615000
- * * * * * * * * CONSTANTS FOR INCHECK 01616000
- * * * * * * * * ------- -------- -------- ------- * 01617000
- HELP DC CL5'HELP' REQUEST FOR COMMAND SUMMARY @VA04250 01618000
- HX DC CL3'HX' HALT EXECUTION @VA04250 01619000
- QUIT DC CL5'QUIT' SAME @VA04250 01620000
- END DC CL4'END' END @VA04250 01621000
- BLANKOUT DC CL150' ' BLANKS TO CLEAR OUTPUT AREA @VA04830 01622000
- * * * * * * * * ------- -------- -------- ------- * 01623000
- * * * * * * * * CCWS FOR 'HELP' 01624000
- * * * * * * * * ------- -------- -------- ------- * 01625000
- CCWA CCW X'19',INFO1,X'60',1760 ERASE @VA04250 01626000
- CCWB CCW X'19',INFO1,X'20',1760 WRITE @VA04250 01627000
- * * * * * * * *------- -------- -------- -------- ------* 01628000
- * * * * * * * * ADCONS 01629000
- * * * * * * * *------- -------- -------- -------- ------* 01630000
- DS 0F @VA04250 01631000
- FEXADD DC AL4(DMMFEX) ADDRESS OF EXAMINE FETCH @VA04250 01632000
- VMBADD DC AL4(DMMVMB) VMBLOK ROUTINE @VA04250 01633000
- MODADD DC AL4(DMMMOD) MODULE NAME ROUTINE @VA04250 01634000
- SCRADD DC AL4(DMMSCR) SCROLLER @VA04250 01635000
- REGADD DC AL4(DMMREG) REGISTER DISPLAY @VA04250 01636000
- FEDADD DC AL4(DMMFED) DUMP COMMAND @VA04250 01637000
- TRACEADD DC AL4(DMMTRC) TRACE TABLE ROUTINE @VA04250 01638000
- IOBADD DC AL4(DMMIOB) REAL AND VIRTUAL IOBLOCKS @VA04250 01639000
- LOCADD DC AL4(DMMLOC) LOCATE @VA04250 01640000
- INTADD DC AL4(DMMINT) TRANSLATE @VA04250 01641000
- PBADDADD DC AL4(PREBUFAD) ADDRESS OF LOC BUFFER ADDRESS @V4075A2 01642000
- BOUNDADD DC AL4(BOUND) ADDRESS OF INCREMENT @V4075A2 01643000
- HEXADD DC AL4(DMMHEX) EBC-TO-BINARY TRANSLATE @V4075A2 01644000
- INFOADD1 DC AL4(INFO1) 'HELP' PAGE1 @VA04250 01645000
- INFOADD2 DC AL4(INFO2) 'HELP' PAGE2 @VA04250 01646000
- HEXADADD DC AL4(HEXAD) DISPLAY ADDRESS IN HEX @VA04250 01647000
- ISWADD DC AL4(ISW) ITEM TABLE READ SW @VA04250 01648000
- MAPRSADD DC AL4(MAPREDSW) LOAD MAP READ @VA04250 01649000
- RECNOADD DC AL4(RECORDNO) LAST RECORD READ @VA04250 01650000
- SCBKUP DC F'176' VALUE TO BACKUP FOR TRACE @VA04250 01651000
- ************************************************************ @V4075A2 01652000
- * CONSTANTS FOR DMMMAP @V4075A2 01653000
- ************************************************************ @V4075A2 01654000
- MAXCOUNT DC F'1792' MAX TRIES IN ITEM TABLE @V4075A2 01655000
- EOTFOX DC X'FFFF' END OF ITEM TABLE FLAG @V4075A2 01656000
- EOF DC F'12' END OF FILE RET CODE @V4075A2 01657000
- NOERR DC F'0' NO ERROR RETURN @V4075A2 01658000
- CPEND DC CL8'DMKCPEND' END OF RES NUCLEUS @V4075A2 01659000
- MAPRET DS F SAVE FOR MAP RET CODE @V4075A2 01660000
- GOTTENAD DS F SAVE FOR DMSFREE GOTTEN ADDRESS @V4075A2 01661000
- MAP DC CL8'MAP' MAP SUBCOMMAND @V4075A2 01662000
- MAPADD DC AL4(DMMMAP) ADDRESS OF MAPPING ROUTINE @V4075A2 01663000
- ADISK DC CL2'A1' A DISK FILE MODE IDENT @V4075A2 01664000
- ITBLMSG DC C'DMMDSC705E ERROR IN ITEM TABLE' @V4075A2 01665000
- MAPONMSG DC C'THE MAP HAS BEEN ADDED TO THE DUMP' @V4075A2 01666000
- TWOMAPMS DC C'DMMDSC720I LOAD MAP ALREADY PRESENT' @V4075A2 01667000
- DPNOTAMS DC C'DMMDSC723I THE DUMP IS NOT ON THE A-DISK' @V4075A2 01668000
- STATFLAG DS C FILE STATUS FLAG BYTE @V4075A2 01669000
- * * * * DO NOT SEPARATE THE FOLLOWING STATEMENTS * * * * * * **@V4075A2 01670000
- SHARECON DS 0F SHARED CONSTANT AREA *@V4075A2 01671000
- ORG SHARECON+1 DISP *@V4075A2 01672000
- DUMPNUM DS CL8 NUMBER OF THE DUMP BEING READ *@V4075A2 01673000
- ORG SHARECON+X'20' DISP *@V4075A2 01674000
- REALEND DS F ADDR DMKCPEND FROM SYMBOL TABLE *@V4075A2 01675000
- ORG SHARECON+X'424' DISP *@V4075A2 01676000
- TEXT5 DS CL80 MSG TEXT AREA *@V4075A2 01677000
- TEXT7 DS CL80 MSG TEXT AREA *@V4075A2 01678000
- * * * * DO NOT SEPARATE THE ABOVE STATEMENTS * * * * * * * * **@V4075A2 01679000
- TWO EQU 2 LENGTH OF ITEMTAB ENTRY @V4075A2 01680000
- DUMMIES EQU 5 COUNT THE EXTRA RECS IN THE DUMP @V4075A2 01681000
- EIGHT EQU 8 DISP TO ADDRESS @V4075A2 01682000
- TABENT EQU 12 LENGTH OF A SYM TAB ENTRY @V4075A2 01683000
- ITEMTAB EQU 56 DISP TO ITEM TAB IN DMPPGMAP @V4075A2 01684000
- HIHALF EQU X'F0' MASK TO STRIP OFF LO HALF BYTE @V4075A2 01685000
- * * * * * * * * ------- -------- -------- ------- * 01686000
- * * * * * * * * CONSTANTS FOR CLEAR 01687000
- * * * * * * * * ------- -------- -------- ------- * 01688000
- CCWC CCW X'19',X'0',X'20',1760 @VA04250 01689000
- SAVCLR DS 3F SAVE FOR CLEAR SUBR. @VA04250 01690000
- SCRNADD DC AL4(SCRNAREA) DISPLAY AREA @VA04250 01691000
- ***************************************************************@V4075A2 01692000
- * CONSTANTS FOR &NAME SECTION @V4075A2 01693000
- ***************************************************************@V4075A2 01694000
- * DO NOT SEPARATE THE FOLLOWING STATEMENTS * * * * * * * * * **@V4075A2 01695000
- ILLAMPMS DC C'DMMDSC722I INVALID ENTRY INTO ' TEXT1 * *@V4075A2 01696000
- DC X'50' AMPERSAND * *@V4075A2 01697000
- DC C'NAME TABLE' TEXT2 * *@V4075A2 01698000
- TAMSGLEN EQU *-ILLAMPMS LENGTH OF ABOVE MSG * *@V4075A2 01699000
- TABFULMS DC C'DMMDSC721I THE ' * *@V4075A2 01700000
- DC X'50' AMPERSAND * *@V4075A2 01701000
- DC C'NAME TABLE IS FULL' * *@V4075A2 01702000
- TFMSGLEN EQU *-TABFULMS LENGTH * *@V4075A2 01703000
- * DO NOT SEPARATE THE ABOVE STATEMENTS * * * * * * * * * * * **@V4075A2 01704000
- AMPERSAN DC XL8'5040404040404040' AMPERSAND - BLANKS @V4075A2 01705000
- TABENDSW DC X'00' END OF TABLE FOUND @V4075A2 01706000
- ZBSWITCH DC X'00' BLANK CHECKING @V4075A2 01707000
- DS 0F @V4075A2 01708000
- NEXTSLOT DC AL4(AMPTABLE) WHERE TO START ADDING NEW TERM @V4075A2 01709000
- NEWSTART DS F START OF A PARTIAL ENTRY @V4075A2 01710000
- AMPBUFF DC CL60' ' BUFFER FOR &NAME LINES @V4075A2 01711000
- OUTLINE DC CL80' ' WRTERM BUFFER @V4075A2 01712000
- DS 0D ALIGN ON SLOT BOUNDARY. @V4075A2 01713000
- AMPTABLE DC 32CL8' ' NAME TABLE - 32 SLOTS @V4075A2 01714000
- ***************************************************************@V4075A2 01715000
- * AT THIS WRITING YOU MAY INCREASE THE SIZE OF THE TABLE @V4075A2 01716000
- * TO 70 ENTRIES BEFORE YOU RUN OUT OF THIS BASE REGISTER. @V4075A2 01717000
- ***************************************************************@V4075A2 01718000
- AMPTBEND DC XL8'FFFFFFFFFFFFFFFF' END OF AMPTABLE @V4075A2 01719000
- HEXZERO EQU X'00' TEST IN BLANK EXTRACT RTN @V4075A2 01720000
- STRINGLN DS F LENGTH OF STRING @V4075A2 01721000
- STRINGAD DC CL150' ' LOCATE SEARCH ARG @V4075A2 01722000
- MAXSTRNG DC F'148' MAX ALLOWED INPUT @V4075A2 01723000
- PATCH DC 50F'0' PATCH AREA @VA04250 01724000
- LTORG @VA04250 01725000
- * * * * * * * * ------- -------- -------- ------- * 01726000
- * * * * * * * * HELP PAGE 01727000
- * * * * * * * * THE FOLLOWING IS THE TEXT OF THE 01728000
- * * * * * * * * PAGES DISPLAYED TO THE USER ON 01729000
- * * * * * * * * TYPING 'HELP'. 01730000
- * * * * * * * * ------- -------- -------- ------- * 01731000
- INFO1 DC CL40' DUMPSCAN - EXAMINE THE SYSTEM ABEND' @V4075A2 01732000
- DC CL40' DUMPS PRODUCED BY THE VMFDUMP COMMAND.' @V4075A2 01733000
- DC CL40' ' @VA04250 01734000
- DC CL40' ' @VA04250 01735000
- DC CL40'REPLY TO MESSAGE: ' HRC001DM 01736790
- DC CL40' ' HRC001DM 01737580
- DC CL40' DMMDSC701I ENTER DUMP NUMBER AND MODE ' HRC001DM 01738370
- DC CL40'- FOR ''PRB00027 DUMP C'' ENTER ''27 C''' HRC001DM 01739160
- DC CL40'SUBCOMMANDS: ' @VA04250 01740000
- DC CL40' ' @VA04250 01741000
- DC CL40' DISPLAY HEXLOC DISPLAYS X''' @VA04250 01742000
- DC CL40'130'' BYTES OF THE DUMP (3270 ONLY) ' @VA04250 01743000
- DC CL40' DISPLAY HEXLOC(%) XXX DISPLAYS ''X' @VA04250 01744000
- DC CL40'XX'' HEX BYTES FROM LOCATION HEXLOC(%) ' @VA04250 01745000
- DC CL40' TRACE NNN DISPLAYS TH' @VA04250 01746000
- DC CL40'E PREVIOUS NNN TRACE ENTRIES ' @VA04250 01747000
- DC CL40' SCROLL(U) SCROLL DOWN' @VA04250 01748000
- DC CL40' (OR UP) ONE SCREEN OF DATA (3270 ONLY) ' @VA04250 01749000
- DC CL40' C, G, REGS, (A,M)REGS C, G SHOW R' @V4075A2 01750000
- DC CL40'EGS, (A,M)REGS SHOW CLOCKS AND PSWS ALSO' @V4075A2 01751000
- DC CL40' DMKXXXYY/HDKXXXYY DISPLAYS TH' HRC001DM 01752490
- DC CL40'E MODULE OR THE ENTRY ' @VA04250 01753000
- DC CL40' DMK?/HDK? HEXLOC IDENTIFIES ' HRC001DM 01754490
- DC CL40'THE MODULE CONTAINING THE ADDRESS ' @VA04250 01755000
- DC CL40' MAP ADDS A NUCL' @V4075A2 01756000
- DC CL40'EUS LOAD MAP TO THE DUMP BEING EXAMINED.' @V4075A2 01757000
- DC CL40' PRINT (ON,OFF, ,CLOSE,?,SUBCOMMAND ' @V4075A2 01758000
- DC CL40'CONTROLS PRINTING OF DISPLAYED DATA ' @V4075A2 01759000
- DC XL5'4040404050' AMPERSAND @V4075A2 01760000
- DC CL35'NAME (NAME BUILDS AND ' @V4075A2 01761000
- DC CL40'CALLS A TABLE OF HIGH-USE SUB-COMMANDS.' @V4075A2 01762000
- DC CL40' VMBLOK LISTS USER ' @VA04250 01763000
- DC CL40'VMBLOKS AND STATUS ' @VA04250 01764000
- DC CL40' RIOBLOK CUU DISPLAYS TH' @VA04250 01765000
- DC CL40'E RCH, RCU, AND RDEV BLOCKS ' @VA04250 01766000
- DC CL40' VIOBLOK CUU USER DISPLAYS TH' @VA04250 01767000
- DC CL40'E VCH, VCU, AND VDEV BLOCKS FOR USER ' @VA04250 01768000
- DC CL40' LOCATE STRING FROM TO (I SEEKS THE S' @V4075A2 01769000
- DC CL40'TRING FROM ''FROM'' TO ''TO'' IN STEPS ''I''.' 01770000
- DC CL40' HELP REDISPLAYS ' @VA04250 01771000
- DC CL40'THIS PAGE.' @V4075A2 01772000
- DC CL40' HX, QUIT, OR END WILL END TH' @VA04250 01773000
- DC CL40'E SESSION ' @VA04250 01774000
- DC CL40' TYPE HELP FOR MORE DETAIL, OR HIT EN' @VA04250 01775000
- DC CL40'TER.' @VA04250 01776000
- * * * * * * * * ------- -------- -------- ------- * 01777000
- * * * * * * * * THIS IS PAGE 2 - MORE DETAIL ON COMMANDS 01778000
- * * * * * * * * ------- -------- -------- ------- * 01779000
- INFO2 DC CL40' DUMPSCAN _ P' @VA04250 01780000
- DC CL40'AGE 2 ' @VA04250 01781000
- DC CL40' ALL INPUT IS TOKENIZED. ANY STRINGS ' @VA04250 01782000
- DC CL40'OVER 8 BYTES (EXCEPT IN LOCATE) WILL BE ' @VA04250 01783000
- DC CL40' TRUNCATED UNLESS THERE IS A DELIMITE' @VA04250 01784000
- DC CL40'R IN THE STRING. DELIMITERS ARE BLANKS ' @VA04250 01785000
- DC CL40' AND PERIODS. TO BE COMPATIBLE WITH C' @V4075A2 01786000
- DC CL40'P, DISPLAY ACCEPTS THE LEADING ''T''. SO' @V4075A2 01787000
- DC CL40' YOU MAY ENTER:- DISPLAY 1234 56 OR' @V4075A2 01788000
- DC CL40' D 1234.56 OR D T1234 56 OR D T1234.56' @V4075A2 01789000
- DC CL40' ALL COMMANDS MAY BE TRUNCATED. LEA' @VA04250 01790000
- DC CL40'DING ZEROS ARE NOT NEEDED IN ADDRESSES. ' @VA04250 01791000
- DC CL40' THE USERID IN THE VIOBLOK COMMAND WI' @VA04250 01792000
- DC CL40'LL DEFAULT TO THE LAST USERID ENTERED, ' @VA04250 01793000
- DC CL40' OR TO OPERATOR, IF ONE HAS NOT BEEN ' @VA04250 01794000
- DC CL40'USED. MOST ROUTINES DISPLAY THE COMMAND ' @VA04250 01795000
- DC CL40' AT THE TOP OF THE DISPLAY, BUT SOME ' @VA04250 01796000
- DC CL40'LONG DISPLAYS, SUCH AS TRACE OR DISPLAY ' @VA04250 01797000
- DC CL40' WILL GO TO ANOTHER PAGE. THE LAST CO' @VA04250 01798000
- DC CL40'MMAND MAY BE RECALLED BY TYPING ?. ' @VA04250 01799000
- DC CL40' ENTERING A CP MODULE NAME - DMKXXX/H' HRC001DM 01800590
- DC CL40'DKXXX - CAUSES A LOAD MAP ON THE END OF ' HRC001DM 01801180
- DC CL40' THE CMS DUMP TO BE SEARCHED. IF T' @VA04250 01802000
- DC CL40'HE MODULE NAME IS FOUND, ITS VIRTUAL ' @VA04250 01803000
- DC CL40' AND REAL ADDRESSES ARE FOUND, AND TH' @VA04250 01804000
- DC CL40'E REAL ADDRESS AND DATA ARE DISPLAYED. ' @VA04250 01805000
- DC CL40' THE SAME IS DONE FOR AN ENTRY POINT ' @VA04250 01806000
- DC CL40'- DMMXXXYY - AND IF THE EXACT ENTRY IS ' @VA04250 01807000
- DC CL40' NOT FOUND THE ROUTINE LOOKS FOR THE ' @VA04250 01808000
- DC CL40'PARENT MODULE NAME - DMMXXX - DISPLAYING' @VA04250 01809000
- DC CL40' THAT IF POSSIBLE. DMK? FINDS THE MOD' @VA04250 01810000
- DC CL40'ULE BELOW HEXLOC, AND ON THE SAME PAGE. ' @VA04250 01811000
- DC CL40' IF THE DUMP HAS NO LOAD MAP, YOU MAY' @V4075A2 01812000
- DC CL40' ADD IT NOW BY USING THE MAP SUBCOMMAND.' @V4075A2 01813000
- DC CL40' LOCATE SEARCHES FOR THE GIVEN STRING' @VA04250 01814000
- DC CL40' - UP TO 16 HEX DIGITS, NO SPACES. ' @VA04250 01815000
- DC CL40' LOCATE AND SCROLL HAVE A "REUSE" FUN' @VA04250 01816000
- DC CL40'CTION. A NULL LINE CAUSES THE PREVIOUS ' @VA04250 01817000
- DC CL40' COMMAND TO BE REISSUED, UPDATED TO T' @VA04250 01818000
- DC CL40'HE CURRENT ADDRESS. ' @VA04250 01819000
- DC CL40' ' @VA04250 01820000
- DC CL40' ' @VA04250 01821000
- DC CL40' TYPE "HELP" TO GET BACK T' @VA04250 01822000
- DC CL40'O PAGE1, OR HIT ENTER TO CONTINUE. ' @VA04250 01823000
- REGEQU @VA04250 01824000
- COPY DEVTYPES DEVICE TYPE MASKS @VA04250 01825000
- COPY DMPBLOKS DUMPINREC @V4075A2 01826000
- FSTB FILE STATUS TABLE @V4075A2 01827000
- END 01828000
ibm/vm370-lib/dumpscan/dmmdsc.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator