* ADD NAME=ICOMMON 8000-03343-03343-2117-00264-00264-00000-GREG * DEFINE EXTERNAL ROUTINES * 00010000 SPACE 00020000 AIF ('&TESTRAN' NE 'YES').X4D 00030000 &COMPNM.X4N01 CONTAINS DCSCAN,XDSCAN,SYMPUNCH 00040000 AGO .X4N 00050000 .X4D ANOP 00060000 &COMPNM.X4D01 CONTAINS DCSCAN,XDSCAN 00070000 .X4N ANOP 00080000 &COMPNM.X4E01 CONTAINS BLDESD,MAKESD,GETESD,ENTRY,EXTRN,VCON,QCON, ,00090000 REFER 00100000 &COMPNM.X4S01 CONTAINS FIND,ENTER,SUBSET 00110000 &COMPNM.X4V01 CONTAINS EVAL 00120000 SPACE 00130000 SPACE 00140000 * ADDRESSING VIA WORK REGISTERS * 00150000 SPACE 00160000 DSECT2 DSECT , ADDRESS 00170000 USING DSECT2,R2 BASE 00180000 SPACE 00190000 DSECT3 DSECT , ADDRESS 00200000 USING DSECT3,R3 BASE 00210000 SPACE 00220000 USING JTEXT,R4 BASE 00230000 SPACE 00240000 DSECT5 DSECT , ADDRESS 00250000 USING DSECT5,R5 BASE 00260000 SPACE 00270000 DSECT6 DSECT , ADDRESS 00280000 USING DSECT6,R6 BASE 00290000 SPACE 00300000 DSECT7 DSECT , ADDRESS 00310000 USING DSECT7,R7 BASE 00320000 SPACE 00330000 DSECT10 DSECT , ADDRESS 00340000 USING DSECT10,R10 BASE 00350000 SPACE 00360000 DSECT11 DSECT ADDRESS 00370000 USING DSECT11,R11 BASE 00380000 SPACE 00390000 DSECT12 DSECT , ADDRESS 00400000 USING DSECT12,R12 BASE 00410000 SPACE 00420000 DSECT14 DSECT , ADDRESS 00430000 USING DSECT14,R14 BASE 00440000 SPACE 00450000 DSECT15 DSECT , ADDRESS 00460000 USING DSECT15,R15 BASE 00470000 EJECT 00480000 DSECT7 DSECT , ADDRESS 00490000 ORG DSECT7 ORIGIN 00500000 SPACE 00510000 SAVE JSAVE BASE=NO SAVE REGISTER 00520000 BR R14 RETURN 00530000 EXIT JRETURN RESTORE REGISTERS AND RETURN 00540000 AIF ('&TESTRAN' NE 'YES').X4D1 00550000 X4N01 DS A DC EVALUATION (TESTRAN VERSION) 00560000 AGO .X4N1 00570000 .X4D1 ANOP 00580000 X4D01 DS A DC EVALUATION 00590000 .X4N1 ANOP 00600000 X4E01 DS A ESD PROCESSING 00610000 X4S01 DS A SYMBOL TABLE ROUTINES 00620000 X4V01 DS A EXPRESSION EVALUATION 00630000 EJECT 00640000 HASHNR EQU 64 NUMBER OF HASH CHAINS 00650000 MINDBL EQU 1024 MINIMUM STORAGE REQUIREMENT 00660000 MAXDBL EQU 4095 MAXIMUM STORAGE REQUIREMENT 00670000 ALIGNB EQU B'00000001' BYTE ALIGNMENT MASK 00680000 ALIGNH EQU B'00000010' HALFWORD ALIGNMENT MASK 00690000 ALIGNF EQU B'00000100' FULLWORD ALIGNMENT MASK 00700000 ALIGND EQU B'00001000' DOUBLEWORD ALIGNMENT MASK 00710000 EJECT 00720000 * EXTERNAL SYMBOL DICTIONARY * 00730000 SPACE 00740000 ESDBLK1 DS A(*+4),H'324,0',16XL20 ESD BLOCK 1 00750000 ESDBLK2 DS A(*+4),H'324,0',16XL20 ESD BLOCK 2 00760000 FILELAST DS 01XL9 END OF SPILL FILE 00770000 NOTELIST DS 32XL9 ADDRESS OF ESD BLOCKS GP@P6 00780000 OOPS DS X ESD OVERFLOW VALVE 00790000 EJECT 00800000 SYMDIMEN DS 4F SYMBOL TABLE POINTERS 00810000 HASHTBL DS (HASHNR)F HASH TABLE 00820000 EJECT 00830000 SWTCH1 DSW , SWITCH 1 ,00840000 , ,00850000 , ,00860000 , ,00870000 STBLOFLO, SYMBOL TABLE OVERFLOW ,00880000 LITEND, LITERAL AND END @OX09723,00890000 IOFLO, ,00900000 INOTE 00910000 SPACE 00920000 SWTCH2 DSW , SWITCH 2 ,00930000 , ,00940000 INCSECT, ,00950000 , ,00960000 DCMODEXP, DC MODIFIER EXPRESSION ,00970000 , ,00980000 , NOT USED ,00990000 NOT USED 01000000 MODE DS 0H RESERVED FOR MODE SWITCHES ONLY 01010000 DS X RESERVED FOR MODE SWITCHES ONLY 01020000 DSW ,,,,MODE1,MODE2,, RESERVED FOR MODE SWITCHES ONLY 01030000 STARTLOC DS A START LOCATION 01040000 HIESDNR DS H HIGH ESD ID 01050000 DCDSSW DSW SDZDUPF SELF DEF ZERO AS DUPF 01060000 DCDSMODE DSW NOESD,NOESDS,LMOD,BMOD,SMOD MODE 01070000 LINECNT DS H LINE COUNT 01080000 LOCTRSAV DS XL6 LOCATION COUNTER SAVE AREA 01090000 SYMCARD DS 3F TESTRAN CARD BUFFER ADDRESS 01100000 ORG LOCTRSAV AFTER ASSIGNMENT MODE 01110000 DS H NOT USED 01120000 CARDADDR DS 2F ADDRESS OF ESD CARD BUFFER 01130000 ADJINDEX DS 2F ESD ADJUSTMENT TABLE INDEX 01140000 LATADD DS F FIRST LITERAL ENTRY ADDRESS 01150000 LATEND DS F NEXT LITERAL ENTRY ADDRESS 01160000 LATA8 DS F 8 CHAIN ADDRESS 01170000 LATA4 DS F 4 CHAIN ADDRESS 01180000 LATA2 DS F 2 CHAIN ADDRESS 01190000 LATA1 DS F 1 CHAIN ADDRESS 01200000 XPARM DS F PARAMETER 01210000 SPACE 01220000 * TESTRAN OUTPUT BUFFER * 01230000 SPACE 01240000 DS 0F ALIGNMENT 01250000 ORGBYTE DBV TSPACE(X'08'), BYTES SKIPPED ,01260000 TCSECT(X'18'), CSECT ,01270000 TDSECT(X'28'), DSECT ,01280000 TCOM(X'38'), COM ,01290000 TMOP(X'48'), MACHINE OP ,01300000 TCCW(X'58'), CCW ,01310000 TMIS(X'68'), CATCH ALL ,01320000 TDATA(X'88') DATA TYPE 01330000 ORG ORGBYTE ORIGIN 01340000 DSW ,MULTIPLE,CLUSTER,SCALING,LABEL INDICATORS 01350000 ADDRESS DS AL3 ADDRESS 01360000 NAME DS CL8 NAME 01370000 LENGTH DS F LENGTH 01380000 MULTIP DS F MULTIPLICITY 01390000 SCALE DS H SCALE 01400000 DATATYPE DBV , DATA TYPE ,01410000 DTYPEC(X'00'), DATA TYPE C ,01420000 DTYPEX(X'04'), DATA TYPE X ,01430000 DTYPEB(X'08'), DATA TYPE B ,01440000 DTYPEF(X'10'), DATA TYPE F ,01450000 DTYPEH(X'14'), DATA TYPE H ,01460000 DTYPEE(X'18'), DATA TYPE E ,01470000 DTYPED(X'1C'), DATA TYPE D ,01480000 DTYPEA(X'20'), DATA TYPE A ,01490000 DTYPEQ(X'20'), DATA TYPE Q ,01500000 DTYPEY(X'24'), DATA TYPE Y ,01510000 DTYPES(X'28'), DATA TYPE S ,01520000 DTYPEV(X'2C'), DATA TYPE V ,01530000 DTYPEP(X'30'), DATA TYPE P ,01540000 DTYPEZ(X'34'), DATA TYPE Z ,01550000 DTYPEL(X'38') DATA TYPE L 01560000 DS X NOT USED 01570000 SPACE 01580000 * SYMBOL TABLE STAGING AREA * 01590000 SPACE 01600000 XWORK DS 0F WORK 01610000 DS H X 01620000 XFLGA DS X WORK 01630000 XFLGB DS X WORK 01640000 XTYPE DS X WORK 01650000 XFLDI DS X WORK 01660000 XESDI DS H WORK 01670000 XLCTR DS F WORK 01680000 XNAME DS CL8 WORK 01690000 XLNGQ DS H WORK 01700000 FSTCSECT DS H FIRST CSECT NUMBER NUMBER 01710000 HICESDID DS H HIGH EVERYTHING ELSE NUMBER 01720000 HIDESDID DS H HIGH DSECT NUMBER 01730000 INOTEVAL DS XL8 INPUT NOT ADDRESS 01740000 EJECT 01750000 * DC/DS ROUTINE WORK AREA * 01760000 SPACE 01770000 DCDSWORK 01780000 SPACE 01790000 DS 0F 01800000 INPUTBUF DS XL300 INPUT BUFFER 01810000 EJECT 01820000 * EVALUATION ROUTINE WORK AREA * 01830000 SPACE 01840000 EVALWORK 01850000 ENDOFCOM DS 0F ENOVID 01860000 EJECT 01870000 DSECT6 DSECT , ADDRESS 01880000 ORG DSECT6 ORIGIN 01890000 SPACE 01900000 EITEM DS 0XL20 ESD ENTRY 01910000 ETYPE DBV , ESD TYPE ,01920000 ETYPESD(X'00'), CONTROL SECTION--CSECT ,01930000 ETYPELD(X'01'), LABEL DEFINITION--ENTRY ,01940000 ETYPEER(X'02'), EXTERNAL REFERENCE--EXTRN ,01950000 ETYPEPC(X'04'), PRIVATE CODE-- ,01960000 ETYPECM(X'05'), COMMON SECTION--COM ,01970000 ETYPEXD(X'06'), EXTERNAL DUMMY--DXD ,01980000 ETYPEDX(X'07'), EXTERNAL DUMMY--DSECT ,01990000 ETYPEDS(X'08'), DUMMY SECTION--DSECT ,02000000 ETYPELX(X'09'), LABEL DEFINITION - ENTRY ,02010000 ETYPEWX(X'0A') EXTERNAL REFERENCE - WXTRN 02020000 SPACE 02030000 EFLGS DSW , NOT USED ,02040000 , NOT USED ,02050000 , NOT USED ,02060000 , NOT USED ,02070000 ESDNRSW2, X ,02080000 CSECTSW2, X ,02090000 DSECTSW2, X ,02100000 DSCOMSW2 X 02110000 SPACE 02120000 ERCDC DS 0XL6 FIELD 02130000 ESWTS DSW ,DSW2,CSW2,QDSW2 02140000 ORG ESWTS ORIGIN 02150000 EESDI DS H ESD IDENTIFICATION 02160000 EFLDA EQU * FIELD 02170000 ELCTR DS F CURRENT LOCATION COUNTER VALUE 02180000 EHILC DS F HIGH LOCATION COUNTER VALUE 02190000 ORG EFLDA ORIGIN 02200000 DS H NOT USED 02210000 ELDID DS H CONTROL SECTION DEFINED 02220000 ELDAD DS F OFFSET IN CONTROL SECTION 02230000 ORG EFLDA ORIGIN 02240000 EXDAL DBV , ALIGNMENT ,02250000 EXDALX(B'00000000'), BYTE BOUNDARY ,02260000 EXDALH(B'00000001'), HALFWORD BOUNDARY ,02270000 EXDALF(B'00000011'), FULLWORD BOUNDARY ,02280000 EXDALD(B'00000111'), DOUBLEWORD BOUNDARY 02290000 DS X NOT USED 02300000 EXDID DS H ESDID OF DSECT REFERENCED 02310000 EXDLN DS F DUMMY SECTION LENGTH 02320000 ENAME DS CL8 SYMBOL 02330000 EJECT 02340000 DSECT14 DSECT , ADDRESS 02350000 ORG DSECT14 ORIGIN 02360000 SPACE 02370000 * FORMAT OF SYMBOL TABLE ENTRY * 02380000 SPACE 02390000 SFLGS DSW LNGDEF, X ,02400000 XDUMMY, X ,02410000 XENTRY, X ,02420000 ENTRYSW, X ,02430000 ESDNRSW, X ,02440000 CSECTSW, X ,02450000 DSECTSW, X ,02460000 DSCOMSW X 02470000 SPACE 02480000 ORG SFLGS ORIGIN 02490000 SCHPT DS A CHAIN POINTER 02500000 SNAME DS CL8 SYMBOL 02510000 SLNGQ DS H SYMBOL LENGTH ATTRIBUTE 02520000 SSWTS DSW ,DSW,CSW,,ESW,EQUF X @OY08064,OX00106 02530000 ORG SSWTS ORIGIN 02540000 SESDI DS H ESDID ASSOCIATED WITH VALUE 02550000 SLCTR DS F VALUE 02560000 SPACE 02570000 SLAST EQU * X 02580000 ORG SCHPT ORIGIN 02590000 SITEM DS 0XL(SLAST-SCHPT) FIELD 02600000 ORG SNAME ORIGIN 02610000 SSEG1 DS 0XL(L'SNAME+L'SLNGQ) FIELD 02620000 ORG SESDI ORIGIN 02630000 SSEG2 DS 0XL(L'SESDI+L'SLCTR) FIELD 02640000