COMPILATION LISTING OF SEGMENT alm_eis_parse_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/17/88 1009.8 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 9 /* ****************************************************** 10* * * 11* * * 12* * Copyright (c) 1972 by Massachusetts Institute of * 13* * Technology and Honeywell Information Systems, Inc. * 14* * * 15* * * 16* ****************************************************** */ 17 18 /* EIS multi-word instruction pseudo-operations are handled by this module. */ 19 /* Last modified on 08/06/73 at 12:32:40 by R F Mabee. */ 20 /* First written on 14 January 1973 by R F Mabee. */ 21 22 alm_eis_parse_$instruction: procedure (binop, flags, rleft) returns (fixed bin (35)); 23 24 declare (binop, flags, rleft) fixed bin (26); /* Parameters. */ 25 26 declare modifiers (3) fixed bin (26), mf_count fixed bin (26), (i, j) fixed bin (26), 27 (eis_length, eis_offset, eis_scale) fixed bin (26), 28 right_half fixed bin (18), 29 (basno, value, admod, b29, iaddr) fixed bin (26); 30 31 dcl ixvrvl_notag fixed bin (26) init (0) int static; 32 33 declare left_half bit (18); 34 35 declare utils_$and ext entry (fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 36 utils_$makins ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)) returns (fixed bin (35)), 37 expevl_$expevl_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26)) returns (fixed bin (26)), 38 varevl_$varevl_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)) 39 returns (fixed bin), 40 getid_$getid_ ext entry, 41 inputs_$next ext entry, 42 getbit_$getbit_ ext entry (fixed bin (26), fixed bin (26), fixed bin (26), fixed bin (26)); 43 44 45 declare eb_data_$lavptr external pointer, 46 1 eb_data_$eis_flag_keys (3) aligned external, 47 2 one fixed bin, 48 2 two fixed bin, 49 2 three fixed bin, 50 1 eb_data_$eis_value_keys (3) aligned external, 51 2 one fixed bin, 52 2 two fixed bin, 53 1 eb_data_$eis_mf (3) aligned external, 54 2 key fixed bin, 55 2 mbz bit (29) unaligned, 56 2 bits bit (7) unaligned, 57 eb_data_$rlist (0:15) external aligned fixed bin; 58 59 declare 1 glpl_words (0:262143) aligned based (eb_data_$lavptr), 60 2 left bit (18) unaligned, 61 2 right bit (18) unaligned; 62 63 /* Include files. */ 64 1 1 /* Begin include file varcom.incl.pl1. */ 1 2 /* RHG added new variables 9/7/70. */ 1 3 /* RFM added new cells for new object segment format and first-reference trap, 27 March 1972. */ 1 4 /* RFM added include file stuff, then cross referencer stuff, 23 July 1972. */ 1 5 /* Last modified on 07/23/72 at 04:19:25 by R F Mabee. */ 1 6 1 7 declare 1 eb_data_$varcom external aligned, 1 8 2 (brk(2), nbrk(2), sym(8), dsym(8),old_locsym, pc, spc, tpc, 1 9 pclst, p2pcl, old_ndpcls, tvorg, tvcnt, tvlth, litorg, 1 10 litc, deforg, defc, defcnt, stkc, lnkc, lnkno, 1 11 litlst, old_ndltls, lnklst, old_ndlkls, explst, blklst, namlst, 1 12 trplst, xdflst, tvlst, begin_line, tpass1, tpass2, tpostp, 1 13 tinhib, tmmode, txonly, tmm2, txo2, tprot, tcall, 1 14 tmvdef, tpulnk, tfatal, calrho, lreter, passwd, binlin, 1 15 nboxes, box(0:210), myfil, mynam, myblk, mylnk, tpost1 ) fixed bin (26) , 1 16 2 source_printed bit(1) aligned, 1 17 2 (ndpcls, ndltls, ndlkls, ndtvls) ptr, 1 18 2 (basno, value, admod, b29, iaddr, symlnk ) fixed bin (26), 1 19 2 (itxtmod, ilnkmod, entrieslc, include_file_list, include_index, 1 20 first_ref_trap_proc_linkno, first_ref_trap_arg_linkno, 1 21 text_section_length) fixed binary (26), 1 22 2 (include_info_stack, include_name_list_base, include_name_list_top) pointer, 1 23 2 symbol_tree_rel fixed binary (26); 1 24 1 25 /* End of the include file varcom.incl.pl1. */ 65 66 2 1 2 2 2 3 2 4 /* include file for CONCOM */ 2 5 2 6 declare 1 eb_data_$concom ext aligned, 2 7 2 (ap, ab, bp, bb, lp, lb, sp, sb, 2 8 clunk, clint, clext, clbas, clstk, clndx, clmlc, fdef, 2 9 fmul, fphs, fset, frel, fabs, fbol, fcom, find, 2 10 flocrf, fequrf, fbolrf, fsetrf, fbasrf, fsegrf, fstkrf, fndxrf, 2 11 fmlcrf, onesev, twosev, thrsev, forsev, fivsev, sixsev, allsev, 2 12 symbas(8),mir, mri, mdu, mdl, mx0, mx1, mpc, 2 13 mpci, mfi, mits, mitb, ixtern, intern, iassgn, iserch, 2 14 ixvrvl, ixvrvp, invrvl, invrvp, ibvrvl, ibvrvp, iaccvl, iacivl, 2 15 mcmpq, mcmpx0, mldaq, mldq, mldx0, mnopdu, mstcd, mtra, 2 16 mtnc, mtnz, meabsp, meapap, meapbp, meaplp, meapsp, mstpap, 2 17 mstpbp, mstplp, mstpsp, i1542, i642, i3333, i66, ibb, 2 18 ibsp, nullf, smxer(2), sentry(2),sretrn(2), dzero(2) ) fixed bin (26) aligned ; 2 19 2 20 /* end of the include file for CONCOM */ 67 68 3 1 3 2 /* Last modified by EBush on 2/5/81 to add prnta */ 3 3 3 4 3 5 declare 1 eb_data_$erflgs ext aligned, 3 6 2 flgvec (36) fixed bin (17) aligned ; 3 7 3 8 3 9 declare 1 eb_data_$erflgs_overlay ext aligned, /* overlays the FLGVEC */ 3 10 2 (prnte, prntf, prntm, prntn, prnto, prntp, 3 11 prntr, prnts, prntt, prntu, prntx, prntb, 3 12 prntc, prntd, prnta, prnt5, prnt6, prnt7, 3 13 tstsw(18) ) fixed bin (17) aligned ; 3 14 3 15 69 70 4 1 4 2 4 3 4 4 /* include file for CODTAB */ 4 5 4 6 declare 1 eb_data_$codtab ext aligned, 4 7 2 ( inul, isoh, istx, ietx, ieot, ienq, iack, ibel, 4 8 ibs, iht, inl, ivt, iff, icr, irrs, ibrs, 4 9 idle, irht, ihlf, irvt, ihlr, inak, isyn, ietb, 4 10 ican, iem, iss, iesc, ifs, igs, irs, ius, 4 11 isp, ixclm, iquot, ilb, idolr, ipcnt, iampr, iapos, 4 12 ilpar, irpar, istar, iplus, icomma, iminus, ipoint, islash, 4 13 inum, inum_pad(9), icol, isc, ilpb, iequal, irpb, iques, iat, 4 14 ilet, ilet_pad(25), ilsb, irslsh, irsb, icflx, iulin, igrv, illet,illet_pad(25), 4 15 ilbrc, ivlin, irbrc, itldf, idel ) fixed bin (17) ; 4 16 /* NA on June 26, 1970 at 1344 for padded arrays */ 71 72 73 74 /* End of include files. /* Beginning of entry alm_eis_parse_$instruction. */ 75 76 modifiers (*) = 0; 77 mf_count = 0; 78 left_half = ""b; 79 80 eis_loop: call getid_$getid_; 81 if brk (1) = ilpar then do; 82 if sym (1) = 0 then do; /* Modifier field - starts with "(". */ 83 if mf_count >= 3 then prntf = 1; 84 else mf_count = mf_count + 1; 85 call getid_$getid_; 86 modifiers (mf_count) = get_eis_modifier (); 87 end; 88 else do; /* Keyword with parenthesized subexpression. */ 89 do j = 1 to 3 while (sym (1) ^= eb_data_$eis_value_keys (j).one); end; 90 if sym (2) ^= eb_data_$eis_value_keys (j).two then prntf = 1; 91 call getid_$getid_; 92 if expevl_$expevl_ (1, value, iaddr) = 0 then prnte = 1; /* Force octal. */ 93 if iaddr ^= 0 then prntr = 1; 94 if j = 1 then substr (left_half, 1, 9) = bit (fixed (value, 9)); /* MASK */ 95 else if j = 2 then substr (left_half, 6, 4) = bit (fixed (value, 4)); /* BOOL */ 96 else if j = 3 then if flags ^= 0 /* FILL */ 97 then substr (left_half, 1, 1) = bit (fixed (value, 1)); /* Bit instruction. */ 98 else substr (left_half, 1, 9) = bit (fixed (value, 9)); /* Char instruction. */ 99 else prntf = 1; 100 end; 101 102 if brk (1) = irpar then call getid_$getid_; 103 else prnte = 1; 104 end; 105 else do; 106 do j = 1 to 3 while (sym (1) ^= eb_data_$eis_flag_keys (j).one); end; 107 if sym (2) ^= eb_data_$eis_flag_keys (j).two then prntf = 1; 108 if j = 1 then substr (left_half, 1, 1) = "1"b; /* ASCII */ 109 else if j = 2 then substr (left_half, 10, 1) = "1"b; /* ENABLEFAULT */ 110 else if j = 3 then substr (left_half, 11, 1) = "1"b; /* ROUND */ 111 else prntf = 1; 112 end; 113 114 if brk (1) = icomma then goto eis_loop; 115 if brk (1) ^= isp & brk (1) ^= inl then prnte = 1; 116 117 if mf_count > 1 then do; /* Stuff modifiers into appropriate fields. */ 118 substr (left_half, 12, 7) = bit (fixed (modifiers (2), 7)); 119 if mf_count = 3 then substr (left_half, 3, 7) = bit (fixed (modifiers (3), 7)); 120 end; 121 122 rleft = 0; /* Always absolute. */ 123 return (utils_$makins (0, fixed (left_half, 18), binop, 0, 0) + modifiers (1)); 124 125 126 /* /* Internal routine to process an EIS modifier field. */ 127 128 get_eis_modifier: procedure returns (fixed bin); 129 130 declare (i, value, iaddr) fixed bin (26), modifier bit (7); 131 132 modifier = "0"b; 133 mod_loop: 134 /* First search for special keywords "pr", "id", "rl". */ 135 do i = 1 to 3; 136 if sym (1) = eb_data_$eis_mf (i).key then do; 137 modifier = modifier | eb_data_$eis_mf (i).bits; 138 goto out; 139 end; 140 end; 141 142 /* Then search for register name. */ 143 do i = 0 to 15; 144 if sym (1) = eb_data_$rlist (i) then do; 145 modifier = modifier | bit (fixed (i, 7)); 146 goto out; 147 end; 148 end; 149 150 /* Not a reserved word; it must be a user-defined name or boolean expression. */ 151 if expevl_$expevl_ (1, value, iaddr) = 0 then prnte = 1; 152 if iaddr ^= 0 then prntr = 1; 153 modifier = modifier | bit (fixed (value, 7)); 154 155 out: if brk (1) = icomma then do; 156 call getid_$getid_ (); 157 goto mod_loop; 158 end; 159 160 return (fixed (modifier, 7)); 161 end; 162 163 164 /* /* Routine to evaluate EIS descriptor pseudo-ops. */ 165 166 alm_eis_parse_$descriptor: entry (type, byte_size, n_format, rleft) returns (fixed bin (35)); 167 168 declare (type, byte_size, n_format) fixed bin; /* Parameters. */ 169 170 if varevl_$varevl_ (ixvrvl_notag, basno, value, admod, b29, iaddr) = 0 then prnte = 1; 171 if iaddr = 0 then rleft = 0; /* Compute relocation code and absolute value. */ 172 else do; 173 value = value + fixed (glpl_words (iaddr + 3).left, 18); 174 call getbit_$getbit_ (iaddr, basno, b29, rleft); 175 rleft = rleft * 262144; 176 end; 177 if admod ^= 0 then prntr = 1; 178 if b29 ^= 0 then value = utils_$and (value, 32768 - 1) + basno * 32768; /* Squeeze base in. */ 179 180 eis_length, eis_offset, eis_scale = 0; 181 if brk (1) = ilpar then do; /* Offset field. */ 182 call getid_$getid_; 183 if expevl_$expevl_ (0, eis_offset, iaddr) = 0 then prnte = 1; 184 if iaddr ^= 0 then prntr = 1; 185 if eis_offset < 0 | eis_offset * byte_size > 35 then do; 186 prnte = 1; 187 eis_offset = 0; 188 end; 189 if brk (1) = irpar then call getid_$getid_; 190 else prnte = 1; 191 end; 192 193 if brk (1) ^= icomma then goto desc_out; 194 call getid_$getid_; /* length field. */ 195 do i = 0 to 15; /* Is it a register name? */ 196 if sym (1) = eb_data_$rlist (i) then do; 197 eis_length = i; 198 goto out; 199 end; 200 end; 201 202 /* Otherwise it is a constant expression for the length. */ 203 if expevl_$expevl_ (0, eis_length, iaddr) = 0 then prnte = 1; 204 if iaddr ^= 0 then prntr = 1; 205 if type = 3 then j = 64; else j = 4096; /* max value of length field. */ 206 if eis_length < 0 | eis_length >= j then do; 207 prnte = 1; 208 eis_length = j - 1; 209 end; 210 211 out: if brk (1) ^= icomma then goto desc_out; 212 if type ^= 3 then prntf = 1; /* Scale factor field exists only in numeric descriptors. */ 213 call getid_$getid_; 214 if expevl_$expevl_ (0, eis_scale, iaddr) = 0 then prnte = 1; 215 if iaddr ^= 0 then prntr = 1; 216 if eis_scale < -32 | eis_scale > 31 then do; 217 prnte = 1; 218 eis_scale = 0; 219 end; 220 if eis_scale < 0 then eis_scale = eis_scale + 64; /* force into six bits. */ 221 222 desc_out: 223 if brk (1) ^= isp & brk (1) ^= inl then prntf = 1; 224 225 if type = 2 then /* Bit descriptor. */ 226 right_half = (divide (eis_offset, 9, 2, 0) * 16 + mod (eis_offset, 9)) * 4096 + eis_length; 227 else do; 228 if byte_size = 9 then eis_offset = eis_offset * 2; 229 if type = 1 then do; /* Alphanumeric descriptor. */ 230 if byte_size = 9 then j = 0; 231 else if byte_size = 6 then j = 1; 232 else j = 2; 233 right_half = (eis_offset * 8 + j * 2) * 4096 + eis_length; 234 end; 235 else do; /* numeric descriptor. */ 236 if byte_size = 9 then j = 0; else j = 1; 237 right_half = (eis_offset * 8 + j * 4 + n_format) * 4096 238 + eis_scale * 64 + eis_length; 239 end; 240 end; 241 242 return (value * 262144 + right_half); 243 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/17/88 0937.6 alm_eis_parse_.pl1 >spec>install>1170>alm_eis_parse_.pl1 65 1 10/21/74 1242.9 varcom.incl.pl1 >ldd>include>varcom.incl.pl1 67 2 10/21/74 1243.0 concom.incl.pl1 >ldd>include>concom.incl.pl1 69 3 07/17/81 1911.5 erflgs.incl.pl1 >ldd>include>erflgs.incl.pl1 71 4 05/06/74 1741.0 codtab.incl.pl1 >ldd>include>codtab.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. admod 000114 automatic fixed bin(26,0) dcl 26 set ref 170* 177 b29 000115 automatic fixed bin(26,0) dcl 26 set ref 170* 174* 178 basno 000112 automatic fixed bin(26,0) dcl 26 set ref 170* 174* 178 binop parameter fixed bin(26,0) dcl 24 set ref 22 123* bits 1(29) 000034 external static bit(7) array level 2 packed packed unaligned dcl 45 ref 137 brk 000040 external static fixed bin(26,0) array level 2 dcl 1-7 ref 81 102 114 115 115 155 181 189 193 211 222 222 byte_size parameter fixed bin(17,0) dcl 168 ref 166 185 228 230 231 236 eb_data_$codtab 000044 external static structure level 1 dcl 4-6 eb_data_$eis_flag_keys 000030 external static structure array level 1 dcl 45 eb_data_$eis_mf 000034 external static structure array level 1 dcl 45 eb_data_$eis_value_keys 000032 external static structure array level 1 dcl 45 eb_data_$erflgs_overlay 000042 external static structure level 1 dcl 3-9 eb_data_$lavptr 000026 external static pointer dcl 45 ref 173 eb_data_$rlist 000036 external static fixed bin(17,0) array dcl 45 ref 144 196 eb_data_$varcom 000040 external static structure level 1 dcl 1-7 eis_length 000106 automatic fixed bin(26,0) dcl 26 set ref 180* 197* 203* 206 206 208* 225 233 237 eis_offset 000107 automatic fixed bin(26,0) dcl 26 set ref 180* 183* 185 185 187* 225 225 228* 228 233 237 eis_scale 000110 automatic fixed bin(26,0) dcl 26 set ref 180* 214* 216 216 218* 220 220* 220 237 expevl_$expevl_ 000016 constant entry external dcl 35 ref 92 151 183 203 214 flags parameter fixed bin(26,0) dcl 24 ref 22 96 getbit_$getbit_ 000024 constant entry external dcl 35 ref 174 getid_$getid_ 000022 constant entry external dcl 35 ref 80 85 91 102 156 182 189 194 213 glpl_words based structure array level 1 dcl 59 i 000134 automatic fixed bin(26,0) dcl 130 in procedure "get_eis_modifier" set ref 133* 136 137* 143* 144 145* i 000104 automatic fixed bin(26,0) dcl 26 in procedure "alm_eis_parse_$instruction" set ref 195* 196 197* iaddr 000116 automatic fixed bin(26,0) dcl 26 in procedure "alm_eis_parse_$instruction" set ref 92* 93 170* 171 173 174* 183* 184 203* 204 214* 215 iaddr 000136 automatic fixed bin(26,0) dcl 130 in procedure "get_eis_modifier" set ref 151* 152 icomma 54 000044 external static fixed bin(17,0) level 2 dcl 4-6 ref 114 155 193 211 ilpar 50 000044 external static fixed bin(17,0) level 2 dcl 4-6 ref 81 181 inl 12 000044 external static fixed bin(17,0) level 2 dcl 4-6 ref 115 222 irpar 51 000044 external static fixed bin(17,0) level 2 dcl 4-6 ref 102 189 isp 40 000044 external static fixed bin(17,0) level 2 dcl 4-6 ref 115 222 ixvrvl_notag 000010 internal static fixed bin(26,0) initial dcl 31 set ref 170* j 000105 automatic fixed bin(26,0) dcl 26 set ref 89* 89* 90 94 95 96 106* 106* 107 108 109 110 205* 205* 206 208 230* 231* 232* 233 236* 236* 237 key 000034 external static fixed bin(17,0) array level 2 dcl 45 ref 136 left based bit(18) array level 2 packed packed unaligned dcl 59 ref 173 left_half 000117 automatic bit(18) packed unaligned dcl 33 set ref 78* 94* 95* 96* 98* 108* 109* 110* 118* 119* 123 123 mf_count 000103 automatic fixed bin(26,0) dcl 26 set ref 77* 83 84* 84 86 117 119 modifier 000137 automatic bit(7) packed unaligned dcl 130 set ref 132* 137* 137 145* 145 153* 153 160 modifiers 000100 automatic fixed bin(26,0) array dcl 26 set ref 76* 86* 118 119 123 n_format parameter fixed bin(17,0) dcl 168 ref 166 237 one 000032 external static fixed bin(17,0) array level 2 in structure "eb_data_$eis_value_keys" dcl 45 in procedure "alm_eis_parse_$instruction" ref 89 one 000030 external static fixed bin(17,0) array level 2 in structure "eb_data_$eis_flag_keys" dcl 45 in procedure "alm_eis_parse_$instruction" ref 106 prnte 000042 external static fixed bin(17,0) level 2 dcl 3-9 set ref 92* 103* 115* 151* 170* 183* 186* 190* 203* 207* 214* 217* prntf 1 000042 external static fixed bin(17,0) level 2 dcl 3-9 set ref 83* 90* 99* 107* 111* 212* 222* prntr 6 000042 external static fixed bin(17,0) level 2 dcl 3-9 set ref 93* 152* 177* 184* 204* 215* right_half 000111 automatic fixed bin(18,0) dcl 26 set ref 225* 233* 237* 242 rleft parameter fixed bin(26,0) dcl 24 set ref 22 122* 166 171* 174* 175* 175 sym 4 000040 external static fixed bin(26,0) array level 2 dcl 1-7 ref 82 89 90 106 107 136 144 196 two 1 000030 external static fixed bin(17,0) array level 2 in structure "eb_data_$eis_flag_keys" dcl 45 in procedure "alm_eis_parse_$instruction" ref 107 two 1 000032 external static fixed bin(17,0) array level 2 in structure "eb_data_$eis_value_keys" dcl 45 in procedure "alm_eis_parse_$instruction" ref 90 type parameter fixed bin(17,0) dcl 168 ref 166 205 212 225 229 utils_$and 000012 constant entry external dcl 35 ref 178 utils_$makins 000014 constant entry external dcl 35 ref 123 value 000113 automatic fixed bin(26,0) dcl 26 in procedure "alm_eis_parse_$instruction" set ref 92* 94 95 96 98 170* 173* 173 178* 178* 242 value 000135 automatic fixed bin(26,0) dcl 130 in procedure "get_eis_modifier" set ref 151* 153 varevl_$varevl_ 000020 constant entry external dcl 35 ref 170 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. eb_data_$concom external static structure level 1 dcl 2-6 eb_data_$erflgs external static structure level 1 dcl 3-5 inputs_$next 000000 constant entry external dcl 35 NAMES DECLARED BY EXPLICIT CONTEXT. alm_eis_parse_$descriptor 000436 constant entry external dcl 166 alm_eis_parse_$instruction 000010 constant entry external dcl 22 desc_out 001052 constant label dcl 222 ref 193 211 eis_loop 000034 constant label dcl 80 ref 114 get_eis_modifier 001175 constant entry internal dcl 128 ref 86 mod_loop 001200 constant label dcl 133 ref 157 out 000764 constant label dcl 211 in procedure "alm_eis_parse_$instruction" ref 198 out 001306 constant label dcl 155 in procedure "get_eis_modifier" ref 138 146 NAMES DECLARED BY CONTEXT OR IMPLICATION. bit builtin function ref 94 95 96 98 118 119 145 153 divide builtin function ref 225 fixed builtin function ref 94 95 96 98 118 119 123 123 145 153 160 173 mod builtin function ref 225 substr builtin function set ref 94 95* 96* 98* 108* 109* 110* 118* 119* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1536 1604 1334 1546 Length 2104 1334 46 264 202 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME alm_eis_parse_$instruction 156 external procedure is an external procedure. get_eis_modifier internal procedure shares stack frame of external procedure alm_eis_parse_$instruction. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 ixvrvl_notag alm_eis_parse_$instruction STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME alm_eis_parse_$instruction 000100 modifiers alm_eis_parse_$instruction 000103 mf_count alm_eis_parse_$instruction 000104 i alm_eis_parse_$instruction 000105 j alm_eis_parse_$instruction 000106 eis_length alm_eis_parse_$instruction 000107 eis_offset alm_eis_parse_$instruction 000110 eis_scale alm_eis_parse_$instruction 000111 right_half alm_eis_parse_$instruction 000112 basno alm_eis_parse_$instruction 000113 value alm_eis_parse_$instruction 000114 admod alm_eis_parse_$instruction 000115 b29 alm_eis_parse_$instruction 000116 iaddr alm_eis_parse_$instruction 000117 left_half alm_eis_parse_$instruction 000134 i get_eis_modifier 000135 value get_eis_modifier 000136 iaddr get_eis_modifier 000137 modifier get_eis_modifier 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. expevl_$expevl_ getbit_$getbit_ getid_$getid_ utils_$and utils_$makins varevl_$varevl_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. eb_data_$codtab eb_data_$eis_flag_keys eb_data_$eis_mf eb_data_$eis_value_keys eb_data_$erflgs_overlay eb_data_$lavptr eb_data_$rlist eb_data_$varcom LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 22 000003 76 000022 77 000032 78 000033 80 000034 81 000041 82 000046 83 000051 84 000060 85 000061 86 000065 87 000072 89 000073 89 000111 90 000113 91 000127 92 000133 93 000157 94 000165 95 000176 96 000211 98 000226 99 000234 102 000240 103 000252 104 000254 106 000255 106 000273 107 000275 108 000311 109 000317 110 000324 111 000331 114 000334 115 000341 117 000347 118 000352 119 000362 122 000374 123 000375 166 000431 170 000450 171 000500 173 000504 174 000512 175 000526 177 000531 178 000537 180 000562 181 000565 182 000572 183 000576 184 000621 185 000627 186 000640 187 000643 189 000644 190 000656 193 000660 194 000665 195 000671 196 000675 197 000703 198 000705 200 000706 203 000710 204 000733 205 000741 205 000750 206 000752 207 000756 208 000761 211 000764 212 000771 213 001000 214 001004 215 001027 216 001035 217 001042 218 001045 220 001046 222 001052 225 001064 228 001104 229 001112 230 001115 231 001122 232 001127 233 001131 234 001142 236 001143 236 001150 237 001152 242 001170 128 001175 132 001177 133 001200 136 001205 137 001216 138 001221 140 001222 143 001224 144 001231 145 001237 146 001244 148 001245 151 001247 152 001273 153 001301 155 001306 156 001313 157 001317 160 001320 ----------------------------------------------------------- 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