* /* START OF SPECIFICATIONS **** 00050000 *02* PROCESSOR = ASSEMBLER; 00100000 **** END OF SPECIFICATIONS ***/ 00150000 IEECVETR CSECT 00200000 *A051100,134600,236600-236900 MH Y02158 00202003 *C126000,144500,150000 MH Y02158 00204003 *A111600 MH Y01563 00210003 * A 45100-45300,75100-75300,75600,101600-101800,102600 MC YM4102 00250000 TITLE 'IEECVETR IGC5R07B 2260 IO' 02950000 * * 03000000 * STATUS CHANGE LEVEL=0 * 03050000 * * 03100000 * FUNCTION ANALYZE COMMUNICATIONS BYTES AND PERFORM REQUESTED * 03150000 * I/O. RETURN INDICATION THAT I/O IS IN PROGRESS * 03200000 * * 03250000 * INPUT BITS SET IN DISPLAY CONTROL MODULE * 03300000 * * 03350000 * OUTPUT I/O OPERATION PERFORMED * 03400000 * * 03450000 * EXTERNAL REFERENCES NONE 03500000 * 03550000 * EXITS - NORMAL IEECVET1 PROCESSOR ROUTINE 03600000 * IEECVETF LIGHTPEN/CURSOR ROUTINE 03650000 * IEECVFTR 2260 I/O 2 S21003 03700000 * - ERROR NONE 03750000 * 03800000 * TABLES/WORK AREAS DISPLAY CONTROL MODULE (CONTAINED IN DSECT) 03850000 * 03900000 * ATTRIBUTES REFRESHABLE, PRIVILEGED, TYPE 4 SVC 03950000 * 04000000 * NOTES THE OPERATION OF THIS MODULE DOES NOT DEPEND UPON A 04050000 * PARTICULAR INTERNAL REPRESENTATION OF THE EXTERNAL 04100000 * CHARACTER SET. 04150000 * * 04200000 EJECT 04250000 ** ** 04300000 * INITIALIZE PROGRAM * 04350000 ** ** 04400000 BALR PBASE,N0 SET UP 04450000 USING *,PBASE ADDRESSABILITY 04500000 B ICATCH BRANCH AROUND MODULE NAME MC YM4102 04510000 DC C' MODULE IGC5R07B, FICHE IEECVETR ' MC YM4102 04520000 ZAPAREA DC 12C'ZAP' FIELD MODIFICATION MC YM4102 04530000 ICATCH LR PXSA,PARM SAVE CXSA ADDRESS S21003 04550000 USING CXSA,PXSA DECLARE CXSA ADDRESS 04600000 L UCMENTRY,CSAUCM GET UCM ENTRY ADDRESS 04700000 USING UCMLIST,UCMENTRY DECLARE UCMENTRY BASE 04750000 L RBASE,UCMXB LOAD R DCM BASE S21003 04800000 USING DCMTSRT,RBASE ESTABLISH ADDRESSABILITY 04850000 L DCMBASE,N0(RBASE) LOAD T DCM BASE S21003 04900000 USING DCMSTRT,DCMBASE DECLARE DCM BASE 04950000 L UCMBASE,CSACTLM GET UCM BASE ADDRESS MD 05000000 USING UCM,UCMBASE DECLARE ADDRESS MD 05050000 MVC DCMTRACE(DCMTRLEN),DCMTRAC2 SHIFT OLD TRACE ENTRIES 05060000 MVI DCMTREN1,ID1 PUT CSECT ID INTO 05070000 MVI DCMTREN2,ID2 NEW TRACE ENTRY 05080000 L XFBRANCH,CSAXC ADDRESS FREELOCK SUBROUTINE 05090000 LR X1PARM,PXSA PASS CXSA ADDRESS IN REG 1 05092000 BALR XERTRN,XFBRANCH RELEASE LOCKS 05094000 L CCWPTR,DCMADCHP POINT TO CHANNEL PROGRAM 05100000 MVI DCMLNEA,NF9 INIT EA LINE DATA CHAR MH Y02158 05110003 EJECT 05150000 ** ** 05200000 * TEST REASON FOR ENTRY AND TAKE APPROIATE ACTION * 05250000 ** ** 05300000 TESTXX TM DCMR3FLG,DCMSTSWT IS STATUS SWITCH REQUIRED S21003 05350000 BNO TESTXY NO,CONTINUE WITH NEXT TEST 05400000 L XFBRANCH,VCONIO2 LOAD SECOND LOAD ADDRESS 05450000 B EXIT2 EXIT TO IEECVFTR 05500000 SPACE 5 S21003 05550000 TESTXY TM UCMDISP,UCMDISPF+UCMDISPG IS IT OUTPUT ONLY STAT S21003 05600000 BZ TEST00 NO, CONTINUE S21003 05650000 NI DCMIOCM1,X'FF'-DCMDORMI-DCMWRINS-DCMWRENT YES, S21003 05700000 NI DCMIOCM2,X'FF'-DCMBLENT-DCMINSSH TURN OFF BITS S21003 05750000 * S21003 05800000 TEST00 EQU * THIS CODE CHECKS FOR RMI REQUEST S21003 05850000 * S21003 05900000 TM DCMIOCM1,DCMDORMI TEST SWITCH FOR RMI 06000000 BZ TEST01 NO BRANCH 06050000 OI DCMCOM1,DCMCOMRM IND RMI PERFORMED 06100000 OI DCMIOUNQ,DCMIO226 IND 2260 TO BE RENT FOR FNDCUR 06150000 LA DATA,DCMENTRY LOAD DATA ADDR 06200000 LA CODE,RMICODE LOAD CHAN COMMAND S21003 06250000 MVI N4(CCWPTR),SURPDATA SET CHAIN INDICATOR 06300000 LH LENGTH,SCRLEN LOAD LENGTH 06350000 BAL LINKREG,BUILDCCW GO TO BUILD CCW S21003 06400000 B EXCP GO TO EXEC CHAN PROG 06450000 * * 06500000 TEST01 EQU * THIS CODE PROCESSES FIND CURSOR 06550000 * * 06600000 TM DCMIOUNQ,DCMIO226 FIND CURSOR 06650000 BZ TEST02 NO BRANCH 06700000 NI DCMIOUNQ,N255-DCMIO226 SET OFF SWITCH 06750000 L WORK,UCMDCB GET DCB ADDRESS 06800000 L WORK,N28(WORK) GET IOB ADDR 06850000 CLC N14(N2,WORK),SCRLEN TEST IOBCOUNT FIELD 06900000 BL EAREA NOT FREEZE OR CANCEL BRANCH 06950000 MVC DCMCULNO(N2),XCOMP INITIALIZE CURSOR LOCATION 07000000 TM DCMIOUNQ,DCMFRSCN IS OUTPUT IN HOLD MODE 07050000 BZ STOPOUT NO FREEZE IT 07100000 OI DCMCOM1,DCMCANCL INDICATE CANCEL 07150000 L XFBRANCH,DCMNCMD1 LAOD COMMAND ROUTINE ADDRESS 07200000 B EXIT EXIT TO IEECVET4 07250000 STOPOUT OI DCMIOUNQ,DCMFRSCN IND SCREEN IN HOLD MODE 07300000 CLI DCMRQDEL,BLANK IS A DEKETE REQUEST PENDING 07350000 BNE OK YES 07400000 MVI DCMRQDEL,CQ MAKE IT LOOK AS ONE IS PENDING 07450000 OK EQU * DELETE ESSENTIALLY PENDING 07500000 TM DCMR2FLG,DCMRXSFL IS SCREEN FULL MC YM4102 07510000 BO OK3 YES, DON'T SIMULATE MC YM4102 07520000 OI DCMR3FLG,DCMRXHMT SIMULATE FULL SCREEN MC YM4102 07530000 OI DCMR2FLG,DCMRXSFL SET ON SWITCH 07550000 OK3 EQU * CONTINUE MC YM4102 07560000 OI UCMDEVC,UCMDEVA SET ON SWITCH 07600000 MVI DCMENTRY,BLANK PUT BLANK IN ENTRY AREA 07650000 MVC DCMENTRY+N1(N159),DCMENTRY BLANK REST OF ENTRY AREA 07700000 MVC DCMENTRY+N132(N27),MESSAGE MOVE WARNING INTO EA 07750000 OI DCMIOCM1,DCMWRENT IND WRITE ENTRY AREA 07800000 B TEST02 BRANCH 07850000 EAREA CLC N14(N2,WORK),XCITE TEST IOBCOUNT FIELD 07900000 BL NOTINEA NOT IN ENTRY AREA BRANCH 07950000 OI DCMCOM1,DCMIOPRD INDICATE READ PERFORMED 08000000 LA DATA,DCMENTRY LOAD DATA ADDRESS 08050000 LA CODE,READ LOAD COMMAND CODE S21003 08100000 MVI N4(CCWPTR),DUMCHAIN SET CHAIN INDICATOR 08150000 LH LENGTH,SURPLEN LOAD LENGTH 08200000 BAL LINKREG,BUILDCCW GO TO BUILD CCW S21003 08250000 LH LENGTH,ENTLEN LOAD LENGTH 08300000 BAL LINKREG,BLDCCWE GO TO BUILD CCW S21003 08350000 B EXCP GO TO EXEC CHAN PROGRAM 08400000 NOTINEA SR CHAR,CHAR ZERO REGISTER 08450000 LH LINE,SCRLEN LOAD NUMBER CHARS/DISPLAY 08500000 SH LINE,N14(WORK) SUBTRACT RESIDUAL COUNT 08550000 LH WORK,DCMLGNTH LOAD NUMBER CHARS/LINE S21003 08600000 DR CHAR,WORK COMPUTE INIT LINE/CHAR 08650000 BCTR WORK,N0 DECREMENT FOR COMPARE 08700000 CR CHAR,WORK TEST FOR MAX CHAR POS 08750000 BL NOTMAX BRANCH IF NOT MAX 08800000 SR CHAR,CHAR ZERO REGISTER 08850000 LA LINE,N1(LINE) INCREMENT LINE COUNT 08900000 GOBACK LA LINE,LINENO(LINE) TRANSLATE LINE NUMBER 08950000 MVC DCMDSAV(N1),N0(LINE) STORE LINE NUMBER S21003 09000000 STC CHAR,DCMDSAV+N1 STORE CHAR POSITION 09050000 L XFBRANCH,DCMNLPCR LOAD LIGHT-PEN/CURSOR ADDRESS 09100000 B EXIT EXIT TO IEECVETF 09150000 NOTMAX LA CHAR,N1(CHAR) INCREMENT CHAR COUNT 09200000 B GOBACK BRANCH TO STORE LINE/CHAR 09250000 * * 09300000 TEST02 EQU * THIS CODE CHECKS FOR AN ERASE CONDITION * 09350000 * * 09400000 TM DCMIOCM2,DCMERASE ERASE SCREEN 09450000 BZ TEST03 NO BRANCH 09500000 LA CODE,ERASE LOAD CODE MH S21003 09550000 LA LENGTH,LENTWO LOAD LENGTH MH S21003 09600000 BAL LINKREG,BLDCCWE GO TO BUILD CCW S21003 09650000 B EXCP GO TO EXEC CHAN PROG 09700000 * * 09750000 TEST03 EQU * THIS CODE BLANKS ENTRY AREA UPON REQUEST * 09800000 * * 09850000 TM DCMIOCM2,DCMBLENT BLANK ENTRY AREA 09900000 BZ TEST04 NO BRANCH 09950000 CLI DCMRQDEL,CQ DID IO ROUTINE MOVE CHAR IN 10000000 BNE OK1 NO 10050000 MVI DCMRQDEL,BLANK YES MOVE BLANK INTO DEL REQ 10100000 OK1 EQU * DELETE ESSENTIALLY NOT PENDING 10150000 TM DCMR3FLG,DCMRXHMT FULL SCREEN SIMULATED MC YM4102 10160000 BZ OK2 NO, BRANCH MC YM4102 10170000 NI DCMR3FLG,N255-DCMRXHMT SIM FLAG OFF MC YM4102 10180000 NI UCMDEVC,N255-UCMDEVA SET OFF SWITCH 10200000 NI DCMR2FLG,N255-DCMRXSFL SET OFF SWITCH 10250000 OK2 EQU * CONTINUE MC YM4102 10260000 NI DCMIOUNQ,N255-DCMFRSCN SET OFF FREEZE SWITCH 10300000 MVI DCMENTRY,BLANK BLANK ENTRY AREA 10350000 MVC DCMENTRY+N1(N159),DCMENTRY BLANK ENTRY AREA 10400000 * * 10450000 TEST04 EQU * THIS CODE BLANKS LEFT HALF OF WARNING * 10500000 * * 10550000 TM DCMIOCM2,DCMBLWRL BLANK LEFT HALF WARNING 10600000 BZ TEST05 NO BRANCH 10650000 MVI DCMWARN,BLANK BLANK LEFT HALF WARNING 10700000 MVC DCMWARN+N1(N39),DCMWARN BLANK LEFT HALF WARNING 10750000 * * 10800000 TEST05 EQU * THIS CODE BLANKS RIGHT HALF OF WARNING * 10850000 * * 10900000 TM DCMIOCM2,DCMBLWRR BLANK RIGHT HALF WARNING 10950000 BZ TEST05A NO BRANCH 11000000 MVI DCMWARN+N40,BLANK BLANK RIGHT HALF WARNING 11050000 MVC DCMWARN+N41(N39),DCMWARN+N40 BLANK RIGHT HALF WARN 11100000 NI DCMR2FLG,N255-DCMRXUNV SET OFF SAME RDCM BIT S21003 11150000 NI DCMCOM3,X'FF'-DCMOLUNV AND TDCM BIT MH Y01563 11160003 * * 11200000 TEST05A EQU * THIS CODE CONTROLS INSTRUCTION LINE * 11250000 * * 11300000 TM DCMIOCM2,DCMINSSH BLANK INSTRUCTION LINE 11350000 BZ TEST05B NO BRANCH 11400000 MVI DCMINSTR,BLANK BLANK 11450000 MVC DCMINSTR+N1(N79),DCMINSTR INSTRUCTION LINE 11500000 OI DCMIOCM1,DCMWRINS IND WRITE INSTRUCTION LINE 11550000 * * 11600000 * THIS CODE MOVES MESSAGE TO WARNING LINE * 11650000 * * 11700000 TEST05B TM DCMCMSG1,DCMMSGWT MOVE MSG TO WARNING LINE 11750000 BZ TEST06 NO BRANCH 11800000 NI DCMCMSG1,N255-DCMMSGWT SET OFF SWITCH 11850000 MVI DCMWARN+N40,BLANK BLANK RIGHT HALF 11900000 MVC DCMWARN+N41(N39),DCMWARN+N40 OF WARNING LINE 11950000 MVC DCMWARN+N57(N23),HOLDMSG MOVE HOLD MSG TO WARN LINE 12000000 * * 12050000 TEST06 EQU * THIS CODE CAUSES WRITING OF MSG AREA * 12100000 * * 12150000 TM DCMIOCM1,DCMWRMSG WRITE MESSAGE AREA S21003 12200000 BZ TEST06AA NO BRANCH 12250000 NI DCMIOCM1,X'FF'-DCMWRPAR DO NOT WRITE PARTIAL S21003 12300000 L LENGTH,DCMWTBUF ADDR OF I D FIRST LINE 12350000 L DATA,DCMASCRN LOAD ADDR OF INFO DISPLAY 12400000 SR LENGTH,DATA COMPUTE LENGTH 12450000 BZ TEST06AA YES GO TO NEXT TEST 12500000 STH LENGTH,MSGLEN SAVE LENGTH 12550000 MVI DCMLNE+N1,NF0 INIT FOR LINE WRITE MH Y02158 12600003 LA DATA,DCMLNE+N1 LOAD LINE ADDRESS 12650000 BAL LINKREG,BLDCCWD1 GO TO BUILD CCW S21003 12700000 LA DATA,DCMMFRST LOAD DATA ADDRESS 12750000 LH LENGTH,MSGLEN LOAD LENGTH 12800000 BAL LINKREG,BLDCCWC GO TO BUILD CCW S21003 12850000 * * 12900000 TEST06AA EQU * THIS CODE CAUSES WRITING OF INFO DISPLAY * 12950000 * AND PARTIAL SCREEN. S21003 13000000 * * 13050000 TM DCMIOCM2,DCMWINFD WRITE I D 13100000 BO WRITID YES, DO IT S21003 13150000 TM DCMIOCM1,DCMWRPAR IS WRITE PARTIAL REQUIRED S21003 13200000 BZ TEST06A NO BRANCH 13250000 WRITID SR RSAVE,RSAVE CLEAR REGISTER S21003 13300000 IC RSAVE,DCMLINEN LOAD LINE ADDRESS S21003 13350000 BCTR RSAVE,N0 DECREMENT BY ONE S21003 13400000 STC RSAVE,DCMLNE+N3 STORE FOR CHANNEL PROGRAM S21003 13450000 OI DCMLNE+N3,NF0 CONVERT TO VALID LINE ADDR MH Y02158 13460003 LA DATA,DCMLNE+N3 LOAD DATA ADDR 13500000 BAL LINKREG,BLDCCWD1 GO TO BUILD CCW S21003 13550000 TM DCMIOCM1,DCMWRPAR IS THIS WRITE PARTIAL S21003 13600000 BZ WRINFO NO, MUST BE WRITE INFO S21003 13650000 MH RSAVE,DCMCORLN MULT LINE NO. BY LINE LENGTH S21003 13700000 L DATA,DCMASCRN POINT TO START OF SCREEN S21003 13750000 AR DATA,RSAVE ADD INDEX VALUE S21003 13800000 LH LENGTH,DCMBYTCT GET BYTE COUNT S21003 13850000 BAL LINKREG,BLDCCWC GO BUILD CCW S21003 13900000 NI DCMIOCM1,X'FF'-DCMWRPAR TURN OFF WRITE PARTIAL S21003 13950000 B TEST06AA TEST FOR INFO DISP S21003 14000000 WRINFO LA DATA,DCMINSTR LOAD DATA ADDR S21003 14050000 LH LENGTH,DCMBYTCT LOAD LENGTH 14100000 BAL LINKREG,BLDCCWC GO TO BUILD CCW S21003 14150000 * * 14200000 TEST06A EQU * THIS CODE WRITES INSTRUCTION LINE * 14250000 * * 14300000 TM DCMIOCM1,DCMWRINS WRITE INSTRUCTION LINE 14350000 BZ TEST07 NO BRANCH 14400000 MVI DCMLNE+N2,NF8 INIT FOR WRITE LINE 14450003 LA DATA,DCMLNE+N2 LOAD DATA ADDRESS 14500000 BAL LINKREG,BLDCCWD1 GO TO BUILD CCW S21003 14550000 LA DATA,DCMINSTR LOAD DATA ADDRESS 14600000 LH LENGTH,DCMCORLN LOAD LENGTH S21003 14650000 BAL LINKREG,BLDCCWC GO TO BUILD CCW S21003 14700000 * * 14750000 TEST07 EQU * THIS CODE CAUSES WRITING OF WARNING LINE * 14800000 * * 14850000 TM DCMIOCM1,DCMWRWRN WRITE WARNING 14900000 BZ TEST08 NO BRANCH 14950000 MVI DCMLNE,NFB LINE POS TO WRITE WARNING 15000003 LA DATA,DCMLNE LOAD DATA ADDR (LINE NUMBER) 15050000 BAL LINKREG,BLDCCWD1 GO TO BUILD CCW S21003 15100000 LA DATA,DCMWARN LOAD DATA ADDRESS 15150000 LH LENGTH,DCMCORLN LOAD LENGTH S21003 15200000 BAL LINKREG,BLDCCWC GO TO BUILD CCW S21003 15250000 * * 15300000 TEST08 EQU * THIS CODE CAUSES WRITING OF ENTRY AREA * 15350000 * * 15400000 TM DCMIOCM1,DCMWRENT WRITE ENTRY AREA 15450000 BZ TEST09 NO BRANCH 15500000 LA DATA,DCMLNEA LOAD DATA ADDR (LINE NUMBER) 15550000 LA CODE,WRITEL LOAD CODE S21003 15600000 LA LENGTH,LENTWO LOAD LENGTH S21003 15650000 BAL LINKREG,BLDCCWD GO TO BUILD CCW S21003 15700000 LA DATA,DCMENTRY LOAD DATA ADDR 15750000 LH LENGTH,ENTLEN LOAD LENGTH 15800000 BAL LINKREG,BLDCCWC GO TO BUILD CCW S21003 15850000 * * 15900000 TEST09 EQU * THIS CODE POSITIONS SOM AND CURSOR IN EA * 15950000 * * 16000000 TM UCMDISP,UCMDISPF+UCMDISPG IS IT OUTPUT ONLY STAT S21003 16050000 BNZ NOP YES, DON'T INSERT CURSOR S21003 16100000 LA DATA,DCMLNEA LOAD DATA ADDR 16150000 LA CODE,WRITEL LOAD CODE S21003 16200000 LA LENGTH,LENTWO LOAD LENGTH S21003 16250000 CLC DCMCULNO(N2),XCOMP SHOULD CURSOR BE ADJ SOM 16300000 BE TEST12 YES BRANCH 16350000 BAL LINKREG,BLDCCWD GO TO BUILD CCW S21003 16400000 SR LENGTH,LENGTH ZERO REGISTER 16450000 IC LENGTH,DCMPOSCU LOAD CURSOR CHAR POSITION 16500000 CLI DCMCULNO,N1 ENTRY LINE NUMBER ONE 16550000 BE TEST10 YES BRANCH 16600000 LA LENGTH,N80(LENGTH) ADD LENGTH OF A LINE 16650000 TEST10 BCTR LENGTH,N0 ADJEST TO CHAR POSITION 16700000 TM DCMIOUNQ,DCMRPCUR NEED TO ADVANCE CURSOR 16750000 BZ TEST11 NO BRANCH 16800000 NI DCMIOUNQ,N255-DCMRPCUR SET OFF SWITCH 16850000 LA CHAR,DCMENTRY(LENGTH) POINT TO ENTRY AREA 16900000 TESTLOOP CLI N0(CHAR),BLANK FOUND BLANK IN ENT AREA 16950000 BE TEST11 YES BRANCH 17000000 LA CHAR,N1(CHAR) ADJUST POINTER 17050000 LA LENGTH,N1(LENGTH) ADJUST LENGTH 17100000 B TESTLOOP KEEP LOOKING FOR BLANK 17150000 TEST11 LA DATA,DCMENTRY LOAD DATA ADRESS 17200000 TEST12 BAL LINKREG,BLDCCWE GO TO BUILD CCW S21003 17250000 EJECT 17300000 ** ** 17350000 * SET UP TO EXECUTE CHANNEL PROGRAM * 17400000 ** ** 17450000 EXCP EQU * EXECUTE CHANNEL PROGRAM 17500000 L XFBRANCH,CSAXB ADDRESS GETLOCK SUBR JE YM8371 17510003 LR X1PARM,PXSA PASS CXSA ADDRESS IN REG 1 JE YM8371 17520003 BALR XERTRN,XFBRANCH OBTAIN LOCKS JE YM8371 17530003 OI UCMSTS,UCMBF TURN ON BUSY BIT 17550000 XC UCMECB,UCMECB CLEAR ECB JE YM8371 17600003 L WORK,UCMDCB GET DCB ADDRESS 17650000 L WORK,N28(WORK) GET IOB ADDRESS 17700000 L XFBRANCH,CSAXC ADDRESS FREELOCK SUBR JE YM8371 17750003 LR X1PARM,PXSA PASS CXSA ADDRESS IN REG 1 JE YM8371 17760003 BALR XERTRN,XFBRANCH RELEASE LOCKS JE YM8371 17770003 EXCP (WORK) INITIATE I/O 17800000 SPACE 4 S21003 17850000 L XFBRANCH,DCMNPROC LOAD PROC 1 ADDRESS 17860000 * FOR EXIT TO IEECVET1 17880000 ** ** 17900000 * EXIT PROCEEDURE * 17950000 ** ** 18000000 EXIT EQU * INITIALIZE FOR EXIT 18050000 MVI DCMIOCM1,N0 SET OFF FLAGS 18100000 NI DCMIOCM2,N3 SET OFF SWITCHES 18150000 EXIT2 EQU * 18200000 L X1PARM,DCMCXSVE RESTORE CXSA ADDRESS 18250000 BR XFBRANCH EXIT ADDRESS ALREADY SET 18300000 SPACE 4 S21003 18350000 NOP EQU * S21003 18400000 LA CODE,NOOP SET CODE TO NO-OP S21003 18450000 LA LENGTH,N1 SET BYTE COUNT S21003 18500000 B TEST12 GO TO BUILD CCW S21003 18550000 EJECT S21003 18600000 ** ** 18650000 * BUILDS ALL CCW'S BASED ON INFORMATION PASSED BY CALLER * 18700000 ** ** 18750000 BLDCCWC MVI N4(CCWPTR),COMCHAIN INDICATE COMMAND CHAINING S21003 18800000 B BUILDCCW GO BUILD CCW S21003 18850000 BLDCCWD1 LA CODE,WRITEL LOAD WRITE CCW CODE S21003 18900000 LA LENGTH,LENONE LOAD LENGTH OF LINE ADDR S21003 18950000 BLDCCWD MVI N4(CCWPTR),DATACHAN INDICATE DATA CHAINING S21003 19000000 B BUILDCCW GO BUILD CCW S21003 19050000 BLDCCWE MVI N4(CCWPTR),ENDCHAIN INDICATE NO CHAINING S21003 19100000 BUILDCCW ST DATA,N0(CCWPTR) STORE DATA ADDR 19150000 STC CODE,N0(CCWPTR) STORE COMMAND CODE 19200000 STH LENGTH,N6(CCWPTR) STORE LENGTH 19250000 MVI N5(CCWPTR),N0 ZERO CCW BYTE 19300000 LA CCWPTR,N8(CCWPTR) INCREMENT CCW POINTER 19350000 BR LINKREG RETURN 19400000 EJECT 19450000 VCONIO2 DC V(IEECVFTR) ADDRESS OF SECOND LOAD 19460000 MESSAGE DC CL27'IEE167E OUTPUT IN HOLD MODE' WARNING MESSAGE 19500000 HOLDMSG DC CL23'IEE159E MESSAGE WAITING' SCREEN FULL MESSAGE 19550000 XCOMP DC X'0101' COMPARE FOR FIRST LINE/FIRST CHARACTER 19600000 XCITE DC H'802' CONSTANT 19650000 LINENO DC X'090A0B00010203040506070809' TO COMPUTE LINE NO 19700000 SPACE 2 S21003 19750000 ** ** 19800000 * COMMAND CODE EQUATES S21003 19850000 ** ** 19900000 RMICODE EQU X'0A' RMI CODE S21003 19950000 WRITEL EQU X'05' WRITE LINE S21003 20000000 ERASE EQU X'07' ERASE SCREEN S21003 20050000 READ EQU X'06' CODE FOR READ DS FULL BUFFER S21003 20100000 NOOP EQU X'03' NO-OP S21003 20150000 SPACE 2 S21003 20200000 ** ** 20250000 * CCW CHAINING EQUATES 20300000 ** ** 20350000 COMCHAIN EQU X'60' COMMAND CHAINING 20400000 DATACHAN EQU X'A0' DATA CHAININD 20450000 ENDCHAIN EQU X'20' STOP CHAINING 20500000 SURPDATA EQU X'30' STOP CHAIN AND SURPRESS DATA 20550000 DUMCHAIN EQU X'B0' SLI,SKIP,AND DATA CHAIN 20600000 SPACE 2 S21003 20650000 ** ** 20700000 * CCW LENGTH FIELDS CONSTANTS * 20750000 ** ** 20800000 ENTLEN DC H'159' LENGTH OF ENTRY AREA 20850000 SCRLEN DC H'960' TOTAL NUMBER CHAR POSITIONS 20900000 LENONE EQU 1 CONSTANT S21003 20950000 LENTWO EQU 2 CONSTANT S21003 21000000 MSGLEN DC H'640' LENGTH OF MESSAGE AREA 21050000 SURPLEN DC H'721' LENGTH OF SURPRESSED READ 21100000 EJECT 21150000 ** ** 21200000 * REGISTER EQUATES * 21250000 ** ** 21300000 X1PARM EQU 1 21310000 XERTRN EQU 14 21312000 XFBRANCH EQU 15 21320000 PARM EQU 1 HOLDS CXSA ADDRESS 21350000 DATA EQU 2 CONTAINS DATA ADDR FOR CCW BUILD 21400000 CHAR EQU 2 HOLDS CHAR WHEN COMPUTING LINE/CHAR 21450000 CODE EQU 3 HOLDS COMMAND CODE FOR CCW BUILD 21500000 LINE EQU 3 HOLDS LINE NUMBER S21003 21550000 RBASE EQU 4 R DCM BASE REGISTER S21003 21600000 LENGTH EQU 5 HOLDS LENGTH FOR CCW BUILD 21650000 LINKREG EQU 6 BALR REG FOR CCW BUILD 21700000 WORK EQU 6 WORK REGISTER 21750000 CCWPTR EQU 7 POINTER TO CCW CHAIN 21800000 RSAVE EQU 8 WORK REG S21003 21850000 UCMBASE EQU 9 UCM BASE 21900000 DCMBASE EQU 10 DCM BASE 21950000 PBASE EQU 11 PROGRAM BASE 22000000 PXSA EQU 12 CXSA ADDRESS 22050000 UCMENTRY EQU 13 UCMENTRY BASE 22100000 RETURN EQU 14 RETURN REGISTER 22150000 XCTLREG EQU 15 XCTL PARAMETER REGISTER 22200000 EJECT 22250000 ** ** 22300000 * MISC EQUATES * 22350000 ** ** 22400000 ID1 EQU C'E' 1ST CHARACTER OF CSECT ID 22410000 ID2 EQU C'R' 2ND CHARACTER OF CSECT ID 22420000 N0 EQU 0 NUMBER 22450000 N1 EQU 1 NUMBER 22500000 N2 EQU 2 NUMBER 22550000 N3 EQU 3 NUMBER 22600000 N4 EQU 4 NUMBER 22650000 N5 EQU 5 NUMBER 22700000 N6 EQU 6 NUMBER 22750000 N8 EQU 8 NUMBER 22800000 N11 EQU 11 NUMBER 22900000 N14 EQU 14 NUMBER 22950000 N23 EQU 23 NUMBER 23000000 N27 EQU 27 NUMBER 23050000 N28 EQU 28 NUMBER 23100000 N39 EQU 39 NUMBER 23150000 N40 EQU 40 NUMBER 23200000 N41 EQU 41 NUMBER 23250000 N57 EQU 57 NUMBER 23300000 N79 EQU 79 NUMBER 23350000 N80 EQU 80 NUMBER 23400000 N132 EQU 132 NUMBER 23450000 N159 EQU 159 NUMBER 23500000 N255 EQU 255 NUMBER 23550000 BLANK EQU C' ' BLANK NUMBER 23600000 CQ EQU C'Q' CHARACTER 23650000 NF0 EQU X'F0' LINE ZERO MH Y02158 23660003 NF8 EQU X'F8' LINE EIGHT MH Y02158 23670003 NF9 EQU X'F9' LINE NINE MH Y02158 23680003 NFB EQU X'FB' LINE ELEVEN MH Y02158 23690003 EJECT 23700000 IHACTM CXSA 23800000 EJECT 23850000 IEECUCM FORMAT=NEW 23950000 EJECT 23960000 IEERDCM 24010000 EJECT 24100000 DCMSTRT DSECT 24150000 IEECDCM DEVICE=C 24200000 END 24700000