MACRO 00010000 &L SBASET &ROW=R14,&COL=R15 00020000 PUSH PRINT 00030000 PRINT NOGEN 00040000 LR R14,R9 ROW NUMBER KMB1 00050000 LA R15,1 COL NUMBER (ALWAYS 1) KMB1 00060000 BAL R4,SBACALC CALL ROUTINE KMB1 00070000 MVC 0(5,R5),=X'1140401DC4' MODEL SBA/SF KMB1 00080000 MVC 1(2,R5),SBACMD MOVE IN CALCULATED SBA KMB1 00090000 LA R9,1(,R9) POINT TO NEXT ROW KMB1 00100000 POP PRINT 00110000 MEND , 00120000 PUNCH ' ORDER SPY(P)' 00130000 PUNCH ' SETCODE AC(1)' 00140000 ******************************************************************* 00150000 * * 00160000 * D I S C L A I M E R S E C T I O N * 00170000 * * 00180000 ******************************************************************* 00190000 * * 00200000 * THIS MATERIAL HAS BEEN USED SUCCESSFULLY & TO THE BEST OF OUR * 00210000 * KNOWLEDGE THEY ARE OPERATIONAL, HOWEVER NO WARRANTY * 00220000 * IS MADE TO THE ACCURACY OF THE PROGRAMS OR RELATED MATERIAL AND * 00230000 * NO RESPONSIBILITY IS ASSUMED FOR ANY MODIFICATION DIRECTLY OR * 00240000 * INDIRECTLY CAUSED BY THEIR USE. IT IS THE USERS * 00250000 * RESPONSIBILITY TO EVALUATE THE USEFULLNESS OF THE MATERIAL * 00260000 * SUPPLIED . * 00270000 * * 00280000 * WE DO NOT GUARANTEE TO KEEP ANY MATERIAL PROVIDED UP TO DATE * 00290000 * NOR DO WE GUARANTEE TO PROVIDE ANY CORRECTIONS OR EXTENSIONS * 00300000 * DESCRIBED BY THE USER OR CORRECTIONS OR EXTENSIONS MADE IN THE * 00310000 * FUTURE . * 00320000 * * 00330000 ******************************************************************* 00340000 *********************************************************************** 00350000 * FOR AUTHORIZATION - INSERT GROUPS OR *USER INTO THE AUTHNAME * 00360000 * TABLE. * 00370000 * * 00380000 * F AUTHNAME LAST * 00390000 * * 00400000 * DISPLAY MVS CONSOLE DISPLAY WITH AUTOMATIC REFRESH OF SCREEN * 00410000 * TO PRESENT A CONSOLE APPEARANCE. * 00420000 * * 00430000 * USED THE BASIC CROSS MEMORY CONSOLE BUFFER READ FROM THE * 00440000 * CDF PROGRAM ON THE SHARE TAPE, AND MODIFIED TO A COMMAND * 00450000 * PROCESSOR HIGHLIGHTING THE HIGHLIGHTED MESSAGES - P.MURPHY * 00460000 * * 00470000 *********************************************************************** 00480000 * ORIG. FROM CBTTAPE.ORG FILE 025 TU SERVICES PGM=CONS390 * 00490000 *********************************************************************** 00500000 * UPDATE LOG * 00510000 *********************************************************************** 00520000 * 08/02/2007 KMB1-SAM BASS - MCLANE CO. * 00530000 * HEAVILY MODIFIED. * 00540000 * * 00550000 * 1. I CHOSE THIS CONSOLE/SPY PROGRAM SINCE IT HAD THE BASIC * 00560000 * STRUCTURE IN PLACE TO SUPPORT 3270 MODELS 2,3,4,5. * 00570000 * BUT IT ONLY COULD LOOK AT MOD-2 CONSOLES. * 00580000 * I TOOK IT TO THE NEXT LEVEL AND NOW IT WILL WORK WITH * 00590000 * ALL CONSOLE SIZES UP TO 54X132. * 00600000 * IF THE CONSOLE IS BIGGER THAN THE TERMINAL THEN I TRUNCATE * 00610000 * THE WIDTH AND LOP OFF THE TOP LINES. I DID NOT FEEL LIKE * 00620000 * DOING THE PAGING THING LIKE SOME OF THE CONSOLE/SPY PROGRAMS.* 00630000 * 2. I ALWAYS CHOOSE THE ALTERNATE SIZE (HOPEFULLY IT IS LARGER * 00640000 * THAN THE PRIMARY). MAYBE I SHOULD TEST WHICH IS LARGER! * 00650000 * 3. I CHANGED THE SECURITY ENTRIES TO BE RACF GROUPS INSTEAD OF * 00660000 * USERIDS. I DO STILL SUPPORT USERIDS BY HAVING "*USERID". * 00670000 * 4. I INCLUDED THE IPL VOLSER IN ADDITION TO THE IPL UCB * 00680000 * 5. I TRIED MY BEST TO REMOVE HARD CODED OFFSETS TO DATA AREAS * 00690000 * AND LENGTHS TO MOVE DATA. * 00700000 * * 00710000 * 08/06/2007 KMB1-SAM BASS - MCLANE CO. SBASS@MCLANECO.COM * 00720000 * * 00730000 * 1. CHANGED TO GENERATE THE SBA DYNAMICALLY SO THIS CAN SUPPORT * 00740000 * ANY SIZE TSO TERMINAL * 00750000 * 2. SUPPORTS 14-BIT SBA TO SUPPORT LARGE TERMINAL SIZES * 00760000 * IF ROW*COL > 4095 * 00770000 * 3. ALLOW 'P' OR 'A' TO BE PASSED TO PROGRAM TO FORCE * 00780000 * PRIMARY OR ALTERNATE TERMINAL SCREEN SIZE. * 00790000 * 4. CHANGED TO BE AUTHORIZED ONLY WHEN NEED TO BE. * 00800000 * * 00810000 * VVV --------------- VVVVVVVVVVVVVVVVVVVVVVV * 00820000 *********************************************************************** 00830000 $AUTHOK EQU 0 0= NO SVC, 1=USE AUTH SVC KMB1 00840000 $AUTHSVC EQU 999 CHANGE TO YOUR AUTH SVC KMB1 00850000 SPY AMODE 31 00860000 SPY RMODE 24 00870000 SPY CSECT 00880000 SAVE (14,12),T,CONSOLE_MCLANE_&SYSDATC._&SYSTIME. 00890000 LR R11,R15 LOAD ADDRESS OF ENTRY POINT 00900000 LA R12,2048(,R11) ADDRESS OF NEXT BASE REGISTER 00910000 LA R12,2048(,R12) ADDRESS OF NEXT BASE REGISTER 00920000 USING SPY,R11,R12 R12 BASE REGISTER 00930000 LR R2,R1 00940000 GETMAIN R,LV=WORKLENG,SP=1 00950000 LR R3,R1 00960000 ST R13,4(,R3) SAVE THE CALLER'S R13 00970000 ST R3,8(,R13) 00980000 LR R13,R3 00990000 USING WORKAREA,R13 01000000 *--------------------------------------------------------------------* 01010000 * INITIALIZE * 01020000 *--------------------------------------------------------------------* 01030000 MVI BLANKS,X'40' 01040000 MVC BLANKS+1(L'BLANKS-1),BLANKS 01050000 MVI CONSFLAG,X'00' 01060000 MVI USERFLAG,X'00' 01070000 MVI CNSLFLAG,X'00' 01080000 MVI THRUFLAG,X'00' 01090000 MVI ISSUFLAG,X'00' 01100000 MVC CMDLINE,BLANKS 01110000 MVC AXLIST(4),=Y(1,0) INITIALIZE AXLIST KMB1 01120000 MVI WFLAG2,0 KMB1 01130000 *--------------------------------------------------------------------* 01140000 * CHECK TO SEE IT 'P' OR 'A' WAS PASSED TO TELL US * 01150000 * TO USE PRIMARY OR ALTERNATE TERMINAL SIZE * 01160000 *--------------------------------------------------------------------* 01170000 TM 0(R2),X'80' IS THIS PARM? KMB1 01180000 BZ CHKCPPL NOPE KMB1 01190000 L R1,0(,R2) GET PARM/CPPL KMB1 01200000 OI 2(R1),C' ' UPPERCASE KMB1 01210000 CLI 2(R1),C'P' USE PRIMARY? KMB1 01220000 BE PARM80P KMB1 01230000 CLI 2(R1),C'A' USE ALTERNATE? KMB1 01240000 BE PARM80A KMB1 01250000 B PARM99 KMB1 01260000 CHKCPPL DS 0H KMB1 01270000 L R1,0(,R2) GET CPPLBUF KMB1 01280000 LH R15,2(,R1) GET PARAMETER OFFSET KMB1 01290000 LA R1,4(R15,R1) POINT TO PARM KMB1 01300000 OI 0(R1),C' ' UPPERCASE KMB1 01310000 CLI 0(R1),C'P' USE PRIMARY? KMB1 01320000 BE PARM80P KMB1 01330000 CLI 0(R1),C'A' USE ALTERNATE? KMB1 01340000 BE PARM80A KMB1 01350000 B PARM99 KMB1 01360000 PARM80P DS 0H KMB1 01370000 OI WFLAG2,$2PRIM SET TO USE PRIMARY SIZE KMB1 01380000 B PARM99 KMB1 01390000 PARM80A DS 0H KMB1 01400000 OI WFLAG2,$2ALT SET TO USE ALTERNATE SIZE KMB1 01410000 PARM99 DS 0H KMB1 01420000 *--------------------------------------------------------------------* 01430000 * USE RACF GROUP TO VALIDATE WHETHER THIS USER IS * 01440000 * ALLOWED TO USE THIS PROGRAM * 01450000 *--------------------------------------------------------------------* 01460000 * MVI VIPFLG,0 RESET VIP FLAG KMB1 01470000 * KMB1 01480000 * CHECK THE RACF GROUP TO VERIFY VIP KMB1 01490000 * KMB1 01500000 L R15,PSAAOLD-PSA LOAD A(ASCB) KMB1 01510000 L R15,ASCBASXB-ASCB(,R15) A(ASXB) AND KMB1 01520000 L R15,ASXBSENV-ASXB(,R15) A(ACEE) KMB1 01530000 LTR R15,R15 ACEE AVAILABLE? KMB1 01540000 BZ EXIT NO -- CONTINUE KMB1 01550000 MVC USERID,BLANKS BLANK OUT USERID KMB1 01560000 MVC USERID(7),ASXBUSER-ASXB(R15) GET USERID KMB1 01570000 SLR R2,R2 CLEAR THE REGISTER AND KMB1 01580000 LA R3,ACEEGRPN-ACEE(,R15) LOAD GROUP ADDRESS KMB1 01590000 *--------------------------------------------------------------------* 01600000 * SCAN TABLE TO VERIFY * 01610000 *--------------------------------------------------------------------* 01620000 LA R8,AUTHNAME LOAD ADDR OF AUTHORIZED NAME KMB1 01630000 AUTHLOOP CLI 0(R8),X'FF' END OF AUTHNAME TABLE? KMB1 01640000 BE EXIT YES, GET OUT KMB1 01650000 CLC 0(8,R8),0(R3) SEE IF RACF GROUP IN TABLE KMB1 01660000 BE AUTHED YES, GO DO IT KMB1 01670000 CLI 0(R8),C'*' IS THIS A USER ENTRY? KMB1 01680000 BNE AUTH0100 NO KMB1 01690000 CLC 1(7,R8),USERID IS THIS USER IN THE TABLE KMB1 01700000 BE AUTHED YES KMB1 01710000 AUTH0100 DS 0H KMB1 01720000 LA R8,8(,R8) INCREMENT TO NEXT TABLE ENTR KMB1 01730000 B AUTHLOOP LOOP UNTIL DONE KMB1 01740000 AUTHED DS 0H KMB1 01750000 * MVI VIPFLG,X'FF' YES, SUPER USER KMB1 01760000 * 01770000 * KMB1 01780000 * SETUP STAX FOR ATTENTION INTERRUPTIONS KMB1 01790000 * KMB1 01800000 MVI ATTNFLG,0 KMB1 01810000 LA R3,STAXLIST R3 = ADDRESS OF STAX LIST KMB1 01820000 STAX ATTNEXIT,MF=(E,(3)) ATTN EXIT TRAP KMB1 01830000 SPACE 3 KMB1 01840000 * 01850000 MVI AUTOFLAG,X'00' AUTO MODE FLAG 01860000 MVI RESHOWFL,X'00' RESHOW INDICATOR 01870000 MVI SCREEN,X'C3' WCC 01880000 XC CLEAR(CLEARLEN),CLEAR ZERO TPUT CLEARSCRN AREA KMB1 01890000 MVC CLEAR(CLEARLEN),CLR CLEAR SCREEN CONTROL CHARS KMB1 01900000 *--------------------------------------------------------------------* 01910000 * GET TERMINAL ROW/COLS ON ENTRY * 01920000 * GET TERMINAL PRIMARY AND ALTERNATE SIZES * 01930000 * SET TERMINAL TO ALTERNATE SIZES * 01940000 *--------------------------------------------------------------------* 01950000 GTSIZE , KMB1 01960000 LTR R0,R0 DISPLAY DEVICE? KMB1 01970000 BZ FREESKIP YES, GO FREE AND RETURN KMB1 01980000 ST R0,TERMOROW SAVE TERM ROWS KMB1 01990000 ST R1,TERMOCOL AND TERM COLUMNS KMB1 02000000 * KMB1 02010000 LA R2,PRMSIZE KMB1 02020000 LA R3,ALTSIZE GET PRIM/ALT SIZES KMB1 02030000 GTTERM PRMSZE=(2),ALTSZE=(3),MF=(E,WGTTERM) KMB1 02040000 SLR R1,R1 KMB1 02050000 IC R1,PRMSIZE PRM SIZE ROWS 1 BYTE KMB1 02060000 ST R1,PRMSZROW KMB1 02070000 IC R1,PRMSIZE+1 PRM SIZE COLS 1 BYTE KMB1 02080000 ST R1,PRMSZCOL KMB1 02090000 * KMB1 02100000 IC R1,ALTSIZE ALT SIZE ROWS 1 BYTE KMB1 02110000 ST R1,ALTSZROW KMB1 02120000 IC R1,ALTSIZE+1 ALT SIZE COLS 1 BYTE KMB1 02130000 ST R1,ALTSZCOL KMB1 02140000 * KMB1 02150000 TM WFLAG2,$2PRIM USE PRIMARY KMB1 02160000 BZ SETALT KMB1 02170000 SETPRIM STSIZE LINELOC=PRMSZROW,SIZELOC=PRMSZCOL KMB1 02180000 B SETSIZE9 KMB1 02190000 SETALT STSIZE LINELOC=ALTSZROW,SIZELOC=ALTSZCOL KMB1 02200000 SETSIZE9 DS 0H KMB1 02210000 GTSIZE , 02220000 LTR R0,R0 DISPLAY DEVICE? 02230000 BZ FREESKIP YES, GO FREE AND RETURN 02240000 STH R0,TERMROWS SAVE TERM ROWS KMB1 02250000 STH R1,TERMCOLS AND TERM COLUMNS KMB1 02260000 B PROCESS KMB1 02270000 * 02280000 PROCESS DS 0H 02290000 MVI HELPFLAG,X'00' 02300000 MVI CMDFLAG,X'00' 02310000 *--------------------------------------------------------------------* 02320000 * DETERMINE IF WE SHOULD USE 14-BIT SBA * 02330000 *--------------------------------------------------------------------* 02340000 LH R0,TERMROWS KMB1 02350000 MH R0,TERMCOLS KMB1 02360000 C R0,=F'4096' KMB1 02370000 BL NO14BIT KMB1 02380000 OI WFLAG2,$2USE14 USE 14 BIT SBA KMB1 02390000 NO14BIT DS 0H KMB1 02400000 *--------------------------------------------------------------------* 02410000 * FIND CONSOLE'S ADDRESS SPACE AND SAVE ASID * 02420000 *--------------------------------------------------------------------* 02430000 LA R1,16 02440000 L R1,0(R1) 02450000 USING CVT,R1 02460000 L R1,CVTASVT 02470000 DROP R1 02480000 USING ASVT,R1 02490000 L R5,ASVTMAXU 02500000 LA R15,ASVTENTY-4 02510000 ASVTLOOP BCTR R5,0 02520000 LTR R5,R5 02530000 BZ CONABEND 02540000 LA R15,4(,R15) 02550000 ICM R6,15,0(R15) 02560000 BM ASVTLOOP 02570000 USING ASCB,R6 02580000 ICM R7,15,ASCBJBNS 02590000 BZ ASVTLOOP 02600000 CLC =C'CONSOLE',0(R7) 02610000 BNE ASVTLOOP 02620000 SR R1,R1 02630000 ICM R1,3,ASCBASID 02640000 DROP R1,R6 02650000 STORECON DS 0H 02660000 ST R1,CONSASID 02670000 *--------------------------------------------------------------------* 02680000 * GET THE AX FOR THE CONSOLE ASID * 02690000 *--------------------------------------------------------------------* 02700000 BAL R3,AUTHRIZ 02710000 MVC AXLIST(4),=Y(1,0) INITIALIZE AXLIST KMB1 02720000 AXRES AXLIST=AXLIST RESERVE AN AX 02730000 L R1,CONSASID 'CONSOLE' ASID 02740000 AXEXT ASID=(1) EXTRACT AX OF 'CONSOLE'IN R0 02750000 AXSET AX=(0) SET OUR AX TO THAT OF CONSOLE 02760000 BAL R3,UNAUTH 02770000 B SHOWCONS 02780000 *--------------------------------------------------------------------* 02790000 * EXIT POINT * 02800000 *--------------------------------------------------------------------* 02810000 AXFREE DS 0H 02820000 BAL R3,AUTHRIZ KMB1 02830001 AXFRE AXLIST=AXLIST 02840000 BAL R3,UNAUTH KMB1 02850001 FREESKIP DS 0H 02860000 * 02870000 STSIZE LINELOC=TERMOROW,SIZELOC=TERMOCOL ORIGINAL SIZE KMB1 02880000 * TPUT CLRALT,CLRALTLN,FULLSCR CLEAR/ERASE ALTERNATE KMB1 02890000 STLINENO LINE=1 02900000 STFSMODE OFF 02910000 STTMPMD OFF 02920001 * 02930000 EXIT DS 0H 02940000 BAL R3,UNAUTH UNAUTH JUST IN CASE 02950000 LR R1,R13 02960000 L R13,4(,R13) RESTORE THE CALLER'S R13 02970000 FREEMAIN R,A=(1),LV=WORKLENG,SP=1 02980000 SR R15,R15 02990000 RETURN (14,12),RC=(15) 03000000 EJECT 03010000 *--------------------------------------------------------------------* 03020000 * BEGINNING OF PROCESS * 03030000 * SET TO FULL SCREEN MODE * 03040000 *--------------------------------------------------------------------* 03050000 SHOWCONS DS 0H 03060000 STFSMODE ON,INITIAL=YES FULL SCREEN MODE ON 03070000 STTMPMD ON 03080001 TM WFLAG2,$2PRIM KMB1 03090000 BZ SHOW0100 KMB1 03100000 TPUT CLRPRM,CLRPRMLN,FULLSCR CLEAR/ERASE PRIMARY KMB1 03110000 B SHOW0900 KMB1 03120000 SHOW0100 DS 0H KMB1 03130000 TPUT CLRALT,CLRALTLN,FULLSCR CLEAR/ERASE ALTERNATE KMB1 03140000 SHOW0900 DS 0H KMB1 03150000 *---------------------------------------------------------------------* 03160000 * BUILD A TABLE OF UCM ADDRESSES (ONE PER CONSOLE) * 03170000 *---------------------------------------------------------------------* 03180000 BLDUCMS L R4,16 R4 = ADDR OF CVT 03190000 USING CVT,R4 03200000 L R4,CVTCUCB R4 = ADDR OF 'CUCB' (UCM BASE) 03210000 DROP R4 03220000 USING UCM,R4 03230000 L R6,UCMVEZ R6 = LENGTH OF EACH UCM ENTRY 03240000 L R7,UCMVEL R7 = ADDR OF LAST UCM ENTRY 03250000 LA R8,UCMTAB+4 R8 = ADDR OF UCMTAB 03260000 LA R9,UCMTABE R9 = ADDR OF END OF UCMTAB 03270000 LR R5,R4 BASE 03280000 S R5,=F'4' R5 = ADDR OF FIRST UCM PREFIX 03290000 USING UCMPRFX,R5 03300000 TM UCMSFLG1,UCMSYSE NO CONSOLES? 03310000 BO CONABEND YES 03320000 DROP R5 03330000 L R5,UCMVEA R5 = ADDR OF FIRST UCM ENTRY 03340000 XR R2,R2 R2 = 0 (NUMBER OF VALID UCMS) 03350000 UCMLOOP ST R5,0(0,R8) SAVE UCM ADDRESS IN UCMTAB 03360000 LA R2,1(0,R2) R2 = R2 + 1 (ONE MORE UCM) 03370000 LA R8,4(0,R8) R8 = ADDR OF NEXT UCMTAB ENTRY 03380000 CR R8,R9 DOES R8 POINT PAST END OF UCMTAB? 03390000 BNL UCMDONE YES; LEAVE LOOP 03400000 AR R5,R6 R5 = ADDR OF NEXT UCM ENTRY 03410000 CR R5,R7 DOES R5 POINT PAST UCM ENTRIES? 03420000 BL UCMLOOP NOPE; KEEP GOING 03430000 UCMDONE STH R2,NUMUCMS SAVE NUMBER OF UCMS FOUND 03440000 CLI CNSLFLAG,X'FF' 03450000 BNE SETMAST 03460000 MVC CONSOLD,CONSCURR 03470000 L R4,CONSCURR 03480000 LA R4,1(,R4) 03490000 B MASTSCAN 03500000 DROP R4 03510000 *---------------------------------------------------------------------* 03520000 * SCAN THE UCM FOR THE MASTER CONSOLE AS THE DEFAULT * 03530000 *---------------------------------------------------------------------* 03540000 SETMAST SR R4,R4 03550000 ST R4,CONSCURR 03560000 MASTSCAN LA R5,UCMTAB SET POINTER TO UCM ADDRESS TABLE 03570000 CKNUMUCM CH R4,NUMUCMS IS NUMBER TOO HIGH? 03580000 BNH MASTCONT NO, CONTINUE 03590000 CLI CNSLFLAG,X'FF' 03600000 BNE CONCHECK 03610000 CLI THRUFLAG,X'FF' 03620000 BE NOCONS 03630000 MVI THRUFLAG,X'FF' 03640000 SR R4,R4 START W/ FIRST ENTRY 03650000 B MASTCONT 03660000 * 03670000 * ERROR IF NO CONSOLES FOUND 03680000 * 03690000 CONABEND EQU * 03700000 NOCONS TPUT MSGNO2,43 03710000 TPUT CLEAR,CLEARLEN,FULLSCR KMB1 03720000 B AXFREE 03730000 MSGNO2 DC CL43'ALL CONSOLES OFFLINE, GOING TO MASTER TRACE' 03740000 SPACE 3 03750000 CONCHECK MVI CNSLFLAG,X'FF' 03760000 MVI THRUFLAG,X'FF' 03770000 B SETMAST 03780000 * 03790000 * HERE IS THE SCAN FOR THE MASTER 03800000 * 03810000 MASTCONT SLL R4,2 MAKE CONSOLE NUMBER TABLE INDEX 03820000 LA R5,0(R5,R4) SET POINTER TO UCM ADDRESS SLOT 03830000 L R5,0(0,R5) SET POINTER TO UCM 03840000 LTR R5,R5 03850000 BZ NEXT 03860000 USING UCMLIST,R5 TELL ASSEMBLER ABOUT UCM 03870000 CLI CNSLFLAG,X'FF' 03880000 BE SKIPMSTR 03890000 TM UCMDIDCS,UCMAHERE ON THIS SYSTEM? 03900000 BZ NEXT NO ? BRANCH 03910000 TM UCMDISP1,UCMDISPA IS THIS A MASTER CONSOLE? 03920000 BNZ ACTIVCHK YES ? FOUND THE MASTER CONSOLE .. 03930000 B NEXT 03940000 SKIPMSTR EQU * 03950000 TM UCMDIDCS,UCMAHERE ON THIS SYSTEM? 03960000 BZ NEXT NO ? BRANCH 03970000 TM UCMDISP1,UCMDISPC GRAPHICS 03980000 BZ NEXT 03990000 ACTIVCHK TM UCMATR,UCMUF ACTIVE? 04000000 BNZ MASTFND 04010000 NEXT SRL R4,2 RESET CONSOLE NUMBER TO RELATIVE 04020000 LA R4,1(0,R4) SET POINTER TO NEXT CONSOLE 04030000 B MASTSCAN CONTINUE MASTER CONSOLE SCAN LOOP 04040000 MASTFND SRL R4,2 RESET CONSOLE NUMBER TO RELATIVE 04050000 ST R4,CONSCURR SET VALID CONSOLE NUMBER (MASTER) 04060000 DROP R5 DONT NEED UCM ADDRESSABILITY NOW 04070000 NEXTPAGE LA R5,UCMTAB R5 = ADDR OF UCMTAB 04080000 ICM R4,15,CONSCURR R4 = CONSOLE TO BE DISPLAYED 04090000 BZ WRTERR4 WE HAVE NO CONSOLE ZERO (MASTER) 04100000 CH R4,NUMUCMS IS NUMBER TOO HIGH? 04110000 BNH GETUCM NO, CONTINUE 04120000 RESETCN L R4,CONSOLD RESET TO OLD CONSOLE 04130000 ST R4,CONSCURR AND SAVE IT 04140000 GETUCM SLL R4,2 MULTIPLY BY 4 04150000 LA R5,0(R5,R4) R5 = ADDR OF ADDR OF UCM 04160000 L R5,0(0,R5) R5 = ADDR OF UCM 04170000 USING UCMLIST,R5 04180000 L R6,UCMXB R6 = ADDR OF RDCM 04190000 ST R6,UCMTABX 04200000 LTR R6,R6 IS THIS A GRAPHICS CONSOLE? 04210000 BP GRAPHICS YES 04220000 LA R5,UCMTAB R5 = ADDR OF UCMTAB 04230000 WRTERR4 DS 0H 04240000 B RESETCN RESET THE CONSOLE NUMBER 04250000 GRAPHICS EQU * 04260000 L R6,UCMFEXTP UCM FIXED EXTENSION 04270000 USING UCMEFEXT,R6 ADDRESSABILITY 04280000 MVC USER,UCMEFCNM LOGON ID 04290000 DROP R6 04300000 AUTHDONE EQU * 04310000 MVC CONSOLD,CONSCURR 04320000 MVC HEADING,HEADING1 04330000 *********************************************************************** 04340000 * FOR SYSH UNCOMMENT THE FOLLOWING 2 LINES TO LOOK AT ALTERNATE * 04350000 *********************************************************************** 04360000 * CLI CONSFLAG,X'FF' 04370000 * BNE CNSLSW 04380000 CLI ISSUFLAG,X'FF' 04390000 BNE CONSINIT 04400000 MVC HEADING+45(18),NOTISSUD 04410000 MVI ISSUFLAG,X'00' 04420000 CONSINIT MVI CNSLFLAG,X'00' 04430000 * BAL R3,AUTHRIZ KMB1 04440000 *--------------------------------------------------------------------* 04450000 * SET SSAR TO THE CONSOLE ASID * 04460000 *--------------------------------------------------------------------* 04470000 L R1,CONSASID 'CONSOLE' ASID 04480000 SSAR R1 SET 'CONSOLE' AS SECONDARY 04490000 PRINT ON,GEN 04500000 SLR R0,R0 SECONDARY KEY 04510000 L R6,UCMTABX 04520000 LA R1,4 TRUE LENGTH 04530000 MVCP RDCM(R1),0(R6),R0 ADDRESS OF PAGEABLE DCM (DCMADTRN) 04540000 LA R1,1 04550000 MVCP TYPE(R1),15(R6),R0 ATTRIB DCMDEVTY X'14' = EXTENDED 04560000 *UCMECOLR EQU X'10' USABLE FOR EXTENDED COLOR 04570000 *UCMEXTDS EQU X'04' DEVICE SUPPORTS EXTENDED DATA 04580000 L R7,RDCM 04590000 USING STRTDCM,R7 04600000 LA R1,2 KMB1 04610000 MVCP CONROW(R1),DCMMSGAL-STRTDCM(R7),R0 KMB1 04620000 LA R1,2 KMB1 04630000 MVCP CONCOL(R1),DCMCORLN-STRTDCM(R7),R0 KMB1 04640000 *--------------------------------------------------------------------* 04650000 * SET EXECUTED MVC LENGTH FROM CONSOLE TO TERM BUFFER * 04660000 *--------------------------------------------------------------------* 04670000 LH R1,CONCOL CONSOLE COLUMNS KMB1 04680000 TM TYPE,X'14' IS IT EXTENDED? 04690000 BO COLEXT02 YES 04700000 COLEXT01 DS 0H 04710000 SH R1,=H'07' 6(SBA) +1 FOR EXECUTED MVC'S LATER KMB1 04720000 B COLEXT03 04730000 COLEXT02 DS 0H EXTENDED 04740000 SH R1,=H'13' 12(EXTSBA) +1 FOR EXECUTED MVC'S KMB1 04750000 B COLEXT03 04760000 COLEXT03 DS 0H KMB1 04770000 STH R1,CONCOLM6 FOR EXECUTED MVC'S LATER KMB1 04780000 *--------------------------------------------------------------------* 04790000 * SET THE CONSOLE BUFFER MOVE LENGTH TO THE MINIMUM * 04800000 * OF THE CONSOLE WIDTH OR THE TERMINAL WIDTH-2 * 04810000 *--------------------------------------------------------------------* 04820000 LH R0,TERMCOLS MAX TERMINAL WIDTH KMB1 04830000 SH R0,=H'1' -1 FOR EXECUTE KMB1 04840000 STH R0,TERMMOVE MAX MOVE KMB1 04850000 CLR R1,R0 IS CONSOLE > TERM KMB1 04860000 BH COLEXT04 YEP KMB1 04870000 STH R1,TERMMOVE NOPE, MOVE CONS LEN TO TERM KMB1 04880000 COLEXT04 DS 0H 04890000 * KMB1 04900000 SLR R0,R0 04910000 LA R1,L'LASTLINE TRUE LENGTH 04920000 MVCP LASTLINE(R1),DCMINPUT-STRTDCM(R7),R0 04930000 LA R1,L'SIBPTR 04940000 SLR R0,R0 SET STORAGE KEY 04950000 MVCP SIBPTR(R1),DCMASCRN-STRTDCM(R7),R0 PT TO CONSOLE BFR 04960000 LA R1,2 04970000 MVCP HEADING+8(R1),DCMDEL-STRTDCM(R7),R0 ROLL DELETE VAL 04980000 MVCP RTME(R1),DCMRTME-STRTDCM(R7),R0 RTME 04990000 MVCP RNUM(R1),DCMDL-STRTDCM(R7),R0 RNUM 05000000 LA R1,4 05010000 MVCP CONL(R1),DCMLSCRN-STRTDCM(R7),R0 @ OF LAST CONS LINE 05020000 * 05030000 L R8,SIBPTR R8 = ADDR OF CONSOLE IMAGE 05040000 LA R1,4 KMB1 05050000 MVCP SCNL(R1),DCMWTBUF-STRTDCM(R7),R0 KMB1 05060000 L R5,SCNL @ OF LAST BYTE OF SCREEN+1 KMB1 05070000 * AND ADDRESS OF INPUT AREA KMB1 05080000 SR R5,R8 GET LENGTH OF CONSOLE BFR KMB1 05090000 TM TYPE,X'14' SUPPORT EXTENDED COLOR/DATASTREAM? 05100000 BO EXTLNGTH YES, BRANCH 05110000 LA R5,06(,R5) SIX BYTES FOR SBA 05120000 B REGLNGTH 05130000 EXTLNGTH DS 0H 05140000 LA R5,12(,R5) SIX BYTES FOR EXT SBA 05150000 REGLNGTH ST R5,CONL SAVE IT 05160000 *--------------------------------------------------------------------* 05170000 * MOVE THE COMPLETE CONSOLE BUFFERS TO BUF AREA * 05180000 *--------------------------------------------------------------------* 05190000 * 05200000 * R5 IS LENGTH OF CONSOLE DISPLAY 05210000 * R8 IS POINTER TO FIRST BYTE OF CONSOLE DISPLAY 05220000 * 05230000 LA R4,SCREEN MY BUF 05240000 AL R4,=A(SCRLEN) POINT TO BUF (FOLLOWS SCREEN KMB1 05250000 MOVEBUFF DS 0H 05260000 TM TYPE,X'14' SUPPORT EXTENDED COLOR/DATASTREAM? 05270000 BO MOVEL 05280000 SH R8,=H'06' BACK UP TO THE SBA 05290000 B RESUMMOV 05300000 MOVEL SH R8,=H'12' BACK UP TO THE EXT SBA 05310000 RESUMMOV SLR R0,R0 RESET THE KEY 05320000 MVCPLOOP DS 0H 05330000 MVCP 0(R5,R4),0(R8),R0 LOOP THRU THE CONSOLE BUFFER 05340000 BZ GOTITALL 05350000 AL R8,=F'256' MAX LEN ALLOWED 05360000 AL R4,=F'256' MAX LEN ALLOWED 05370000 SL R5,=F'256' MAX LEN ALLOWED 05380000 B MVCPLOOP 05390000 *---------------------------------------------------------------------* 05400000 * IN ORDER TO ISSUE SVCS THE PRIMARY AND * 05410000 * SECONDARY ADDRSPC MUST BE THE SAME * 05420000 *---------------------------------------------------------------------* 05430000 GOTITALL DS 0H 05440000 EPAR R1 EXTRACT PRIMARY ASN 05450000 SSAR R1 05460000 BAL R3,UNAUTH KMB1 05470000 DROP R5,R7 05480000 LA R3,SCREEN SET POINTER TO FIRST LINE OF BUF 05490000 AL R3,=A(SCRLEN) POINT TO BUF KMB1 05500000 * 05510000 LA R9,HEADING+10 05520000 CLI HEADING+9,C' ' 05530000 BNE RDMODE 05540000 LA R9,HEADING+9 05550000 * 05560000 * INSERT RTME= 05570000 * 05580000 RDMODE MVC 0(6,R9),RTMEC 05590000 SR R5,R5 05600000 LH R5,RTME 05610000 CVD R5,DOUBLWD 05620000 MVC WORKLINE(5),PATTERN1 05630000 ED WORKLINE(5),DOUBLWD+5 05640000 MVC 6(4,R9),WORKLINE+1 05650000 CLI 9(R9),C'0' 05660000 BE PUTBLNK 05670000 MVC 7(2,R9),=C'1/' 05680000 B PUTRNUM 05690000 * 05700000 * INSERT RNUM= 05710000 * 05720000 PUTBLNK MVI 9(R9),C' ' 05730000 PUTRNUM MVC 10(6,R9),RNUMC 05740000 SR R5,R5 05750000 IC R5,RNUM+1 05760000 CVD R5,DOUBLWD 05770000 MVC WORKLINE(5),PATTERN1 05780000 ED WORKLINE(5),DOUBLWD+5 05790000 MVC 16(3,R9),WORKLINE+2 05800000 * 05810000 * INSERT TIME 05820000 * 05830000 TIME DEC 05840000 ST R0,WORK 05850000 MVI WORK+3,X'0C' 05860000 UNPK DOUBLWD(7),WORK(4) 05870000 LA R9,HEADING+36 05880000 MVC 0(2,R9),DOUBLWD 05890000 MVC 3(2,R9),DOUBLWD+2 05900000 MVC 6(2,R9),DOUBLWD+4 05910000 MVC 28(8,R9),USER 05920000 MVC 10(10,R9),BLANKS 05930000 * 05940000 AGO .NOTEST 05950000 UNPK WORK(3),TYPE(2) DISPLAY CONSOLE ATTRIBUTES 05960000 TR WORK(2),JHEX-240 05970000 MVC HEADING+47(2),WORK 05980000 .NOTEST ANOP 05990000 *--------------------------------------------------------------------* 06000000 * INSERT ROW,COL MAX DISPLAY * 06010000 *--------------------------------------------------------------------* 06020000 LH R1,CONROW GET NUMBER OF ROWS KMB1 06030000 CVD R1,DOUBLWD CONVERT TO DECIMAL KMB1 06040000 MVC HEADING+55(4),=X'40212020' SHOW 3 DIGITS KMB1 06050000 ED HEADING+55(4),DOUBLWD+6 AND DO IT. KMB1 06060000 MVI HEADING+59,C',' KMB1 06070000 * KMB1 06080000 LH R1,CONCOL GET NUMBER OF COLS KMB1 06090000 SH R1,=H'4' ASSUME NON-EXTENDED KMB1 06100000 TM TYPE,X'14' IS THIS EXTENDED KMB1 06110000 BZ SIZE20 NOPE KMB1 06120000 SH R1,=H'6' EXTENDED KMB1 06130000 SIZE20 DS 0H KMB1 06140000 CVD R1,DOUBLWD CONVERT TO DECIMAL KMB1 06150000 MVC HEADING+60(4),=X'F0212020' SHOW 3 DIGITS KMB1 06160000 ED HEADING+60(4),DOUBLWD+6 AND DO IT. KMB1 06170000 MVC HEADING+60(4),HEADING+61 KMB1 06180000 MVI HEADING+63,C' ' KMB1 06190000 * 06200000 CLI AUTOFLAG,X'FF' 06210000 BNE FIRSTL 06220000 MVC 10(10,R9),=C'AUTOUPDATE' 06230000 EJECT , 06240000 *--------------------------------------------------------------------* 06250000 * CALCULATE THE IF THE NUMBER OF CONSOLE LINES WILL * 06260000 * FIT ON THE USERS TERMINAL * 06270000 * USER'S TERMINAL CAN HOLD 2 MORE LINES THAN THE CONSOLE* 06280000 * CAN FOR THE SAME TERM SIZE * 06290000 * SO IF THE CONSOLE LINES IS > TERMINAL ADD 2 TO * 06300000 * DIFFERENCE * 06310000 *--------------------------------------------------------------------* 06320000 * 06330000 * R3 HAS CONSOLE BUFFER START 06340000 * 06350000 FIRSTL LH R9,TERMROWS NUMBER OF LINES ON TERMINAL KMB1 06360000 BCTR R9,0 -1 LEAVE ROOM FOR CMD LINE KMB1 06370000 * 06380000 LH R5,CONROW NUM ROWS ON CONSOLE 06390000 ST R5,CONL SAVE IT 06400000 LA R5,2(,R5) +2 FOR SIZE DIFFERENCE 06410000 CR R9,R5 IS TERM >= CONSOLE LINES+2 06420000 BNL FIRSTL1 YES 06430000 * CONSOLE BIGGER THAN TERMINAL 06440000 LH R5,CONROW NUM ROWS ON CONSOLE 06450000 SR R5,R9 HOW MANY TOO BIG 06460000 LA R5,2(,R5) +2 FOR SIZE DIFFERENCE 06470000 LH R1,CONROW 06480000 SR R1,R5 SUBSTRACT OFF THAT MANY 06490000 ST R1,CONL SAVE IT 06500000 * 06510000 * NOW ADJUST STARTING CONSOLE ROW FOR THAT DIFFERENCE 06520000 * R5=# OF CONSOLE LINES TO SKIP 06530000 * 06540000 LH R1,CONCOL GET CONSOLE WIDTH 06550000 SLR R4,R4 ZERO FOR MULTIPLY REGISTER 06560000 MR R4,R1 GET BYTE OFFSET INTO CONSOLE 06570000 LA R3,0(R5,R3) ADJUST CONSOLE STARTING PLACE 06580000 *--------------------------------------------------------------------* 06590000 * BUILD THE FIRST LINE * 06600000 *--------------------------------------------------------------------* 06610000 FIRSTL1 DS 0H 06620000 LA R5,SCREEN+1 ADDRESS OF FIRST LINE 06630000 * AP HEADING(2),HEADING(2) 06640000 NOTMOD5 L R1,CONL GET CONSOLE LINES TO DISPLAY 06650000 LA R9,1 SBASETROW KMB1 06660000 SR R10,R10 06670000 SBASET , MOVE IN FIRST TERMINAL SBA KMB1 06680000 LH R2,TERMMOVE KMB1 06690000 MVC 6(00,R5),BLANKS KMB1 06700000 EX R2,*-6 KMB1 06710000 MVC 5(79,R5),HEADING MOVE IN HEADING. 06720000 * 06730000 * INSERT CONSOLE NUMBER 06740000 * 06750000 SR R15,R15 06760000 IC R15,CONSCURR+3 06770000 CVD R15,DOUBLWD 06780000 MVC WORKLINE(4),=X'40212020' 06790000 ED WORKLINE(4),DOUBLWD+6 06800000 MVC 78(2,R5),WORKLINE+2 06810000 * 06820000 * LA R5,84(,R5) NEXT TERM BUFFER ADDRESS 06830000 * LA R10,85(,R10) TPUT LENGTH (INCL. WCC) 06840000 LH R2,TERMMOVE GET TERM MOVE LENGTH-1 KMB1 06850000 LA R5,1+6(R2,R5) NEXT TERM BUFFER ADDR KMB1 06860000 LA R10,2+6(R2,R10) SET NEW TERM TPUT LENGTH KMB1 06870000 *KMB1 LA R6,5(,R6) NEXT TERMINAL SBA 06880000 * 06890000 CLI HELPFLAG,X'FF' HELP? 06900000 BNE MOVESTUP 06910000 *--------------------------------------------------------------------* 06920000 * DISPLAY HELP STUFF * 06930000 *--------------------------------------------------------------------* 06940000 LA R9,1 SBASETROW KMB1 06950000 SBASET , KMB1 06960000 MVC 5(79,R5),BLANKS 06970000 LA R5,84(,R5) INCREMENT 06980000 SBASET , KMB1 06990000 LA R1,HELPMSG1 HELP LINE 1 07000000 MVC 5(79,R5),00(R1) 07010000 LA R5,84(,R5) INCREMENT 07020000 SBASET , KMB1 07030000 MVC 5(79,R5),80(R1) 07040000 LA R5,84(,R5) INCREMENT 07050000 SBASET , KMB1 07060000 MVC 5(79,R5),160(R1) HELP LINE 3 07070000 LA R5,84(,R5) INCREMENT 07080000 SBASET , KMB1 07090000 MVC 5(79,R5),240(R1) HELP LINE 4 07100000 LA R5,84(,R5) INCREMENT 07110000 LA R10,420(,R10) 84*5 07120000 CLI USERFLAG,X'FF' 07130000 BNE SPACLOOP 07140000 B SPACLOOP 07150000 EJECT , 07160000 MOVESTUP LR R15,R5 07170000 LA R9,2 SBASETROW KMB1 07180000 *********************************************************************** 07190000 * * 07200000 * THE CONSOLES WITH EXTENDED DATASTREAMS HAVE THE FOLLOWING FORMATS: * 07210000 * (THE TYPE WILL HAVE EXTENDED COLOR AND DATASTREAM TURNED ON - X'14')* 07220000 * * 07230000 * REF GA23-0059 DATASTREAM PROGRAMMERS REFERENCE * 07240000 * * 07250000 * 1100002903C0E442F4410040 (THEN 4 BLANKS AND THE LINE) * 07260000 * * 07270000 * 11 SBA FOR 0000 THE FIRST LINE OR 0050 2ND LINE ETC - 110000 * 07280000 * 2903 - SFE START FIELD EXTENDED FORMAT (29) WITH 03 EXTENDED FIELDS * 07290000 * C0E4 - FIELD ATRIBUTE E4 - PROT DISPLAY * 07300000 * 42F4 - 42 FOREGROUND COLOR F4 IS GREEN F1 IS BLUE F3 PINK ETC * 07310000 * 4100 - 41 EXTENDED HIGHLIGHTING 00 MEANS DEFAULT F1 BLINK F4 UNDERSC* 07320000 * F2 REVERSE VIDEO F0 NORMAL (PER 3270 FIELD ATTRIBUTE) * 07330000 * * 07340000 * THE CONSOLES WITHOUT EXTENDED DATASTREAM HAVE THE FOLLOWING FORMATS:* 07350000 * * 07360000 * 11404028E440 (THEN 1 BLANK AND THE LINE) * 07370000 * * 07380000 * 11 SBA FOR 4040 THE FIRST LINE * 07390000 * 28 ATTRIBUTE CHAR E4 PROT DISPLAY * 07400000 * * 07410000 * TOTAL LENGTH NON-EXTENDED 84, EXTENDED DISPLAY LENGTH IS 90 * 07420000 * * 07430000 *********************************************************************** 07440000 * R1 HAS NUMBER OF LINES TO MOVE FROM CONSOLE BUFFER 07450000 * R3 CONSOLE BUFFER 07460000 * R5 TERMINAL BUFFER 07470000 * R6 TERMINAL SBA ADDRESSES 07480000 * R9 CURRENT ROW NUMBER 07490000 * R15 TERMINAL BUFFER 07500000 MOVELOOP EQU * 07510000 CLI CLRFLAG,X'FF' 07520000 BE MVIT 07530000 TM TYPE,X'14' EXTENDED FORMAT? 07540000 BZ COMP2 NO - USE OTHER DISPLACEMENT 07550000 CLC 5(74,R5),11(R3) HAS THIS LINE CHANGED? 07560000 BNE SETMOVE 07570000 CLC 4(1,R5),06(R3) ATTRIBUTE BYTE CHANGED? 07580000 BE SKPMV NO NEED SENDING DOWN THE LINE 07590000 B SETMOVE 07600000 COMP2 CLC 5(74,R5),5(R3) HAS THIS LINE CHANGED? 07610000 BNE SETMOVE 07620000 CLC 4(1,R5),04(R3) ATTRIBUTE BYTE CHANGED? 07630000 BE SKPMV NO NEED SENDING DOWN THE LINE 07640000 SETMOVE MVI CLRFLAG,X'FF' SCREEN HAS CHANGED FROM HERE DOWN 07650000 MVIT DS 0H 07660000 SBASET , KMB1 07670000 CKMVIT TM TYPE,X'14' EXTENDED FORMAT? 07680000 BZ MVIT2 NO - USE OTHER DISPLACEMENT 07690000 * EXTENDED KMB1 07700000 MVC 4(1,R5),06(R3) ATTRIBUTE BYTE 07710000 LH R2,TERMMOVE TERM MVC LEN -1 KMB1 07720000 MVC 6(00,R5),12(R3) MOVE LINE OF PRINT KMB1 07730000 EX R2,*-6 MOVE IT IN. KMB1 07740000 B MVIT3 07750000 * NON-EXTENDED KMB1 07760000 MVIT2 EQU * 07770000 MVC 4(1,R5),04(R3) ATTRIBUTE BYTE 07780000 LH R2,TERMMOVE NUM COLS -6 OR -12 KMB1 07790000 MVC 6(00,R5),6(R3) MOVE LINE OF PRINT KMB1 07800000 EX R2,*-6 MOVE IT IN. KMB1 07810000 MVIT3 DS 0H KMB1 07820000 MVI 5(R5),C' ' KMB1 07830000 LH R2,TERMMOVE NUM COLS -6 OR -12 KMB1 07840000 OC 6(00,R5),BLANKS MAKE SURE NO CONTROL CHR KMB1 07850000 EX R2,*-6 OC THE WHOLE THING KMB1 07860000 LA R5,1+6(R2,R5) NEXT LINE KMB1 07870000 LA R10,1+6(R2,R10) LENGTH OF TPUT KMB1 07880000 B MOVINCR KMB1 07890000 SKPMV DS 0H 07900000 LA R9,1(,R9) +1 SINCE WE SKIPPED SBASET KMB1 07910000 MOVINCR DS 0H KMB1 07920000 LH R2,CONCOL CONSOLE WIDTH (INCL SBA). KMB1 07930000 ALR R3,R2 CONSOLE BUFFER KMB1 07940000 ALR R15,R2 CONSOLE KMB1 07950000 BCT R1,MOVELOOP LOOP 07960000 MVI CLRFLAG,X'00' 07970000 *--------------------------------------------------------------------* 07980000 * FIND THE LAST LINE OF THE TERMINAL SBA * 07990000 *--------------------------------------------------------------------* 08000000 SPACLOOP DS 0H 08010000 *--------------------------------------------------------------------* 08020000 * ADD IN THE COMMAND LINE * 08030000 *--------------------------------------------------------------------* 08040000 LH R9,TERMROWS SBASETROW TO LAST ROW KMB1 08050000 SBASET , LINE ADDRESS KMB1 08060000 MVI 4(R5),X'C8' UNPROT, HILITE KMB1 08070000 MVI 5(R5),X'13' INSERT CURSOR 08080000 *--------------------------------------------------------------------* 08090000 * NOW BLANK OUT COMMAND LINE * 08100000 *--------------------------------------------------------------------* 08110000 LH R2,TERMMOVE NUMBER COLS -6 KMB1 08120000 MVC 6(00,R5),BLANKS LAST LINE IS INPUT LINE KMB1 08130000 EX R2,*-6 MOVE BLANKS KMB1 08140000 *--------------------------------------------------------------------* 08150000 * CHECK FLAGS * 08160000 *--------------------------------------------------------------------* 08170000 CLI HELPFLAG,X'FF' 08180000 BE GOAHEAD2 08190000 CLI IPLFLAG,X'FF' 08200000 BE GOAHEAD2 08210000 CLI AUTOFLAG,X'FF' 08220000 BE AUTOROLL 08230000 GOAHEAD DS 0H 08240000 CLI RESHOWFL,X'FF' 08250000 BNE GOAHEAD2 08260000 MVI 4(R5),X'C9' X'C9' UNPROT, HILITE,MDT KMB1 08270000 MVI RESHOWFL,X'00' 08280000 MVC 6(72,R5),CMDLINE+4 08290000 B GOAHEAD3 08300000 GOAHEAD2 DS 0H KMB1 08310000 GOAHEAD3 MVI CMDFLAG,X'00' 08320000 LH R2,TERMMOVE GET TERM MVC LENGTH KMB1 08330000 LA R10,1+6(R2,R10) TERM SCREEN LENGTH KMB1 08340000 * LA R10,84(,R10) 08350000 LR R0,R10 08360000 LA R1,SCREEN ADDRESS OF SCREEN 08370000 TPUT (1),(0),FULLSCR TPUT 08380000 LA R1,1 SET CURRENT ROW KMB1 08390000 MVC REPLY,BLANKS CLEAR 08400000 TGET1 TGET REPLY,84,ASIS,WAIT INPUT 08410000 MVI HELPFLAG,X'00' 08420000 CLI ATTNFLG,0 KMB1 08430000 BNE AXFREE KMB1 08440000 B CHEKOUT 08450000 *--------------------------------------------------------------------* 08460000 * AUTOROLL AREA * 08470000 *--------------------------------------------------------------------* 08480000 AUTOROLL EQU * 08490000 LA R1,SCREEN ADDRESS OF SCREEN 08500000 CLI RESHOWFL,X'FF' 08510000 BNE GOAHEAD5 08520000 MVI RESHOWFL,X'00' 08530000 MVC 6(72,R5),CMDLINE+4 08540000 MVC REPLY,BLANKS 08550000 LA R10,72(,R10) 08560000 B GOAHEAD5 08570000 *OAHEAD4 S R0,=F'79' 08580000 GOAHEAD5 CLI CMDFLAG,X'FF' 08590000 BNE AUTOTPUT 08600000 LH R9,TERMROWS SBASETROW TO LAST ROW KMB1 08610000 SBASET , LINE ADDRESS KMB1 08620000 MVI 4(R5),X'C8' UNPROT, HILITE KMB1 08630000 MVI 5(R5),X'13' INSERT CURSOR 08640000 MVI CMDFLAG,X'00' 08650000 AUTOTPUT LA R0,5(,R10) 08660000 LR R0,R10 08670000 TPUT (1),(0),FULLSCR 08680000 TGET REPLY,70,ASIS,NOWAIT 08690000 STIMER WAIT,BINTVL=TIMER 08700000 *--------------------------------------------------------------------* 08710000 * WHAT ACTION (AID) KEY WAS PRESSED * 08720000 *--------------------------------------------------------------------* 08730000 * KMB1 08740000 * 60 NO AID KMB1 08750000 * 7D ENTER KMB1 08760000 * F1-F9 PF1 - PF9 KMB1 08770000 * 7A-7C PF10 - PF12 KMB1 08780000 * C1-C9 PF13 - PF21 KMB1 08790000 * 4A-4C PF22 - PF24 KMB1 08800000 * 6C PA1 KMB1 08810000 * 6E PA2 KMB1 08820000 * 6B PA3 KMB1 08830000 * 6D CLEAR KMB1 08840000 * KMB1 08850000 CHEKOUT CLI REPLY,X'7D' ENTER 08860000 BE GOTSTUFF 08870000 NI REPLY,X'0F' 08880000 CLI REPLY,X'01' PFK 01 08890000 BE HELP 08900000 CLI REPLY,X'02' PFK 02 08910000 BE AUTOSTOP 08920000 CLI REPLY,X'03' PFK 03 08930000 BE CHEKAUTO 08940000 CLI REPLY,X'04' PFK 04 08950000 BE AUTOON 08960000 CLI REPLY,X'05' PFK 05 08970000 BE CNSLSW 08980000 CLI REPLY,X'06' PFK 06 08990000 BE RESHOW 09000000 CLI REPLY,X'07' PFK 07 09010000 BE MTT 09020000 CLI REPLY,X'08' PFK 08 09030000 BE AUTO10 09040000 CLI REPLY,X'09' PFK 09 09050000 BE AUTO2 09060000 * CLI REPLY,X'0A' PFK 10 09070000 * BE OMON 09080000 CLI REPLY,X'0B' PFK 11 09090000 BE AUTO4 09100000 CLI REPLY,X'0C' PFK 12 09110000 BE IPLINFO 09120000 *--------------------------------------------------------------------* 09130000 * * 09140000 *--------------------------------------------------------------------* 09150000 NOTIFY MVI CLRFLAG,X'FF' 09160000 MVI CMDFLAG,X'FF' 09170000 B AUTHDONE 09180000 CHEKAUTO CLI AUTOFLAG,X'FF' 09190000 BNE AXFREE 09200000 MVI AUTOFLAG,X'00' 09210000 B AUTHDONE 09220000 CNSLSW MVI CNSLFLAG,X'FF' 09230000 MVI REPLY,X'00' 09240000 MVI CONSFLAG,X'FF' 09250000 MVI THRUFLAG,X'00' 09260000 MVI CLRFLAG,X'FF' 09270000 * 09280000 * CLEAR OUR BUF AREA 09290000 * 09300000 LA R0,SCREEN 09310000 AL R0,=A(SCRLEN) POINT TO BUF KMB1 09320000 L R1,=A(BUFLEN) GET BUF LENGTH KMB1 09330000 SLR R14,R14 KMB1 09340000 L R15,=A(X'40000000') KMB1 09350000 MVCL R0,R14 KMB1 09360000 B SHOWCONS 09370000 RESHOW MVI RESHOWFL,X'FF' 09380000 B AUTHDONE 09390000 *--------------------------------------------------------------------* 09400000 * IPLINFO * 09410000 *--------------------------------------------------------------------* 09420000 IPLINFO MVC WORKLINE,BLANKS 09430000 LA R9,1 SBASETROW KMB1 09440000 MVC WORKLINE+10(46),MESSAGE 09450000 LA R1,16 HEX 10 09460000 L R2,0(R1) ADDRESS OF CVT 09470000 USING CVT,R2 09480000 L R3,CVTSMCA ADDRESS OF SMF CONTROL AREA 09490000 L R1,CVTSYSAD 09500000 * 09510000 * IPL UNIT AND VOLSER 09520000 * 09530000 MVC WORKLINE+65(6),UCBVOLI-UCBOB(R1) KMB1 09540000 MVI WORKLINE+71,C'=' KMB1 09550000 UNPK WORKLINE+72(5),UCBCHAN-UCBOB(3,R1) KMB1 09560000 TR WORKLINE+72(4),JHEX-240 KMB1 09570000 MVI WORKLINE+76,C' ' KMB1 09580000 USING SMCABASE,R3 09590000 MVC IPLDATE,SMCAIDTE IPL DATE 09600000 MVC IPLTIME,SMCAITME IPL TIME 09610000 DROP R3 09620000 * 09630000 * CLPA=YES/NO 09640000 * 09650000 L R3,CVTASMVT 09660000 TM 1(R3),X'08' CLPA? 09670000 BNZ NOCLPA 1 MEANS A QUICK START - NO CLPA WAS 09680000 MVC WORKLINE+57(3),=C'YES' 09690000 B DATEEDIT 09700000 NOCLPA MVC WORKLINE+57(3),=C'NO ' 09710000 * 09720000 * DATE/TIME OF IPL 09730000 * 09740000 DATEEDIT DS 0H KMB1 09750000 UNPK DOUBLWD(5),IPLDATE+1(3) KMB1 09760000 MVC WORKLINE+31(2),DOUBLWD KMB1 09770000 MVI WORKLINE+33,C'.' KMB1 09780000 MVC WORKLINE+34(3),DOUBLWD+2 KMB1 09790000 DROP R2 09800000 L R6,IPLTIME 09810000 SRDA R6,32(0) 09820000 L R3,THREE60 09830000 DR R6,R3 09840000 CVD R7,DOUBLWD 09850000 MVC WORK(4),=X'40212020' 09860000 ED WORK(4),DOUBLWD+6 09870000 MVC WORKLINE+43(2),WORK+2 09880000 SRDA R6,32 SHIFT REMAINDER 09890000 L R3,SIXTY 09900000 DR R6,R3 09910000 CVD R7,DOUBLWD 09920000 MVC WORK(4),=X'F0212020' 09930000 ED WORK(4),DOUBLWD+6 09940000 MVC WORKLINE+46(2),WORK+2 09950000 LA R5,SCREEN+1 ADDRESS OF FIRST LINE 09960000 LA R10,85 09970000 LA R9,1 SBASETROW KMB1 09980000 SBASET , KMB1 09990000 MVC 5(79,R5),WORKLINE 10000000 LA R5,84(,R5) INCREMENT 10010000 LA R6,05(,R6) INCREMENT 10020000 TPUT CLEAR,CLEARLEN,FULLSCR KMB1 10030000 MVI IPLFLAG,X'FF' 10040000 TCLEARQ INPUT 10050000 B SPACLOOP 10060000 * 10070000 * MTT HUH???? 10080000 * 10090000 MTT DS 0H 10100000 B AUTHDONE 10110000 *--------------------------------------------------------------------* 10120000 * DISPLAY HELP * 10130000 *--------------------------------------------------------------------* 10140000 HELP DS 0H 10150000 LA R9,1 SBASETROW KMB1 10160000 MVI HELPFLAG,X'FF' 10170000 MVI AUTOFLAG,X'00' 10180000 TPUT CLRALT,CLRALTLN,FULLSCR KMB1 10190000 MVI CLRFLAG,X'FF' 10200000 B FIRSTL 10210000 AUTOON MVC TIMER,ONE 10220000 CLI USERFLAG,X'FF' 10230000 BE AUTO2 10240000 B AUTOSET 10250000 AUTO2 MVC TIMER,THREE 10260000 B AUTOSET 10270000 AUTO4 MVC TIMER,FIVE 10280000 AUTOSET MVI AUTOFLAG,X'FF' 10290000 MVC 5(72,R5),BLANKS 10300000 MVI REPLY,X'00' 10310000 B AUTHDONE 10320000 AUTO10 MVC TIMER,=F'990' APP 10 SECS 10330000 B AUTOSET 10340000 AUTOSTOP MVI AUTOFLAG,X'00' 10350000 B AUTHDONE 10360000 SKIPALL MVI ISSUFLAG,X'FF' 10370000 B AUTHDONE 10380000 *--------------------------------------------------------------------* 10390000 * ENTER PRESSED * 10400000 *--------------------------------------------------------------------* 10410000 GOTSTUFF DS 0H 10420000 CLI REPLY+6,C'>' IS IT NOTIFY MESSAGE? 10430000 BE NOTIFY THEN EXIT 10440000 OC REPLY+6(74),BLANKS ALL INPUT UPPER CASE 10450000 CLC REPLY+6(70),BLANKS COMMAND AREA IS SPACES? 10460000 BE AUTHDONE THEN A COMMAND WAS NOT ENTERED 10470000 MVC CMDLINE(4),CMDFMT 10480000 MVC CMDLINE+4(72),REPLY+6 10490000 MVC REPLY,BLANKS 10500000 CLI CMDLINE+4,C'Z' IS IT END, 10510000 BE CHEKAUTO THEN EXIT 10520000 CLI CMDLINE+4,C'X' IS IT END, 10530000 BE CHEKAUTO THEN EXIT 10540000 CLC CMDLINE+4(3),=C'END' IS IT END, 10550000 BE AXFREE THEN EXIT 10560000 GOTCMD DS 0H 10570000 TPUT CLEAR,CLEARLEN,FULLSCR KMB1 10580000 MVI CLRFLAG,X'FF' 10590000 LOGLINE MVC WTOCMD(100),WTOLIST 10600000 MVC WTOCMD+8(72),CMDLINE+4 10610000 CLI USERFLAG,X'FF' 10620000 BNE ISSUOK 10630000 ISSUCK CLC PJES2,CMDLINE+4 10640000 BE HELP 10650000 CLC PQ,CMDLINE+4 10660000 BE HELP 10670000 CLC $P,CMDLINE+4 10680000 BE HELP 10690000 CLC PQ(3),CMDLINE+4 10700000 BE HELP 10710000 CLC CMDLINE+4(1),PQ SHOULD START WITH $ 10720000 BNE HELP 10730000 ISSUOK MVC WTOCMD+78(4),USERID 10740000 LA R7,WTOCMD 10750000 WTL MF=(E,(R7)) 10760000 NOWTO DS 0H 10770000 BAL R3,AUTHRIZ 10780000 SLR R0,0 CLEAR REG 0 10790000 L R0,CONSCURR 10800000 ISSUE LA R1,CMDLINE GET ADDRESS OF COMMAND I SMF 10810000 SVC 34 ISSUE COMMAND VIA SVC 34 10820000 *S STIMER WAIT,BINTVL==A(50) 10830000 MVI CMDFLAG,X'FF' 10840000 B AUTHDONE 10850000 *--------------------------------------------------------------------* 10860000 * SUBROUTINE TO CONVERT ROW,COL TO SBA * 10870000 * BAL R3,SBACALC * 10880000 * INPUT R14=ROW, R15=COL * 10890000 * OUTPUT SBACMD 2 BYTE SBA * 10900000 * SUPPORTS 12 AND 14 BIT SBA * 10910000 *--------------------------------------------------------------------* 10920000 SBACALC DS 0H 10930000 BCTR R14,0 ROW -1, MAKE RELATIVE TO ZERO KMB1 10940000 BCTR R15,0 COL -1, MAKE RELATIVE TO ZERO KMB1 10950000 MH R14,TERMCOLS ROW * COLUMN KMB1 10960000 AR R15,R14 + COLUMN KMB1 10970000 * KMB1 10980000 TM WFLAG2,$2USE14 USE 14 BIT? KMB1 10990000 BO SBA14 YES KMB1 11000000 * KMB1 11010000 SLL R15,2 MOVE 2 BITS INTO LEFT BYTE KMB1 11020000 STCM R15,B'0010',SBACMD SAVE INTO FIRST BYTE KMB1 11030000 SRL R15,2 SHIFT BACK TO ORIGINAL KMB1 11040000 STCM R15,B'0001',SBACMD+1 SAVE RIGHT DIGIT KMB1 11050000 NC SBACMD(2),=X'3F3F' REMOVE TOP 2 BITS FROM DIGIT KMB1 11060000 TR SBACMD(2),TBL3270 TRANSLATE KMB1 11070000 BR R4 KMB1 11080000 SBA14 DS 0H KMB1 11090000 STCM R15,B'0011',SBACMD PUT OFFSET IN SBA KMB1 11100000 NC SBACMD(2),=X'3FFF' REMOVE TOP 2 BITS FROM DIGIT KMB1 11110000 BR R4 11120000 *--------------------------------------------------------------------* 11130000 * AUTHORIZE SUBROUTINE * 11140000 *--------------------------------------------------------------------* 11150000 AUTHRIZ STAX DEFER=YES 11160000 AIF ($AUTHOK EQ 0).NOSVC01 11170000 LA R1,=C'AUTH' 11180000 SVC $AUTHSVC 11190000 .NOSVC01 ANOP 11200000 OI WFLAG2,$AUTH SET WE ARE AUTHORIZED 11210000 MODESET MF=(E,SUPRMOD) GET INTO SUPV STATE AND KEY ZERO 11220000 BR R3 **************************** 11230000 *--------------------------------------------------------------------* 11240000 * UNAUTHORIZE SUBROUTINE * 11250000 *--------------------------------------------------------------------* 11260000 UNAUTH DS 0H 11270000 TM WFLAG2,$AUTH ARE WE AUTHORIZED 11280000 BZ UNAUTH2 NOPE 11290000 MODESET MF=(E,PROBMOD) 11300000 NI WFLAG2,255-$AUTH SET WE ARE NOT AUTHORIZED 11310000 AIF ($AUTHOK EQ 0).NOSVC02 11320000 LA R1,=C'NONE' 11330000 SVC $AUTHSVC 11340000 .NOSVC02 ANOP 11350000 UNAUTH2 DS 0H 11360000 STAX DEFER=NO 11370000 BR R3 11380000 *********************************************************************** 11390000 * A T T N E X I T * 11400000 * * 11410000 * TRAP USERS ATTENTION INTERRUPTS AND FLAG FOR RESET * 11420000 *********************************************************************** 11430000 ATTNEXIT DS 0H ESTABLISH 11440000 MVI ATTNFLG,X'FF' SET ATTN FLAG 11450000 BR R14 RETURN TO CALLER 11460000 EJECT 11470000 LTORG 11480000 *---------------------------------------------------------------------* 11490000 * C O N S T A N T S * 11500000 *---------------------------------------------------------------------* 11510000 CMDFMT DC Y(76),Y(00) LENGTH OF COMMAND 11520000 MESSAGE DC CL46'LAST SYSTEM IPL DATE YY.DDD TIME HH:MM CLPA =' 11530000 PATTERN1 DC XL5'2120202020' 11540000 THREE60 DC F'360000' 11550000 SIXTY DC F'6000' 11560000 CNOP 0,8 11570000 *---------------------------------------------------------------------* 11580000 * 327X SCREEN CLEAR CONTROL CHARACTERS * 11590000 *---------------------------------------------------------------------* 11600000 *LR DC X'7E' EWA 11610000 * 11620000 CLRALT EQU * KMB1 11630000 DC X'277EC3' ERASE WRITE ALTERNATE KMB1 11640000 CLRALTLN EQU *-CLRALT KMB1 11650000 CLRPRM EQU * KMB1 11660000 DC X'27F5C3' ERASE WRITE KMB1 11670000 CLRPRMLN EQU *-CLRPRM KMB1 11680000 * 11690000 CLR DC X'C3' WCC - FREE KEYBOARD/RESET MDT 11700000 DC X'114040' SBA TO ROW 1, COL 1 11710000 DC X'3C' REPEAT TO ADDRESS 11720000 CLREOSCN DC X'F56F' ENDOFSCR FILL SCREEN WITH NULLS F56F=R43 C80 11730000 DC X'00' REPEAT NULLS 11740000 DC X'11' SBA 11750000 CLRCSR DC X'F460' CURSOR ROW 43 COL 2 11760000 DC X'00' ATTRIBUTE 11770000 DC X'13' INSERT CURSOR 11780000 CLRLEN EQU *-CLR 11790000 * 11800000 ONE DC A(175) 1.75 SECOND 11810000 FIVE DC A(444) 5 SECONDS 11820000 THREE DC A(220) 3 SECONDS 11830000 TEN DC F'10' 11840000 NUMBEROR DC XL4'000000F0' 11850000 CHAROR DC XL4'000000C0' 11860000 HEXZIP DC 2F'0000000000000000' 11870000 DS 0F 11880000 WTOLIST WTL ' X11890000 CONSOLE',MF=L 11900000 DS 0F 11910000 SUPRMOD MODESET KEY=ZERO,MODE=SUP,MF=L 11920000 PROBMOD MODESET KEY=NZERO,MF=L 11930000 AUTHNAME DS 0CL8 KMB1 11940000 DC CL8'SYS1' KMB1 11950000 DC CL8'STGMGT' KMB1 11960000 DC CL8'DB2MGT' KMB1 11970000 DC CL8'SYSOPER' KMB1 11980000 DC CL8'OPER2' KMB1 11990000 DC CL8'*USER ' KMB1 12000000 AUTHNEND DC 8XL1'FF' KMB1 12010000 HEXFS DC XL4'FFFFFFFF' 12020000 JHEX DC C'0123456789ABCDEF' HEX DIGIT CONVERSION 12030000 PJES2 DC CL7'$PJES2 ' 12040000 PQ DC CL8'$PQ,ALL ' 12050000 $P DC CL8'$P ' 12060000 RTMEC DC CL6',RTME=' 12070000 RNUMC DC CL6',RNUM=' 12080000 TBL3270 DC X'40C1C2C3C4C5C6C7C8C94A4B4C4D4E4F' KMB1 12090000 DC X'50D1D2D3D4D5D6D7D8D95A5B5C5D5E5F' KMB1 12100000 DC X'6061E2E3E4E5E6E7E8E96A6B6C6D6E6F' KMB1 12110000 DC X'F0F1F2F3F4F5F6F7F8F97A7B7C7D7E7F' KMB1 12120000 NOTISSUD DC CL18'COMMAND NOT ISSUED' 12130000 HEADING1 DC CL80'K S,DEL= 99:99:99 X12140000 CONSOLE XX ' 12150000 HELPMSG1 DC CL80'PF-1 THIS DISPLAY PF-2 STOP AUTO UPDATE X12160000 PF-3 END ' 12170000 HELPMSG2 DC CL80'PF-4 AUTO UPDATE 1 SEC PF-5 ALTERNATE CONSOLEX12180000 PF-6 RESHOW LAST COMMAND' 12190000 HELPMSG3 DC CL80'PF-7 PF-8 AUTO UPDATE 10 SEX12200000 C PF-9 AUTO UPDATE 4 SEC ' 12210000 HELPMSG4 DC CL80'PF-10 NOT DEFINED PF-11 AUTO UPDATE 2 SECX12220000 PF-12 IPL INFO ' 12230000 DC CL80'**** ONLY JES2 COMMANDS ARE AUTHORIZED FOR THIS UX12240000 SERID **** ' 12250000 WORKAREA DSECT 12260000 SAVEAREA DS 18F 12270000 UCMTABX DS F @ OF FIX DCM (IEERDCM) 12280000 RDCM DS F @ OF PAGEABLE DCM (IEECDCM/IEETDCM) 12290000 WORKLINE DS CL80 12300000 REPLY DS CL132 12310000 BLANKS DS CL132 12320000 CMDLINE DS CL132 12330000 HEADING DS CL80 12340000 SIBPTR DS F PRT TO SCREEN IMAGE BUFFER 12350000 UCMTAB DS F -----+ 12360000 DS 48F | PROVIDE SPACE FOR 48 UCM ADDRESSES 12370000 UCMTABE EQU * <---+ 12380000 AXLIST DC H'1,0' AXRES PARMLIST 12390000 NUMUCMS DS H 12400000 CONSOLD DS F PREVIOUS CONSOLE NUMBER 12410000 SPACE 5 12420000 CLEAR DS XL1 WCC - CLEAR SCREEN 12430000 DS XL3 SBA TO ROW 1, COL 1 12440000 CLEARLEN EQU *-CLEAR KMB1 12450000 DS XL1 IC AND REPEAT TO ADDRESS 12460000 ENDOFSCR DS XL2 SBA TO ROW XX, COL YY 12470000 DS XL2 FILL SCREEN WITH NULLS 12480000 CURSOR DS XL2 SBA TO ROW 1, COL 1 12490000 DS XL2 INSERT CURSOR 12500000 *LEARLEN EQU *-CLEAR 12510000 LASTLINE DS CL255' ' OPERATORS COMMAND INPUT LINE 12520000 CONNUM DS CL2' 1' CONSOLE NUMBER 12530000 CTYPE DS CL4' ' 12540000 MASTER DS CL8' ' MASTER CONSOLE 12550000 ASYS DS CL4' ' SYS AUTHORIZATION 12560000 AIO DS CL4' ' I/O AUTHORIZATION 12570000 ACONS DS CL5' ' CONS AUTHORIZATION 12580000 DS CL3' ' 12590000 *NIT DS CL4' ' UNIT ADDR OF CONSOLE 12600000 TIME DS CL3' ' SECONDS REMAINING ON TIMER 12610000 SLASH DS CL1'/' 12620000 PAUSE DS CL3'1.0' DELAY IN SECONDS 12630000 DS CL2' ' 12640000 AREAA DS XL1 12650000 CNSLFLAG DS XL1 12660000 THRUFLAG DS XL1 12670000 AUTOFLAG DS XL1 12680000 ISSUFLAG DS XL1 12690000 RESHOWFL DS XL1 12700000 HELPFLAG DS XL1 12710000 USERFLAG DS XL1 12720000 CONSFLAG DS XL1 12730000 CLRFLAG DS XL1 12740000 IPLFLAG DS XL1 12750000 CMDFLAG DS XL1 12760000 ATTNFLG DS XL1 KMB1 12770000 WFLAG2 DS XL1 FLAGS 2 KMB1 12780000 $2PRIM EQU X'80' USE PRIMARY KMB1 12790000 $2ALT EQU X'40' USE ALTERNATE SIZE KMB1 12800000 $2USE14 EQU X'20' USE 14 BIT SBA KMB1 12810000 $AUTH EQU X'10' CURRENTLY AUTHORIZED KMB1 12820000 CONSCURR DS F CONSOLE TO BE LOOKED AT 12830000 CONSASID DS F 'CONSOLE' ASID FOR CMS 12840000 CONL DS F 12850000 SCNL DS F KMB1 12860000 WGTTERM GTTERM PRMSZE=0,ALTSZE=0,MF=L KMB1 12870000 TERMOROW DS A ORIGINAL TERM ROWS KMB1 12880000 TERMOCOL DS A ORIGINAL TERM COLS KMB1 12890000 PRMSZROW DS A PRIMARY ROW SIZE KMB1 12900000 PRMSZCOL DS A PRIMARY COL SIZE KMB1 12910000 ALTSZROW DS A ALTERNATE ROW SIZE KMB1 12920000 ALTSZCOL DS A ALTERNATE COL SIZE KMB1 12930000 PRMSIZE DS H PRIMARY SIZE KMB1 12940000 ALTSIZE DS H ALTERNATE SIZE KMB1 12950000 TERMROWS DS H TERMINAL ROWS KMB1 12960000 TERMCOLS DS H TERMINAL COLUMNS KMB1 12970000 TERMMOVE DS H MAX DATA TO MOVE KMB1 12980000 CONROW DS H NUM DISPLAY ROWS ON CONSOLE KMB1 12990000 CONCOL DS H NUM COLUMNS ON CONSOLE & SBA KMB1 13000000 CONCOLM6 DS H LEN OF CONSOLE DATA-1 KMB1 13010000 SBACMD DS XL2'0000' CURRENT SBA KMB1 13020000 TIMER DS F 13030000 RTME DS H 13040000 RNUM DS H 13050000 USER DS CL8 CONSOLE NAME 13060000 TYPE DS CL1 13070000 USERID DS CL7 13080000 TABAREA DS CL77 13090000 SELCODE DS CL3 LINE SELECTION CODE 13100000 SELSAVE DS CL3 LINE SELECTION CODE SAVE AREA 13110000 WORK DS D 13120000 DOUBLWD DS D 13130000 IPLDATE DS F 13140000 IPLTIME DS F 13150000 STAXLIST STAX ATTNEXIT,MF=L KMB1 13160000 WTOCMD DS CL104 13170000 SCREEN DS XL1 WCC - TERMINAL' SCREEN 13180000 DS 27CL142 KMB1 13190000 DS CL124 EXTRA FOR MOD5 13200000 SCRLEN EQU *-SCREEN 13210000 BUF DS 60CL142 CONSOLE SCREEN KMB1 13220000 BUFLEN EQU *-BUF 13230000 WORKLENG EQU *-WORKAREA 13240000 PRINT NOGEN 13250000 TITLE '*** TSO USER PROFILE TABLE DSECT ***' 13260000 IKJUPT TSO USER PROFILE TABLE 13270000 TITLE '*** COMMUNICATION VECTOR TABLE ***' 13280000 CVT DSECT=YES 13290000 TITLE '*** J S C B ***' 13300000 IEZJSCB 13310000 TITLE '*** T C B ***' 13320000 IKJTCB DSECT=YES 13330000 TITLE '*** RDCM DSECT ***' 13340000 IEECRDCM 13350000 TITLE '*** TDCM DSECT ***' 13360000 PRINT GEN 13370000 IEETDCM DSECT , 13380000 IEECDCM 13390000 PRINT GEN 13400000 TITLE '*** MULTIPLE CONSOLE SUPPORT (MCS) UCM PREFIX ***' 13410000 IEECUCM FORMAT=NEW,LIST=YES KMB1 13420000 PRINT NOGEN 13430000 IHAASVT 13440000 TITLE '*** ADDRESS SPACE CONTROL BLOCK ***' 13450000 IHAASCB 13460000 TITLE '*** TSB DSECT ***' 13470000 IKJTSB LIST=YES 13480000 TITLE '*** CHAIN ***' 13490000 IEECHAIN 13500000 IEESMCA 13510000 IHAASXB ASXB --------- KMB1 13520000 IHAPSA PSA --------- KMB1 13530000 IHAACEE ACEE --------- KMB1 13540000 IEFUCBOB PREFIX=YES 13550000 YREGS , 13560000 END 13570000