* 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