MACRO 00010001 &L SBASET &ROW=R14,&COL=R15 00020001 PUSH PRINT 00021001 PRINT NOGEN 00022001 LR R14,R9 ROW NUMBER KMB1 00023001 LA R15,1 COL NUMBER (ALWAYS 1) KMB1 00024001 BAL R4,SBACALC CALL ROUTINE KMB1 00025001 MVC 0(5,R5),=X'1140401DC4' MODEL SBA/SF KMB1 00026001 MVC 1(2,R5),SBACMD MOVE IN CALCULATED SBA KMB1 00027001 LA R9,1(,R9) POINT TO NEXT ROW KMB1 00028001 POP PRINT 00029001 MEND , 00030001 PUNCH ' ORDER SPY(P)' 00040001 PUNCH ' SETCODE AC(1)' 00041001 ******************************************************************* 00042001 * * 00043001 * D I S C L A I M E R S E C T I O N * 00044001 * * 00045001 ******************************************************************* 00046001 * * 00047001 * THIS MATERIAL HAS BEEN USED SUCCESSFULLY & TO THE BEST OF OUR * 00048001 * KNOWLEDGE THEY ARE OPERATIONAL, HOWEVER NO WARRANTY * 00049001 * IS MADE TO THE ACCURACY OF THE PROGRAMS OR RELATED MATERIAL AND * 00050001 * NO RESPONSIBILITY IS ASSUMED FOR ANY MODIFICATION DIRECTLY OR * 00060001 * INDIRECTLY CAUSED BY THEIR USE. IT IS THE USERS * 00070001 * RESPONSIBILITY TO EVALUATE THE USEFULLNESS OF THE MATERIAL * 00080001 * SUPPLIED . * 00090001 * * 00100001 * WE DO NOT GUARANTEE TO KEEP ANY MATERIAL PROVIDED UP TO DATE * 00110001 * NOR DO WE GUARANTEE TO PROVIDE ANY CORRECTIONS OR EXTENSIONS * 00120001 * DESCRIBED BY THE USER OR CORRECTIONS OR EXTENSIONS MADE IN THE * 00130001 * FUTURE . * 00140001 * * 00150001 ******************************************************************* 00160001 *********************************************************************** 00170001 * FOR AUTHORIZATION - INSERT GROUPS OR *USER INTO THE AUTHNAME * 00180001 * TABLE. * 00190001 * * 00200001 * F AUTHNAME LAST * 00210001 * * 00220001 * DISPLAY MVS CONSOLE DISPLAY WITH AUTOMATIC REFRESH OF SCREEN * 00230001 * TO PRESENT A CONSOLE APPEARANCE. * 00240001 * * 00250001 * USED THE BASIC CROSS MEMORY CONSOLE BUFFER READ FROM THE * 00260001 * CDF PROGRAM ON THE SHARE TAPE, AND MODIFIED TO A COMMAND * 00270001 * PROCESSOR HIGHLIGHTING THE HIGHLIGHTED MESSAGES - P.MURPHY * 00280001 * * 00290001 *********************************************************************** 00300001 * ORIG. FROM CBTTAPE.ORG FILE 025 TU SERVICES PGM=CONS390 * 00310001 *********************************************************************** 00320001 * UPDATE LOG * 00330001 *********************************************************************** 00340001 * 08/02/2007 KMB1-SAM BASS - MCLANE CO. * 00350001 * HEAVILY MODIFIED. * 00360001 * * 00370001 * 1. I CHOSE THIS CONSOLE/SPY PROGRAM SINCE IT HAD THE BASIC * 00380001 * STRUCTURE IN PLACE TO SUPPORT 3270 MODELS 2,3,4,5. * 00390001 * BUT IT ONLY COULD LOOK AT MOD-2 CONSOLES. * 00400001 * I TOOK IT TO THE NEXT LEVEL AND NOW IT WILL WORK WITH * 00410001 * ALL CONSOLE SIZES UP TO 54X132. * 00420001 * IF THE CONSOLE IS BIGGER THAN THE TERMINAL THEN I TRUNCATE * 00430001 * THE WIDTH AND LOP OFF THE TOP LINES. I DID NOT FEEL LIKE * 00440001 * DOING THE PAGING THING LIKE SOME OF THE CONSOLE/SPY PROGRAMS.* 00450001 * 2. I ALWAYS CHOOSE THE ALTERNATE SIZE (HOPEFULLY IT IS LARGER * 00460001 * THAN THE PRIMARY). MAYBE I SHOULD TEST WHICH IS LARGER! * 00470001 * 3. I CHANGED THE SECURITY ENTRIES TO BE RACF GROUPS INSTEAD OF * 00480001 * USERIDS. I DO STILL SUPPORT USERIDS BY HAVING "*USERID". * 00490001 * 4. I INCLUDED THE IPL VOLSER IN ADDITION TO THE IPL UCB * 00500001 * 5. I TRIED MY BEST TO REMOVE HARD CODED OFFSETS TO DATA AREAS * 00510001 * AND LENGTHS TO MOVE DATA. * 00520001 * * 00530001 * 08/06/2007 KMB1-SAM BASS - MCLANE CO. SBASS@MCLANECO.COM * 00540001 * * 00550001 * 1. CHANGED TO GENERATE THE SBA DYNAMICALLY SO THIS CAN SUPPORT * 00560001 * ANY SIZE TSO TERMINAL * 00570001 * 2. SUPPORTS 14-BIT SBA TO SUPPORT LARGE TERMINAL SIZES * 00580001 * IF ROW*COL > 4096 * 00590001 * 3. ALLOW 'P' OR 'A' TO BE PASSED TO PROGRAM TO FORCE * 00600001 * PRIMARY OR ALTERNATE TERMINAL SCREEN SIZE. * 00610001 * * 00620001 * VVV --------------- VVVVVVVVVVVVVVVVVVVVVVV * 00630001 *********************************************************************** 00640001 $AUTHOK EQU 0 USE AUTHORIZATION SVC KMB1 00650003 $AUTHSVC EQU 999 CHANGE TO YOUR AUTH SVC KMB1 00660003 SPY AMODE 31 00670001 SPY RMODE 24 00680001 SPY CSECT 00690001 SAVE (14,12),T,SPY_MCLANE_&SYSDATC._&SYSTIME. 00700001 LR R11,R15 LOAD ADDRESS OF ENTRY POINT 00710001 LA R12,2048(,R11) ADDRESS OF NEXT BASE REGISTER 00720001 LA R12,2048(,R12) ADDRESS OF NEXT BASE REGISTER 00730001 USING SPY,R11,R12 R12 BASE REGISTER 00740001 LR R2,R1 00750001 GETMAIN R,LV=WORKLENG,SP=1 00760001 LR R3,R1 00770001 ST R13,4(,R3) SAVE THE CALLER'S R13 00780001 ST R3,8(,R13) 00790001 LR R13,R3 00800001 USING WORKAREA,R13 00810001 *--------------------------------------------------------------------* 00820001 * INITIALIZE * 00830001 *--------------------------------------------------------------------* 00840001 MVI BLANKS,X'40' 00850001 MVC BLANKS+1(L'BLANKS-1),BLANKS 00860001 MVI CONSFLAG,X'00' 00870001 MVI USERFLAG,X'00' 00880001 MVI CNSLFLAG,X'00' 00890001 MVI THRUFLAG,X'00' 00890101 MVI ISSUFLAG,X'00' 00890201 MVC CMDLINE,BLANKS 00890301 MVC AXLIST(4),=Y(1,0) INITIALIZE AXLIST KMB1 00890401 MVI WFLAG2,0 KMB1 00890501 *--------------------------------------------------------------------* 00890601 * CHECK TO SEE IT 'P' OR 'A' WAS PASSED TO TELL US * 00890701 * TO USE PRIMARY OR ALTERNATE TERMINAL SIZE * 00890801 *--------------------------------------------------------------------* 00890901 TM 0(R2),X'80' IS THIS PARM? KMB1 00891001 BZ CHKCPPL NOPE KMB1 00891101 L R1,0(,R2) GET PARM/CPPL KMB1 00891201 OI 2(R1),C' ' UPPERCASE KMB1 00891301 CLI 2(R1),C'P' USE PRIMARY? KMB1 00891401 BE PARM80P KMB1 00891501 CLI 2(R1),C'A' USE ALTERNATE? KMB1 00891601 BE PARM80A KMB1 00891701 B PARM99 KMB1 00891801 CHKCPPL DS 0H KMB1 00891901 L R1,0(,R2) GET CPPLBUF KMB1 00892001 LH R15,2(,R1) GET PARAMETER OFFSET KMB1 00893001 LA R1,4(R15,R1) POINT TO PARM KMB1 00894001 OI 0(R1),C' ' UPPERCASE KMB1 00895001 CLI 0(R1),C'P' USE PRIMARY? KMB1 00895101 BE PARM80P KMB1 00895201 CLI 0(R1),C'A' USE ALTERNATE? KMB1 00895301 BE PARM80A KMB1 00895401 B PARM99 KMB1 00895501 PARM80P DS 0H KMB1 00895601 OI WFLAG2,$2PRIM SET TO USE PRIMARY SIZE KMB1 00895701 B PARM99 KMB1 00895801 PARM80A DS 0H KMB1 00895901 OI WFLAG2,$2ALT SET TO USE ALTERNATE SIZE KMB1 00896001 PARM99 DS 0H KMB1 00896101 *--------------------------------------------------------------------* 00896201 * USE RACF GROUP TO VALIDATE WHETHER THIS USER IS * 00896301 * ALLOWED TO USE THIS PROGRAM * 00896401 *--------------------------------------------------------------------* 00896501 * MVI VIPFLG,0 RESET VIP FLAG KMB1 00896601 * KMB1 00896701 * CHECK THE RACF GROUP TO VERIFY VIP KMB1 00896801 * KMB1 00896901 L R15,PSAAOLD-PSA LOAD A(ASCB) KMB1 00897001 L R15,ASCBASXB-ASCB(,R15) A(ASXB) AND KMB1 00898001 L R15,ASXBSENV-ASXB(,R15) A(ACEE) KMB1 00899001 LTR R15,R15 ACEE AVAILABLE? KMB1 00900001 BZ EXIT NO -- CONTINUE KMB1 00910001 MVC USERID,BLANKS BLANK OUT USERID KMB1 00920001 MVC USERID(7),ASXBUSER-ASXB(R15) GET USERID KMB1 00930001 SLR R2,R2 CLEAR THE REGISTER AND KMB1 00940001 LA R3,ACEEGRPN-ACEE(,R15) LOAD GROUP ADDRESS KMB1 00950001 *--------------------------------------------------------------------* 00960001 * SCAN TABLE TO VERIFY * 00970001 *--------------------------------------------------------------------* 00980001 LA R8,AUTHNAME LOAD ADDR OF AUTHORIZED NAME KMB1 00990001 AUTHLOOP CLI 0(R8),X'FF' END OF AUTHNAME TABLE? KMB1 01000001 BE EXIT YES, GET OUT KMB1 01010001 CLC 0(8,R8),0(R3) SEE IF RACF GROUP IN TABLE KMB1 01020001 BE AUTHED YES, GO DO IT KMB1 01030001 CLI 0(R8),C'*' IS THIS A USER ENTRY? KMB1 01040001 BNE AUTH0100 NO KMB1 01050001 CLC 1(7,R8),USERID IS THIS USER IN THE TABLE KMB1 01060001 BE AUTHED YES KMB1 01070001 AUTH0100 DS 0H KMB1 01080001 LA R8,8(,R8) INCREMENT TO NEXT TABLE ENTR KMB1 01090001 B AUTHLOOP LOOP UNTIL DONE KMB1 01100001 AUTHED DS 0H KMB1 01110001 * MVI VIPFLG,X'FF' YES, SUPER USER KMB1 01120001 * 01130001 * KMB1 01140001 * SETUP STAX FOR ATTENTION INTERRUPTIONS KMB1 01150001 * KMB1 01160001 MVI ATTNFLG,0 KMB1 01170001 LA R3,STAXLIST R3 = ADDRESS OF STAX LIST KMB1 01180001 STAX ATTNEXIT,MF=(E,(3)) ATTN EXIT TRAP KMB1 01190001 SPACE 3 KMB1 01200001 * 01210001 MVI AUTOFLAG,X'00' AUTO MODE FLAG 01220001 MVI RESHOWFL,X'00' RESHOW INDICATOR 01230001 MVI SCREEN,X'C3' WCC 01240001 XC CLEAR(CLEARLEN),CLEAR ZERO TPUT CLEARSCRN AREA KMB1 01250001 MVC CLEAR(CLEARLEN),CLR CLEAR SCREEN CONTROL CHARS KMB1 01260001 *--------------------------------------------------------------------* 01270001 * GET TERMINAL ROW/COLS ON ENTRY * 01280001 * GET TERMINAL PRIMARY AND ALTERNATE SIZES * 01290001 * SET TERMINAL TO ALTERNATE SIZES * 01300001 *--------------------------------------------------------------------* 01310001 GTSIZE , KMB1 01320001 LTR R0,R0 DISPLAY DEVICE? KMB1 01330001 BZ FREESKIP YES, GO FREE AND RETURN KMB1 01340001 ST R0,TERMOROW SAVE TERM ROWS KMB1 01350001 ST R1,TERMOCOL AND TERM COLUMNS KMB1 01360001 * KMB1 01370001 LA R2,PRMSIZE KMB1 01380001 LA R3,ALTSIZE GET PRIM/ALT SIZES KMB1 01390001 GTTERM PRMSZE=(2),ALTSZE=(3),MF=(E,WGTTERM) KMB1 01400001 SLR R1,R1 KMB1 01410001 IC R1,PRMSIZE PRM SIZE ROWS 1 BYTE KMB1 01420001 ST R1,PRMSZROW KMB1 01430001 IC R1,PRMSIZE+1 PRM SIZE COLS 1 BYTE KMB1 01440001 ST R1,PRMSZCOL KMB1 01450001 * KMB1 01460001 IC R1,ALTSIZE ALT SIZE ROWS 1 BYTE KMB1 01470001 ST R1,ALTSZROW KMB1 01480001 IC R1,ALTSIZE+1 ALT SIZE COLS 1 BYTE KMB1 01490001 ST R1,ALTSZCOL KMB1 01500001 * KMB1 01510001 TM WFLAG2,$2PRIM USE PRIMARY KMB1 01520001 BZ SETALT KMB1 01530001 SETPRIM STSIZE LINELOC=PRMSZROW,SIZELOC=PRMSZCOL KMB1 01540001 B SETSIZE9 KMB1 01550001 SETALT STSIZE LINELOC=ALTSZROW,SIZELOC=ALTSZCOL KMB1 01560001 SETSIZE9 DS 0H KMB1 01570001 GTSIZE , 01580001 LTR R0,R0 DISPLAY DEVICE? 01590001 BZ FREESKIP YES, GO FREE AND RETURN 01600001 STH R0,TERMROWS SAVE TERM ROWS KMB1 01610001 STH R1,TERMCOLS AND TERM COLUMNS KMB1 01620001 B PROCESS KMB1 01630001 * 01640001 PROCESS DS 0H 01650001 MVI HELPFLAG,X'00' 01660001 MVI CMDFLAG,X'00' 01670001 *--------------------------------------------------------------------* 01680001 * DETERMINE IF WE SHOULD USE 14-BIT SBA * 01690001 *--------------------------------------------------------------------* 01700001 LH R0,TERMROWS KMB1 01710001 MH R0,TERMCOLS KMB1 01720001 C R0,=F'4096' KMB1 01730001 BL NO14BIT KMB1 01740001 OI WFLAG2,$2USE14 USE 14 BIT SBA KMB1 01750001 NO14BIT DS 0H KMB1 01760001 *--------------------------------------------------------------------* 01770001 * FIND CONSOLE'S ADDRESS SPACE AND SAVE ASID * 01780001 *--------------------------------------------------------------------* 01790001 LA R1,16 01800001 L R1,0(R1) 01810001 USING CVT,R1 01820001 L R1,CVTASVT 01830001 DROP R1 01840001 USING ASVT,R1 01850001 L R5,ASVTMAXU 01860001 LA R15,ASVTENTY-4 01870001 ASVTLOOP BCTR R5,0 01880001 LTR R5,R5 01890001 BZ CONABEND 01900001 LA R15,4(,R15) 01910001 ICM R6,15,0(R15) 01920001 BM ASVTLOOP 01930001 USING ASCB,R6 01940001 ICM R7,15,ASCBJBNS 01950001 BZ ASVTLOOP 01960001 CLC =C'CONSOLE',0(R7) 01970001 BNE ASVTLOOP 01980001 SR R1,R1 01990001 LH R1,ASCBASID 02000001 DROP R1,R6 02010001 STORECON DS 0H 02020001 ST R1,CONSASID 02030001 BAL R3,AUTHRIZ 02040001 *--------------------------------------------------------------------* 02050001 * GET THE AX FOR THE CONSOLE ASID * 02060001 *--------------------------------------------------------------------* 02070001 MVC AXLIST(2),=H'1' 02080001 CLC AXLIST+02(2),=H'0' IS THERE A PREVIOUS AXLIST? 02090001 BZ AXNEW 02100001 AXFRE AXLIST=AXLIST 02110001 AXNEW DS 0H 02120001 AXRES AXLIST=AXLIST RESERVE AN AX 02130001 L R1,CONSASID 'CONSOLE' ASID 02140001 AXEXT ASID=(1) EXTRACT AX OF 'CONSOLE'IN R0 02150001 AXSET AX=(0) SET OUR AX TO THAT OF CONSOLE 02160001 BAL R3,UNAUTH 02170001 B SHOWCONS 02180001 *--------------------------------------------------------------------* 02190001 * EXIT POINT * 02200001 *--------------------------------------------------------------------* 02210001 AXFREE DS 0H 02220001 CLC AXLIST+02(2),=H'0' IS THERE A PREVIOUS AXLIST? 02221001 BZ AXFREE2 02222001 AXFRE AXLIST=AXLIST 02223001 AXFREE2 DS 0H 02224001 SHOWRTRN DS 0H 02225001 FREESKIP DS 0H 02226001 * 02227001 STSIZE LINELOC=TERMOROW,SIZELOC=TERMOCOL ORIGINAL SIZE KMB1 02228001 TPUT CLRALT,CLRALTLN,FULLSCR CLEAR/ERASE ALTERNATE KMB1 02229001 STLINENO LINE=1 02230001 STFSMODE OFF 02240001 STTMPMD OFF 02250001 * 02260001 EXIT DS 0H 02270001 LR R3,R13 02280001 L R13,SAVEAREA+4 RESTORE THE CALLER'S R13 02290001 FREEMAIN RC,A=(3),LV=WORKLENG,SP=1 02300001 SR R15,R15 02310001 RETURN (14,12),RC=(15) 02320001 EJECT 02330001 *--------------------------------------------------------------------* 02340001 * BEGINNING OF PROCESS * 02350001 * SET TO FULL SCREEN MODE * 02360001 *--------------------------------------------------------------------* 02370001 SHOWCONS DS 0H 02380001 STFSMODE ON,INITIAL=YES FULL SCREEN MODE ON 02390001 STTMPMD ON 02400001 TM WFLAG2,$2PRIM KMB1 02410001 BZ SHOW0100 KMB1 02420001 TPUT CLRPRM,CLRPRMLN,FULLSCR CLEAR/ERASE PRIMARY KMB1 02430001 B SHOW0900 KMB1 02440001 SHOW0100 DS 0H KMB1 02450001 TPUT CLRALT,CLRALTLN,FULLSCR CLEAR/ERASE ALTERNATE KMB1 02460001 SHOW0900 DS 0H KMB1 02470001 *---------------------------------------------------------------------* 02480001 * BUILD A TABLE OF UCM ADDRESSES (ONE PER CONSOLE) * 02490001 *---------------------------------------------------------------------* 02500001 BLDUCMS L R4,16 R4 = ADDR OF CVT 02510001 USING CVT,R4 02520001 L R4,CVTCUCB R4 = ADDR OF 'CUCB' (UCM BASE) 02530001 DROP R4 02540001 USING UCM,R4 02550001 L R6,UCMVEZ R6 = LENGTH OF EACH UCM ENTRY 02560001 L R7,UCMVEL R7 = ADDR OF LAST UCM ENTRY 02570001 LA R8,UCMTAB+4 R8 = ADDR OF UCMTAB 02580001 LA R9,UCMTABE R9 = ADDR OF END OF UCMTAB 02590001 LR R5,R4 BASE 02600001 S R5,=F'4' R5 = ADDR OF FIRST UCM PREFIX 02610001 USING UCMPRFX,R5 02620001 TM UCMSFLG1,UCMSYSE NO CONSOLES? 02630001 BO CONABEND YES 02640001 DROP R5 02650001 L R5,UCMVEA R5 = ADDR OF FIRST UCM ENTRY 02660001 XR R2,R2 R2 = 0 (NUMBER OF VALID UCMS) 02670001 UCMLOOP ST R5,0(0,R8) SAVE UCM ADDRESS IN UCMTAB 02680001 LA R2,1(0,R2) R2 = R2 + 1 (ONE MORE UCM) 02690001 LA R8,4(0,R8) R8 = ADDR OF NEXT UCMTAB ENTRY 02700001 CR R8,R9 DOES R8 POINT PAST END OF UCMTAB? 02710001 BNL UCMDONE YES; LEAVE LOOP 02720001 AR R5,R6 R5 = ADDR OF NEXT UCM ENTRY 02730001 CR R5,R7 DOES R5 POINT PAST UCM ENTRIES? 02740001 BL UCMLOOP NOPE; KEEP GOING 02750001 UCMDONE STH R2,NUMUCMS SAVE NUMBER OF UCMS FOUND 02760001 CLI CNSLFLAG,X'FF' 02770001 BNE SETMAST 02780001 MVC CONSOLD,CONSCURR 02790001 L R4,CONSCURR 02800001 LA R4,1(,R4) 02810001 B MASTSCAN 02820001 DROP R4 02830001 *---------------------------------------------------------------------* 02840001 * SCAN THE UCM FOR THE MASTER CONSOLE AS THE DEFAULT * 02850001 *---------------------------------------------------------------------* 02860001 SETMAST SR R4,R4 02870001 ST R4,CONSCURR 02880001 MASTSCAN LA R5,UCMTAB SET POINTER TO UCM ADDRESS TABLE 02890001 CKNUMUCM CH R4,NUMUCMS IS NUMBER TOO HIGH? 02900001 BNH MASTCONT NO, CONTINUE 02910001 CLI CNSLFLAG,X'FF' 02920001 BNE CONCHECK 02930001 CLI THRUFLAG,X'FF' 02940001 BE NOCONS 02950001 MVI THRUFLAG,X'FF' 02960001 SR R4,R4 START W/ FIRST ENTRY 02970001 B MASTCONT 02980001 * 02990001 * ERROR IF NO CONSOLES FOUND 03000001 * 03010001 CONABEND EQU * 03020001 NOCONS TPUT MSGNO2,43 03030001 TPUT CLEAR,CLEARLEN,FULLSCR KMB1 03040001 B AXFREE 03050001 MSGNO2 DC CL43'ALL CONSOLES OFFLINE, GOING TO MASTER TRACE' 03060001 SPACE 3 03070001 CONCHECK MVI CNSLFLAG,X'FF' 03080001 MVI THRUFLAG,X'FF' 03090001 B SETMAST 03100001 * 03110001 * HERE IS THE SCAN FOR THE MASTER 03120001 * 03130001 MASTCONT SLL R4,2 MAKE CONSOLE NUMBER TABLE INDEX 03140001 LA R5,0(R5,R4) SET POINTER TO UCM ADDRESS SLOT 03150001 L R5,0(0,R5) SET POINTER TO UCM 03160001 LTR R5,R5 03170001 BZ NEXT 03180001 USING UCMLIST,R5 TELL ASSEMBLER ABOUT UCM 03190001 CLI CNSLFLAG,X'FF' 03200001 BE SKIPMSTR 03210001 TM UCMDIDCS,UCMAHERE ON THIS SYSTEM? 03220001 BZ NEXT NO ? BRANCH 03230001 TM UCMDISP1,UCMDISPA IS THIS A MASTER CONSOLE? 03240001 BNZ ACTIVCHK YES ? FOUND THE MASTER CONSOLE .. 03250001 B NEXT 03260001 SKIPMSTR EQU * 03270001 TM UCMDIDCS,UCMAHERE ON THIS SYSTEM? 03280001 BZ NEXT NO ? BRANCH 03290001 TM UCMDISP1,UCMDISPC GRAPHICS 03300001 BZ NEXT 03310001 ACTIVCHK TM UCMATR,UCMUF ACTIVE? 03320001 BNZ MASTFND 03330001 NEXT SRL R4,2 RESET CONSOLE NUMBER TO RELATIVE 03340001 LA R4,1(0,R4) SET POINTER TO NEXT CONSOLE 03350001 B MASTSCAN CONTINUE MASTER CONSOLE SCAN LOOP 03360001 MASTFND SRL R4,2 RESET CONSOLE NUMBER TO RELATIVE 03370001 ST R4,CONSCURR SET VALID CONSOLE NUMBER (MASTER) 03380001 DROP R5 DONT NEED UCM ADDRESSABILITY NOW 03390001 NEXTPAGE LA R5,UCMTAB R5 = ADDR OF UCMTAB 03400001 ICM R4,15,CONSCURR R4 = CONSOLE TO BE DISPLAYED 03410001 BZ WRTERR4 WE HAVE NO CONSOLE ZERO (MASTER) 03420001 CH R4,NUMUCMS IS NUMBER TOO HIGH? 03430001 BNH GETUCM NO, CONTINUE 03440001 RESETCN L R4,CONSOLD RESET TO OLD CONSOLE 03450001 ST R4,CONSCURR AND SAVE IT 03460001 GETUCM SLL R4,2 MULTIPLY BY 4 03470001 LA R5,0(R5,R4) R5 = ADDR OF ADDR OF UCM 03480001 L R5,0(0,R5) R5 = ADDR OF UCM 03490001 USING UCMLIST,R5 03500001 L R6,UCMXB R6 = ADDR OF RDCM 03510001 ST R6,UCMTABX 03520001 LTR R6,R6 IS THIS A GRAPHICS CONSOLE? 03530001 BP GRAPHICS YES 03540001 LA R5,UCMTAB R5 = ADDR OF UCMTAB 03550001 WRTERR4 DS 0H 03560001 B RESETCN RESET THE CONSOLE NUMBER 03570001 GRAPHICS EQU * 03580001 L R6,UCMFEXTP UCM FIXED EXTENSION 03590001 USING UCMEFEXT,R6 ADDRESSABILITY 03600001 MVC USER,UCMEFCNM LOGON ID 03610001 DROP R6 03620001 AUTHDONE EQU * 03630001 MVC CONSOLD,CONSCURR 03640001 MVC HEADING,HEADING1 03650001 *********************************************************************** 03660001 * FOR SYSH UNCOMMENT THE FOLLOWING 2 LINES TO LOOK AT ALTERNATE * 03670001 *********************************************************************** 03680001 * CLI CONSFLAG,X'FF' 03690001 * BNE CNSLSW 03700001 CLI ISSUFLAG,X'FF' 03710001 BNE CONSINIT 03720001 MVC HEADING+45(18),NOTISSUD 03730001 MVI ISSUFLAG,X'00' 03740001 CONSINIT MVI CNSLFLAG,X'00' 03750001 * BAL R3,AUTHRIZ KMB1 03760001 *--------------------------------------------------------------------* 03770001 * SET SSAR TO THE CONSOLE ASID * 03780001 *--------------------------------------------------------------------* 03790001 L R1,CONSASID 'CONSOLE' ASID 03800001 SSAR R1 SET 'CONSOLE' AS SECONDARY 03810001 PRINT ON,GEN 03820001 SLR R0,R0 SECONDARY KEY 03830001 L R6,UCMTABX 03840001 LA R1,4 TRUE LENGTH 03850001 MVCP RDCM(R1),0(R6),R0 ADDRESS OF PAGEABLE DCM (DCMADTRN) 03860001 LA R1,1 03870001 MVCP TYPE(R1),15(R6),R0 ATTRIB DCMDEVTY X'14' = EXTENDED 03880001 *UCMECOLR EQU X'10' USABLE FOR EXTENDED COLOR 03890001 *UCMEXTDS EQU X'04' DEVICE SUPPORTS EXTENDED DATA 03900001 L R7,RDCM 03910001 USING STRTDCM,R7 03920001 LA R1,2 KMB1 03930001 MVCP CONROW(R1),DCMMSGAL-STRTDCM(R7),R0 KMB1 03940001 LA R1,2 KMB1 03950001 MVCP CONCOL(R1),DCMCORLN-STRTDCM(R7),R0 KMB1 03960001 *--------------------------------------------------------------------* 03970001 * SET EXECUTED MVC LENGTH FROM CONSOLE TO TERM BUFFER * 03980001 *--------------------------------------------------------------------* 03990001 LH R1,CONCOL CONSOLE COLUMNS KMB1 04000001 TM TYPE,X'14' IS IT EXTENDED? 04010001 BO COLEXT02 YES 04020001 COLEXT01 DS 0H 04030001 SH R1,=H'07' 6(SBA) +1 FOR EXECUTED MVC'S LATER KMB1 04040001 B COLEXT03 04050001 COLEXT02 DS 0H EXTENDED 04060001 SH R1,=H'13' 12(EXTSBA) +1 FOR EXECUTED MVC'S KMB1 04070001 B COLEXT03 04080001 COLEXT03 DS 0H KMB1 04090001 STH R1,CONCOLM6 FOR EXECUTED MVC'S LATER KMB1 04100001 *--------------------------------------------------------------------* 04110001 * SET THE CONSOLE BUFFER MOVE LENGTH TO THE MINIMUM * 04120001 * OF THE CONSOLE WIDTH OR THE TERMINAL WIDTH-2 * 04130001 *--------------------------------------------------------------------* 04140001 LH R0,TERMCOLS MAX TERMINAL WIDTH KMB1 04150001 SH R0,=H'1' -1 FOR EXECUTE KMB1 04160001 STH R0,TERMMOVE MAX MOVE KMB1 04170001 CLR R1,R0 IS CONSOLE > TERM KMB1 04180001 BH COLEXT04 YEP KMB1 04190001 STH R1,TERMMOVE NOPE, MOVE CONS LEN TO TERM KMB1 04200001 COLEXT04 DS 0H 04210001 * KMB1 04220001 SLR R0,R0 04230001 LA R1,L'LASTLINE TRUE LENGTH 04240001 MVCP LASTLINE(R1),DCMINPUT-STRTDCM(R7),R0 04250001 LA R1,L'SIBPTR 04260001 SLR R0,R0 SET STORAGE KEY 04270001 MVCP SIBPTR(R1),DCMASCRN-STRTDCM(R7),R0 PT TO CONSOLE BFR 04280001 LA R1,2 04290001 MVCP HEADING+8(R1),DCMDEL-STRTDCM(R7),R0 ROLL DELETE VAL 04300001 MVCP RTME(R1),DCMRTME-STRTDCM(R7),R0 RTME 04310001 MVCP RNUM(R1),DCMDL-STRTDCM(R7),R0 RNUM 04320001 LA R1,4 04330001 MVCP CONL(R1),DCMLSCRN-STRTDCM(R7),R0 @ OF LAST CONS LINE 04340001 * 04350001 L R8,SIBPTR R8 = ADDR OF CONSOLE IMAGE 04360001 LA R1,4 KMB1 04370001 MVCP SCNL(R1),DCMWTBUF-STRTDCM(R7),R0 KMB1 04380001 L R5,SCNL @ OF LAST BYTE OF SCREEN+1 KMB1 04390001 * AND ADDRESS OF INPUT AREA KMB1 04400001 SR R5,R8 GET LENGTH OF CONSOLE BFR KMB1 04410001 TM TYPE,X'14' SUPPORT EXTENDED COLOR/DATASTREAM? 04420001 BO EXTLNGTH YES, BRANCH 04430001 LA R5,06(,R5) SIX BYTES FOR SBA 04440001 B REGLNGTH 04450001 EXTLNGTH DS 0H 04460001 LA R5,12(,R5) SIX BYTES FOR EXT SBA 04470001 REGLNGTH ST R5,CONL SAVE IT 04480001 *--------------------------------------------------------------------* 04490001 * MOVE THE COMPLETE CONSOLE BUFFERS TO BUF AREA * 04500001 *--------------------------------------------------------------------* 04510001 * 04520001 * R5 IS LENGTH OF CONSOLE DISPLAY 04530001 * R8 IS POINTER TO FIRST BYTE OF CONSOLE DISPLAY 04540001 * 04550001 LA R4,SCREEN MY BUF 04560001 AL R4,=A(SCRLEN) POINT TO BUF (FOLLOWS SCREEN KMB1 04570001 MOVEBUFF DS 0H 04580001 TM TYPE,X'14' SUPPORT EXTENDED COLOR/DATASTREAM? 04590001 BO MOVEL 04600001 SH R8,=H'06' BACK UP TO THE SBA 04610001 B RESUMMOV 04620001 MOVEL SH R8,=H'12' BACK UP TO THE EXT SBA 04630001 RESUMMOV SLR R0,R0 RESET THE KEY 04640001 MVCPLOOP DS 0H 04650001 MVCP 0(R5,R4),0(R8),R0 LOOP THRU THE CONSOLE BUFFER 04660001 BZ GOTITALL 04670001 AL R8,=F'256' MAX LEN ALLOWED 04680001 AL R4,=F'256' MAX LEN ALLOWED 04690001 SL R5,=F'256' MAX LEN ALLOWED 04700001 B MVCPLOOP 04710001 *---------------------------------------------------------------------* 04720001 * IN ORDER TO ISSUE SVCS THE PRIMARY AND * 04730001 * SECONDARY ADDRSPC MUST BE THE SAME * 04740001 *---------------------------------------------------------------------* 04750001 GOTITALL DS 0H 04760001 EPAR R1 EXTRACT PRIMARY ASN 04770001 SSAR R1 04780001 BAL R3,UNAUTH KMB1 04790001 DROP R5,R7 04800001 LA R3,SCREEN SET POINTER TO FIRST LINE OF BUF 04810001 AL R3,=A(SCRLEN) POINT TO BUF KMB1 04820001 * 04830001 LA R9,HEADING+10 04840001 CLI HEADING+9,C' ' 04850001 BNE RDMODE 04860001 LA R9,HEADING+9 04870001 * 04880001 * INSERT RTME= 04890001 * 04900001 RDMODE MVC 0(6,R9),RTMEC 04910001 SR R5,R5 04920001 LH R5,RTME 04930001 CVD R5,DOUBLWD 04940001 MVC WORKLINE(5),PATTERN1 04950001 ED WORKLINE(5),DOUBLWD+5 04960001 MVC 6(4,R9),WORKLINE+1 04970001 CLI 9(R9),C'0' 04980001 BE PUTBLNK 04990001 MVC 7(2,R9),=C'1/' 05000001 B PUTRNUM 05010001 * 05020001 * INSERT RNUM= 05030001 * 05040001 PUTBLNK MVI 9(R9),C' ' 05050001 PUTRNUM MVC 10(6,R9),RNUMC 05060001 SR R5,R5 05070001 IC R5,RNUM+1 05080001 CVD R5,DOUBLWD 05090001 MVC WORKLINE(5),PATTERN1 05100001 ED WORKLINE(5),DOUBLWD+5 05110001 MVC 16(3,R9),WORKLINE+2 05120001 * 05130001 * INSERT TIME 05140001 * 05150001 TIME DEC 05160001 ST R0,WORK 05170001 MVI WORK+3,X'0C' 05180001 UNPK DOUBLWD(7),WORK(4) 05190001 LA R9,HEADING+36 05200001 MVC 0(2,R9),DOUBLWD 05210001 MVC 3(2,R9),DOUBLWD+2 05220001 MVC 6(2,R9),DOUBLWD+4 05230001 MVC 28(8,R9),USER 05240001 MVC 10(10,R9),BLANKS 05250001 * 05260001 AGO .NOTEST 05270001 UNPK WORK(3),TYPE(2) DISPLAY CONSOLE ATTRIBUTES 05280001 TR WORK(2),JHEX-240 05290001 MVC HEADING+47(2),WORK 05300001 .NOTEST ANOP 05310001 *--------------------------------------------------------------------* 05320001 * INSERT ROW,COL MAX DISPLAY * 05330001 *--------------------------------------------------------------------* 05340001 LH R1,CONROW GET NUMBER OF ROWS KMB1 05350001 CVD R1,DOUBLWD CONVERT TO DECIMAL KMB1 05360001 MVC HEADING+55(4),=X'40212020' SHOW 3 DIGITS KMB1 05370001 ED HEADING+55(4),DOUBLWD+6 AND DO IT. KMB1 05380001 MVI HEADING+59,C',' KMB1 05390001 * KMB1 05400001 LH R1,CONCOL GET NUMBER OF COLS KMB1 05410001 SH R1,=H'4' ASSUME NON-EXTENDED KMB1 05420001 TM TYPE,X'14' IS THIS EXTENDED KMB1 05430001 BZ SIZE20 NOPE KMB1 05440001 SH R1,=H'6' EXTENDED KMB1 05450001 SIZE20 DS 0H KMB1 05460001 CVD R1,DOUBLWD CONVERT TO DECIMAL KMB1 05470001 MVC HEADING+60(4),=X'F0212020' SHOW 3 DIGITS KMB1 05480001 ED HEADING+60(4),DOUBLWD+6 AND DO IT. KMB1 05490001 MVC HEADING+60(4),HEADING+61 KMB1 05500001 MVI HEADING+63,C' ' KMB1 05510001 * 05520001 CLI AUTOFLAG,X'FF' 05530001 BNE FIRSTL 05540001 MVC 10(10,R9),=C'AUTOUPDATE' 05550001 EJECT , 05560001 *--------------------------------------------------------------------* 05570001 * CALCULATE THE IF THE NUMBER OF CONSOLE LINES WILL * 05580001 * FIT ON THE USERS TERMINAL * 05590001 * USER'S TERMINAL CAN HOLD 2 MORE LINES THAN THE CONSOLE* 05600001 * CAN FOR THE SAME TERM SIZE * 05610001 * SO IF THE CONSOLE LINES IS > TERMINAL ADD 2 TO * 05620001 * DIFFERENCE * 05630001 *--------------------------------------------------------------------* 05640001 * 05650001 * R3 HAS CONSOLE BUFFER START 05660001 * 05670001 FIRSTL LH R9,TERMROWS NUMBER OF LINES ON TERMINAL KMB1 05680001 BCTR R9,0 -1 LEAVE ROOM FOR CMD LINE KMB1 05690001 * 05700001 LH R5,CONROW NUM ROWS ON CONSOLE 05710001 ST R5,CONL SAVE IT 05720001 LA R5,2(,R5) +2 FOR SIZE DIFFERENCE 05730001 CR R9,R5 IS TERM >= CONSOLE LINES+2 05740001 BNL FIRSTL1 YES 05750001 * CONSOLE BIGGER THAN TERMINAL 05760001 LH R5,CONROW NUM ROWS ON CONSOLE 05770001 SR R5,R9 HOW MANY TOO BIG 05780001 LA R5,2(,R5) +2 FOR SIZE DIFFERENCE 05790001 LH R1,CONROW 05800001 SR R1,R5 SUBSTRACT OFF THAT MANY 05810001 ST R1,CONL SAVE IT 05820001 * 05830001 * NOW ADJUST STARTING CONSOLE ROW FOR THAT DIFFERENCE 05840001 * R5=# OF CONSOLE LINES TO SKIP 05850001 * 05860001 LH R1,CONCOL GET CONSOLE WIDTH 05870001 SLR R4,R4 ZERO FOR MULTIPLY REGISTER 05880001 MR R4,R1 GET BYTE OFFSET INTO CONSOLE 05890001 LA R3,0(R5,R3) ADJUST CONSOLE STARTING PLACE 05900001 *--------------------------------------------------------------------* 05910001 * BUILD THE FIRST LINE * 05920001 *--------------------------------------------------------------------* 05930001 FIRSTL1 DS 0H 05940001 LA R5,SCREEN+1 ADDRESS OF FIRST LINE 05950001 * AP HEADING(2),HEADING(2) 05960001 NOTMOD5 L R1,CONL GET CONSOLE LINES TO DISPLAY 05970001 LA R9,1 SBASETROW KMB1 05980001 SR R10,R10 05990001 SBASET , MOVE IN FIRST TERMINAL SBA KMB1 06000001 LH R2,TERMMOVE KMB1 06010001 MVC 6(00,R5),BLANKS KMB1 06020001 EX R2,*-6 KMB1 06030001 MVC 5(79,R5),HEADING MOVE IN HEADING. 06040001 * 06050001 * INSERT CONSOLE NUMBER 06060001 * 06070001 SR R15,R15 06080001 IC R15,CONSCURR+3 06090001 CVD R15,DOUBLWD 06100001 MVC WORKLINE(4),=X'40212020' 06110001 ED WORKLINE(4),DOUBLWD+6 06120001 MVC 78(2,R5),WORKLINE+2 06130001 * 06140001 * LA R5,84(,R5) NEXT TERM BUFFER ADDRESS 06150001 * LA R10,85(,R10) TPUT LENGTH (INCL. WCC) 06160001 LH R2,TERMMOVE GET TERM MOVE LENGTH-1 KMB1 06170001 LA R5,1+6(R2,R5) NEXT TERM BUFFER ADDR KMB1 06180001 LA R10,2+6(R2,R10) SET NEW TERM TPUT LENGTH KMB1 06190001 *KMB1 LA R6,5(,R6) NEXT TERMINAL SBA 06200001 * 06210001 CLI HELPFLAG,X'FF' HELP? 06220001 BNE MOVESTUP 06230001 *--------------------------------------------------------------------* 06240001 * DISPLAY HELP STUFF * 06250001 *--------------------------------------------------------------------* 06260001 LA R9,1 SBASETROW KMB1 06270001 SBASET , KMB1 06280001 MVC 5(79,R5),BLANKS 06290001 LA R5,84(,R5) INCREMENT 06300001 SBASET , KMB1 06310001 LA R1,HELPMSG1 HELP LINE 1 06320001 MVC 5(79,R5),00(R1) 06330001 LA R5,84(,R5) INCREMENT 06340001 SBASET , KMB1 06350001 MVC 5(79,R5),80(R1) 06360001 LA R5,84(,R5) INCREMENT 06370001 SBASET , KMB1 06380001 MVC 5(79,R5),160(R1) HELP LINE 3 06390001 LA R5,84(,R5) INCREMENT 06400001 SBASET , KMB1 06410001 MVC 5(79,R5),240(R1) HELP LINE 4 06420001 LA R5,84(,R5) INCREMENT 06430001 LA R10,420(,R10) 84*5 06440001 CLI USERFLAG,X'FF' 06450001 BNE SPACLOOP 06460001 B SPACLOOP 06470001 EJECT , 06480001 MOVESTUP LR R15,R5 06490001 LA R9,2 SBASETROW KMB1 06500001 *********************************************************************** 06510001 * * 06520001 * THE CONSOLES WITH EXTENDED DATASTREAMS HAVE THE FOLLOWING FORMATS: * 06530001 * (THE TYPE WILL HAVE EXTENDED COLOR AND DATASTREAM TURNED ON - X'14')* 06540001 * * 06550001 * REF GA23-0059 DATASTREAM PROGRAMMERS REFERENCE * 06560001 * * 06570001 * 1100002903C0E442F4410040 (THEN 4 BLANKS AND THE LINE) * 06580001 * * 06590001 * 11 SBA FOR 0000 THE FIRST LINE OR 0050 2ND LINE ETC - 110000 * 06600001 * 2903 - SFE START FIELD EXTENDED FORMAT (29) WITH 03 EXTENDED FIELDS * 06610001 * C0E4 - FIELD ATRIBUTE E4 - PROT DISPLAY * 06620001 * 42F4 - 42 FOREGROUND COLOR F4 IS GREEN F1 IS BLUE F3 PINK ETC * 06630001 * 4100 - 41 EXTENDED HIGHLIGHTING 00 MEANS DEFAULT F1 BLINK F4 UNDERSC* 06640001 * F2 REVERSE VIDEO F0 NORMAL (PER 3270 FIELD ATTRIBUTE) * 06650001 * * 06660001 * THE CONSOLES WITHOUT EXTENDED DATASTREAM HAVE THE FOLLOWING FORMATS:* 06670001 * * 06680001 * 11404028E440 (THEN 1 BLANK AND THE LINE) * 06690001 * * 06700001 * 11 SBA FOR 4040 THE FIRST LINE * 06710001 * 28 ATTRIBUTE CHAR E4 PROT DISPLAY * 06720001 * * 06730001 * TOTAL LENGTH NON-EXTENDED 84, EXTENDED DISPLAY LENGTH IS 90 * 06740001 * * 06750001 *********************************************************************** 06760001 * R1 HAS NUMBER OF LINES TO MOVE FROM CONSOLE BUFFER 06770001 * R3 CONSOLE BUFFER 06780001 * R5 TERMINAL BUFFER 06790001 * R6 TERMINAL SBA ADDRESSES 06800001 * R9 CURRENT ROW NUMBER 06810001 * R15 TERMINAL BUFFER 06820001 MOVELOOP EQU * 06830001 CLI CLRFLAG,X'FF' 06840001 BE MVIT 06850001 TM TYPE,X'14' EXTENDED FORMAT? 06860001 BZ COMP2 NO - USE OTHER DISPLACEMENT 06870001 CLC 5(74,R5),11(R3) HAS THIS LINE CHANGED? 06880001 BNE SETMOVE 06890001 CLC 4(1,R5),06(R3) ATTRIBUTE BYTE CHANGED? 06900001 BE SKPMV NO NEED SENDING DOWN THE LINE 06910001 B SETMOVE 06920001 COMP2 CLC 5(74,R5),5(R3) HAS THIS LINE CHANGED? 06930001 BNE SETMOVE 06940001 CLC 4(1,R5),04(R3) ATTRIBUTE BYTE CHANGED? 06950001 BE SKPMV NO NEED SENDING DOWN THE LINE 06960001 SETMOVE MVI CLRFLAG,X'FF' SCREEN HAS CHANGED FROM HERE DOWN 06970001 MVIT DS 0H 06980001 SBASET , KMB1 06990001 CKMVIT TM TYPE,X'14' EXTENDED FORMAT? 07000001 BZ MVIT2 NO - USE OTHER DISPLACEMENT 07010001 * EXTENDED KMB1 07020001 MVC 4(1,R5),06(R3) ATTRIBUTE BYTE 07030001 LH R2,TERMMOVE TERM MVC LEN -1 KMB1 07040001 MVC 6(00,R5),12(R3) MOVE LINE OF PRINT KMB1 07050001 EX R2,*-6 MOVE IT IN. KMB1 07060001 B MVIT3 07070001 * NON-EXTENDED KMB1 07080001 MVIT2 EQU * 07090001 MVC 4(1,R5),04(R3) ATTRIBUTE BYTE 07100001 LH R2,TERMMOVE NUM COLS -6 OR -12 KMB1 07110001 MVC 6(00,R5),6(R3) MOVE LINE OF PRINT KMB1 07120001 EX R2,*-6 MOVE IT IN. KMB1 07130001 MVIT3 DS 0H KMB1 07140001 MVI 5(R5),C' ' KMB1 07150001 LH R2,TERMMOVE NUM COLS -6 OR -12 KMB1 07160001 OC 6(00,R5),BLANKS MAKE SURE NO CONTROL CHR KMB1 07170001 EX R2,*-6 OC THE WHOLE THING KMB1 07180001 LA R5,1+6(R2,R5) NEXT LINE KMB1 07190001 LA R10,1+6(R2,R10) LENGTH OF TPUT KMB1 07200001 B MOVINCR KMB1 07210001 SKPMV DS 0H 07220001 LA R9,1(,R9) +1 SINCE WE SKIPPED SBASET KMB1 07230001 MOVINCR DS 0H KMB1 07240001 LH R2,CONCOL CONSOLE WIDTH (INCL SBA). KMB1 07250001 ALR R3,R2 CONSOLE BUFFER KMB1 07260001 ALR R15,R2 CONSOLE KMB1 07270001 BCT R1,MOVELOOP LOOP 07280001 MVI CLRFLAG,X'00' 07290001 *--------------------------------------------------------------------* 07300001 * FIND THE LAST LINE OF THE TERMINAL SBA * 07310001 *--------------------------------------------------------------------* 07320001 SPACLOOP DS 0H 07330001 *--------------------------------------------------------------------* 07340001 * ADD IN THE COMMAND LINE * 07350001 *--------------------------------------------------------------------* 07360001 LH R9,TERMROWS SBASETROW TO LAST ROW KMB1 07370001 SBASET , LINE ADDRESS KMB1 07380001 MVI 4(R5),X'C8' UNPROT, HILITE KMB1 07390001 MVI 5(R5),X'13' INSERT CURSOR 07400001 *--------------------------------------------------------------------* 07410001 * NOW BLANK OUT COMMAND LINE * 07420001 *--------------------------------------------------------------------* 07430001 LH R2,TERMMOVE NUMBER COLS -6 KMB1 07440001 MVC 6(00,R5),BLANKS LAST LINE IS INPUT LINE KMB1 07450001 EX R2,*-6 MOVE BLANKS KMB1 07460001 *--------------------------------------------------------------------* 07470001 * CHECK FLAGS * 07480001 *--------------------------------------------------------------------* 07490001 CLI HELPFLAG,X'FF' 07500001 BE GOAHEAD2 07510001 CLI IPLFLAG,X'FF' 07520001 BE GOAHEAD2 07530001 CLI AUTOFLAG,X'FF' 07540001 BE AUTOROLL 07550001 GOAHEAD DS 0H 07560001 CLI RESHOWFL,X'FF' 07570001 BNE GOAHEAD2 07580001 MVI 4(R5),X'C9' X'C9' UNPROT, HILITE,MDT KMB1 07590001 MVI RESHOWFL,X'00' 07600001 MVC 6(72,R5),CMDLINE+4 07610001 B GOAHEAD3 07620001 GOAHEAD2 DS 0H KMB1 07630001 GOAHEAD3 MVI CMDFLAG,X'00' 07640001 LH R2,TERMMOVE GET TERM MVC LENGTH KMB1 07650001 LA R10,1+6(R2,R10) TERM SCREEN LENGTH KMB1 07660001 * LA R10,84(,R10) 07670001 LR R0,R10 07680001 LA R1,SCREEN ADDRESS OF SCREEN 07690001 TPUT (1),(0),FULLSCR TPUT 07700001 LA R1,1 SET CURRENT ROW KMB1 07710001 MVC REPLY,BLANKS CLEAR 07720001 TGET1 TGET REPLY,84,ASIS,WAIT INPUT 07730001 MVI HELPFLAG,X'00' 07740001 CLI ATTNFLG,0 KMB1 07750001 BNE AXFREE KMB1 07760001 B CHEKOUT 07770001 *--------------------------------------------------------------------* 07780001 * AUTOROLL AREA * 07790001 *--------------------------------------------------------------------* 07800001 AUTOROLL EQU * 07810001 LA R1,SCREEN ADDRESS OF SCREEN 07820001 CLI RESHOWFL,X'FF' 07830001 BNE GOAHEAD5 07840001 MVI RESHOWFL,X'00' 07850001 MVC 6(72,R5),CMDLINE+4 07860001 MVC REPLY,BLANKS 07870001 LA R10,72(,R10) 07880001 B GOAHEAD5 07890001 *OAHEAD4 S R0,=F'79' 07900001 GOAHEAD5 CLI CMDFLAG,X'FF' 07910001 BNE AUTOTPUT 07920001 LH R9,TERMROWS SBASETROW TO LAST ROW KMB1 07930001 SBASET , LINE ADDRESS KMB1 07940001 MVI 4(R5),X'C8' UNPROT, HILITE KMB1 07950001 MVI 5(R5),X'13' INSERT CURSOR 07960001 MVI CMDFLAG,X'00' 07970001 AUTOTPUT LA R0,5(,R10) 07980001 LR R0,R10 07990001 TPUT (1),(0),FULLSCR 08000001 TGET REPLY,70,ASIS,NOWAIT 08010001 STIMER WAIT,BINTVL=TIMER 08020001 *--------------------------------------------------------------------* 08030001 * WHAT ACTION (AID) KEY WAS PRESSED * 08040001 *--------------------------------------------------------------------* 08050001 * KMB1 08060001 * 60 NO AID KMB1 08070001 * 7D ENTER KMB1 08080001 * F1-F9 PF1 - PF9 KMB1 08090001 * 7A-7C PF10 - PF12 KMB1 08100001 * C1-C9 PF13 - PF21 KMB1 08110001 * 4A-4C PF22 - PF24 KMB1 08120001 * 6C PA1 KMB1 08130001 * 6E PA2 KMB1 08140001 * 6B PA3 KMB1 08150001 * 6D CLEAR KMB1 08160001 * KMB1 08170001 CHEKOUT CLI REPLY,X'7D' ENTER 08180001 BE GOTSTUFF 08190001 NI REPLY,X'0F' 08200001 CLI REPLY,X'01' PFK 01 08210001 BE HELP 08220001 CLI REPLY,X'02' PFK 02 08230001 BE AUTOSTOP 08240001 CLI REPLY,X'03' PFK 03 08250001 BE CHEKAUTO 08260001 CLI REPLY,X'04' PFK 04 08270001 BE AUTOON 08280001 CLI REPLY,X'05' PFK 05 08290001 BE CNSLSW 08300001 CLI REPLY,X'06' PFK 06 08310001 BE RESHOW 08320001 CLI REPLY,X'07' PFK 07 08330001 BE MTT 08340001 CLI REPLY,X'08' PFK 08 08350001 BE AUTO10 08360001 CLI REPLY,X'09' PFK 09 08370001 BE AUTO2 08380001 * CLI REPLY,X'0A' PFK 10 08390001 * BE OMON 08400001 CLI REPLY,X'0B' PFK 11 08410001 BE AUTO4 08420001 CLI REPLY,X'0C' PFK 12 08430001 BE IPLINFO 08440001 *--------------------------------------------------------------------* 08450001 * * 08460001 *--------------------------------------------------------------------* 08470001 NOTIFY MVI CLRFLAG,X'FF' 08480001 MVI CMDFLAG,X'FF' 08490001 B AUTHDONE 08500001 CHEKAUTO CLI AUTOFLAG,X'FF' 08510001 BNE AXFREE 08520001 MVI AUTOFLAG,X'00' 08530001 B AUTHDONE 08540001 CNSLSW MVI CNSLFLAG,X'FF' 08550001 MVI REPLY,X'00' 08560001 MVI CONSFLAG,X'FF' 08570001 MVI THRUFLAG,X'00' 08580001 MVI CLRFLAG,X'FF' 08590001 * 08600001 * CLEAR OUR BUF AREA 08610001 * 08620001 LA R0,SCREEN 08630001 AL R0,=A(SCRLEN) POINT TO BUF KMB1 08640001 L R1,=A(BUFLEN) GET BUF LENGTH KMB1 08650001 SLR R14,R14 KMB1 08660001 L R15,=A(X'40000000') KMB1 08670001 MVCL R0,R14 KMB1 08680001 B SHOWCONS 08690001 RESHOW MVI RESHOWFL,X'FF' 08700001 B AUTHDONE 08710001 *--------------------------------------------------------------------* 08720001 * IPLINFO * 08730001 *--------------------------------------------------------------------* 08740001 IPLINFO MVC WORKLINE,BLANKS 08750001 LA R9,1 SBASETROW KMB1 08760001 MVC WORKLINE+10(46),MESSAGE 08770001 LA R1,16 HEX 10 08780001 L R2,0(R1) ADDRESS OF CVT 08790001 USING CVT,R2 08800001 L R3,CVTSMCA ADDRESS OF SMF CONTROL AREA 08810001 L R1,CVTSYSAD 08820001 * 08830001 * IPL UNIT AND VOLSER 08840001 * 08850001 MVC WORKLINE+65(6),UCBVOLI-UCBOB(R1) KMB1 08860001 MVI WORKLINE+71,C'=' KMB1 08870001 UNPK WORKLINE+72(5),UCBCHAN-UCBOB(3,R1) KMB1 08880001 TR WORKLINE+72(4),JHEX-240 KMB1 08890001 MVI WORKLINE+76,C' ' KMB1 08900001 USING SMCABASE,R3 08910001 MVC IPLDATE,SMCAIDTE IPL DATE 08920001 MVC IPLTIME,SMCAITME IPL TIME 08930001 DROP R3 08940001 * 08950001 * CLPA=YES/NO 08960001 * 08970001 L R3,CVTASMVT 08980001 TM 1(R3),X'08' CLPA? 08990001 BNZ NOCLPA 1 MEANS A QUICK START - NO CLPA WAS 09000001 MVC WORKLINE+57(3),=C'YES' 09010001 B DATEEDIT 09020001 NOCLPA MVC WORKLINE+57(3),=C'NO ' 09030001 * 09040001 * DATE/TIME OF IPL 09050001 * 09060001 DATEEDIT DS 0H KMB1 09070001 UNPK DOUBLWD(5),IPLDATE+1(3) KMB1 09080001 MVC WORKLINE+31(2),DOUBLWD KMB1 09090001 MVI WORKLINE+33,C'.' KMB1 09100001 MVC WORKLINE+34(3),DOUBLWD+2 KMB1 09110001 DROP R2 09120001 L R6,IPLTIME 09130001 SRDA R6,32(0) 09140001 L R3,THREE60 09150001 DR R6,R3 09160001 CVD R7,DOUBLWD 09170001 MVC WORK(4),=X'40212020' 09180001 ED WORK(4),DOUBLWD+6 09190001 MVC WORKLINE+43(2),WORK+2 09200001 SRDA R6,32 SHIFT REMAINDER 09210001 L R3,SIXTY 09220001 DR R6,R3 09230001 CVD R7,DOUBLWD 09240001 MVC WORK(4),=X'F0212020' 09250001 ED WORK(4),DOUBLWD+6 09260001 MVC WORKLINE+46(2),WORK+2 09270001 LA R5,SCREEN+1 ADDRESS OF FIRST LINE 09280001 LA R10,85 09290001 LA R9,1 SBASETROW KMB1 09300001 SBASET , KMB1 09310001 MVC 5(79,R5),WORKLINE 09320001 LA R5,84(,R5) INCREMENT 09330001 LA R6,05(,R6) INCREMENT 09340001 TPUT CLEAR,CLEARLEN,FULLSCR KMB1 09350001 MVI IPLFLAG,X'FF' 09360001 TCLEARQ INPUT 09370001 B SPACLOOP 09380001 * 09390001 * MTT HUH???? 09400001 * 09410001 MTT DS 0H 09420001 B AUTHDONE 09430001 *--------------------------------------------------------------------* 09440001 * DISPLAY HELP * 09450001 *--------------------------------------------------------------------* 09460001 HELP DS 0H 09470001 LA R9,1 SBASETROW KMB1 09480001 MVI HELPFLAG,X'FF' 09490001 MVI AUTOFLAG,X'00' 09500001 TPUT CLRALT,CLRALTLN,FULLSCR KMB1 09510001 MVI CLRFLAG,X'FF' 09520001 B FIRSTL 09530001 AUTOON MVC TIMER,ONE 09540001 CLI USERFLAG,X'FF' 09550001 BE AUTO2 09560001 B AUTOSET 09570001 AUTO2 MVC TIMER,THREE 09580001 B AUTOSET 09590001 AUTO4 MVC TIMER,FIVE 09600001 AUTOSET MVI AUTOFLAG,X'FF' 09610001 MVC 5(72,R5),BLANKS 09620001 MVI REPLY,X'00' 09630001 B AUTHDONE 09640001 AUTO10 MVC TIMER,=F'990' APP 10 SECS 09650001 B AUTOSET 09660001 AUTOSTOP MVI AUTOFLAG,X'00' 09670001 B AUTHDONE 09680001 SKIPALL MVI ISSUFLAG,X'FF' 09690001 B AUTHDONE 09700001 *--------------------------------------------------------------------* 09710001 * ENTER PRESSED * 09720001 *--------------------------------------------------------------------* 09730001 GOTSTUFF DS 0H 09740001 CLI REPLY+6,C'>' IS IT NOTIFY MESSAGE? 09750001 BE NOTIFY THEN EXIT 09760001 OC REPLY+6(74),BLANKS ALL INPUT UPPER CASE 09770001 CLC REPLY+6(70),BLANKS COMMAND AREA IS SPACES? 09780001 BE AUTHDONE THEN A COMMAND WAS NOT ENTERED 09790001 MVC CMDLINE(4),CMDFMT 09800001 MVC CMDLINE+4(72),REPLY+6 09810001 MVC REPLY,BLANKS 09820001 CLI CMDLINE+4,C'Z' IS IT END, 09830001 BE CHEKAUTO THEN EXIT 09840001 CLI CMDLINE+4,C'X' IS IT END, 09850001 BE CHEKAUTO THEN EXIT 09860001 CLC CMDLINE+4(3),=C'END' IS IT END, 09870001 BE AXFREE THEN EXIT 09880001 GOTCMD DS 0H 09890001 TPUT CLEAR,CLEARLEN,FULLSCR KMB1 09900001 MVI CLRFLAG,X'FF' 09910001 LOGLINE MVC WTOCMD(100),WTOLIST 09920001 MVC WTOCMD+8(72),CMDLINE+4 09930001 CLI USERFLAG,X'FF' 09940001 BNE ISSUOK 09950001 ISSUCK CLC PJES2,CMDLINE+4 09960001 BE HELP 09970001 CLC PQ,CMDLINE+4 09980001 BE HELP 09990001 CLC $P,CMDLINE+4 10000001 BE HELP 10010001 CLC PQ(3),CMDLINE+4 10020001 BE HELP 10030001 CLC CMDLINE+4(1),PQ SHOULD START WITH $ 10040001 BNE HELP 10050001 ISSUOK MVC WTOCMD+78(4),USERID 10060001 LA R7,WTOCMD 10070001 WTL MF=(E,(R7)) 10080001 NOWTO DS 0H 10090001 BAL R3,AUTHRIZ 10100001 SLR R0,0 CLEAR REG 0 10110001 L R0,CONSCURR 10120001 ISSUE LA R1,CMDLINE GET ADDRESS OF COMMAND I SMF 10130001 SVC 34 ISSUE COMMAND VIA SVC 34 10140001 *S STIMER WAIT,BINTVL==A(50) 10150001 MVI CMDFLAG,X'FF' 10160001 B AUTHDONE 10170001 *--------------------------------------------------------------------* 10180001 * SUBROUTINE TO CONVERT ROW,COL TO SBA * 10190001 * BAL R3,SBACALC * 10200001 * INPUT R14=ROW, R15=COL * 10210001 * OUTPUT SBACMD 2 BYTE SBA * 10220001 * SUPPORTS 12 AND 14 BIT SBA * 10230001 *--------------------------------------------------------------------* 10240001 SBACALC DS 0H 10250001 BCTR R14,0 ROW -1, MAKE RELATIVE TO ZERO KMB1 10260001 BCTR R15,0 COL -1, MAKE RELATIVE TO ZERO KMB1 10270001 MH R14,TERMCOLS ROW * COLUMN KMB1 10280001 AR R15,R14 + COLUMN KMB1 10290001 * KMB1 10300001 TM WFLAG2,$2USE14 USE 14 BIT? KMB1 10310001 BO SBA14 YES KMB1 10320001 * KMB1 10330001 SLL R15,2 MOVE 2 BITS INTO LEFT BYTE KMB1 10340001 STCM R15,B'0010',SBACMD SAVE INTO FIRST BYTE KMB1 10350001 SRL R15,2 SHIFT BACK TO ORIGINAL KMB1 10360001 STCM R15,B'0001',SBACMD+1 SAVE RIGHT DIGIT KMB1 10370001 NC SBACMD(2),=X'3F3F' REMOVE TOP 2 BITS FROM DIGIT KMB1 10380001 TR SBACMD(2),TBL3270 TRANSLATE KMB1 10390001 BR R4 KMB1 10400001 SBA14 DS 0H KMB1 10410001 STCM R15,B'0011',SBACMD PUT OFFSET IN SBA KMB1 10420001 NC SBACMD(2),=X'3FFF' REMOVE TOP 2 BITS FROM DIGIT KMB1 10430001 BR R4 10440001 *--------------------------------------------------------------------* 10450001 * AUTHORIZE SUBROUTINE * 10460001 *--------------------------------------------------------------------* 10470001 AUTHRIZ STAX DEFER=YES 10480001 AIF ($AUTHOK EQ 0).NOSVC01 10490001 LA R1,=C'AUTH' 10500001 SVC $AUTHSVC 10510001 .NOSVC01 ANOP 10520001 MODESET MF=(E,SUPRMOD) GET INTO SUPV STATE AND KEY ZERO 10530001 BR R3 **************************** 10540001 *--------------------------------------------------------------------* 10550001 * UNAUTHORIZE SUBROUTINE * 10560001 *--------------------------------------------------------------------* 10570001 UNAUTH DS 0H 10580001 MODESET MF=(E,PROBMOD) 10590001 AIF ($AUTHOK EQ 0).NOSVC02 10600001 LA R1,=C'NONE' 10610001 SVC $AUTHSVC 10620001 .NOSVC02 ANOP 10630001 STAX DEFER=NO 10640001 BR R3 10650001 *********************************************************************** 10660001 * A T T N E X I T * 10670001 * * 10680001 * TRAP USERS ATTENTION INTERRUPTS AND FLAG FOR RESET * 10690001 *********************************************************************** 10700001 ATTNEXIT DS 0H ESTABLISH 10710001 MVI ATTNFLG,X'FF' SET ATTN FLAG 10720001 BR R14 RETURN TO CALLER 10730001 EJECT 10740001 LTORG 10750001 *---------------------------------------------------------------------* 10760001 * C O N S T A N T S * 10770001 *---------------------------------------------------------------------* 10780001 CMDFMT DC Y(76),Y(00) LENGTH OF COMMAND 10790001 MESSAGE DC CL46'LAST SYSTEM IPL DATE YY.DDD TIME HH:MM CLPA =' 10800001 PATTERN1 DC XL5'2120202020' 10810001 THREE60 DC F'360000' 10820001 SIXTY DC F'6000' 10830001 CNOP 0,8 10840001 *---------------------------------------------------------------------* 10850001 * 327X SCREEN CLEAR CONTROL CHARACTERS * 10860001 *---------------------------------------------------------------------* 10870001 *LR DC X'7E' EWA 10880001 * 10890001 CLRALT EQU * KMB1 10900001 DC X'277EC3' ERASE WRITE ALTERNATE KMB1 10910001 CLRALTLN EQU *-CLRALT KMB1 10920001 CLRPRM EQU * KMB1 10930001 DC X'27F5C3' ERASE WRITE KMB1 10940001 CLRPRMLN EQU *-CLRPRM KMB1 10950001 * 10960001 CLR DC X'C3' WCC - FREE KEYBOARD/RESET MDT 10970001 DC X'114040' SBA TO ROW 1, COL 1 10980001 DC X'3C' REPEAT TO ADDRESS 10990001 CLREOSCN DC X'F56F' ENDOFSCR FILL SCREEN WITH NULLS F56F=R43 C80 11000001 DC X'00' REPEAT NULLS 11010001 DC X'11' SBA 11020001 CLRCSR DC X'F460' CURSOR ROW 43 COL 2 11030001 DC X'00' ATTRIBUTE 11040001 DC X'13' INSERT CURSOR 11050001 CLRLEN EQU *-CLR 11060001 * 11070001 ONE DC A(175) 1.75 SECOND 11080001 FIVE DC A(444) 5 SECONDS 11090001 THREE DC A(220) 3 SECONDS 11100001 TEN DC F'10' 11110001 NUMBEROR DC XL4'000000F0' 11120001 CHAROR DC XL4'000000C0' 11130001 HEXZIP DC 2F'0000000000000000' 11140001 DS 0F 11150001 WTOLIST WTL ' X11160001 CONSOLE',MF=L 11170001 DS 0F 11180001 SUPRMOD MODESET KEY=ZERO,MODE=SUP,MF=L 11190001 PROBMOD MODESET KEY=NZERO,MF=L 11200001 AUTHNAME DS 0CL8 KMB1 11210001 DC CL8'SYS1' KMB1 11220001 DC CL8'STGMGT' KMB1 11230001 DC CL8'DB2MGT' KMB1 11240001 DC CL8'SYSOPER' KMB1 11250001 DC CL8'OPER2' KMB1 11260001 DC CL8'*USER ' KMB1 11270001 AUTHNEND DC 8XL1'FF' KMB1 11280001 HEXFS DC XL4'FFFFFFFF' 11290001 JHEX DC C'0123456789ABCDEF' HEX DIGIT CONVERSION 11300001 PJES2 DC CL7'$PJES2 ' 11310001 PQ DC CL8'$PQ,ALL ' 11320001 $P DC CL8'$P ' 11330001 RTMEC DC CL6',RTME=' 11340001 RNUMC DC CL6',RNUM=' 11350001 TBL3270 DC X'40C1C2C3C4C5C6C7C8C94A4B4C4D4E4F' KMB1 11360001 DC X'50D1D2D3D4D5D6D7D8D95A5B5C5D5E5F' KMB1 11370001 DC X'6061E2E3E4E5E6E7E8E96A6B6C6D6E6F' KMB1 11380001 DC X'F0F1F2F3F4F5F6F7F8F97A7B7C7D7E7F' KMB1 11390001 NOTISSUD DC CL18'COMMAND NOT ISSUED' 11400001 HEADING1 DC CL80'K S,DEL= 99:99:99 X11410001 CONSOLE XX ' 11420001 HELPMSG1 DC CL80'PF-1 THIS DISPLAY PF-2 STOP AUTO UPDATE X11430001 PF-3 END ' 11440001 HELPMSG2 DC CL80'PF-4 AUTO UPDATE 1 SEC PF-5 ALTERNATE CONSOLEX11450001 PF-6 RESHOW LAST COMMAND' 11460001 HELPMSG3 DC CL80'PF-7 PF-8 AUTO UPDATE 10 SEX11470001 C PF-9 AUTO UPDATE 4 SEC ' 11480001 HELPMSG4 DC CL80'PF-10 NOT DEFINED PF-11 AUTO UPDATE 2 SECX11490001 PF-12 IPL INFO ' 11500001 DC CL80'**** ONLY JES2 COMMANDS ARE AUTHORIZED FOR THIS UX11510001 SERID **** ' 11520001 WORKAREA DSECT 11530001 SAVEAREA DS 18F 11540001 UCMTABX DS F @ OF FIX DCM (IEERDCM) 11550001 RDCM DS F @ OF PAGEABLE DCM (IEECDCM/IEETDCM) 11560001 WORKLINE DS CL80 11570001 REPLY DS CL132 11580001 BLANKS DS CL132 11590001 CMDLINE DS CL132 11600001 HEADING DS CL80 11610001 SIBPTR DS F PRT TO SCREEN IMAGE BUFFER 11620001 UCMTAB DS F -----+ 11630001 DS 48F | PROVIDE SPACE FOR 48 UCM ADDRESSES 11640001 UCMTABE EQU * <---+ 11650001 AXLIST DC H'1',H'0' AXRES PARMLIST 11660001 NUMUCMS DS H 11670001 CONSOLD DS F PREVIOUS CONSOLE NUMBER 11680001 SPACE 5 11690001 CLEAR DS XL1 WCC - CLEAR SCREEN 11700001 DS XL3 SBA TO ROW 1, COL 1 11710001 CLEARLEN EQU *-CLEAR KMB1 11720001 DS XL1 IC AND REPEAT TO ADDRESS 11730001 ENDOFSCR DS XL2 SBA TO ROW XX, COL YY 11740001 DS XL2 FILL SCREEN WITH NULLS 11750001 CURSOR DS XL2 SBA TO ROW 1, COL 1 11760001 DS XL2 INSERT CURSOR 11770001 *LEARLEN EQU *-CLEAR 11780001 LASTLINE DS CL255' ' OPERATORS COMMAND INPUT LINE 11790001 CONNUM DS CL2' 1' CONSOLE NUMBER 11800001 CTYPE DS CL4' ' 11810001 MASTER DS CL8' ' MASTER CONSOLE 11820001 SYS DS CL4' ' SYS AUTHORIZATION 11830001 IO DS CL4' ' I/O AUTHORIZATION 11840001 CONS DS CL5' ' CONS AUTHORIZATION 11850001 DS CL3' ' 11860001 *NIT DS CL4' ' UNIT ADDR OF CONSOLE 11870001 TIME DS CL3' ' SECONDS REMAINING ON TIMER 11880001 SLASH DS CL1'/' 11890001 PAUSE DS CL3'1.0' DELAY IN SECONDS 11900001 DS CL2' ' 11910001 AREAA DS XL1 11920001 CNSLFLAG DS XL1 11930001 THRUFLAG DS XL1 11940001 AUTOFLAG DS XL1 11950001 ISSUFLAG DS XL1 11960001 RESHOWFL DS XL1 11970001 HELPFLAG DS XL1 11980001 USERFLAG DS XL1 11990001 CONSFLAG DS XL1 12000001 CLRFLAG DS XL1 12010001 IPLFLAG DS XL1 12020001 CMDFLAG DS XL1 12030001 ATTNFLG DS XL1 KMB1 12040001 WFLAG2 DS XL1 FLAGS 2 KMB1 12050001 $2PRIM EQU X'80' USE PRIMARY KMB1 12060001 $2ALT EQU X'40' USE ALTERNATE SIZE KMB1 12070001 $2USE14 EQU X'20' USE 14 BIT SBA KMB1 12080001 CONSCURR DS F CONSOLE TO BE LOOKED AT 12090001 CONSASID DS F 'CONSOLE' ASID FOR CMS 12100001 CONL DS F 12110001 SCNL DS F KMB1 12120001 WGTTERM GTTERM PRMSZE=0,ALTSZE=0,MF=L KMB1 12130001 TERMOROW DS A ORIGINAL TERM ROWS KMB1 12140001 TERMOCOL DS A ORIGINAL TERM COLS KMB1 12150001 PRMSZROW DS A PRIMARY ROW SIZE KMB1 12160001 PRMSZCOL DS A PRIMARY COL SIZE KMB1 12170001 ALTSZROW DS A ALTERNATE ROW SIZE KMB1 12180001 ALTSZCOL DS A ALTERNATE COL SIZE KMB1 12190001 PRMSIZE DS H PRIMARY SIZE KMB1 12200001 ALTSIZE DS H ALTERNATE SIZE KMB1 12210001 TERMROWS DS H TERMINAL ROWS KMB1 12220001 TERMCOLS DS H TERMINAL COLUMNS KMB1 12230001 TERMMOVE DS H MAX DATA TO MOVE KMB1 12240001 CONROW DS H NUM DISPLAY ROWS ON CONSOLE KMB1 12250001 CONCOL DS H NUM COLUMNS ON CONSOLE & SBA KMB1 12260001 CONCOLM6 DS H LEN OF CONSOLE DATA-1 KMB1 12270001 SBACMD DS XL2'0000' CURRENT SBA KMB1 12280001 TIMER DS F 12290001 RTME DS H 12300001 RNUM DS H 12310001 USER DS CL8 CONSOLE NAME 12320001 TYPE DS CL1 12330001 USERID DS CL7 12340001 TABAREA DS CL77 12350001 SELCODE DS CL3 LINE SELECTION CODE 12360001 SELSAVE DS CL3 LINE SELECTION CODE SAVE AREA 12370001 WORK DS D 12380001 DOUBLWD DS D 12390001 IPLDATE DS F 12400001 IPLTIME DS F 12410001 STAXLIST STAX ATTNEXIT,MF=L KMB1 12420001 WTOCMD DS CL104 12430001 SCREEN DS XL1 WCC - TERMINAL' SCREEN 12440001 DS 27CL142 KMB1 12450001 DS CL124 EXTRA FOR MOD5 12460001 SCRLEN EQU *-SCREEN 12470001 BUF DS 60CL142 CONSOLE SCREEN KMB1 12480001 BUFLEN EQU *-BUF 12490001 WORKLENG EQU *-WORKAREA 12500001 PRINT NOGEN 12510001 TITLE '*** TSO USER PROFILE TABLE DSECT ***' 12520001 IKJUPT TSO USER PROFILE TABLE 12530001 TITLE '*** COMMUNICATION VECTOR TABLE ***' 12540001 CVT DSECT=YES 12550001 TITLE '*** J S C B ***' 12560001 IEZJSCB 12570001 TITLE '*** T C B ***' 12580001 IKJTCB DSECT=YES 12590001 TITLE '*** RDCM DSECT ***' 12600001 IEECRDCM 12610001 TITLE '*** TDCM DSECT ***' 12620001 PRINT GEN 12630001 *IEETDCM DSECT , ZOS19 12640002 * IEECDCM ZOS19 12650002 STRTDCM EQU DCMSTRT ZOS19 12650102 IEETDCM , ZOS19 12651002 PRINT GEN 12660001 TITLE '*** MULTIPLE CONSOLE SUPPORT (MCS) UCM PREFIX ***' 12670001 IEECUCM FORMAT=NEW,LIST=YES KMB1 12680001 UCMSYSE EQU BIT4 ZOS19 12681002 UCMDISPA EQU BIT0 ZOS19 12682002 PRINT NOGEN 12690001 IHAASVT 12700001 TITLE '*** ADDRESS SPACE CONTROL BLOCK ***' 12710001 IHAASCB 12720001 TITLE '*** TSB DSECT ***' 12730001 IKJTSB LIST=YES 12740001 TITLE '*** CHAIN ***' 12750001 IEECHAIN 12760001 IEESMCA 12770001 IHAASXB ASXB --------- KMB1 12780001 IHAPSA PSA --------- KMB1 12790001 IHAACEE ACEE --------- KMB1 12800001 IEFUCBOB PREFIX=YES 12810001 YREGS , 12820001 END 12830001