COMPILATION LISTING OF SEGMENT litevl_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-05-05_1832.81_Fri_mdt Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 litevl_: 14 procedure (ad, admod, txtern); 15 16 /* Modified 740820 by PG to fix ancient bug (from the FORTRAN version, apparently) whereby 17* parameters of the itsevl and itbevl entries were used as temporaries by the code of other entries! */ 18 /* Modified on 08/06/73 at 12:56:08 by R F Mabee. 19* by R F Mabee in June 1973 to add BCD literals. 20* by R F Mabee on 22 November 1972 to allow user-defined internal symbols as base names in ITB. 21* by R F Mabee on 2 November 1972 to fix bugs with parentheses around literals. 22* by R F Mabee on 13 June 1972 to change followon pointer format and repair clobbered source. 23* by RHG on 22 Sept 1970 to check for nl or; during aci literal 24**/ 25 26 /* LITEVL: 27* routine to evaluate literal constants in variable field. */ 28 /* octal, decimal, and vfd literals are evaluated and tabulated */ 29 /* litevl also checks for dl or du modifier for immediate operand. */ 30 /* for this reason decevl (called by litevl) must return type */ 31 /* of literal evaluated. */ 32 33 34 /* INCLUDE FILES USED BY LITEVL */ 35 1 1 1 2 1 3 1 4 /* include file for CONCOM */ 1 5 1 6 declare 1 eb_data_$concom ext aligned, 1 7 2 (ap, ab, bp, bb, lp, lb, sp, sb, 1 8 clunk, clint, clext, clbas, clstk, clndx, clmlc, fdef, 1 9 fmul, fphs, fset, frel, fabs, fbol, fcom, find, 1 10 flocrf, fequrf, fbolrf, fsetrf, fbasrf, fsegrf, fstkrf, fndxrf, 1 11 fmlcrf, onesev, twosev, thrsev, forsev, fivsev, sixsev, allsev, 1 12 symbas(8),mir, mri, mdu, mdl, mx0, mx1, mpc, 1 13 mpci, mfi, mits, mitb, ixtern, intern, iassgn, iserch, 1 14 ixvrvl, ixvrvp, invrvl, invrvp, ibvrvl, ibvrvp, iaccvl, iacivl, 1 15 mcmpq, mcmpx0, mldaq, mldq, mldx0, mnopdu, mstcd, mtra, 1 16 mtnc, mtnz, meabsp, meapap, meapbp, meaplp, meapsp, mstpap, 1 17 mstpbp, mstplp, mstpsp, i1542, i642, i3333, i66, ibb, 1 18 ibsp, nullf, smxer(2), sentry(2),sretrn(2), dzero(2) ) fixed bin (26) aligned ; 1 19 1 20 /* end of the include file for CONCOM */ 36 2 1 /* Begin include file varcom.incl.pl1. */ 2 2 /* RHG added new variables 9/7/70. */ 2 3 /* RFM added new cells for new object segment format and first-reference trap, 27 March 1972. */ 2 4 /* RFM added include file stuff, then cross referencer stuff, 23 July 1972. */ 2 5 /* Last modified on 07/23/72 at 04:19:25 by R F Mabee. */ 2 6 2 7 declare 1 eb_data_$varcom external aligned, 2 8 2 (brk(2), nbrk(2), sym(8), dsym(8),old_locsym, pc, spc, tpc, 2 9 pclst, p2pcl, old_ndpcls, tvorg, tvcnt, tvlth, litorg, 2 10 litc, deforg, defc, defcnt, stkc, lnkc, lnkno, 2 11 litlst, old_ndltls, lnklst, old_ndlkls, explst, blklst, namlst, 2 12 trplst, xdflst, tvlst, begin_line, tpass1, tpass2, tpostp, 2 13 tinhib, tmmode, txonly, tmm2, txo2, tprot, tcall, 2 14 tmvdef, tpulnk, tfatal, calrho, lreter, passwd, binlin, 2 15 nboxes, box(0:210), myfil, mynam, myblk, mylnk, tpost1 ) fixed bin (26) , 2 16 2 source_printed bit(1) aligned, 2 17 2 (ndpcls, ndltls, ndlkls, ndtvls) ptr, 2 18 2 (basno, value, admod, b29, iaddr, symlnk ) fixed bin (26), 2 19 2 (itxtmod, ilnkmod, entrieslc, include_file_list, include_index, 2 20 first_ref_trap_proc_linkno, first_ref_trap_arg_linkno, 2 21 text_section_length) fixed binary (26), 2 22 2 (include_info_stack, include_name_list_base, include_name_list_top) pointer, 2 23 2 symbol_tree_rel fixed binary (26); 2 24 2 25 /* End of the include file varcom.incl.pl1. */ 37 3 1 3 2 3 3 3 4 /* include file for CODTAB */ 3 5 3 6 declare 1 eb_data_$codtab ext aligned, 3 7 2 ( inul, isoh, istx, ietx, ieot, ienq, iack, ibel, 3 8 ibs, iht, inl, ivt, iff, icr, irrs, ibrs, 3 9 idle, irht, ihlf, irvt, ihlr, inak, isyn, ietb, 3 10 ican, iem, iss, iesc, ifs, igs, irs, ius, 3 11 isp, ixclm, iquot, ilb, idolr, ipcnt, iampr, iapos, 3 12 ilpar, irpar, istar, iplus, icomma, iminus, ipoint, islash, 3 13 inum, inum_pad(9), icol, isc, ilpb, iequal, irpb, iques, iat, 3 14 ilet, ilet_pad(25), ilsb, irslsh, irsb, icflx, iulin, igrv, illet,illet_pad(25), 3 15 ilbrc, ivlin, irbrc, itldf, idel ) fixed bin (17) ; 3 16 /* NA on June 26, 1970 at 1344 for padded arrays */ 38 4 1 4 2 /* Last modified by EBush on 2/5/81 to add prnta */ 4 3 4 4 4 5 declare 1 eb_data_$erflgs ext aligned, 4 6 2 flgvec (36) fixed bin (17) aligned ; 4 7 4 8 4 9 declare 1 eb_data_$erflgs_overlay ext aligned, /* overlays the FLGVEC */ 4 10 2 (prnte, prntf, prntm, prntn, prnto, prntp, 4 11 prntr, prnts, prntt, prntu, prntx, prntb, 4 12 prntc, prntd, prnta, prnt5, prnt6, prnt7, 4 13 tstsw(18) ) fixed bin (17) aligned ; 4 14 4 15 39 5 1 5 2 5 3 5 4 /* the include file for LCLIT */ 5 5 5 6 declare 1 eb_data_$lclit ext aligned, 5 7 2 (lplit, lclit(2) ) fixed bin (17) aligned ; 5 8 5 9 5 10 5 11 /* end of the include file for LCLIT */ 5 12 40 6 1 /* Begin include file alm_options.incl.pl1. 6 2* This file defines the external cells used to pass options to the various modules of the assembler. 6 3* Created on 03/17/72 at 01:39:44 by R F Mabee. 6 4* Last modified on 07/23/72 at 22:02:34 by R F Mabee. */ 6 5 6 6 declare 1 eb_data_$alm_options external static aligned, 6 7 2 tnewcall fixed binary, /* Use new call/save/return operators. */ 6 8 2 tnewmachine fixed binary, /* Use followon hardware instruction set. */ 6 9 2 tnewobject fixed binary, /* Use new object segment format. */ 6 10 2 tcheckcompatibility fixed binary, /* Check for instructions changed in followon. */ 6 11 2 tquietsw fixed binary, /* Suppress online printout of error messages. */ 6 12 2 tfirstreftrap fixed binary, /* A first reference trap procedure was given. */ 6 13 2 tnoxref fixed binary; /* Zero if cross reference if to be produced. */ 6 14 6 15 /* End of include file alm_options.incl.pl1 */ 41 42 43 /* END OF THE INCLUDE FILES */ 44 /* */ 45 46 /* PARAMETERS */ 47 48 declare xrslts (8) fixed bin(35); 49 50 /* EXTERNAL ENTRIES USED BY LITEVL */ 51 52 declare utils_$putach ext entry (fixed bin (26), fixed bin (26), fixed bin (26)), 53 getbit_$getbit_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)), 54 getid_$getid_ ext entry, 55 inputs_$next ext entry, 56 utils_$makins ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 57 modevl_$modevl_ ext entry (fixed bin (26)) returns (fixed bin (26)), 58 expevl_$expevl_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 59 table_$table_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 60 vfdevl_$vfdevl_ ext entry (fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 61 octevl_$octevl_ ext entry (fixed bin (26)) returns (fixed bin (26)), 62 decevl_$decevl_ ext entry (fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 63 utils_$ls ext entry (fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 64 utils_$rs ext entry (fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 65 utils_$and ext entry (fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 66 glpl_$setblk ext entry (fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 67 glpl_$storr ext entry (fixed bin (26), fixed bin (26)) , 68 glpl_$crh ext entry (fixed bin (26)) returns (fixed bin (26)), 69 glpl_$clh ext entry (fixed bin (26)) returns (fixed bin (26)), 70 glpl_$cwrd ext entry (fixed bin) returns (fixed bin), 71 glpl_$glwrd ext entry (fixed bin (26), fixed bin (26)) returns (fixed bin (26)); 72 73 74 /* EXTERNAL DATA USED BY LITEVL */ 75 76 declare (eb_data_$jba, eb_data_$jbi, eb_data_$jbm, eb_data_$jbo, 77 eb_data_$jbv, eb_data_$ibtb, eb_data_$ibts, eb_data_$iasc, 78 eb_data_$ibtp, eb_data_$jbh, 79 eb_data_$ifxd, eb_data_$iint, eb_data_$ioct, eb_data_$ivfd, 80 eb_data_$imach, eb_data_$iitb, eb_data_$iits, eb_data_$ierr ) ext fixed bin (35); 81 82 declare eb_data_$bcd_table (0:127) ext unaligned bit (6); 83 84 declare eb_data_$lavptr ext ptr; 85 86 87 /* AUTOMATIC DATA USED BY LITEVL */ 88 89 declare (ad, admod, ipair (2)) fixed bin (26); 90 declare (ipmod, iprht, ipval, j, junk, k, lcptr, nprime, tbscl, lcptrx, 91 txtern, rleft, xn, bcdlet, type, flags, i, iaddr, ipbas ) fixed bin (26); 92 dcl iplft fixed bin (26); 93 declare parentheses fixed binary; /* Count of nesting parentheses to be paired at end. */ 94 95 declare 1 literal aligned, 96 2 (block (2),rslts (8)) fixed bin (26); 97 98 declare n fixed bin (26) defined block (2); 99 100 declare its_or_itb_entry bit (1) aligned initial ("0"b); /* make sure it always has a good value */ 101 102 /* BASED OVERLAYS USED BY LITEVL */ 103 104 declare 1 word based aligned, 105 2 left bit (18) unaligned, 106 2 right bit (18) unaligned; 107 108 declare bcd (1:6) based unaligned bit (6); 109 110 111 112 113 /* main entry, get next character and branch on literal type. */ 114 tbscl = 0 /*FALSE*/; /*This was not in the Fortran -- tres, tres mal code */ 115 parentheses = 0; 116 label_100: 117 call inputs_$next; 118 lcptr = 0; 119 if (brk (1) = inum | brk (1) = iplus | brk (1) = iminus | brk (1) = ipoint) 120 then do; 121 /* must be a decimal or aci literal */ 122 123 n = decevl_$decevl_ (rslts (1), type); 124 go to label_400; 125 end; 126 127 if (brk (1) = ilet) then goto label_300; 128 if (brk (1) ^= ilpar) then goto label_370; 129 parentheses = parentheses + 1; 130 goto label_100; 131 132 /* break is letter, branch on type. */ 133 label_300: 134 if (brk (2) = eb_data_$jba) then goto label_310; 135 if (brk (2) = eb_data_$jbo) then goto label_320; 136 if (brk (2) = eb_data_$jbv) then goto label_330; 137 if (brk (2) = eb_data_$jbm) then goto label_335; 138 if brk (2) = eb_data_$jbh then goto label_bcd; 139 140 if (brk (2) ^= eb_data_$jbi) then goto label_305; 141 call getid_$getid_; 142 if (brk (1) ^= ilpar) then goto label_370; 143 parentheses = parentheses + 1; 144 if (sym (1) = eb_data_$ibtb) then goto label_340; 145 if (sym (1) = eb_data_$ibts) then goto label_355; 146 if sym (1) = eb_data_$ibtp then goto label_340; 147 label_305: 148 goto label_370; 149 150 /* routine for aci literal. */ 151 label_310: 152 n = 1; 153 type = eb_data_$iasc; 154 rslts (1) = 0; 155 do i = 1 to 4; 156 call inputs_$next; 157 if brk (1) = inl then goto label_400; 158 call utils_$putach (rslts (1),i,brk (2)); 159 end; 160 161 call inputs_$next; 162 goto label_400; 163 164 /* routine for bcd literal. */ 165 label_bcd: 166 n = 1; 167 type = eb_data_$iasc; 168 rslts (1) = 0; 169 do i = 1 to 6; 170 call inputs_$next; 171 if brk (1) = inl then goto label_400; 172 addr (rslts (1)) -> bcd (i) = eb_data_$bcd_table (brk (2)); 173 end; 174 call inputs_$next; 175 goto label_400; 176 177 /* routine for octal literals. */ 178 label_320: 179 n = octevl_$octevl_ (rslts (1)); 180 type = eb_data_$ioct; 181 goto label_400; 182 183 /* routine for variable field literals. */ 184 label_330: 185 n = vfdevl_$vfdevl_ (rslts (1),flags); 186 lcptr = flags; 187 type = eb_data_$ivfd; 188 goto label_400; 189 190 /* machine literals not yet coded. */ 191 label_335: 192 goto label_370; 193 194 /* entry for itb type literal. */ 195 itbevl: entry (ipair, xrslts); 196 197 its_or_itb_entry = "1"b; /* note that we came in here */ 198 199 tbscl = 1; /*TRUE*/ 200 label_340: 201 iprht = mitb; 202 type = eb_data_$iitb; 203 call getid_$getid_; 204 if (^ (sym (1) ^= 0 & brk (1) = icomma)) then goto label_350; 205 do i = 1 to 8; 206 if (sym (1) ^= symbas (i)) then goto label_345; 207 iplft = 32768* (i-1); 208 goto label_360; 209 label_345: 210 end; 211 212 if table_$table_ (iserch,sym (1),iplft,clint,junk) ^= 0 then goto label_357; 213 label_350: 214 junk = expevl_$expevl_ (0, iplft, iaddr ); 215 if (iaddr ^= 0) then prntr = 1; /*TRUE*/ 216 label_357: 217 iplft = 32768*iplft; 218 goto label_360; 219 220 /* entry for its type literals. */ 221 itsevl: entry (ipair, xrslts); 222 223 its_or_itb_entry = "1"b; /* note that we came in here */ 224 225 tbscl = 1; /*TRUE*/ 226 label_355: 227 iprht = mits; 228 type = eb_data_$iits; 229 call getid_$getid_; 230 junk = expevl_$expevl_ (0, iplft, iaddr ); 231 if (iaddr ^= 0) then prntr = 1; /*TRUE*/ 232 if tnewmachine ^= 0 then iplft = utils_$and (iplft, (fivsev)); 233 label_360: 234 if (brk (1) ^= icomma) then goto label_370; 235 call getid_$getid_; 236 junk = expevl_$expevl_ (0, ipval, iaddr ); 237 rleft = 0; 238 if (iaddr = 0) then goto label_361; 239 ipval = ipval + glpl_$clh (iaddr+3); 240 if (tbscl ^= 0 | iaddr = 0) then goto label_363; 241 rslts (1) = 0; 242 rslts (2) = glpl_$glwrd (iaddr,0); 243 lcptr = glpl_$setblk (rslts (1),2); 244 goto label_361; 245 label_363: 246 call getbit_$getbit_ (iaddr,ipbas,/* ipb29 */ 0 ,rleft); 247 label_361: 248 ipmod = 0; 249 if (brk (1) ^= icomma) then goto label_362; 250 ipmod = modevl_$modevl_ (brk (1) ); 251 label_362: 252 253 rslts (1) = glpl_$glwrd (iplft,iprht); 254 rslts (2) = utils_$makins (ipbas,ipval,0,/* ipb29 */ 0 ,ipmod); 255 n = 2; 256 if (tbscl = 0) then goto label_400; 257 label_365: 258 ipair (1) = rslts (1); 259 ipair (2) = rslts (2); 260 rslts (1) = 0; 261 rslts (2) = glpl_$glwrd (rleft,0); 262 go to return_from_its_itb; 263 264 /* illegal literal type. */ 265 label_370: 266 n = 1; 267 rslts (1) = 0; 268 rslts (2) = 0; 269 rleft = 0; 270 type = eb_data_$ierr; 271 prntf = 1; /*TRUE*/ 272 if (tbscl ^= 0) then goto label_365; 273 rslts (1) = 0; 274 rslts (2) = 0; 275 call inputs_$next; 276 goto label_400; 277 278 /* entry to define a literal in ext vector. */ 279 litasn: entry (ad, xrslts, xn, lcptrx ); 280 281 lcptr = lcptrx; 282 n = xn; 283 if (n > 8) then n = 8; 284 do i = 1 to n; 285 rslts (i) = xrslts (i); 286 end; 287 goto label_500; 288 289 290 /* literal evaluated, check for du or dl modifier. */ 291 label_400: 292 admod = 0; 293 do while (parentheses > 0 & brk (1) = irpar); /* Pair off parends. */ 294 call inputs_$next (); 295 parentheses = parentheses - 1; 296 end; 297 if (brk (1) ^= icomma | txtern = 0 | parentheses ^= 0) then goto label_500; 298 admod = modevl_$modevl_ (brk (1) ); 299 if (n >= 2) then goto label_500; 300 if (admod ^= mdu & admod ^= mdl) then goto label_500; 301 if (type = eb_data_$imach | type = eb_data_$ivfd | type = eb_data_$ioct 302 | type = eb_data_$iint | type = eb_data_$ifxd) then goto label_410; 303 ad = utils_$rs (rslts (1),18); 304 goto label_420; 305 label_410: 306 307 ad = utils_$and (rslts (1),sixsev); 308 label_420: 309 310 n = 0; 311 goto label_700; 312 313 314 /* search literal list for this literal and assign if not there. */ 315 /* funny business because of equivalence between n and block (2) */ 316 /* and desire to put lcptr in left half of block (2). */ 317 label_500: 318 j = litlst; 319 nprime = n; 320 block (2) = glpl_$glwrd (lcptr,n); 321 litc = glpl_$crh (lplit+1); 322 label_510: 323 if (j = 0) then goto label_540; 324 if (glpl_$cwrd (j+1) ^= nprime) then goto label_530; 325 do_520: do k = 1 to nprime; 326 if (glpl_$cwrd (j+k+1) ^= rslts (k)) then goto label_530; 327 label_520: end do_520; 328 ad = glpl_$clh (j); 329 goto label_700; 330 label_530: 331 j = glpl_$crh (j); 332 goto label_510; 333 334 /* not found in list, assign this literal. */ 335 label_540: 336 if (nprime > 1 & mod (litc,2) ^= 0) then litc = litc+1; 337 block (1) = utils_$ls (litc,18); 338 j = glpl_$setblk (block (1),nprime+2); 339 ndltls -> word.right = addr (j ) -> word.right; 340 ndltls = ptr (eb_data_$lavptr, j ); 341 ad = litc; 342 litc = litc+nprime; 343 344 345 /* final return section. */ 346 label_700: 347 call glpl_$storr (lplit+1,litc); 348 349 /* if we came in the itbevl or itsevl entries, we must simulate passing "rslts" by reference. 350* (since rslts is not a parameter to all entry points, but is used as a temporary in all 351* entry points, we cannot just make it a real parameter. sigh!) */ 352 353 return_from_its_itb: 354 if its_or_itb_entry 355 then do; 356 xrslts (1) = rslts (1); 357 xrslts (2) = rslts (2); 358 end; 359 360 return; 361 362 end litevl_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/05/00 1832.8 litevl_.pl1 >udd>sm>ds>w>ml>litevl_.pl1 36 1 10/21/74 1343.0 concom.incl.pl1 >ldd>incl>concom.incl.pl1 37 2 10/21/74 1342.9 varcom.incl.pl1 >ldd>incl>varcom.incl.pl1 38 3 05/06/74 1841.0 codtab.incl.pl1 >ldd>incl>codtab.incl.pl1 39 4 07/17/81 2011.5 erflgs.incl.pl1 >ldd>incl>erflgs.incl.pl1 40 5 05/06/74 1842.1 lclit.incl.pl1 >ldd>incl>lclit.incl.pl1 41 6 05/06/74 1840.2 alm_options.incl.pl1 >ldd>incl>alm_options.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. ad parameter fixed bin(26,0) dcl 89 set ref 13 279 303* 305* 328* 341* admod parameter fixed bin(26,0) dcl 89 set ref 13 291* 298* 300 300 bcd based bit(6) array packed unaligned dcl 108 set ref 172* block 000121 automatic fixed bin(26,0) array level 2 dcl 95 set ref 123* 123 151* 151 165* 165 178* 178 184* 184 255* 255 265* 265 282* 282 283 283 283* 283 284 284 299 299 308* 308 319 319 320* 320 320 337* 338* brk 000012 external static fixed bin(26,0) array level 2 dcl 2-7 set ref 119 119 119 119 127 128 133 135 136 137 138 140 142 157 158* 171 172 204 233 249 250* 293 297 298* clint 11 000010 external static fixed bin(26,0) level 2 dcl 1-6 set ref 212* decevl_$decevl_ 000050 constant entry external dcl 52 ref 123 eb_data_$alm_options 000022 external static structure level 1 dcl 6-6 eb_data_$bcd_table 000140 external static bit(6) array packed unaligned dcl 82 ref 172 eb_data_$codtab 000014 external static structure level 1 dcl 3-6 eb_data_$concom 000010 external static structure level 1 dcl 1-6 eb_data_$erflgs_overlay 000016 external static structure level 1 dcl 4-9 eb_data_$iasc 000112 external static fixed bin(35,0) dcl 76 ref 153 167 eb_data_$ibtb 000106 external static fixed bin(35,0) dcl 76 ref 144 eb_data_$ibtp 000114 external static fixed bin(35,0) dcl 76 ref 146 eb_data_$ibts 000110 external static fixed bin(35,0) dcl 76 ref 145 eb_data_$ierr 000136 external static fixed bin(35,0) dcl 76 ref 270 eb_data_$ifxd 000120 external static fixed bin(35,0) dcl 76 ref 301 eb_data_$iint 000122 external static fixed bin(35,0) dcl 76 ref 301 eb_data_$iitb 000132 external static fixed bin(35,0) dcl 76 ref 202 eb_data_$iits 000134 external static fixed bin(35,0) dcl 76 ref 228 eb_data_$imach 000130 external static fixed bin(35,0) dcl 76 ref 301 eb_data_$ioct 000124 external static fixed bin(35,0) dcl 76 ref 180 301 eb_data_$ivfd 000126 external static fixed bin(35,0) dcl 76 ref 187 301 eb_data_$jba 000074 external static fixed bin(35,0) dcl 76 ref 133 eb_data_$jbh 000116 external static fixed bin(35,0) dcl 76 ref 138 eb_data_$jbi 000076 external static fixed bin(35,0) dcl 76 ref 140 eb_data_$jbm 000100 external static fixed bin(35,0) dcl 76 ref 137 eb_data_$jbo 000102 external static fixed bin(35,0) dcl 76 ref 135 eb_data_$jbv 000104 external static fixed bin(35,0) dcl 76 ref 136 eb_data_$lavptr 000142 external static pointer dcl 84 ref 340 eb_data_$lclit 000020 external static structure level 1 dcl 5-6 eb_data_$varcom 000012 external static structure level 1 dcl 2-7 expevl_$expevl_ 000040 constant entry external dcl 52 ref 213 230 236 fivsev 45 000010 external static fixed bin(26,0) level 2 dcl 1-6 ref 232 flags 000113 automatic fixed bin(26,0) dcl 90 set ref 184* 186 getbit_$getbit_ 000026 constant entry external dcl 52 ref 245 getid_$getid_ 000030 constant entry external dcl 52 ref 141 203 229 235 glpl_$clh 000066 constant entry external dcl 52 ref 239 328 glpl_$crh 000064 constant entry external dcl 52 ref 321 330 glpl_$cwrd 000070 constant entry external dcl 52 ref 324 326 glpl_$glwrd 000072 constant entry external dcl 52 ref 242 251 261 320 glpl_$setblk 000060 constant entry external dcl 52 ref 243 338 glpl_$storr 000062 constant entry external dcl 52 ref 346 i 000114 automatic fixed bin(26,0) dcl 90 set ref 155* 158* 169* 172* 205* 206 207* 284* 285 285* iaddr 000115 automatic fixed bin(26,0) dcl 90 set ref 213* 215 230* 231 236* 238 239 240 242* 245* icomma 54 000014 external static fixed bin(17,0) level 2 dcl 3-6 ref 204 233 249 297 ilet 101 000014 external static fixed bin(17,0) level 2 dcl 3-6 ref 127 ilpar 50 000014 external static fixed bin(17,0) level 2 dcl 3-6 ref 128 142 iminus 55 000014 external static fixed bin(17,0) level 2 dcl 3-6 ref 119 inl 12 000014 external static fixed bin(17,0) level 2 dcl 3-6 ref 157 171 inputs_$next 000032 constant entry external dcl 52 ref 116 156 161 170 174 275 294 inum 60 000014 external static fixed bin(17,0) level 2 dcl 3-6 ref 119 ipair parameter fixed bin(26,0) array dcl 89 set ref 195 221 257* 259* ipbas 000116 automatic fixed bin(26,0) dcl 90 set ref 245* 254* iplft 000117 automatic fixed bin(26,0) dcl 92 set ref 207* 212* 213* 216* 216 230* 232* 232* 251* iplus 53 000014 external static fixed bin(17,0) level 2 dcl 3-6 ref 119 ipmod 000100 automatic fixed bin(26,0) dcl 90 set ref 247* 250* 254* ipoint 56 000014 external static fixed bin(17,0) level 2 dcl 3-6 ref 119 iprht 000101 automatic fixed bin(26,0) dcl 90 set ref 200* 226* 251* ipval 000102 automatic fixed bin(26,0) dcl 90 set ref 236* 239* 239 254* irpar 51 000014 external static fixed bin(17,0) level 2 dcl 3-6 ref 293 iserch 76 000010 external static fixed bin(26,0) level 2 dcl 1-6 set ref 212* its_or_itb_entry 000133 automatic bit(1) initial dcl 100 set ref 100* 197* 223* 353 j 000103 automatic fixed bin(26,0) dcl 90 set ref 317* 322 324 326 328* 330* 330* 338* 339 340 junk 000104 automatic fixed bin(26,0) dcl 90 set ref 212* 213* 230* 236* k 000105 automatic fixed bin(26,0) dcl 90 set ref 325* 326 326* lcptr 000106 automatic fixed bin(26,0) dcl 90 set ref 118* 186* 243* 281* 320* lcptrx parameter fixed bin(26,0) dcl 90 ref 279 281 litc 37 000012 external static fixed bin(26,0) level 2 dcl 2-7 set ref 321* 335 335* 335 337* 341 342* 342 346* literal 000121 automatic structure level 1 dcl 95 litlst 46 000012 external static fixed bin(26,0) level 2 dcl 2-7 ref 317 lplit 000020 external static fixed bin(17,0) level 2 dcl 5-6 ref 321 346 mdl 63 000010 external static fixed bin(26,0) level 2 dcl 1-6 ref 300 mdu 62 000010 external static fixed bin(26,0) level 2 dcl 1-6 ref 300 mitb 72 000010 external static fixed bin(26,0) level 2 dcl 1-6 ref 200 mits 71 000010 external static fixed bin(26,0) level 2 dcl 1-6 ref 226 modevl_$modevl_ 000036 constant entry external dcl 52 ref 250 298 n defined fixed bin(26,0) dcl 98 set ref 123* 151* 165* 178* 184* 255* 265* 282* 283 283* 284 299 308* 319 320* ndltls 436 000012 external static pointer level 2 dcl 2-7 set ref 339 340* nprime 000107 automatic fixed bin(26,0) dcl 90 set ref 319* 324 325 335 338 342 octevl_$octevl_ 000046 constant entry external dcl 52 ref 178 parentheses 000120 automatic fixed bin(17,0) dcl 93 set ref 115* 129* 129 143* 143 293 295* 295 297 prntf 1 000016 external static fixed bin(17,0) level 2 dcl 4-9 set ref 271* prntr 6 000016 external static fixed bin(17,0) level 2 dcl 4-9 set ref 215* 231* right 0(18) based bit(18) level 2 packed packed unaligned dcl 104 set ref 339* 339 rleft 000111 automatic fixed bin(26,0) dcl 90 set ref 237* 245* 261* 269* rslts 2 000121 automatic fixed bin(26,0) array level 2 dcl 95 set ref 123* 154* 158* 168* 172 178* 184* 241* 242* 243* 251* 254* 257 259 260* 261* 267* 268* 273* 274* 285* 303* 305* 326 356 357 sixsev 46 000010 external static fixed bin(26,0) level 2 dcl 1-6 set ref 305* sym 4 000012 external static fixed bin(26,0) array level 2 dcl 2-7 set ref 144 145 146 204 206 212* symbas 50 000010 external static fixed bin(26,0) array level 2 dcl 1-6 ref 206 table_$table_ 000042 constant entry external dcl 52 ref 212 tbscl 000110 automatic fixed bin(26,0) dcl 90 set ref 114* 199* 225* 240 256 272 tnewmachine 1 000022 external static fixed bin(17,0) level 2 dcl 6-6 ref 232 txtern parameter fixed bin(26,0) dcl 90 ref 13 297 type 000112 automatic fixed bin(26,0) dcl 90 set ref 123* 153* 167* 180* 187* 202* 228* 270* 301 301 301 301 301 utils_$and 000056 constant entry external dcl 52 ref 232 305 utils_$ls 000052 constant entry external dcl 52 ref 337 utils_$makins 000034 constant entry external dcl 52 ref 254 utils_$putach 000024 constant entry external dcl 52 ref 158 utils_$rs 000054 constant entry external dcl 52 ref 303 vfdevl_$vfdevl_ 000044 constant entry external dcl 52 ref 184 word based structure level 1 dcl 104 xn parameter fixed bin(26,0) dcl 90 ref 279 282 xrslts parameter fixed bin(35,0) array dcl 48 set ref 195 221 279 285 356* 357* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. bcdlet automatic fixed bin(26,0) dcl 90 eb_data_$erflgs external static structure level 1 dcl 4-5 NAMES DECLARED BY EXPLICIT CONTEXT. do_520 001262 constant label dcl 325 itbevl 000314 constant entry external dcl 195 itsevl 000452 constant entry external dcl 221 label_100 000032 constant label dcl 116 ref 130 label_300 000074 constant label dcl 133 ref 127 label_305 000134 constant label dcl 147 ref 140 label_310 000135 constant label dcl 151 ref 133 label_320 000253 constant label dcl 178 ref 135 label_330 000267 constant label dcl 184 ref 136 label_335 000307 constant label dcl 191 ref 137 label_340 000326 constant label dcl 200 ref 144 146 label_345 000371 constant label dcl 209 ref 206 label_350 000420 constant label dcl 213 ref 204 label_355 000464 constant label dcl 226 ref 145 label_357 000444 constant label dcl 216 ref 212 label_360 000543 constant label dcl 233 ref 208 218 label_361 000667 constant label dcl 247 ref 238 244 label_362 000705 constant label dcl 251 ref 249 label_363 000651 constant label dcl 245 ref 240 label_365 000747 constant label dcl 257 ref 272 label_370 000773 constant label dcl 265 ref 128 142 147 191 233 label_400 001063 constant label dcl 291 ref 124 157 162 171 175 181 188 256 276 label_410 001171 constant label dcl 305 ref 301 label_420 001203 constant label dcl 308 ref 304 label_500 001205 constant label dcl 317 ref 287 297 299 300 label_510 001242 constant label dcl 322 ref 332 label_520 001311 constant label dcl 327 label_530 001326 constant label dcl 330 ref 324 326 label_540 001337 constant label dcl 335 ref 322 label_700 001424 constant label dcl 346 ref 311 329 label_bcd 000204 constant label dcl 165 ref 138 litasn 001024 constant entry external dcl 279 litevl_ 000022 constant entry external dcl 13 return_from_its_itb 001441 constant label dcl 353 ref 262 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 172 339 mod builtin function ref 335 ptr builtin function ref 340 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2066 2232 1453 2076 Length 2624 1453 144 355 412 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME litevl_ 119 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME litevl_ 000100 ipmod litevl_ 000101 iprht litevl_ 000102 ipval litevl_ 000103 j litevl_ 000104 junk litevl_ 000105 k litevl_ 000106 lcptr litevl_ 000107 nprime litevl_ 000110 tbscl litevl_ 000111 rleft litevl_ 000112 type litevl_ 000113 flags litevl_ 000114 i litevl_ 000115 iaddr litevl_ 000116 ipbas litevl_ 000117 iplft litevl_ 000120 parentheses litevl_ 000121 literal litevl_ 000133 its_or_itb_entry litevl_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return_mac mdfx1 ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. decevl_$decevl_ expevl_$expevl_ getbit_$getbit_ getid_$getid_ glpl_$clh glpl_$crh glpl_$cwrd glpl_$glwrd glpl_$setblk glpl_$storr inputs_$next modevl_$modevl_ octevl_$octevl_ table_$table_ utils_$and utils_$ls utils_$makins utils_$putach utils_$rs vfdevl_$vfdevl_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. eb_data_$alm_options eb_data_$bcd_table eb_data_$codtab eb_data_$concom eb_data_$erflgs_overlay eb_data_$iasc eb_data_$ibtb eb_data_$ibtp eb_data_$ibts eb_data_$ierr eb_data_$ifxd eb_data_$iint eb_data_$iitb eb_data_$iits eb_data_$imach eb_data_$ioct eb_data_$ivfd eb_data_$jba eb_data_$jbh eb_data_$jbi eb_data_$jbm eb_data_$jbo eb_data_$jbv eb_data_$lavptr eb_data_$lclit eb_data_$varcom LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 100 000013 13 000016 114 000030 115 000031 116 000032 118 000037 119 000040 123 000053 124 000065 127 000066 128 000070 129 000072 130 000073 133 000074 135 000100 136 000102 137 000104 138 000106 140 000110 141 000112 142 000116 143 000123 144 000124 145 000130 146 000132 147 000134 151 000135 153 000137 154 000141 155 000142 156 000147 157 000154 158 000161 159 000174 161 000176 162 000203 165 000204 167 000206 168 000210 169 000211 170 000217 171 000224 172 000231 173 000243 174 000245 175 000252 178 000253 180 000263 181 000266 184 000267 186 000301 187 000303 188 000306 191 000307 195 000310 197 000322 199 000324 200 000326 202 000332 203 000334 204 000340 205 000350 206 000355 207 000364 208 000370 209 000371 212 000373 213 000420 215 000436 216 000444 218 000447 221 000450 223 000460 225 000462 226 000464 228 000470 229 000472 230 000476 231 000514 232 000522 233 000543 235 000550 236 000554 237 000572 238 000573 239 000575 240 000612 241 000616 242 000617 243 000633 244 000650 245 000651 247 000667 249 000670 250 000675 251 000705 254 000720 255 000743 256 000745 257 000747 259 000752 260 000755 261 000756 262 000772 265 000773 267 000775 268 000776 269 000777 270 001000 271 001003 272 001006 273 001010 274 001011 275 001012 276 001016 279 001017 281 001032 282 001035 283 001037 284 001044 285 001053 286 001060 287 001062 291 001063 293 001065 294 001075 295 001101 296 001103 297 001104 298 001116 299 001126 300 001131 301 001141 303 001154 304 001170 305 001171 308 001203 311 001204 317 001205 319 001211 320 001213 321 001225 322 001242 324 001244 325 001262 326 001271 327 001311 328 001313 329 001325 330 001326 332 001336 335 001337 337 001351 338 001367 339 001405 340 001412 341 001417 342 001422 346 001424 353 001441 356 001443 357 001446 360 001451 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved