IEECVET8 CSECT 00200000 *********************************************************************** 00400000 TITLE 'IEECVET8 IGC5807B DELETE 3' 00600000 *********************************************************************** 00800000 * * 01000000 * STATUS CHANGE LEVEL=0 * 01200000 * * 01400000 * APARS FIXED ZA08078 * 01600000 * * 01800000 * FUNCTION THIS ROUTINE ANALYZES DELETION OF MESSAGES REQUESTED BY* 02000000 * K E,SEG OR BY CURSOR OR LIGHT PEN DETECT * 02200000 * * 02400000 * ENTRY POINT IEECVET8 * 02600000 * * 02800000 * INPUT INDICATION OF K E,SEG,CURSOR DELETE * 03000000 * THE FOLLOWING BIT INDICATES A CURSOR OR LIGHT PEN * 03200000 * REQUEST * 03400000 * DCMCOM1,DCMCOMRD X'08' * 03600000 * DCMDSAV CONTAINS THE NUMBER OF THE MESSAGE THE DETECT * 03800000 * OCCURRED ON * 04000000 * DCMDSAV+8 CONTAINS THE SCREEN CONTROL TABLE ENTRY FOR * 04200000 * THE MESSAGE THE DETECT OCCURRED ON * 04400000 * THE APPROPRIATE MESSAGES ARE MARKED FOR DELETION, AND * 04600000 * ALL VISIBLE MESSAGES ARE NUMBERED. * 04800000 * * 05000000 * OUTPUT ALTERATION OF DISPLAY- INDICATION OF MESSAGES TO BE * 05200000 * DELETED * 05400000 * * 05600000 * EXTERNAL REFERENCES NONE * 05800000 * * 06000000 * EXITS - NORMAL IEECVETH OR P OR R DEVICE-DEPENDENT IO * 06200000 * IEECVET9 DELETE 4 * 06400000 * - ERROR IEECVETE MESSAGE 2 * 06600000 * * 06800000 * TABLES/WORK AREAS DISPLAY CONTROL MODULE (CONTAINED IN DSECT) * 07000000 * SCREEN CONTROL TABLE (SCT) * 07200000 * SECONDARY SCREEN CONTROL TABLE (SSCT) * 07400000 * * 07600000 * ATTRIBUTES REFRESHABLE, PRIVILEGED, TYPE 4 SVC * 07800000 * * 08000000 * NOTES THE OPERATION OF THIS MODULE DOES NOT DEPEND UPON A * 08200000 * PARTICULAR INTERNAL REPRESENTATION OF THE EXTERNAL * 08400000 * CHARACTER SET. * 08600000 * * 08800000 * * 09000000 *********************************************************************** 09200000 EJECT 09400000 */*IEECVET8: CHART */ 09600000 */*IEECVET8: E DELETE RTN 3 */ 09800000 */* P ESTABLISH BASE REGISTERS */ 10000000 */* D (NO,,YES,LPDEL) LP/CURSOR DELETION ? */ 10200000 */* D (NO,,YES,ERROR) IS SEG = 0 ? */ 10400000 */* P FIND LAST MSG ENTRY IN SCT */ 10600000 */*DELET: D (NO,DSETUP,YES,) IS LAST MSG IN SEG CONTINUED ? */ 10800000 */* P INCLUDE CONTINUED LINE */ 11000000 */*DSETUP: P FIND FIRST MSG ENTRY IN SCT */ 11200000 */*DSETUP1: P SET UP TO LOOP THRU MESSAGES */ 11400000 */*LOOP: D (NO,NOUT,YES,) IS A MSG IN THIS LINE ? */ 11600000 */* S NUMBER RTN: GO NUMBER THE MESSAGE */ 11800000 */* D (NO,,YES,NNEXT) MSG IN A STATUS DISPLAY ? */ 12000000 */* D (NO,L1,YES,NNEXT) CONTINUED LINE IN A STATUS DISP ? */ 12200000 */*L1: D (NO,,YES,TURNOFF) MSG ABOVE DELETE RANGE ? */ 12400000 */*SLOOP: D (NO,,YES,RESET) IS MSG AN ACTION MSG ? */ 12600000 */*SET: P INDICATE DELETION POSSIBLE */ 12800000 */* P MARK MSG WITH VERTICLE BAR */ 13000000 */*NNEXT: P GO TO NEXT MESSAGE */ 13200000 */* D (NO,,YES,LOOP) MORE MESSAGES TO DO ? */ 13400000 */*NOUT: D (NO,,YES,MOVENT) LP/CURSOR DELETE WTOR ? */ 13600000 */* D (NO,ERROR1,YES,) ANY MESSAGES TO DELETE? */ 13800000 */* P PUT COMMAND IN ENTRY AREA */ 14000000 */*MOVENT: P PUT COMMAND IN DELETE REQUEST BUFFER */ 14200000 */* D (NO,,YES,VERIFMSG) IS VERIFY REQUIRED ? */ 14400000 */*DEL4EXIT: P (,XCTL) SET EXIT TO IGC5907B */ 14600000 */*VERIFMSG: P INDICATE VERIFICATE INSTR NEEDED */ 14800000 */*CURSCOMP: P SET CURSOR POS TO LINE 1, CHAR 5 */ 15000000 */*IOEXIT: P SET EXIT TO IGC5D07B */ 15200000 */*XCTL: R NEST LOAD */ 15400000 */*ERROR1: P (,ERRORALL) INDICATE NO DELETABLE MESSAGES */ 15600000 */*ERROR: P INDICATE SEG = 0 */ 15800000 */*ERRORALL: P INDICATE WRITE ERROR MSG */ 16000000 */* P FIND POSITION OF OPERAND */ 16200000 */* D (NO,,YES,LINE2) SET LINE NUMBER TO 1 */ 16400000 */*STCURS: P SET CURSOR POSITION IN LINE */ 16600000 */*ERRNUM: P SET UP LOOP THRU MSGS */ 16800000 */*LOOP1: D (NO,OUT,YES,) MESSAGE IN LINE ? */ 17000000 */* S NUMBER RTN: GO NUMBER MESSAGES */ 17200000 */* D (NO,LOOP1,YES,) ALL MESSAGES DONE ? */ 17400000 */*OUT: P HOLD LAST NUMBER */ 17600000 */*MSGEXIT: P (,XCTL) SET EXIT TO IGC5E07B */ 17800000 */*NUMBER: E NUMBER RTN */ 18000000 */* P CONVERT NUMBER FOR PRINT */ 18200000 */* D (NO,MOVENUM,YES,) ONE DIGIT NUMBER ? */ 18400000 */* P BLANK FIRST DIGIT */ 18600000 */*MOVENUM: P PUT NUMBER IN MESSAGE LINE */ 18800000 */* R BR 14 */ 19000000 */*LINE2: P (,STCURS) SET LINE NUMBER TO TWO */ 19200000 */*TURNOFF: P TURN OFF DELETE REQUEST BIT */ 19400000 */* D (NO,REMOVE,YES,) IS THIS AN INFORM MSG ? */ 19600000 */* P PUT HORIZONTAL BAR IN MSG */ 19800000 */*RESET: P TURN OFF DELETE REQUEST FLAG */ 20000000 */*REMOVE: P PUT VERTICLE BAR IN MESSAGE */ 20200000 */* D (NO,EXITB,YES,) IS THIS AN ACTION MESSAGE ? */ 20400000 */* P PUT AN ASTERISK IN THE MESSAGE */ 20600000 */*EXITB: R BR 14 */ 20800000 */*LPDEL: P GET SCT ADDR FOR DELETION */ 21000000 */* D (NO,DELET,YES,) IS THIS AN ACTION MSG ? */ 21200000 */* P INDICATE THIS IS A WTOR */ 21400000 */*MARKWTOR: D (NO,MARKOK,YES,) IS THIS A CONTINUATE LINE ? */ 21600000 */* P ALTER POINTERS TO INCLUDE FIRST LINE */ 21800000 */*MARKOK: P INDICATE DELETE REQUESTED AND MSG DELETABLE */ 22000000 */* D (NO,ENTSETUP,YES,) IS WTOR CONTINUED ? */ 22200000 */* P (,MARKWTOR) GO TO NEXT LINE */ 22400000 */*ENTSETUP: P BLANK THE ENTRY AREA */ 22600000 */* P PUT COMMAND (K E,NN) IN ENTRY AREA */ 22800000 */* P INDICATE MESSAGES NUMBERED */ 23000000 */*NUMTURN: D (NO,NOUT,YES,) MESSAGE IN THIS LINE ? */ 23200000 */* S NUMBER RTN:NUMBER MESSAGE */ 23400000 */* D (NO,,YES,TURNOFF) MSG OUTSIDE DELETE RANGE ? */ 23600000 */*UPDTE: P (,NOUT) GO TO NEXT MESSAGE */ 23800000 */*IEECVET8: END */ 24000000 EJECT 24200000 *** * 24400000 *** REGISTER EQUATES * 24600000 *** * 24800000 X0 EQU 0 SECONDARY SCREEN CONTROL TABLE PTR S21002 25000000 X1 EQU 1 REG 1 25200000 XNUM EQU 1 REG 1 25400000 XWORK EQU 2 WORK REG. 25600000 XSCT EQU 2 SCREEN CONTROL TABLE PTR 25800000 XHCTR EQU 3 HIGH VALUE FOR NN 26000000 XDOMEL EQU 3 PTR TO DOM ID IN DOM ELEMENT 26200000 XINC EQU 4 INCREMENT REG (BXLE) 26400000 XCOMP EQU 5 COMPARAND (BXLE) 26600000 XLCTR EQU 6 LOW VALUE FOR NN 26800000 XDCMDOM EQU 6 PTR TO DOM ID IN DCM 27000000 X7 EQU 7 UCM BASE REG 27200000 R7SCT EQU 7 SCT TABLE POINTER 27400000 XMSG EQU 8 BRANCH REG. 27600000 X9 EQU 9 DCM BASE REG 27800000 XA EQU 10 PROGRAM BASEREG. 28000000 XB EQU 11 CXSA BASE REG. 28200000 XC EQU 12 UCM ENTRY BASE REG. 28400000 XE EQU 14 REG 14 28600000 X13 EQU 13 RESIDENT DCM BASE REGISTER S21002 28800000 XCCWCTR EQU 14 REG TO COUNT CCW'S CONSTRUCTED 29000000 XF EQU 15 REG 15 29200000 XMASK EQU 15 MASK REGISTER 29400000 XRETURN EQU 15 REG 15 29600000 RETURN EQU 15 REG 15 29800000 X1PARM EQU 1 30000000 XFBRANCH EQU 15 30200000 EJECT 30400000 *** 30600000 *** ESTABLISH BASE REGISTERS 30800000 *** 31000000 BALR XA,N0 ESTABLISH PROGRAM ADDRESSIBIL 31200000 USING *,XA 31400000 B ICATCH BRANCH AROUND EYECATCHER 31600000 DC C'01 MODULE IGC5807B, FICHE IEECVET8 ' EYECATCHER AND 31800000 ZAPAREA DC 12C'ZAP' RESERVED FOR FIELD MODIFICATION 32000000 ICATCH LR XB,X1 ESTABLISH CXSA ADDRESS 32200000 USING CXSA,XB 32400000 L XC,CSAUCM ESTABLISH UCM ADDRESS 32600000 USING UCMLIST,XC 32800000 L X13,UCMXB GET PTR TO RESIDENT DCM S21002 33000000 L X9,N0(X13) GET PTR TO TRANSIENT DCM S21002 33200000 USING DCMTSRT,X13 ADDRESSIBILITY RESIDENT DCM 33400000 USING DCMSTRT,X9 33600000 L X7,CSACTLM GET PTR TO UCM 33800000 USING UCM,X7 34000000 MVC DCMTRACE(DCMTRLEN),DCMTRAC2 SHIFT OLD TRACE ENTRIES 34200000 MVI DCMTREN1,ID1 PUT CSECT ID INTO 34400000 MVI DCMTREN2,ID2 NEW TRACE ENTRY 34600000 MVI DCMUTILT,ZERO ZERO UTILITY BYTE 34800000 LH XINC,DCMSCTCN GET INCREMENT FOR SCREEN CONTROL TAB 35000000 SR XHCTR,XHCTR ZERO REGISTER 35200000 L XMSG,DCMASCRN ADDR OF FIRST MSG LINE IN BUFFER 35400000 L XLCTR,DCMAMTAB ADDR OF SCT FOR MSG 1 35600000 TM DCMCOM1,DCMCOMRD Q. PERFORM DELETE AS INDICATED BY 35800000 * LIGHT PEN OR CURSOR 36000000 BO LPDEL YES, GO SET UP FOR IT 36200000 IC XHCTR,DCMSEG GET SEG VALUE 36400000 LTR XHCTR,XHCTR Q. IS SEG VALUE EQUAL TO ZERO 36600000 BZ ERROR YES, ERROR 36800000 MH XHCTR,DCMSCTCN COMPUTE SCREEN CONTROL ADDR OF 37000000 SR XHCTR,XINC LAST MSG OF SEGMENT 37200000 AR XHCTR,XLCTR 37400000 DELET EQU * 37600000 LA XF,NNEXT GET RETURN ADDR FOR TURNOFF RTN 37800000 CONT1 TM N0(XHCTR),DCMMSGCN Q. IS LAST MSG IN SEG CONTINUED 38000000 BNO DSETUP NO 38200000 AR XHCTR,XINC INCREMENT TO INCLUDE CONTINUED LINE 38400000 B CONT1 CHECK FOR FURTHER CONTIN 38600000 DSETUP EQU * 38800000 LR XWORK,XLCTR ADDR OF FIRST MSG IN SCT 39000000 DSETUP1 EQU * 39200000 L XCOMP,DCMADDRL ADDR OF LAST MSG IN SCT 39400000 SR XNUM,XNUM ZERO NUMBER REG 39600000 OI DCMDSTAT,DCMDSTNM TURN ON MSGS NUMBEREA BIT 39800000 L X0,DCMADSEC ADDR OF STATUS DISPLAYS SSCT S21002 40000000 LOOP EQU * 40200000 TM N0(XWORK),DCMMSGIN Q. IS THERE A MESSAGE IN THIS LINE 40400000 BZ NOUT NO, EXIT 40600000 *** 40800000 *** NUMBER MESSAGES 41000000 *** 41200000 BAL XE,NUMBER GO NUMBER MESSAGES 41400000 LR XE,X0 ADDR OF SSCT MSG ENTRY S21002 41600000 LR R7SCT,XWORK GET SCT POINTER 41800000 *** S21002 42000000 *** IS THIS MESSAGE LINE IN A STATUS DISPLAY S21002 42200000 *** S21002 42400000 TESTDISP TM N0(XE),DCMSECCL+DCMSECLL+DCMSECDL+DCMSECBL S21002 42600000 BNZ NNEXT BRANCH YES S21002 42800000 TM N0(R7SCT),DCMMSGCN Q. DOES IT HAVE A CONTINUATION LINE 43000000 BNO L1 NO 43200000 LA XE,N1(XE) POINT TO NEXT SSCT 43400000 AH R7SCT,DCMSCTCN POINT TO NEXT SCT 43600000 B TESTDISP TEST FOR FURTHER CONTIN 43800000 *** S21002 44000000 *** IS THE CONTINUED LINE IN A STATUS DISPLAY S21002 44200000 *** S21002 44400000 TM N1(XE),DCMSECCL+DCMSECLL+DCMSECDL+DCMSECBL S21002 44600000 BZ L1 BRANCH NO S21002 44800000 B NNEXT GO ON 45000000 L1 EQU * 45200000 CLR XWORK,XHCTR Q. IS MSG ABOVE RANGE FOR DELETION 45400000 BH TURNOFF YES, REMOVE VERTICAL BAR, IF ANY 45600000 SLOOP EQU * 45800000 TM N1(XWORK),DCMMSGAC Q. IS MSG AN ACTION MESSAGE 46000000 BO RESET YES REMARK IF PREVIOUSLY DELETABLE 46200000 SET EQU * 46400000 OI DCMUTILT,DCMUTILA SET BIT- DELETION POSSIBLE 46600000 OI N0(XWORK),DCMMSGRD TURN ON DELETE REQUEST BIT 46800000 ST XMSG,CSAXD SAVE ADDRESS OF MSG NUMBER 47000000 MVI N2(XMSG),VERTBAR MARK MSG WITH VERTICAL BAR 47200000 NNEXT EQU * 47400000 AH XMSG,DCMCORLN INCRE ADDR OF MSG IN BUFFER S21003 47600000 AH X0,ONE INCREMENT SSCT BY LENGTH S21002 47800000 BXLE XWORK,XINC,LOOP LOOP UNTIL ALL MSGS ARE SEARCHED 48000000 NOUT EQU * 48200000 STH XNUM,DCMADNUM SAVE LAST NUMBER USED 48400000 L XE,DCMAENTR GET ADDR OF ENTRY AREA 48600000 TM DCMUTILT,DCMUTILB Q. LP OR CURSOR DELETE OF A WTOR 48800000 BO MOVENT YES 49000000 TM DCMUTILT,DCMUTILA Q. ANY MESSAGES DELETABLE 49200000 BNO ERROR1 NO, ERROR- NO DELETABLE MSGS 49400000 MVI N0(XE),BLANK MOVE BLANK INTO ENTRY AREA 49600000 LH XWORK,DCMELGN GET LENGTH OF ENTRY FOR BLANKING 49800000 EX XWORK,MVBLNK EXECUTE MOVE INSTRUC 50000000 MVC N0(N6,XE),KCOMMAND MOVE COMMAND INTO ENTRY AREA 50200000 L XMSG,CSAXD RESTORE ADDRESS OF MSG NUMBER 50400000 MVC N6(N2,XE),N0(XMSG) MOVE IN NUMBER S21002 50600000 CLI N6(XE),CBLANK Q. A ONE DIGIT NUMBER 50800000 BNE MOVENT NO 51000000 MVC N6(N1,XE),N7(XE) YES, MOVE OVER DIGIT 51200000 MVI N7(XE),CBLANK BLANK OUT FORMER POSITION 51400000 MOVENT EQU * 51600000 MVC DCMRQDEL(N6),N2(XE) MOVE COMMAND INT DEL REQUEST BUF 51800000 CLI DCMDEL,R ROLL OR ROLL DELETE MODE? @ZA08078 52000000 BE DEL4EXIT YES, BR. TO IEECVET9 EXIT @ZA08078 52200000 TM DCMOPTST,DCMOPTVR Q. IS VERIFICATION REQUIRED 52400000 BO VERIFMSG YES, GO SET UP VERIF MSG 52600000 DEL4EXIT EQU * 52800000 L XFBRANCH,DCMNDEL4 LOAD DELETE 4 ADDRESS 53000000 B XCTL EXIT TO IEECVET9 53200000 VERIFMSG EQU * 53400000 NI DCMCOM1,N255-DCMLPENT TURN OFF LIGHT PEN DELETE FLAG 53600000 OI DCMCMSG2,DCMDLREQ INDIC MOVE IN VERIFIC INSTRUC 53800000 OI DCMIOCM1,DCMWRMSG+DCMWRINS+DCMWRENT+DCMINSC 54000000 CURSCOMP EQU * 54200000 MVI DCMCULNO,N1 SET LINE NUMBER (IN ENTRY AREA) TO 1 54400000 MVI DCMPOSCU,N5 MOVE IN CURSOR POSITION 54600000 IOEXIT EQU * 54800000 L XFBRANCH,DCMNMSG1 LOAD MESSAGE 1 ADDRESS 55000000 * FOR EXIT TO IEECVETD 55200000 XCTL EQU * EXIT FROM MODULE 55400000 NI DCMCOM1,N255-DCMCOMRD TURN OFF DELET FLAG 55600000 L X1PARM,DCMCXSVE RESTORE CXSA ADDRESS 55800000 BR XFBRANCH EXIT TO ADDRESS ALREADY SET 56000000 ERROR1 EQU * 56200000 OI DCMCMSG3,DCMCDLR1 INDICATE NO DEL ETABLE MSGS 56400000 B ERRORALL GO INDIC WRITE DELETE REQ INCONS 56600000 ERROR EQU * 56800000 OI DCMCMSG3,DCMCDLR3 INDICATE SEG EQUAL TO 0 57000000 ERRORALL EQU * 57200000 MVI DCMRQDEL,CBLANK BLANK THE DELETE REQUEST BUFFER 57400000 MVC DCMRQDEL+N1(N7),DCMRQDEL 57600000 OI DCMCMSG2,DCMDELRI INDICATE WRITE ERROR MSG 57800000 OI DCMIOCM1,DCMWRMSG+DCMWRINS+DCMINSC 58000000 L X1,DCMADOPN GET ADDR OF OPERAND 58200000 L XWORK,DCMAENTR GET ADDR OF ENTRY AREA 58400000 SR X1,XWORK SUBTRACT TO GET DOS OF OPERAND 58600000 CH X1,DCMCORLN Q. IS OPERAND ON LINE 2 S21003 58800000 BH LINE2 YES 59000000 AH X1,ONE NO, INCREMENT POS BY 1 59200000 MVI DCMCULNO,N1 SET LINE NUMBER(IN ENTRY AREA) TO 1 59400000 STCURS EQU * 59600000 STC X1,DCMPOSCU SET CURSOR POSITION 59800000 ERRNUM EQU * 60000000 SR XNUM,XNUM ZERO NUMBER CTR 60200000 L XWORK,DCMAMTAB GET ADDR OF FIRST MSG IN SCT 60400000 L XCOMP,DCMADDRL GET ADDR OF LAST NUM 60600000 L XMSG,DCMASCRN GET ADDR OF FIRST MSG IN BUFFER 60800000 LOOP1 EQU * 61000000 TM N0(XWORK),DCMMSGIN Q. MSG IN LINE 61200000 BNO OUT EXIT 61400000 BAL XE,NUMBER GO MOVE IN NUMBER 61600000 AH XMSG,DCMCORLN INCRE TO NEXT MSG IN BUFFER S21003 61800000 BXLE XWORK,XINC,LOOP1 LOOP UNTIL NO MORE MSGS 62000000 OUT EQU * 62200000 STH XNUM,DCMADNUM STORE NUMBER 62400000 MSGEXIT EQU * 62600000 L XFBRANCH,DCMNMSG2 LOAD MESSAGE 2 ADDRESS 62800000 B XCTL EXIT TO IEECVETE 63000000 *** 63200000 *** NUMBER MESSAGE 63400000 *** 63600000 NUMBER EQU * 63800000 AH XNUM,ONE INCREMENT TO NEXT NUMBER 64000000 CVD XNUM,DCMPACK CONVERT NUMB TO DECIMAL 64200000 UNPK DCMCVBIN+N2(N2),DCMCVBIN+N2(N2) UNPACK NUMBER 64400000 OI DCMCVBIN+N3,CF0 FIX SIGN 64600000 CLI DCMCVBIN+N2,CF0 Q. A ONE-DIGIT NUMBER 64800000 BNE MOVENUM NO, GO MOVE 2 DIGITS 65000000 MVI DCMCVBIN+N2,BLANK YES, BLANK OUT FIRST DIGIT 65200000 MOVENUM EQU * 65400000 MVC N0(N2,XMSG),DCMCVBIN+N2 MOVE NUMBER INTO MESSAGE LINE 65600000 BR XE RETURN TO CALLER 65800000 LINE2 EQU * 66000000 MVI DCMCULNO,N2 SET LINE NUMBER TO 2 66200000 SH X1,DCMCORLN THEN GO TO S21003 66400000 B STCURS STORE CURSOR POSITION 66600000 TURNOFF EQU * 66800000 NI N0(XWORK),N255-DCMMSGRD TURN OFF DELETE REQUEST BIT 67000000 TM N0(XWORK),DCMMSGIF Q. AN INFORMATIONAL MSG 67200000 BZ REMOVE NO,GO REMOVE BAR 67400000 MVI N2(XMSG),HORBAR REPLACE HORIZONTAL BAR 67600000 BR XF RETURN TO CALLER 67800000 RESET NI N0(XWORK),N255-DCMMSGRD TURN OFF DELETE BIT 68000000 REMOVE EQU * 68200000 MVI N2(XMSG),CBLANK REMOVE VERTICAL BAR 68400000 TM N1(XWORK),DCMMSGAC Q. AN ACTION MESSAGE 68600000 BNO EXITB NO, RETURN TO CALLER 68800000 TM N1(XWORK),DCMMSGPP THIS A PP ACTION MSG. MD Y01958 69000000 BNO ASTER NO MARK WITH AN ASTERISK MD Y01958 69200000 MVI N3(XMSG),PPACT MOVE IN '@' MD Y01958 69400000 B EXITB EXIT THIS SUBROUTINE MD Y01958 69600000 ASTER EQU * MD Y01958 69800000 MVI N3(XMSG),ASTERISK MOVE IN ASTERISK 70000000 EXITB EQU * 70200000 BR XF RETURN TO CALLER 70400000 LPDEL EQU * 70600000 L XHCTR,DCMDSAV+N8 GET SCT ADDR FOR DELETION AS PASSED 70800000 * BY LIGHT PEN/CURSOR ROUTINE 71000000 TM N1(XHCTR),DCMMSGAC Q. IS THIS AN ACTION MESSAGE 71200000 BNO DELET NO, GO PERFORM DELETION 71400000 OI DCMUTILT,DCMUTILB INDICATE A WTOR 71600000 L XMSG,DCMDSAV+N4 GET BUFFER ADDR OF MESSAGE 71800000 LR XLCTR,XHCTR GET ADDR OF SCT FOR DELETABLE WTOR 72000000 MARKWTOR EQU * 72200000 TM N1(XLCTR),DCMMSGCT Q. IS THIS A CONTINUATION LINE 72400000 BNO MARKOK NO 72600000 SR XLCTR,XINC YES, DECREMENT TO INCLUDE FIRST LINE 72800000 SH XMSG,DCMCORLN MESSAGE ADDRESS AND SCT ADDR S21003 73000000 LR XHCTR,XLCTR OF THE WTOR 73200000 B MARKWTOR CHECK FOR FURTHER CONTIN 73400000 MARKOK EQU * 73600000 OI N0(XHCTR),DCMMSGRD MARK SCT ENTRY- DELETION REQUESTED 73800000 MVI N2(XMSG),VERTBAR MARK MSG DELETABLE 74000000 MVI N3(XMSG),BLANK BLANK OUT ACTION INDICATOR 74200000 TM N0(XHCTR),DCMMSGCN Q. IS WTOR CONTINUED 74400000 BNO ENTSETUP NO, GO SET UP COMMAND IN ENTRY 74600000 AH XMSG,DCMCORLN INCREMENT TO NEXT LINE S21003 74800000 AR XHCTR,XINC INCREMENT TO NEXT SCT ENTRY 75000000 B MARKWTOR GO MARK CONTINUATION LINE 75200000 ENTSETUP EQU * 75400000 L XE,DCMAENTR GET ADDR OF ENTRY AREA 75600000 LH XWORK,DCMELGN GET INCRE FOR END OF ENTRY 75800000 MVI N0(XE),CBLANK BLANK FIRST CHARACTER 76000000 EX XWORK,MVBLNK EXECUTE MOVE FOR BLANKING ENTRY 76200000 LA XMSG,N4(XE) GET ADDR TO MOVE NUMBER INTO 76400000 SR XNUM,XNUM ZERO REG 76600000 IC XNUM,DCMDSAV GET NUMBER OF MSG TO BE DELETED 76800000 MVC N0(N4,XE),KCOMMAND MOVE IN K COMMAND 77000000 BAL XE,NUMBER CONVERT LINE NUMBER TO BINARY 77200000 CLI N0(XMSG),CBLANK Q. A ONE DIGIT NUMBER 77400000 BNE OK NO 77600000 MVC N0(N1,XMSG),N1(XMSG) MOVE NUMBER OVER 77800000 MVI N1(XMSG),CBLANK 78000000 OK EQU * 78200000 L XMSG,DCMASCRN RESTORE ADDR OF BUFFER 78400000 L XWORK,DCMAMTAB AND ADDR OF SCT 78600000 L XCOMP,DCMADDRL GET LAST SCREEN CONTROL TABLE ADDR 78800000 LA XF,UPDTE GET RETURN ADDR FOR TURNOFF RTN 79000000 SR XNUM,XNUM ZERO NUMBER REGISTER 79200000 OI DCMDSTAT,DCMDSTNM TURN ON MSGS NUMBERED BIT 79400000 NUMTURN EQU * 79600000 TM N0(XWORK),DCMMSGIN Q. IS THERE A MESSAGE IN THIS LINE 79800000 BZ NOUT NO, EXIT 80000000 BAL XE,NUMBER YES, GO NUMBER MESSAGE 80200000 CLR XWORK,XLCTR Q. IS THIS MESSAGE OUTSIDE RANGE 80400000 BL TURNOFF YES OF DELETION 80600000 CLR XWORK,XHCTR Q. IS THIS MESSAGE OUTSIDE RANGE 80800000 BH TURNOFF YES, GO TURN OFF DELETE REQUEST 81000000 UPDTE EQU * FLAGS IF ANY PRESENT 81200000 AH XMSG,DCMCORLN INCREMENT TO NEXT MESSAGE S21003 81400000 BXLE XWORK,XINC,NUMTURN INCREMENT POINTER TO SCREEN CONTRL T 81600000 B NOUT GO TEST FOR VERIFICATION DESIRED 81800000 MVBLNK MVC N1(N0,XE),N0(XE) BLANK ENTRY AREA 82000000 EJECT 82200000 *** 82400000 *** EQUATES 82600000 *** 82800000 ID1 EQU C'E' 1ST CHARACTER OF CSECT ID 83000000 ID2 EQU C'8' 2ND CHARACTER OF CSECT ID 83200000 BLANK EQU C' ' BLANK CHARACTER 83400000 CF0 EQU C'0' CHARACTER OF ZERO 83600000 N0 EQU 0 NUMBER 83800000 N1 EQU 1 NUMBER 84000000 N2 EQU 2 NUMBER 84200000 N3 EQU 3 NUMBER 84400000 N4 EQU 4 NUMBER 84600000 N5 EQU 5 NUMBER 84800000 N6 EQU 6 NUMBER 85000000 N7 EQU 7 NUMBER 85200000 N8 EQU 8 NUMBER 85400000 TWENTY4 EQU 24 NUMBER 85600000 N255 EQU 255 NUMBER 85800000 REGDELET EQU 64 PERFORM REGULAR DELET IN DEL 2 86000000 LINE29 EQU 28 LINE 29 86200000 CCF EQU X'CF' 86400000 VERTBAR EQU C'|' VERTICAL BAR 86600000 ZERO EQU 0 NUMBER 86800000 ASTERISK EQU C'*' ASTERISK 87000000 HORBAR EQU C'-' HORIZONTAL BAR 87200000 C20 EQU X'20' END OF CCW CHAIN INDICATOR 87400000 CBLANK EQU C' ' BLANK 87600000 PPACT EQU C'@' PROBLEM PROGRAM ACTION MD Y01958 87800000 R EQU C'R' DEL = R OR RD @ZA08078 88000000 EJECT 88200000 * 88400000 * CONSTANTS 88600000 * 88800000 KCOMMAND DC C'K E,1,' CONSTANT 89000000 ONE DC H'1' CONSTANT 89200000 EJECT 89400000 IEERDCM 89600000 EJECT 89800000 IEETDCM 90000000 EJECT 90200000 IEECUCM FORMAT=NEW 90400000 EJECT 90600000 IHACTM CXSA 90800000 END 91000000