*% GOTO IEHDWORX ; /* PL-S BILINGUAL BRCH */ 01050000 MACRO 02010000 IEHDWORK 02020000 COPY LCGASMSW SM4351 02050021 *A 683500 @SA69914=@XA05792=@YA04806=@ZA01201 02100002 * 03000016 * THIS VERSION WAS CHANGED ON 02/13/73 04000002 * ADDITIONS MADE TO THE END OF MODULE ON 02/13/73 04050002 * 05000016 WORK DSECT 06000016 MSGWTR DS 0CL128 OUTPUT MESSAGE BUFFER. 07000016 CC DS CL1 CONTROL CHARACTER. 08000016 MESS DS CL90 MESSAGE BODY. 09000016 NOTHER DS CL15 PAGE. 10000016 NUMB DS CL15 PAGE NUMBER. 11000016 MSGSW1 DS CL1 FIRST ENTRY SWITCH. 12000016 PAGENO DS CL2 CURRENT PAGE NUMBER. 13000016 LINECNT DS CL2 LINE COUNT FIXED. 14000016 LINECNT1 DS CL2 CURRENT LINE COUNT. 15000016 SPACE 16000016 SWITCHRD DS 35F INPUT BUFFER AND SWITCHES. 17000016 SPACE 18000016 ERROR EQU X'80' SYNTAX ERROR. 19000016 BYPASS EQU X'40' SCAN COMPLETE. 20000016 EOF EQU X'20' EOF ENCOUNTERED. 21000016 FIRST EQU X'10' FIRST ENTRY/THIS CARD. 22000016 COMD EQU X'08' COMMAND ENCOUNTERED. 23000016 KEY EQU X'04' KEYWORD ENCOUNTERED. 24000016 PARM EQU X'02' PARAMETER ENCOUNTERED. 25000016 CARDBUFF EQU SWITCHRD+1 CARD READ IN AREA. 26000016 LASTCOLM EQU SWITCHRD+71 LAST COLUMN. 27000016 SAVEPAPR EQU SWITCHRD+81 SAVE AREA FOR PARTIAL PARAMETERS 28000016 COL72LG EQU SWITCHRD+125 COLUMN 72 SWITCH AND LENGTH SW. 29000016 STORGR3 EQU SWITCHRD+128 SAVE AREA FOR SCAN POINTER(GR3) 30000016 PARAMSW EQU SWITCHRD+132 PARAMETER FOLLOWS,CONTINUATION 31000016 PRNTSW EQU SWITCHRD+133 CONTROL PRINTING OF CARD IMAGE 32000016 PARENCTR EQU SWITCHRD+134 PARENTHESIS COUNTER. 33000016 DELIMIN EQU SWITCHRD+136 DELIMITER INDICATORS. 34000016 DELIMIN2 EQU SWITCHRD+137 DELIMITER INDICATORS. 35000016 RESERVE1 EQU SWITCHRD+138 COMMA COUNT. 36000016 RESERVE2 EQU SWITCHRD+139 COMMA/LEFT PAREN. SWITCH 37000016 SPACE 38000016 CTRLLIST DS 0F FUNCTION QUEUE//CONTROL LIST. 39000016 CSIZE EQU 4 BYTES/ENTRY IN CONTROL LIST. 40000016 PTRCFUNC DS CL4 POINTER TO CURRENT FUNCTION. 41000016 SW1 EQU PTRCFUNC SHOWS WHAT STATE FUNCTION IS IN 42000016 PARMXY EQU X'40' PARAMETER PROCESSED. 43000016 DD1OK EQU X'20' COPY CONTROL SWITCH. 44000016 SPEC1 EQU X'04' WORKING WITH CUU'S FOR DDNAMES. 45000016 MULTIPLE EQU X'02' MORE THAN ONE FUNCTION. 46000016 TEXTIN EQU X'10' LOOKING FOR IPL TEXT. 47000016 COMMAND EQU X'01' LOOKING FOR COMMAND. 48000016 PTRFUNC1 DS CL4 FIRST SLOT ON QUEUE. 49000016 ACTIVE EQU X'80' SLOT TAKEN ON CONTROL LIST 50000016 COMPLETE EQU X'40' FUNCTION COMPLETE. 51000016 COPIES EQU X'20' COPIES INVOLVED. 52000016 WAITING EQU X'10' FUNCTION IN WAIT STATE. 53000016 PROCESS EQU X'08' FUNCTION IS PROCESSING. 54000016 NOCORE EQU X'01' NO CORE AVAILABLE. 55000016 MOREFUNC DS CL20 UP TO 5 MORE FUNCTIONS(TOTAL=6). 56000016 ENDCLIST DS CL4 =A(PTRFUNC1)+N X 4 57000016 * WHERE N IS 6 OR LESS AND 58000016 * DEFAULT IS N=6. 59000016 SPACE 60000016 PAGESW DS CL1 X'FF' INDICATES PAGE NO. PASSED. 61000016 DS CL1 RESERVED. 62000016 QCOUNT DS CL2 NUMBER OF FUNCTIONS ON QUEUE 63000016 WIPLPTR DS CL4 POINTER TO IPL TEXT IN CORE. 64000016 PRINT1 DS 1F ADDRESS OF SYSOUT DCB. 65000016 READ1 DS 1F ADDRESS OF SYSIN. 66000016 SYSINDD DS CL8 DDNAME FOR INPUT DATA SET. 67000016 SYSOUTDD DS CL8 DDNAME FOR SYSOUT DATA SET. 68000016 WURK DS 1D WORK AREA 68050000 WORKD8 DS 1D USED FOR PACK INSTRUCTION 68100000 GOTOBR DS 1F GO TO BRANCH VALUE 68150000 GOVAL EQU GOTOBR+3 GO TO VALUE 68200000 HOLD4 DS 1F SAVE CONTENTS OF GR4 68202000 HOLD9 DS 1F SAVE CONTENTS OF GR9 68210000 DS 1F RESERVED FOR EXPANSION 68250000 DS 2D RESERVED FOR EXPANSION 68300000 IOBPTR DS 1F ACTIVE IOB ADR IF I/O ERROR @ZA01201 68350002 LAST DS 0H 69000016 WORKSIZE EQU LAST-MSGWTR SIZE OF WORK AREA. 70000016 *%IEHDWORX: ; /* PL-S BRANCH POINT */ 70050000 * DCL 1 WORK BASED, /* PLS VERSION OF IEHDWORK */ 70060002 * 5 MSGWTR, /* OUTPUT MESSAGE BUFFER */ 70070002 * 10 CC CHAR(1), /* CONTROL CHARACYER */ 70080002 * 10 MESS CHAR(90), /* MESSAGE BODY */ 70090002 * 10 NOTHER CHAR(15), /* PAGE. */ 70100002 * 10 NUMB CHAR(15), /* PAGE NO. */ 70110002 * 10 MSGSW1 CHAR(1), /* 1ST ENTRY SWITCH */ 70120002 * 10 PAGENO FIXED(15), /* CURRENT PAGE NO. */ 70130002 * 10 LINECNT FIXED(15), /* LINE COUNT FIXED */ 70140002 * 10 LINECNT1 FIXED(15), /* CURRENT LINE COUNT */ 70150002 * 5 SWITCHRD, /* INPUT BUFFER AND SWITCHES*/ 70160002 * 10 ERROR BIT (1), /* SYNTAX ERROR */ 70170002 * 10 BYPASS BIT (1), /* SCAN COMPLETE */ 70180002 * 10 EOF BIT (1), /* EOF ENCOUNTERED */ 70190002 * 10 FIRST BIT (1), /* 1ST ENTRY THIS CARD */ 70200002 * 10 COMD BIT (1), /* CMD ENCOUNTERED */ 70210002 * 10 KEY BIT (1), /* KEYWORD ENCOUNTERED */ 70220002 * 10 PARM BIT (1), /* PARAMETER ENCTRED */ 70230002 * 10 NEXTBIT BIT (1), /* UNUSED */ 70240002 * 10 CARDBUFF CHAR (1), /* CARD READ IN AREA */ 70250002 * 10 * CHAR (69),/* */ 70260002 * 10 LASTCOLM CHAR (1), /* LAST COLUMN */ 70270002 * 10 * CHAR (10),/* */ 70280002 * 10 SAVEPAPR CHAR (44),/* SAVEAREA FOR PARTIAL PARM*/ 70290002 * 10 COL72LG CHAR (4) /* COL 72 SWT + LENGTH SWT */ 70300002 * 10 STORGR3 FIXED(31),/* SCAN PTR SAVEAREA (GR3) */ 70310002 * 10 PARAMSW CHAR (1), /* PARAM. FOLLOWS CONTINUATN*/ 70320002 * 10 PRNTSW PTR (8), /* CTL CARD IMAGE PRINTING */ 70330002 * 10 PARENCTR FIXED(15),/* PARENTHESIS CTR. */ 70340002 * 10 DELIMIN CHAR (1), /* DELIMINTER INDIC. */ 70350002 * 10 DELIMIN2 CHAR (1), /* */ 70360002 * 10 RESERVE1 CHAR (1), /* COMMA COUNTER */ 70370002 * 10 RESERVE2 CHAR (1), /* COMMA/LEFT-PAREN SWITCH */ 70380002 * 5 CTRLLIST , /* FUNCTION QUEUE//CTL LIST */ 70390002 * 10 PTRCFUNC PTR (31), /* PTR TO CURRENT FUNCTION */ 70400002 * 15 SW1 PTR (8), /* FUNCTION STATE */ 70410002 * 20 PARMXY BIT (1), /* PARAMETER PROCESSED */ 70420002 * 20 DD10K BIT (1), /* COPY CTL SWT. */ 70430002 * 20 TEXTIN BIT (1), /* LOOKING FOR IPLTXT */ 70440002 * 20 SPEC1 BIT (1), /* WORKING WITH CUU FOR DDN */ 70450002 * 20 SPEC1 BIT (1), /* MULTI-FUNCTION REQ. */ 70460002 * 20 COMMAND BIT (1), /* LOOKING FOR CMD. */ 70470002 * 10 PTRFUNC1 , /* 1ST FUNCTION SLOT */ 70480002 * 15 * CHAR (1), /* */ 70490002 * 20 ACTIVE BIT (1), /* SLOT ACTIVE */ 70500002 * 20 COMPLETE BIT (1), /* FUNCTION COMPLTE */ 70510002 * 20 COPIESTE BIT (1), /* COPIES INVOLVED */ 70520002 * 20 WAWAITING BIT (1), /* FUNCTION WAITING */ 70530002 * 20 PROCESS BIT (1), /* FUNCTION IS PROCESSING */ 70540002 * 20 NOCORE BIT (1), /* NO CORE AVAILABLE */ 70550002 * 10 MOREFUNC (5), /* FIVE ADDITIONAL FUNCTIONS*/ 70560002 * 15 * PTR (8), /* */ 70570002 * 15 * PTR (24), /* */ 70580002 * 10 ENDCLIST, /* PTR TO LAST FUNCTION SLOT*/ 70590002 * 15 * PTR (8), /* */ 70600002 * 15 * PTR (24), /* */ 70610002 * 10 PAGESW CHAR(1), /* X'FF' MEANS PAGE NO. PROC*/ 70620002 * 10 * CHAR(1), /* UNUSED/RESERVED */ 70630002 * 10 QCOUNT FIXED(31), /* FUNCTION COUNT */ 70640002 * 10 WIPLPTR PTR (31), /* IPLTEXT ADDRESS */ 70650002 * 10 PRINT1 PTR (31), /* SYSOUT DCB ADDR. */ 70660002 * 10 READ1 PTR (31), /* SYSIN DCB ADDR. */ 70670002 * 10 SYSINDD CHAR (8), /* SYSIN DDNAME */ 70680002 * 10 SYSOUTDD CHAR (8), /* SYSOUT DDNAME */ 70690002 * 10 WURK CHAR (8), /* SCAN WORK AREA */ 70700002 * 10 WORKD8 FIXED (64),/* SCAN/DASDS WORK AREA */ 70710002 * 10 GOTOBR FIXED (31),/* SCAN/DASDS */ 70720002 * 15 * CHAR (3),/* BRANCH-TABLE */ 70730002 * 15 GOVAL PTR (8),/* VALUE. */ 70740002 * 10 HOLD4 FIXED (31),/* SCAN REG4 SAVEAREA */ 70750002 * 10 HOLD9 FIXED (31),/* SCAN REG9 SAVEAREA */ 70760002 * 10 * FIXED (31),/* RESERVED */ 70770002 * 10 * PTR (31),/* RESERVED */ 70820002 * 10 * PTR (31);/* RESERVED */ 70870002 MEND 71000016