* /* START OF SPECIFICATIONS **** 00050002 *02* PROCESSOR = ASSEMBLER; 00100002 **** END OF SPECIFICATIONS ***/ 00150002 IEECVFTR CSECT 00200002 */*IEECVFTR: CHART */ 00250002 */*HEADER 00300002 */* CHART ?? IEECVFTR IGC6R07B DIDOCS */ 00350002 */*2260 I/O ROUTINE 2 PAGE # */ 00400002 */* E IEECVFTR */ 00450002 TITLE 'IEECVFTR IGC6R07B 2260 IO 2' 00500002 * * 00550002 * STATUS 00600002 * CHANGE LEVEL 0 00650002 * CREATED FOR O/S RELEASE 21, LINE ITEM S21003 00700002 * 00750002 * FUNCTION 00800002 * PERFORMS A STATUS SWITCH BY MODIFYING FIELDS IN THE 00850002 * DISPLAY CONTROL MODULE 00900002 * 00950002 * ENTRY POINTS 01000002 * IEECVFTR FOR ALL FUNCTIONS 01050002 * 01100002 * INPUT 01150002 * REGISTER 1 - POINTER TO CSCB XSA 01200002 * 01250002 * OUTPUT 01300002 * MODIFIED DISPLAY CONTROL MODULE 01350002 * 01400002 * EXTERNAL REFERENCES 01450002 * XCTL - FOR EXIT 01500002 * 01550002 * EXITS,NORMAL 01600002 * IEECVFTG - CLEANUP MODULE ON FIRST PASS 01650002 * IEECVETK - TIMER/INTERPRETER ON 2ND PASS MESSAGE STREAM 01700002 * IEECVETR - 2260 I/O 1 ON 2ND PASS NON MESSAGE STREAM 01750002 * 01800002 * EXITS,ERROR 01850002 * IEECVET1 - PROCESSOR 1 ON INVALID ENTRY 01900002 * 01950002 * TABLES/WORK AREAS 02000002 * RESIDENT AND TRANSIENT DCMS AND UCM. SEE DSECTS AT 02050002 * END OF MODULE 02100002 * 02150002 * ATTRIBUTES 02200002 * REFRESHABLE, PRIVILEGED, TYPE 4 SVC 02250002 * 02300002 * CHARACTER CODE DEPENDENCY 02350002 * NONE 02400002 * 02450002 * NOTES 02500002 * THE FOLLOWING FLAG BITS ARE USED: 02550002 * THE ACTION CULUMN INDICATES WHETHER THE BIT IS TURNED ON, OFF OR 02600002 * JUST TESTED BY THIS MODULE 02650002 * 02700002 * NAME ACTION FUNCTION 02750002 * 02800002 * DCMCMSG3 02850002 * DCMCMRLL ON WRITE ROLL MODE MESSAGE 02900002 * 02950002 * DCMFLG1 03000002 * DCMOUTPT ON/OFF/TEST INDICATES SECOND PASS THROUGH MODULE 03050002 * 03100002 * DCMOPTST 03150002 * DCMOPRLL ON ROLL MODE 03200002 * DCMOPTAD OFF AUTO DELETE 03250002 * 03300002 * DCMR3FLG 03350002 * DCMSTSWT OFF/TEST STATUS SWITCH REQUIRED 03400002 * 03450002 * DCMTIMES 03500002 * DCMOPTTI ON DUMMY ROUTE FROM OPTIONS TO TIM/INT 03550002 * DCMOTTMM ON ROUTE FROM TIM/INT TO MESSAGE MODULE 03600002 * 03650002 * UCMDISP 03700002 * UCMDISPE TEST FULL CAPABILITY CONSOLE 03750002 * UCMDISPF TEST MESSAGE STREAM CONSOLE 03800002 * 03850002 EJECT 03900002 ** ** 03950002 * REGISTER EQUATES * 04000002 ** ** 04050002 X1PARM EQU 1 04060002 XFBRANCH EQU 15 04070002 PARM EQU 1 HOLDS CXSA ADDRESS 04100002 RBASE EQU 4 RES DCM BASE REG 04150002 RWTINT EQU 5 END OF MESG AREA 04200002 RLSCRN EQU 6 LAST MESG LINE PTR 04250002 RMSGAL EQU 7 NO. OF MESSAGE LINES 04300002 RADDRL EQU 8 ADDR OF LAST SCT 04350002 UCMBASE EQU 9 UCM BASE 04400002 DCMBASE EQU 10 DCM BASE 04450002 PBASE EQU 11 PROGRAM BASE 04500002 PXSA EQU 12 CXSA ADDRESS 04550002 UCMENTRY EQU 13 UCMENTRY BASE 04600002 RETURN EQU 14 RETURN REGISTER 04650002 EJECT 04700002 ** ** 04750002 * INITIALIZE PROGRAM * 04800002 ** ** 04850002 BALR PBASE,N0 SET UP 04900002 USING *,PBASE ADDRESSABILITY 04950002 B ICATCH BRANCH AROUND EYECATCHER 05000002 DC C' MODULE IGC6R07B, FICHE IEECVFTR ' EYECATCHER AND 05050002 ZAPAREA DC 12C'ZAP' RESERVED FOR FIELD MODIFICATION 05100002 ICATCH LR PXSA,PARM SAVE CXSA ADDRESS 05150002 USING CXSA,PXSA DECLARE CXSA ADDRESS 05200002 L UCMENTRY,CSAUCM GET UCM ENTRY ADDRESS 05300002 USING UCMLIST,UCMENTRY DECLARE UCMENTRY BASE 05350002 L RBASE,UCMXB LOAD RES DCM BASE 05400002 USING DCMTSRT,RBASE ESTABLISH ADDRESSABILITY 05450002 L DCMBASE,DCMADTRN LOAD TRANSIENT DCM BASE 05500002 USING DCMSTRT,DCMBASE DECLARE DCM BASE 05550002 L UCMBASE,CSACTLM GET UCM POINTER 05600002 USING UCM,UCMBASE DECLARE UCM BASE 05650002 MVC DCMTRACE(DCMTRLEN),DCMTRAC2 SHIFT OLD TRACE ENTRIES 05700002 MVI DCMTREN1,ID1 PUT CSECT ID INTO 05710002 MVI DCMTREN2,ID2 NEW TRACE ENTRY 05720002 EJECT 05750002 ** ** 05800002 * TEST REASON FOR ENTRY AND TAKE APPROIATE ACTION * 05850002 ** ** 05900002 */* D (YES,%TEST2,NO,PROCEXIT) IS STATUS SWITCH REQUIRED? */ 05950002 ************************************************************* 06000002 TESTXX TM DCMR3FLG,DCMSTSWT IS STATUS SWITCH REQUIRED 06050002 BNO PROCEXIT NO, CONTINUE WITH NEXT TEST 06100002 SPACE 4 06150002 */*%TEST2: D (NO,TESTEXIT,YES,TYPE) IS REOPEN BIT ON? */ 06200002 ************************************************************* 06250002 TM DCMCS,DCMCSO IS REOPEN BIT ON 06300002 BNO TESTEXIT NO, TEST FOR SECOND PASS 06350002 SPACE 4 06400002 */*TYPE: D (NO,OUTONLY,YES,) CHANGING TO FULL CAPACITY? */ 06450002 ************************************************************* 06500002 TYPE TM UCMDISP,UCMDISPE ARE WE CHANGING TO FULL CAP 06550002 BNO OUTONLY NO, SET FOR OUTPUT ONLY 06600002 SPACE 4 06650002 */* P (,COMMON) SET UP FULL CAPACITY PARAMETERS */ 06700002 ************************************************************* 06750002 LA RMSGAL,N8 SET PARMS FOR FULL CAP 06800002 LA RADDRL,DCMMSG8 LAST MESSAGE LINE SCT 06850002 LA RWTINT,DCMINSTR LAST MESSAGE LINE + 1 06900002 LA RLSCRN,DCMMLAST LAST LINE ON SCREEN 06950002 MVI DCMSEC9,DCMMSGST STOP SECONDARY SCT 07000002 B COMMON GO TO INSERT VALUES 07050002 SPACE 4 07100002 */*OUTONLY: P (,COMMON) SET UP OUTPUT ONLY PARAMETERS */ 07150002 ************************************************************* 07200002 OUTONLY LA RMSGAL,N11 NUMBER OF MESSAGE LINES 07250002 LA RADDRL,DCMMSG11 LAST MESSAGE LINE SCT 07300002 LA RWTINT,DCMWARN LAST MESSAGE LINE + 1 07350002 LA RLSCRN,DCMENTR2 LAST LINE ON SCREEN 07400002 MVI DCMSEC11+N1,DCMMSGST STOP SECONDARY SCT 07450002 MVI DCMSEC9,N0 REMOVE OLD STOPPER 07500002 MVI DCMMSG9,N0 REMOVE OLD SCT STOPPER 07550002 EJECT 07600002 */*COMMON: P PUT PARAMETERS IN DCM */ 07650002 ************************************************************* 07700002 COMMON STH RMSGAL,DCMMSGAL UPDATE NO. OF MSG LINES 07750002 MVC DCMRMSAL(N2),DCMMSGAL IN BOTH DCMS 07800002 ST RADDRL,DCMADDRL UPDATE ADDR OF LAST SCT 07850002 ST RWTINT,DCMWTINT END OF FULL SCREEN WRITE 07900002 ST RLSCRN,DCMLSCRN UPDATE LAST MESG LINE 07950002 MVI N2(RADDRL),DCMMSGST STOP SCT TABLE 08000002 SPACE 5 08050002 */* P INDICATE REOPEN AND SECOND PASS */ 08100002 ************************************************************* 08150002 OI DCMCS,DCMCSO INDICATE REOPEN 08200002 OI DCMFLG1,DCMOUTPT INDICATE SECOND PASS 08250002 SPACE 5 08300002 */* P (,EXIT) SET EXIT TO CLEANUP (IEECVFTG) */ 08350002 ************************************************************* 08400002 L XFBRANCH,DCMNCLN LOAD CLEANUP ROUTINE ADDRESS 08450002 * FOR EXIT TO IEECVFTG 08500002 SPACE 4 08550002 ** ** 08600002 * EXIT PROCEEDURE * 08650002 ** ** 08700002 */*EXIT: R XCTL */ 08750002 ************************************************************* 08800002 EXIT EQU * INITIALIZE FOR EXIT 08850002 L X1PARM,DCMCXSVE RESTORE CXSA ADDRESS 08900002 BR XFBRANCH EXIT ADDRESS ALREADY SET 08950002 SPACE 4 09050002 */*PROCEXIT: P (,EXIT) SET EXIT TO PROC 1 (IEECVET1) */ 09100002 ************************************************************* 09150002 PROCEXIT L XFBRANCH,DCMNPROC LOAD PROC 1 ADDRESS 09200002 B EXIT EXIT TO IEECVET1 09250002 EJECT 09300002 */*TESTEXIT: D (NO,TYPE,YES,) IS THIS SECOND PASS? */ 09350002 ************************************************************* 09400002 TESTEXIT TM DCMFLG1,DCMOUTPT IS THIS SECOND PASS 09450002 BNO TYPE NO, MODIFY DCM 09500002 SPACE 4 09550002 */* P TURN OFF STATUS SWITCH AND SECOND PASS */ 09600002 ************************************************************* 09650002 NI DCMR3FLG,X'FF'-DCMSTSWT TURN OFF STATUS SW. BIT 09700002 NI DCMFLG1,X'FF'-DCMOUTPT TURN OFF SECOND PASS SWITCH 09750002 SPACE 4 09800002 */* D (NO,,YES,TIMEXIT) IS CONSOLE NOW MESSAGE STREAM? */ 09850002 ************************************************************* 09900002 TM UCMDISP,UCMDISPF IS IT NOW MESSAGE STREAM 09950002 SPACE 4 10000002 */* P (,EXIT) SET EXIT FOR 2260 I/O 1 (IEECVETR) */ 10050002 ************************************************************* 10100002 BO TIMEXIT 10110002 L XFBRANCH,DCMIORTN 10120002 B EXIT RETURN TO I/O 1 10150002 SPACE 4 10200002 */*TIMEXIT: P SET ROLL DELETE MODE */ 10250002 ************************************************************* 10300002 TIMEXIT MVC DCMDEL(N2),RD FORCE ROLL DELETE MODE 10350002 OI DCMOPTST,DCMOPRLL TURN ON ROLL BIT 10400002 NI DCMOPTST,X'FF'-DCMOPTAD AUTO DELETE BIT OFF 10450002 OI DCMTIMES,DCMOTTMM+DCMOPTTI GO FROM T/I TO MESG 10500002 OI DCMCMSG3,DCMCMRLL WRITE ROLL MODE MESG 10550002 SPACE 5 10600002 */* P (,EXIT) SET EXIT TO TIMER/ INTERPRETER (IEECVETK) */ 10650002 ************************************************************* 10700002 L XFBRANCH,DCMNTIMR LOAD TIMER INTERPRETER ADDRESS 10750002 B EXIT EXIT TO IEECVETK 10800002 EJECT 10850002 RD DC C'RD' ROLL DELETABLE MODE 10900002 ** ** 10950002 * MISC EQUATES * 11000002 ** ** 11050002 ID1 EQU C'F' 1ST CHARACTER OF CSECT ID 11060002 ID2 EQU C'R' 2ND CHARACTER OF CSECT ID 11070002 N0 EQU 0 NUMBER 11100002 N1 EQU 1 NUMBER 11150002 N2 EQU 2 NUMBER 11200002 N3 EQU 3 NUMBER 11250002 N4 EQU 4 NUMBER 11300002 N8 EQU 8 NUMBER 11350002 N11 EQU 11 NUMBER 11400002 SPACE 5 11500002 */*IEECVFTR: END */ 11550002 EJECT 11600002 IHACTM CXSA 11700002 EJECT 11750002 IEECUCM FORMAT=NEW 11850002 EJECT 11900002 IEERDCM 11950002 EJECT 12000002 DCMSTRT DSECT 12050002 IEECDCM DEVICE=C 12100002 END 12150002