Table of Contents

ICOMMON Source

References

Source Listing

ICOMMON.COPY.txt
  1. * ADD NAME=ICOMMON 8000-03343-03343-2117-00264-00264-00000-GREG
  2. * DEFINE EXTERNAL ROUTINES * 00010000
  3. SPACE 00020000
  4. AIF ('&TESTRAN' NE 'YES').X4D 00030000
  5. &COMPNM.X4N01 CONTAINS DCSCAN,XDSCAN,SYMPUNCH 00040000
  6. AGO .X4N 00050000
  7. .X4D ANOP 00060000
  8. &COMPNM.X4D01 CONTAINS DCSCAN,XDSCAN 00070000
  9. .X4N ANOP 00080000
  10. &COMPNM.X4E01 CONTAINS BLDESD,MAKESD,GETESD,ENTRY,EXTRN,VCON,QCON, ,00090000
  11. REFER 00100000
  12. &COMPNM.X4S01 CONTAINS FIND,ENTER,SUBSET 00110000
  13. &COMPNM.X4V01 CONTAINS EVAL 00120000
  14. SPACE 00130000
  15. SPACE 00140000
  16. * ADDRESSING VIA WORK REGISTERS * 00150000
  17. SPACE 00160000
  18. DSECT2 DSECT , ADDRESS 00170000
  19. USING DSECT2,R2 BASE 00180000
  20. SPACE 00190000
  21. DSECT3 DSECT , ADDRESS 00200000
  22. USING DSECT3,R3 BASE 00210000
  23. SPACE 00220000
  24. USING JTEXT,R4 BASE 00230000
  25. SPACE 00240000
  26. DSECT5 DSECT , ADDRESS 00250000
  27. USING DSECT5,R5 BASE 00260000
  28. SPACE 00270000
  29. DSECT6 DSECT , ADDRESS 00280000
  30. USING DSECT6,R6 BASE 00290000
  31. SPACE 00300000
  32. DSECT7 DSECT , ADDRESS 00310000
  33. USING DSECT7,R7 BASE 00320000
  34. SPACE 00330000
  35. DSECT10 DSECT , ADDRESS 00340000
  36. USING DSECT10,R10 BASE 00350000
  37. SPACE 00360000
  38. DSECT11 DSECT ADDRESS 00370000
  39. USING DSECT11,R11 BASE 00380000
  40. SPACE 00390000
  41. DSECT12 DSECT , ADDRESS 00400000
  42. USING DSECT12,R12 BASE 00410000
  43. SPACE 00420000
  44. DSECT14 DSECT , ADDRESS 00430000
  45. USING DSECT14,R14 BASE 00440000
  46. SPACE 00450000
  47. DSECT15 DSECT , ADDRESS 00460000
  48. USING DSECT15,R15 BASE 00470000
  49. EJECT 00480000
  50. DSECT7 DSECT , ADDRESS 00490000
  51. ORG DSECT7 ORIGIN 00500000
  52. SPACE 00510000
  53. SAVE JSAVE BASE=NO SAVE REGISTER 00520000
  54. BR R14 RETURN 00530000
  55. EXIT JRETURN RESTORE REGISTERS AND RETURN 00540000
  56. AIF ('&TESTRAN' NE 'YES').X4D1 00550000
  57. X4N01 DS A DC EVALUATION (TESTRAN VERSION) 00560000
  58. AGO .X4N1 00570000
  59. .X4D1 ANOP 00580000
  60. X4D01 DS A DC EVALUATION 00590000
  61. .X4N1 ANOP 00600000
  62. X4E01 DS A ESD PROCESSING 00610000
  63. X4S01 DS A SYMBOL TABLE ROUTINES 00620000
  64. X4V01 DS A EXPRESSION EVALUATION 00630000
  65. EJECT 00640000
  66. HASHNR EQU 64 NUMBER OF HASH CHAINS 00650000
  67. MINDBL EQU 1024 MINIMUM STORAGE REQUIREMENT 00660000
  68. MAXDBL EQU 4095 MAXIMUM STORAGE REQUIREMENT 00670000
  69. ALIGNB EQU B'00000001' BYTE ALIGNMENT MASK 00680000
  70. ALIGNH EQU B'00000010' HALFWORD ALIGNMENT MASK 00690000
  71. ALIGNF EQU B'00000100' FULLWORD ALIGNMENT MASK 00700000
  72. ALIGND EQU B'00001000' DOUBLEWORD ALIGNMENT MASK 00710000
  73. EJECT 00720000
  74. * EXTERNAL SYMBOL DICTIONARY * 00730000
  75. SPACE 00740000
  76. ESDBLK1 DS A(*+4),H'324,0',16XL20 ESD BLOCK 1 00750000
  77. ESDBLK2 DS A(*+4),H'324,0',16XL20 ESD BLOCK 2 00760000
  78. FILELAST DS 01XL9 END OF SPILL FILE 00770000
  79. NOTELIST DS 32XL9 ADDRESS OF ESD BLOCKS GP@P6 00780000
  80. OOPS DS X ESD OVERFLOW VALVE 00790000
  81. EJECT 00800000
  82. SYMDIMEN DS 4F SYMBOL TABLE POINTERS 00810000
  83. HASHTBL DS (HASHNR)F HASH TABLE 00820000
  84. EJECT 00830000
  85. SWTCH1 DSW , SWITCH 1 ,00840000
  86. , ,00850000
  87. , ,00860000
  88. , ,00870000
  89. STBLOFLO, SYMBOL TABLE OVERFLOW ,00880000
  90. LITEND, LITERAL AND END @OX09723,00890000
  91. IOFLO, ,00900000
  92. INOTE 00910000
  93. SPACE 00920000
  94. SWTCH2 DSW , SWITCH 2 ,00930000
  95. , ,00940000
  96. INCSECT, ,00950000
  97. , ,00960000
  98. DCMODEXP, DC MODIFIER EXPRESSION ,00970000
  99. , ,00980000
  100. , NOT USED ,00990000
  101. NOT USED 01000000
  102. MODE DS 0H RESERVED FOR MODE SWITCHES ONLY 01010000
  103. DS X RESERVED FOR MODE SWITCHES ONLY 01020000
  104. DSW ,,,,MODE1,MODE2,, RESERVED FOR MODE SWITCHES ONLY 01030000
  105. STARTLOC DS A START LOCATION 01040000
  106. HIESDNR DS H HIGH ESD ID 01050000
  107. DCDSSW DSW SDZDUPF SELF DEF ZERO AS DUPF 01060000
  108. DCDSMODE DSW NOESD,NOESDS,LMOD,BMOD,SMOD MODE 01070000
  109. LINECNT DS H LINE COUNT 01080000
  110. LOCTRSAV DS XL6 LOCATION COUNTER SAVE AREA 01090000
  111. SYMCARD DS 3F TESTRAN CARD BUFFER ADDRESS 01100000
  112. ORG LOCTRSAV AFTER ASSIGNMENT MODE 01110000
  113. DS H NOT USED 01120000
  114. CARDADDR DS 2F ADDRESS OF ESD CARD BUFFER 01130000
  115. ADJINDEX DS 2F ESD ADJUSTMENT TABLE INDEX 01140000
  116. LATADD DS F FIRST LITERAL ENTRY ADDRESS 01150000
  117. LATEND DS F NEXT LITERAL ENTRY ADDRESS 01160000
  118. LATA8 DS F 8 CHAIN ADDRESS 01170000
  119. LATA4 DS F 4 CHAIN ADDRESS 01180000
  120. LATA2 DS F 2 CHAIN ADDRESS 01190000
  121. LATA1 DS F 1 CHAIN ADDRESS 01200000
  122. XPARM DS F PARAMETER 01210000
  123. SPACE 01220000
  124. * TESTRAN OUTPUT BUFFER * 01230000
  125. SPACE 01240000
  126. DS 0F ALIGNMENT 01250000
  127. ORGBYTE DBV TSPACE(X'08'), BYTES SKIPPED ,01260000
  128. TCSECT(X'18'), CSECT ,01270000
  129. TDSECT(X'28'), DSECT ,01280000
  130. TCOM(X'38'), COM ,01290000
  131. TMOP(X'48'), MACHINE OP ,01300000
  132. TCCW(X'58'), CCW ,01310000
  133. TMIS(X'68'), CATCH ALL ,01320000
  134. TDATA(X'88') DATA TYPE 01330000
  135. ORG ORGBYTE ORIGIN 01340000
  136. DSW ,MULTIPLE,CLUSTER,SCALING,LABEL INDICATORS 01350000
  137. ADDRESS DS AL3 ADDRESS 01360000
  138. NAME DS CL8 NAME 01370000
  139. LENGTH DS F LENGTH 01380000
  140. MULTIP DS F MULTIPLICITY 01390000
  141. SCALE DS H SCALE 01400000
  142. DATATYPE DBV , DATA TYPE ,01410000
  143. DTYPEC(X'00'), DATA TYPE C ,01420000
  144. DTYPEX(X'04'), DATA TYPE X ,01430000
  145. DTYPEB(X'08'), DATA TYPE B ,01440000
  146. DTYPEF(X'10'), DATA TYPE F ,01450000
  147. DTYPEH(X'14'), DATA TYPE H ,01460000
  148. DTYPEE(X'18'), DATA TYPE E ,01470000
  149. DTYPED(X'1C'), DATA TYPE D ,01480000
  150. DTYPEA(X'20'), DATA TYPE A ,01490000
  151. DTYPEQ(X'20'), DATA TYPE Q ,01500000
  152. DTYPEY(X'24'), DATA TYPE Y ,01510000
  153. DTYPES(X'28'), DATA TYPE S ,01520000
  154. DTYPEV(X'2C'), DATA TYPE V ,01530000
  155. DTYPEP(X'30'), DATA TYPE P ,01540000
  156. DTYPEZ(X'34'), DATA TYPE Z ,01550000
  157. DTYPEL(X'38') DATA TYPE L 01560000
  158. DS X NOT USED 01570000
  159. SPACE 01580000
  160. * SYMBOL TABLE STAGING AREA * 01590000
  161. SPACE 01600000
  162. XWORK DS 0F WORK 01610000
  163. DS H X 01620000
  164. XFLGA DS X WORK 01630000
  165. XFLGB DS X WORK 01640000
  166. XTYPE DS X WORK 01650000
  167. XFLDI DS X WORK 01660000
  168. XESDI DS H WORK 01670000
  169. XLCTR DS F WORK 01680000
  170. XNAME DS CL8 WORK 01690000
  171. XLNGQ DS H WORK 01700000
  172. FSTCSECT DS H FIRST CSECT NUMBER NUMBER 01710000
  173. HICESDID DS H HIGH EVERYTHING ELSE NUMBER 01720000
  174. HIDESDID DS H HIGH DSECT NUMBER 01730000
  175. INOTEVAL DS XL8 INPUT NOT ADDRESS 01740000
  176. EJECT 01750000
  177. * DC/DS ROUTINE WORK AREA * 01760000
  178. SPACE 01770000
  179. DCDSWORK 01780000
  180. SPACE 01790000
  181. DS 0F 01800000
  182. INPUTBUF DS XL300 INPUT BUFFER 01810000
  183. EJECT 01820000
  184. * EVALUATION ROUTINE WORK AREA * 01830000
  185. SPACE 01840000
  186. EVALWORK 01850000
  187. ENDOFCOM DS 0F ENOVID 01860000
  188. EJECT 01870000
  189. DSECT6 DSECT , ADDRESS 01880000
  190. ORG DSECT6 ORIGIN 01890000
  191. SPACE 01900000
  192. EITEM DS 0XL20 ESD ENTRY 01910000
  193. ETYPE DBV , ESD TYPE ,01920000
  194. ETYPESD(X'00'), CONTROL SECTION--CSECT ,01930000
  195. ETYPELD(X'01'), LABEL DEFINITION--ENTRY ,01940000
  196. ETYPEER(X'02'), EXTERNAL REFERENCE--EXTRN ,01950000
  197. ETYPEPC(X'04'), PRIVATE CODE-- ,01960000
  198. ETYPECM(X'05'), COMMON SECTION--COM ,01970000
  199. ETYPEXD(X'06'), EXTERNAL DUMMY--DXD ,01980000
  200. ETYPEDX(X'07'), EXTERNAL DUMMY--DSECT ,01990000
  201. ETYPEDS(X'08'), DUMMY SECTION--DSECT ,02000000
  202. ETYPELX(X'09'), LABEL DEFINITION - ENTRY ,02010000
  203. ETYPEWX(X'0A') EXTERNAL REFERENCE - WXTRN 02020000
  204. SPACE 02030000
  205. EFLGS DSW , NOT USED ,02040000
  206. , NOT USED ,02050000
  207. , NOT USED ,02060000
  208. , NOT USED ,02070000
  209. ESDNRSW2, X ,02080000
  210. CSECTSW2, X ,02090000
  211. DSECTSW2, X ,02100000
  212. DSCOMSW2 X 02110000
  213. SPACE 02120000
  214. ERCDC DS 0XL6 FIELD 02130000
  215. ESWTS DSW ,DSW2,CSW2,QDSW2 02140000
  216. ORG ESWTS ORIGIN 02150000
  217. EESDI DS H ESD IDENTIFICATION 02160000
  218. EFLDA EQU * FIELD 02170000
  219. ELCTR DS F CURRENT LOCATION COUNTER VALUE 02180000
  220. EHILC DS F HIGH LOCATION COUNTER VALUE 02190000
  221. ORG EFLDA ORIGIN 02200000
  222. DS H NOT USED 02210000
  223. ELDID DS H CONTROL SECTION DEFINED 02220000
  224. ELDAD DS F OFFSET IN CONTROL SECTION 02230000
  225. ORG EFLDA ORIGIN 02240000
  226. EXDAL DBV , ALIGNMENT ,02250000
  227. EXDALX(B'00000000'), BYTE BOUNDARY ,02260000
  228. EXDALH(B'00000001'), HALFWORD BOUNDARY ,02270000
  229. EXDALF(B'00000011'), FULLWORD BOUNDARY ,02280000
  230. EXDALD(B'00000111'), DOUBLEWORD BOUNDARY 02290000
  231. DS X NOT USED 02300000
  232. EXDID DS H ESDID OF DSECT REFERENCED 02310000
  233. EXDLN DS F DUMMY SECTION LENGTH 02320000
  234. ENAME DS CL8 SYMBOL 02330000
  235. EJECT 02340000
  236. DSECT14 DSECT , ADDRESS 02350000
  237. ORG DSECT14 ORIGIN 02360000
  238. SPACE 02370000
  239. * FORMAT OF SYMBOL TABLE ENTRY * 02380000
  240. SPACE 02390000
  241. SFLGS DSW LNGDEF, X ,02400000
  242. XDUMMY, X ,02410000
  243. XENTRY, X ,02420000
  244. ENTRYSW, X ,02430000
  245. ESDNRSW, X ,02440000
  246. CSECTSW, X ,02450000
  247. DSECTSW, X ,02460000
  248. DSCOMSW X 02470000
  249. SPACE 02480000
  250. ORG SFLGS ORIGIN 02490000
  251. SCHPT DS A CHAIN POINTER 02500000
  252. SNAME DS CL8 SYMBOL 02510000
  253. SLNGQ DS H SYMBOL LENGTH ATTRIBUTE 02520000
  254. SSWTS DSW ,DSW,CSW,,ESW,EQUF X @OY08064,OX00106 02530000
  255. ORG SSWTS ORIGIN 02540000
  256. SESDI DS H ESDID ASSOCIATED WITH VALUE 02550000
  257. SLCTR DS F VALUE 02560000
  258. SPACE 02570000
  259. SLAST EQU * X 02580000
  260. ORG SCHPT ORIGIN 02590000
  261. SITEM DS 0XL(SLAST-SCHPT) FIELD 02600000
  262. ORG SNAME ORIGIN 02610000
  263. SSEG1 DS 0XL(L'SNAME+L'SLNGQ) FIELD 02620000
  264. ORG SESDI ORIGIN 02630000
  265. SSEG2 DS 0XL(L'SESDI+L'SLCTR) FIELD 02640000