QWI8 TITLE 'IEDQWI8 CONFIGURATOR SUB-MODULE 4' 00300020 IEDQWI8 CSECT 00500000 *A000000-999999 @Y16X5U0 00502000 *CHANGE ACTIVITY AS FOLLOWS: 00505000 *A570300-572400 SA64782 00505154 *C571200 @XA06337 00505256 *C808800 @OY20528 00505382 **************************************************************** S22024 00510000 * * S22024 00515000 * * S22024 00535000 * MODULE NAME -- * S22024 00540000 * * S22024 00545000 * IEDQWI8 (TCAM,TOTE) @Y17XAUU 00550000 * * S22024 00555000 * DESCRIPTIVE NAME -- * S22024 00560000 * * S22024 00565000 * TOTE CONFIGURATOR SUB-MODULE * S22024 00570000 * * S22024 00575000 * COPYRIGHT -- * S22024 00580000 * * S22024 00585000 * 'NONE' * S22024 00590000 * * S99528 00600022 * STATUS -- * S99528 00700022 * * S99528 00800022 * VERSION 10.0 @Y17XAUU 00900000 * * S99528 01000022 * FUNCTION -- * S99528 01100022 * * S99528 01200022 * THE PURPOSE OF THIS MODULE IS TO VERIFY THAT A @Y17XAUU 01300000 * TERMINAL NAME IS IN THE TERMINAL NAME TABLE. @Y17XAUU 01400000 * * S99528 01500022 * THE MODULE ALSO OBTAINS THE POLLING AND ADDRESSING * S99528 01600022 * CHARACTERS FROM THE TERMINAL TABLE. * S99528 01700022 * * S99528 01800022 * ENTRY POINTS -- * S99528 01900022 * * S99528 02000022 * - RECEIVES CONTROL FROM IEDQWIA VIA A 'LOAD' WHEN * S99528 02100022 * AN 'ADD' FUNCTION IS REQUESTED. * S99528 02200022 * - RECEIVES CONTROL FROM IEDQWIA VIA A 'LOAD' WHEN * S99528 02300022 * A 'CHANGE' OR 'DELETE' FUNCTION IS REQUESTED * S99528 02400022 * * S99528 02500022 * PURPOSE -- SEE FUNCTION @Y17XAUU 02530000 * @Y17XAUU 02560000 * MODULE TYPE -- PROCEDURE @Y17XAUU 02590000 * @Y17XAUU 02620000 * MODULE SIZE - REFER TO ASSEMBLER LISTING @Y17XAUU 02650000 * @Y17XAUU 02680000 * PROCESSOR -- ASSEMBLER XF @Y17XAUU 02710000 * @Y17XAUU 02740000 * LINKAGE -- LINK TO FROM IEDQWIA, IEDQWID, AND IEDQWIE @Y17XAUU 02770000 * * S99528 02800022 * MACRO -- SAVE, IEDHJN, IEDQMSG @Y17XAUU 02830000 * @Y17XAUU 02860000 * INPUT -- * S99528 02900022 * * S99528 03000022 * REGISTERS 02,03,05,11,13,14,15 CONTAIN THE FOLLOWING * S99528 03100022 * VALUES: * S99528 03200022 * * S99528 03300022 * 02 - OLTCB ADDRESS * S99528 03400022 * 03 - BASE REGISTER * S99528 03500022 * 05 - UCB ADDRESS * S99528 03600022 * 11 - CALLING ROUTINE WORK AREA * S99528 03700022 * 13 - SAVE AREA ADDRESS * S99528 03800022 * 14 - RETURN ADDRESS * S99528 03900022 * 15 - ENTRY POINT ADDRESS * S99528 04000022 * * S99528 04100022 * OUTPUT -- * S99528 04200022 * * S99528 04300022 * REGISTERS 01,14,15 CONTAIN THE FOLLOWING VALUES: * S99528 04400022 * * S99528 04500022 * 01 - PARAMETER LIST ADDRESS * S99528 04600022 * 14 - RETURN FROM AVTUI * S99528 04700022 * 15 - AVTUI ADDRESS * S99528 04800022 * * S99528 04900022 * EXTERNAL REFERENCES -- * S99528 05000022 * * S99528 05100022 * AVTUI - TCAM BINARY SEARCH ROUTINE * S99528 05200022 * IEDIAP04 - TTCIN TO NETWORK ADDRESS CONVERSION RTN @Y17XAUU 05250000 * * S99528 05300022 * EXITS,NORMAL -- * S99528 05400022 * * S99528 05500022 * BR AFTER 'PLRET' TO CALLING MODULE * S99528 05600022 * * S99528 05700022 * EXITS,ERROR -- * S99528 05800022 * * S99528 05900022 * BR AFTER ERROR1' TO CALLING MODULE * S99528 06000022 * * S99528 06100022 * TABLES/WORK AREAS -- * S99528 06200022 * * S99528 06300022 * TERMNAME TABLE, TERMINAL TABLE, UCB, CDS WORK AREA * S99528 06400022 * * S99528 06500022 * ATTRIBUTES -- * S99528 06600022 * * S99528 06700022 * ENABLED, PROBLEM PROGRAM MODE, TRANSIENT * S99528 06800022 * * S99528 06900022 * NOTES -- SEE BELOW @Y17XAUU 06910000 * @Y17XAUU 06920000 * RESTRICTIONS-- NONE @Y17XAUU 06930000 * @Y17XAUU 06940000 * DEPENDENCIES -- EBCDIC CHARACTER CODE @Y17XAUU 06950000 * @Y17XAUU 06960000 * REGISTERS CONVENTIONS -- SEE REGISTERS ASSIGNMENT @Y17XAUU 06970000 * @Y17XAUU 06980000 * PATCH LABEL -- PATCH @Y17XAUU 06990000 * * S99528 07500022 * * S99528 07700022 **************************************************************** 07800022 EJECT 12300020 **************************************************************** S99528 21600022 * * 22500000 * EQUATES * 22700000 * * 22900000 **************************************************************** S99528 23200022 R0 EQU 0 REGISTER 0 S22024 23700000 R1 EQU 1 REGISTER 1 S22024 23770000 WORKREG1 EQU 1 WORK REGISTER 1 S22024 23840000 WORKREG4 EQU 4 WORK REGISTER 4 S22024 23910000 WORKREG5 EQU 5 WORK REGISTER 5 S22024 23980000 WORKREG6 EQU 6 WORK REGISTER 6 S22024 24050000 WORKREG7 EQU 7 WORK REGISTER 7 S22024 24120000 WORKREG8 EQU 8 WORK REGISTER 8 S22024 24190000 RTRM EQU 8 TTE PTR @Y17XAUU 24220000 RETURN EQU 9 RETURN REGISTER S22024 24260000 R12 EQU 12 REGISTER 12 S22024 24330000 R13 EQU 13 SAVE AREA ADDRESS S22024 24400000 R14 EQU 14 RETURN ADDRESS S22024 24470000 R15 EQU 15 ENTRY POINT ADDRESS S22024 24540000 R2 EQU 2 OLTCB POINTER S99528 24700022 PARMREG0 EQU 0 PARAMETER REG 0 S99528 25220022 PARMREG1 EQU 1 PARAMETER REG 1 S99528 25240022 BASEREG EQU 3 BASE REGISTER S99528 25260022 ENTRYPT EQU 15 ENTRY POINT ADDR S99528 25280022 SAVEAREA EQU 13 POINTER TO SAVE AREA S99528 25300022 SAVEADDR EQU 15 SAVE AREA ADDR S99528 25320022 RETCODE EQU 15 RETURN CODE S99528 25340022 CALLERS EQU 8 OFFSET TO CALLERS SAVE S99528 25360022 OWN EQU 4 OFFSET TO OWN SAVE S99528 25380022 NAMLEN EQU 8 LENGTH OF SYM NAME S99528 25400022 BRTBLADR EQU 8 BRANCH TABLE ADDR S99528 25420022 CHANGE EQU X'06' CHANGE FLAG S99528 25440022 BADNAME EQU X'04' BAD SYM NAME TEST S99528 25460022 TWO EQU 2 OFFSET FOR CHAR LENGTH S22025 28570022 ONE EQU 1 OFFSET @Y17XAUU 28600000 FOUR EQU 4 OFFSET FOR BRANCH S22025 28640022 EIGHT EQU 8 OFFSET FOR A1 ADDR S22025 28710022 D0 EQU 0 DISPLACEMENT 0 S99528 32760022 D11 EQU 11 DISPLACEMENT 11 S99528 32820022 CONCTERM EQU X'80' FLAG SETTING INDICATING S99528 32880022 * CONCENTRATOR TERMINAL S99528 32940022 DO EQU 0 CONSTANT DISPLACEMENT 0 S22024 32945000 D1 EQU 1 DISPLACEMENT 1 S22024 32950000 D2 EQU 2 CONSTANT TWO S22024 32960000 D8 EQU 8 DISPLACEMENT 8 S22024 32970000 L1 EQU 1 CONSTANT LENGTH FOR MOVE S22024 32976000 CONCSELF EQU X'E0' CONCENTRATOR ENTRY NAMED S22024 32982000 SPECIAL EQU X'F0' SPECIAL CONFIG RUN - S22024 32988000 * ADD/CHANGE TO LOCAL CDS S22024 32994000 EJECT 33000020 **************************************************************** S99528 33100022 * * 33300000 * INITIALIZATION * 33600000 * * 33900000 **************************************************************** S99528 34200022 SAVE (14,12) SAVE CALLER'S REGISTERS S22024 34500000 LR BASEREG,ENTRYPT LOAD BASE REG. S99528 34800022 USING IEDQWI8,BASEREG ESTAB PGM BASE S99528 35100022 USING TOTOLTCB,R2 ESTAB OLTCB BASE S99528 35400022 IEDQWI8 IEDHJN IEDQWI88,HJN SET DATE AND MODULE NAME S22024 35500000 LA SAVEADDR,QWI8SAVE LOAD ADDR. OF OWN SAVE AR S99528 35700022 ST SAVEADDR,CALLERS(SAVEAREA) STORE ADDR.IN CALLER S99528 36000022 ST SAVEAREA,OWN(SAVEADDR) STORE CALLERS IN OWN S99528 36300022 LR SAVEAREA,SAVEADDR GET SAVE ADDR S99528 36600022 **************************************************************** S99528 36900022 * * S99528 37200022 * ROUTINE TO PICK UP TERMNAME TABLE FROM TCAM 37500020 * * S99528 37800022 **************************************************************** S99528 38100022 L WORKREG6,TOTAVTPT GET ADDRESS OF AVT S22024 38700000 USING IEDQAVTD,WORKREG6 39600020 L WORKREG7,AVTMSGS-1 GET VCON TABLE ADDR S22025 39800022 L WORKREG7,EIGHT(,WORKREG7) LOAD ADDR OF A1 ROUTINE S22025 40000022 ST 7,AVTUISV SAVE IT 40200020 MVC PAREM(1),AVTBSX GET AVT BSX 40500020 ST WORKREG6,AVTADDR SAVE 40800020 L WORKREG7,AVTCSTCS PICK UP DCT ADDR 41100020 ST WORKREG7,DCTADDR SAVE 41400020 L WORKREG7,AVTRNMPT PICK UP TERMNAME TABLE ADDR 41700020 ST WORKREG7,TNTABLE SAVE 42000020 DROP WORKREG6 42300020 **************************************************************** S99528 42800022 * * S99528 43300022 * D E T E R M I N E I F S Y M B O L I C N A M E V A L S99528 43800022 * * S99528 44300022 **************************************************************** S99528 44800022 SPACE 45300020 NAMESRCH EQU * FIND LENGTH OF TERMINAL N S99528 45900022 SR WORKREG4,WORKREG4 CLEAR WORK REG S99528 46500022 LA WORKREG6,CEMSG PLACE ADDR ON NAME IN WRK S99528 47100022 BLNKTEST CLI 0(WORKREG6),X'40' END OF NAME? S99528 47700022 BE BLNKFIND BR EQUAL WITH LEN IN R4 S99528 48300022 LA WORKREG4,1(WORKREG4) INCREMENT POINTERS 49200020 LA WORKREG6,1(WORKREG6) 49500020 LA WORKREG8,8 SET UP COMPARAND 49800020 CR WORKREG8,WORKREG4 GT 8? 50100020 BE BLNKFIND YES S99528 50400022 B BLNKTEST BRANCH TO BLANK TEST S99528 50700022 BLNKFIND STC 4,LENGTH SET UP S99528 51000022 TERMSRCH EQU * 51300020 LA WORKREG1,CEMSG SET UP TO PAD WITH BLANKS S99528 51600022 AR WORKREG1,WORKREG4 POINT TO END OF NAME 51900020 LA R15,8 52200020 CR WORKREG4,R15 ALREADY HAVE 8 CHARS? 52500020 BE TERSCH1 YES BRANCH 52800020 SR R15,WORKREG4 GET NUMBER OF BLANKS TO MOVE 53100020 EX R15,BLMOVE MOVE IN BLANKS S99528 53400022 TERSCH1 EQU * 53700020 LA WORKREG7,CEMSG GET MESSAGE ADDR S99528 53800022 ST WORKREG7,MSGADDR STORE ADDR S99528 53900022 LA WORKREG1,PAREM 54000020 L R15,AVTUISV SEARCH 54300020 LH R0,TWO(,R1) LOAD CHAR STRING LEN S22025 54400022 L R1,FOUR(,R1) LOAD ADDR OF CHARS S22025 54500022 BAL R14,FOUR(R15) BRANCH TO SCAN ROUTINE S22025 54600022 LTR R15,R15 NAME FOUND 54900020 BZ ERROR1 NO GO TO ERROR ROUT 55200020 TERM1 LR WORKREG1,R15 PUT OFFSET IN R1 55500020 LR WORKREG8,R15 SAVE TERMNAME TABLE INDEX 55800020 L R15,TNTABLE PICK UP TERMNAME TAB ADDR 56100020 BALR R14,R15 GO GET ENTRY 56400020 ST WORKREG1,TERTABLE SAVE TERMINAL TABLE ADDR 56700020 STH WORKREG8,WORK2 SAVE TERMINAL TABLE INDEX 57000020 LA R14,TRMPRFSZ GET TTE PREFIX SIZE @Y17XAUU 57007000 SLR WORKREG1,R14 POINT TO TTE PREFIX @Y17XAUU 57014000 USING IEDNTRM,WORKREG1 SET TTE ADDRESSABILITY @Y17XAUU 57021000 TM TRMDSORG,TRMLGB IS THIS A LGB? SA64782 57060054 BO ERROR1B YES, ERROR SA64782 57090054 TM TRMSTATE,TRMPROC+TRMLIST IS THIS LOG @XA06337 57120056 * LIST, OR SA64782 57150054 * PROCESS ENTRY?SA64782 57180054 BNZ ERROR1B YES, ERROR SA64782 57210054 CLI TRMTYPE,TRMLNCP LOCAL NCP ENTRY @Y17XAUU 57216000 BE ERROR1B YES - ERROR @Y17XAUU 57222000 CLI TRMTYPE,TRMPUNT PU ENTRY @Y17XAUU 57228000 BE ERROR1B YES - ERROR @Y17XAUU 57234000 DROP WORKREG1 DROP TRM BASE SA64782 57240054 B TERMFIND GO FIND TERMINAL S99528 57300022 ERROR1 EQU * HANDLE ERROR S99528 57900022 MVC CDSMEMBR(NAMLEN),CEMSG MOVE NAME TO CDSBLDL LIST S22024 57960000 IEDQMSG MSGID=009,FUNCT=REP,INBUF=CEMSG,INCNT=3, *58020000 LINK=YES S22024 58080000 CLC CEMSG(L1),NCPANS IS THIS A NCP CDS? S22024 58140000 BE ERROR1C YES, SET SPECIAL FLAGS S22024 58160000 CLC CEMSG(L1),EXTANS IS THIS A 3705 EXTENSION? S22024 58180000 BE ERROR1A YES S22024 58200000 CLC CEMSG(L1),NEGANS NEGATIVE RESPONSE? S22024 58260000 BE ERROR1B YES S22024 58320000 B ERROR1 BAD RESPONSE ASK QUEST AGAIN S22024 58380000 ERROR1B DS 0H ALIGN FO INSTRUCTION S22024 58440000 MVI CDSRETFL,BADNAME SET ERROR RETURN CODE S99528 58500022 B PLRET BR TO RETURN PROCEDURE S99528 59100022 ERROR1A DS 0H ALIGN FO INSTRUCTION S22024 59170000 MVI CDSRETFL,SPECIAL MOVE IN SPECIAL FLAG S22024 59240000 B PLRET BRANCH TO RETURN PROCEDURE S22024 59310000 ERROR1C EQU * S22024 59320000 MVI CDSRETFL,SPECIAL TURN ON SPECIAL CONFIG S22024 59330000 MVI CDSCFLGS,SPECIAL INDICATE THIS IS NCP CDS S22024 59340000 B PLRET GO TO RETURN ROUTINE S22024 59350000 EJECT 59400022 **************************************************************** S99528 59700022 * * S99528 60000022 * M O V E N A M E T O C D S B L D L L I S T S99528 60300022 * * S99528 60600022 **************************************************************** S99528 60900022 TERMFIND MVC CDSMEMBR(NAMLEN),CEMSG MOVE NAME TO CDSBLDL LIST S99528 61200022 DS 0H ESTAB HALFWORD BOUND S99528 61500022 L RETCODE,FOUND SET RET CODE TO FOUND S99528 61800022 L RTRM,TERTABLE GET TERMINAL TABLE ADDR @YM07417 62100000 SPACE 3 62400000 **************************************************************** S99528 62600022 * * S99528 62800022 * P I C K U P D E V I C E D E P E N D E N T F L D A S99528 63000022 * * S99528 63200022 **************************************************************** S99528 63400022 TERM2 EQU * 63900020 USING IEDNTRM,RTRM SET UP ADDRESSIBILITY @Y17XAUU 63920000 * TERMINAL ENTRY S22024 63940000 LA WORKREG4,TRMPRFSZ GET TTE PREFIX SIZE @Y17XAUU 63946000 SLR RTRM,WORKREG4 POINT TO TTE PREFIX @Y17XAUU 63952000 TM TRMSTATE,TRMPREF 3705 MODE? @Y17XAUU 63960000 BZ DIAL BYPASS RSID GET S22024 63962000 LR WORKREG4,WORKREG1 SAVE TTE ADDRESS @Y17XAUU 63964000 LH WORKREG1,WORK2 GET TTCIN @Y17XAUU 63966000 L R15,TOTAVTPT GET AVT ADDRESS @Y17XAUU 63968000 USING IEDQAVTD,R15 SET AVT ADDRESSABILITY @Y17XAUU 63970000 L R15,AVTSAVTP GET SAVT ADDRESS @Y17XAUU 63972000 DROP R15 @Y17XAUU 63974000 LA R15,D0(R15) CLEAR FLAG BYTE @Y17XAUU 63976000 USING IEDNSVTD,R15 SET SAVT ADDRESSABILITY @Y17XAUU 63978000 L R15,SAVTTNTX GET ADDRESS OF IEDIAP04 @Y17XAUU 63980000 BALR R14,R15 CALL CONVERSION ROUTINE @Y17XAUU 63982000 STH R15,CDSREC MOVE NETWORK ADDRESS @YM07278 63983000 * INTO CDS @Y17XAUU 63986000 DIAL EQU * 68100020 L R14,TOTAVTPT GET TCAM AVT ADDR @Y17XAUU 68160000 USING IEDQAVTD,R14 EST. ADDRESSABILITY @Y17XAUU 68220000 L R15,AVTDDFT GET QTL ADDRESS @Y17XAUU 68280000 DROP R14 RELEASE @Y17XAUU 68340000 TM TRMDEVFL,TRMDDIG ANY DIAL DIGITS @Y17XAUU 68400000 BZ IDCHK NO BRANCH 68700020 LA R0,TRMDDIG SET THE MASK FOR QTL @Y17XAUU 69000000 LA R1,TRMPRFSZ PREFIX LENGTH @Y17XAUU 69050000 ALR R1,RTRM POINT TO POSTIVE @Y17XAUU 69100000 BALR R14,R15 GO GET ADDR OF DIAL D @Y17XAUU 69150000 IC WORKREG4,AVTEZERO(R1) GET THE LENGTH @Y17XAUU 69200000 LA R14,CDS#DIAL 69250000 EX WORKREG4,GENMOVE MOVE DIAL DIGITS TO CDS @Y17XAUU 69600000 IDCHK EQU * 70200020 TM TRMDEVFL,TRMADDC ADDRESSING CHARS? @Y17XAUU 70500000 BZ INVITE NO BRANCH 70800020 LA R0,TRMADDC SET THE MASK FOR QTL @Y17XAUU 70850000 LA R1,TRMPRFSZ PREFIX LENGTH @Y17XAUU 70900000 ALR R1,RTRM POINT TO POSTIVE @Y17XAUU 70950000 L R14,TOTAVTPT GET TCAM AVT ADDRESS @VM07417 70960000 USING IEDQAVTD,R14 EST. ADDRESSABILITY @YM07417 70970000 L R15,AVTDDFT GET QTL ADDRESS @YM07417 70980000 DROP R14 RELEASE @YM07417 70990000 BALR R14,R15 GET ADDRESS OF DIAL DIGT@Y17XAUU 71000000 IC WORKREG4,AVTEZERO(R1) GET THE LENGTH @Y17XAUU 71050000 B IDCHK1 CHECK ID S99528 71100022 GENMOVE MVC D0(D0,R14),AVTEZERO(R1) MOVE CHARS TO CDS @Y17XAUU 71400000 BLMOVE MVC D0(D0,WORKREG1),BLANKS MOVE BLANKS INTO FIELD S22024 71700000 IDCHK1 EQU * 72000020 LA R14,CDS#ADDR 72100000 EX WORKREG4,GENMOVE MOVE COMP CHARS TO DCHB 72900020 INVITE EQU * 73200020 CLI FLAG,CONCTERM IS THIS THE CONCENTRATOR S99528 73205022 * ENTRY? S99528 73210022 BE PLRET YES, GO RETURN TO CALLER S99528 73215022 TM TRMDEVFL+ONE,TRMCONC IS THE TERMINAL ATTACHED@Y17XAUU 73220000 * TO A CONCENTRATOR? S99528 73225022 BZ PLRET NO, RETURN TO CALLER S99528 73230022 L WORKREG8,TRMDESTQ-ONE GET ADDRESS OF DEST QCB S99528 73235000 USING IEDQQCB,WORKREG8 S99528 73240022 TM QCBDSFLG,QCBDRQQ IS QCB A DATA READY QUEUE?S22024 73240500 BZ INVITE1 NO, TERMINAL ATTACHED TO S22024 73241000 * CONCENTRATOR - CONTINUE S22024 73241500 IEDQMSG MSGID=105,FUNCT=CEC ISSUE CONCENTRATOR MSG S22024 73242000 MVI CDSRETFL,CONCSELF SET RETURN CODE TO CONC- S22024 73242500 * ENTRATOR REQUEST S22024 73243000 B PLRET GO RETURN TO CALLER S22024 73243500 INVITE1 EQU * S22024 73244000 LA WORKREG5,QCBDSFLG GET ADDRESS OF QCB S99528 73245022 AH WORKREG5,QCBEXTO ADD OFFSET TO QCB S99528 73250022 * EXTENSION S99528 73255022 DROP WORKREG8 S99528 73260022 L WORKREG1,D0(WORKREG5) GET ADDRESS OF CONCEN- S99528 73265022 * TRATOR TERMINAL ENTRY S99528 73270022 MVI FLAG,CONCTERM SET FLAG INDICATING S99528 73275022 * THIS IS CONCENTRATOR S99528 73280022 * ENTRY 73285022 B TERM2 GO CHECK ADDRESSING CHARSS99528 73290022 PLRET EQU * RETURN PROCEDURE S99528 73300022 L R13,4(R13) GET ADDR. OF CALLERS SAVE S99528 73400022 L R14,12(R13) RESTORE R14 S99528 73500022 LM R0,R12,20(13) RESTORE CALLES REGISTERS S99528 73600022 BR RETURN RETURN TO CALLING MODULE S99528 73700022 EJECT 73800020 DS 0F 74200022 TNTABLE DS F TERM NAME TAB ADDR S99528 74600022 INVADDR DS F INIVIT LIST ADDR S99528 75000022 DCTADDR DS F DCT ADDRESS S99528 75400022 AVTADDR DS F AVT ADDR S99528 75800022 SCTADD DS F SCT ADDRESS S99528 76200022 WORK1 DS F WORK AREA S99528 76600022 BLANKS DC CL8' ' BLAKS FOR TEST S99528 77000022 FOUND DC X'00' RETURN CODE TEST S99528 77400022 PATCH DC CL50' ' MAINTENANCE AREA S99528 78000022 DS 0F S99528 78300022 QWI8SAVE DS 18F SAVE AREA S99528 78600022 PAREM DS 0CL8 PARAMETER LIST S99528 78900022 DS CL1 WORK AREA S99528 79200022 DC X'00' ZERO CONSTANT S99528 79500022 DC X'00' ZERO CONSTANT S99528 79800022 LENGTH DS CL1 LENGTH S99528 80100022 MSGADDR DS F MESSAGE ADDRESS S99528 80400022 FLAG DC XL1'00' FLAG BYTE S99528 80500022 AVTUISV DS F ADDRRESS OF BINARY SEARCH 80700022 POSANS DC C'Y' POSITIVE RESPONSE S22024 80704000 NEGANS DC C'N' NEGATIVE RESPONSE S22024 80705000 NCPANS DC C'C' NCP CDS REPLY S22024 80705600 EXTANS DC C'E' 3705 EXTENSION REPLY S22024 80706200 EJECT 80707022 TQCBD S99528 80714022 EJECT 80721022 * ROUTINE 80730022 OLTCB CONFG=YES OLTCB DSECT S99528 80760022 CEMSG EQU TOTINBUF EQU TO INPUT MESSAGE S99528 80820022 TERTABLE DS F SAVE TTE ADDRESS @OY20528 80880082 WORK2 EQU CDSCODE PTR TO WORK AREA S99528 80940022 EJECT 80947000 TTRMD S22024 80954000 EJECT 80961000 TAVTD S22024 80968000 EJECT 80975000 CVT DSECT S22024 80982000 CVT S22024 80989000 END 81000020