COMPILATION LISTING OF SEGMENT display_lisp_object_segment Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/20/86 1218.6 mst Thu Options: optimize list 1 /* ************************************************************** 2* * * 3* * Copyright, (C) Massachusetts Institute of Technology, 1982 * 4* * * 5* ************************************************************** */ 6 display_lisp_object_segment: 7 dlos: proc options (variable); 8 9 /* BSG 5/13/80 */ 10 11 /* declarations */ 12 13 dcl BAD_CHARS char (32) static init ("() |/'`#;.,"" 14 ") options (constant); 15 dcl error_table_$badopt ext static fixed bin (35); 16 dcl (null, length, substr, addr, addrel, ltrim, copy, search) builtin; 17 dcl (actionx, linkx, arrayx, subrx, quotx, constx, action_count, action_type) fixed bin; 18 dcl (n_fixnums, n_flonums, n_strings, n_bignums, n_conses, n_atsyms) fixed bin; 19 dcl (entryp, tempp, actionp, segp, defp, constp, blockp, arrayp, linkp, sblkp, bigp, symrtp) ptr; 20 dcl bc fixed bin (24); 21 dcl segtop fixed bin (18); 22 dcl argno fixed bin; 23 dcl dir char (168), ent char (32); 24 dcl code fixed bin (35), arg char (argl) based (argp), 25 argp ptr, argl fixed bin (21), myname char (32) init ("display_lisp_object_segment") static options (constant); 26 dcl (doing_constants, doing_subr_links, doing_array_links) bit (1); 27 28 29 dcl unalconst fixed bin (17) unaligned automatic; 30 dcl 1 constant_index_format aligned structure, 31 2 load_time bit(1) unaligned, 32 2 constant_x fixed bin(16) unaligned; 33 34 dcl 1 array_info unaligned, 35 2 type fixed bin (9) unsigned, 36 2 ndims fixed bin (9) unsigned, 37 2 sym_offset fixed bin (17) unaligned; 38 39 dcl 1 link_info unaligned, /* format of 27 info bits in an ITP link */ 40 2 fcn_offset fixed bin(14), /* signed offset from ap or lp of function */ 41 2 snap bit(1), /* 1 if link can (should) be snapped */ 42 2 constant bit(1), /* 1 if fcn_offset is offset from lp of atom */ 43 2 fsubr bit(1), /* 1 for fsubr, 0 for subr/lsubr */ 44 2 nargs fixed bin (9) unsigned; /* 777 if arg count is in x5, else arg count */ 45 46 dcl 1 oi aligned like object_info; 47 dcl 1 sroot aligned like symbol_root based (symrtp); 48 dcl 1 bignum aligned like lisp_bignum based (bigp); 49 50 51 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 52 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 53 dcl hcs_$initiate_count entry (char (*), char (*), char (*), fixed bin (24), fixed bin (2), ptr, fixed bin (35)); 54 dcl get_definition_ entry (ptr, char(*), char(*), ptr, fixed bin(35)); 55 dcl hcs_$terminate_noname entry (ptr, fixed bin (35)); 56 dcl object_info_$brief entry (ptr, fixed bin(24), ptr, fixed bin(35)); 57 dcl (ioa_, com_err_) entry options (variable); 58 1 1 /* BEGIN INCLUDE FILE definition.incl.pl1 */ 1 2 1 3 1 4 1 5 /****^ HISTORY COMMENTS: 1 6* 1) change(86-05-02,Elhard), approve(86-05-02,MCR7391), 1 7* audit(86-07-18,DGHowe), install(86-11-20,MR12.0-1222): 1 8* Modified to add indirect bit to definition flags. 1 9* END HISTORY COMMENTS */ 1 10 1 11 1 12 dcl 1 definition aligned based, 1 13 2 forward unal bit(18), /* offset of next def */ 1 14 2 backward unal bit(18), /* offset of previous def */ 1 15 2 value unal bit(18), 1 16 2 flags unal, 1 17 3 new bit(1), 1 18 3 ignore bit(1), 1 19 3 entry bit(1), 1 20 3 retain bit(1), 1 21 3 argcount bit(1), 1 22 3 descriptors bit(1), 1 23 3 indirect bit(1), 1 24 3 unused bit(8), 1 25 2 class unal bit(3), 1 26 2 symbol unal bit(18), /* offset of ACC for symbol */ 1 27 2 segname unal bit(18); /* offset of segname def */ 1 28 1 29 /* END INCLUDE FILE definition.incl.pl1 */ 59 2 1 /* BEGIN INCLUDE FILE ... object_info.incl.pl1 2 2*coded February 8, 1972 by Michael J. Spier */ 2 3 /* modified May 26, 1972 by M. Weaver */ 2 4 /* modified 15 April, 1975 by M. Weaver */ 2 5 2 6 declare 1 object_info aligned based, /* structure containing object info based, returned by object_info_ */ 2 7 2 version_number fixed bin, /* version number of current structure format (=2) */ 2 8 2 textp pointer, /* pointer to beginning of text section */ 2 9 2 defp pointer, /* pointer to beginning of definition section */ 2 10 2 linkp pointer, /* pointer to beginning of linkage section */ 2 11 2 statp pointer, /* pointer to beginning of static section */ 2 12 2 symbp pointer, /* pointer to beginning of symbol section */ 2 13 2 bmapp pointer, /* pointer to beginning of break map (may be null) */ 2 14 2 tlng fixed bin, /* length in words of text section */ 2 15 2 dlng fixed bin, /* length in words of definition section */ 2 16 2 llng fixed bin, /* length in words of linkage section */ 2 17 2 ilng fixed bin, /* length in words of static section */ 2 18 2 slng fixed bin, /* length in words of symbol section */ 2 19 2 blng fixed bin, /* length in words of break map */ 2 20 2 format, /* word containing bit flags about object type */ 2 21 3 old_format bit(1) unaligned, /* on if segment isn't in new format, i.e. has old style object map */ 2 22 3 bound bit(1) unaligned, /* on if segment is bound */ 2 23 3 relocatable bit(1) unaligned, /* on if seg has relocation info in its first symbol block */ 2 24 3 procedure bit(1) unaligned, /* on if segment is an executable object program */ 2 25 3 standard bit(1) unaligned, /* on if seg is in standard format (more than just standard map) */ 2 26 3 gate bit(1) unaligned, /* on if segment is a gate */ 2 27 3 separate_static bit(1) unaligned, /* on if static not in linkage */ 2 28 3 links_in_text bit(1) unaligned, /* on if there are threaded links in text */ 2 29 3 perprocess_static bit (1) unaligned, /* on if static is not to be per run unit */ 2 30 3 pad bit(27) unaligned, 2 31 2 entry_bound fixed bin, /* entry bound if segment is a gate */ 2 32 2 textlinkp pointer, /* ptr to first link in text */ 2 33 2 34 /* LIMIT OF BRIEF STRUCTURE */ 2 35 2 36 2 compiler char(8) aligned, /* name of processor which generated segment */ 2 37 2 compile_time fixed bin(71), /* clock reading of date/time object was generated */ 2 38 2 userid char(32) aligned, /* standard Multics id of creator of object segment */ 2 39 2 cvers aligned, /* generator version name in printable char string form */ 2 40 3 offset bit(18) unaligned, /* offset of name in words relative to base of symbol section */ 2 41 3 length bit(18) unaligned, /* length of name in characters */ 2 42 2 comment aligned, /* printable comment concerning generator or generation of segment */ 2 43 3 offset bit(18) unaligned, /* offset of comment in words relative to base of symbol section */ 2 44 3 length bit(18) unaligned, /* length of comment in characters */ 2 45 2 source_map fixed bin, /* offset, relative to base of symbol section, of source map structure */ 2 46 2 47 /* LIMIT OF DISPLAY STRUCTURE */ 2 48 2 49 2 rel_text pointer, /* pointer to text section relocation info */ 2 50 2 rel_def pointer, /* pointer to definition section relocation info */ 2 51 2 rel_link pointer, /* pointer to linkage section relocation info */ 2 52 2 rel_static pointer, /* pointer to static section relocation info */ 2 53 2 rel_symbol pointer, /* pointer to symbol section relocation info */ 2 54 2 text_boundary fixed bin, /* specifies mod of text section base boundary */ 2 55 2 static_boundary fixed bin, /* specifies mod of internal static base boundary */ 2 56 /* currently not used by system */ 2 57 2 default_truncate fixed bin, /* offset rel to symbp for binder to automatically trunc. symb sect. */ 2 58 2 optional_truncate fixed bin; /* offset rel to symbp for binder to optionally trunc. symb sect. */ 2 59 2 60 declare object_info_version_2 fixed bin int static init(2); 2 61 2 62 /* END INCLUDE FILE ... object_info.incl.pl1 */ 60 3 1 /* Include file lisp_bignum_fmt.incl.pl1 */ 3 2 3 3 dcl 1 lisp_bignum based aligned, /* structure describing lisp big number */ 3 4 2 sign bit(18) unaligned, /* either all ones, or all zeros */ 3 5 2 prec fixed bin(17) unaligned, /* number of words in this number's precision */ 3 6 2 words(0 refer(lisp_bignum.prec)) fixed bin(35); /* 35 significant bits per word. */ 3 7 3 8 /* End include file lisp_bognum_fmt.incl.pl1 */ 61 4 1 /* MACLISP symbol section for compiled SUBR */ 4 2 4 3 dcl 1 symbol_root based aligned, /* starts off the LISP symbol section */ 4 4 4 5 2 version fixed bin, /* 2 for this dcl (new-arrays version) */ 4 6 2 number_objects fixed bin, /* number of objects which are to be made at fasload time */ 4 7 2 objects unal, 4 8 3 fixnum_blockp bit(18) unal, /* pointers to blocks describing variaous type classes of objects */ 4 9 3 flonum_blockp bit(18) unal, 4 10 3 string_blockp bit(18) unal, 4 11 3 bignum_blockp bit(18) unal, 4 12 3 atsym_blockp bit(18) unal, 4 13 3 cons_blockp bit(18) unal, 4 14 2 subr_block_size fixed bin(18), /* number of double word items to be put in subr block */ 4 15 2 subr_block_items unal, /* pointers to blocks indicating which objects to place in subr block */ 4 16 3 entry_blockp bit(18) unal, 4 17 3 const_blockp bit(18) unal, 4 18 3 links_blockp bit(18) unal, 4 19 2 action_blockp bit(18) unal, /* points to array of operations to be done at fasload time, in order */ 4 20 2 array_links_blockp bit(18) unal; /* points at block of array links */ 4 21 4 22 4 23 dcl 1 fixnum_block based aligned, 4 24 2 count fixed bin(18), 4 25 2 fixnums(0 refer(fixnum_block.count)) fixed bin(35); 4 26 4 27 dcl 1 flonum_block based aligned, 4 28 2 count fixed bin(18), 4 29 2 flonums(0 refer(flonum_block.count)) float bin(27); 4 30 4 31 dcl 1 string_block based aligned, 4 32 2 count fixed bin(18), 4 33 2 string_offset(0 refer(string_block.count)) bit(18) unal; /* pointers to string representation */ 4 34 4 35 4 36 dcl 1 atsym_block based aligned, 4 37 2 count fixed bin(18), 4 38 2 atsym_offset(0 refer(atsym_block.count)) bit(18) unal; /* pointers to atom names */ 4 39 4 40 dcl 1 bignum_block based aligned, 4 41 2 count fixed bin(18), 4 42 2 bignum_offsets(0 refer(bignum_block.count)) bit(18) unal; 4 43 4 44 dcl 1 cons_block based aligned, 4 45 2 count fixed bin(18), 4 46 2 conses(0 refer(cons_block.count)) unal, 4 47 3 car bin(17), 4 48 3 cdr bin(17); 4 49 4 50 dcl 1 string_chars based aligned, 4 51 2 flags unal, 4 52 3 uninterned_atom bit(1), 4 53 3 padding bit(10), 4 54 2 length fixed bin(24)unal, 4 55 2 chars char(0 refer (string_chars.length)) unaligned; 4 56 4 57 dcl 1 entry_block based aligned, 4 58 2 count fixed bin(18), 4 59 2 entry_info(0 refer(entry_block.count)) unal, 4 60 3 nargs bit(18), 4 61 3 entrypoint bit(18); 4 62 4 63 dcl 1 const_block based aligned, 4 64 2 count fixed bin(18), 4 65 2 constants (0 refer(const_block.count)) fixed bin(17) unal; 4 66 4 67 dcl 1 links_block based aligned, 4 68 2 count fixed bin(18), 4 69 2 link_info(0 refer(links_block.count)) bit(27); 4 70 4 71 dcl 1 array_links_block based aligned, 4 72 2 count fixed bin(18), 4 73 2 array_link(0 refer(array_links_block.count)), 4 74 3 control_word bit(36); /* rest is filled in at load time. 4 75* this word has type, ndims, symbol offset. */ 4 76 4 77 dcl 1 action_block based aligned, 4 78 2 count fixed bin(18), 4 79 2 actions(0 refer(action_block.count)) unal, /* each action described as one of these objects */ 4 80 3 action_code fixed bin(17) unal, 4 81 3 operand fixed bin(17) unal; /* offset of constant which is used in operation */ 4 82 4 83 /* End of description of MACLISP Compiled symbol tree */ 62 5 1 dcl 1 std_symbol_header based aligned, 5 2 2 dcl_version fixed bin, 5 3 2 identifier char(8), 5 4 2 gen_number fixed bin, 5 5 2 gen_created fixed bin(71), 5 6 2 object_created fixed bin(71), 5 7 2 generator char(8), 5 8 2 gen_version unaligned, 5 9 3 offset bit(18), 5 10 3 size bit(18), 5 11 2 userid unaligned, 5 12 3 offset bit(18), 5 13 3 size bit(18), 5 14 2 comment unaligned, 5 15 3 offset bit(18), 5 16 3 size bit(18), 5 17 2 text_boundary bit(18) unaligned, 5 18 2 stat_boundary bit(18) unaligned, 5 19 2 source_map bit(18) unaligned, 5 20 2 area_pointer bit(18) unaligned, 5 21 2 backpointer bit(18) unaligned, 5 22 2 block_size bit(18) unaligned, 5 23 2 next_block bit(18) unaligned, 5 24 2 rel_text bit(18) unaligned, 5 25 2 rel_def bit(18) unaligned, 5 26 2 rel_link bit(18) unaligned, 5 27 2 rel_symbol bit(18) unaligned, 5 28 2 mini_truncate bit(18) unaligned, 5 29 2 maxi_truncate bit(18) unaligned; 63 64 65 doing_constants, doing_array_links, doing_subr_links = "0"b; 66 call cu_$arg_ptr (1, argp, argl, code); 67 if code ^= 0 then do; 68 call com_err_ (code, myname, "Usage: dlos "); 69 return; 70 end; 71 call expand_pathname_ (arg, dir, ent, code); 72 if code ^= 0 then do; 73 call com_err_ (code, myname, "^a", arg); 74 return; 75 end; 76 do argno = 2 by 1; 77 call cu_$arg_ptr (argno, argp, argl, code); 78 if code = 0 then do; 79 if arg = "-long" | arg = "-lg" | arg = "-all" | arg = "-a" 80 then doing_constants, doing_array_links, doing_subr_links = "1"b; 81 else if arg = "-constant" | arg = "-constants" | arg = "-c" 82 | arg = "-cc" | arg = "-compiled_constants" then doing_constants = "1"b; 83 else if arg = "-l" | arg = "-lk" | arg = "link" | arg = "-links" then doing_subr_links = "1"b; 84 else if arg = "-subr" | arg = "-s" | arg = "-subr_links" | arg = "-sl" then doing_subr_links = "1"b; 85 else if arg = "-array" | arg = "-array_links" | arg = "-al" then doing_array_links = "1"b; 86 else do; 87 call com_err_ (error_table_$badopt, myname, "^a", arg); 88 return; 89 end; 90 end; 91 else go to no_more_args; 92 end; 93 no_more_args: 94 call hcs_$initiate_count (dir, ent, "", bc, 0, segp, code); 95 if segp = null () then do; 96 call com_err_ (code, myname, "^a>^a", dir, ent); 97 return; 98 end; 99 100 /* Get symbol table */ 101 102 oi.version_number = object_info_version_2; 103 call object_info_$brief (segp, bc, addr (oi), code); 104 if code ^= 0 then do; 105 call com_err_ (code, myname, "^a>^a", dir, ent); 106 go to term; 107 end; 108 call get_definition_ (oi.defp, ent, "*segtop", defp, code); 109 if code ^= 0 then do; 110 call com_err_ (code, myname, "*segtop in ^a>^a", dir, ent); 111 go to term; 112 end; 113 segtop = fixed (rel (addrel (oi.textp, defp -> definition.value)), 18); 114 call get_definition_ (oi.defp, ent, "symbol_table", defp, code); 115 if code ^= 0 then do; 116 call com_err_ (code, myname, "symbol_table in ^a>^a", dir, ent); 117 go to term; 118 end; 119 sblkp = addrel (oi.symbp, defp -> definition.value); 120 if sblkp -> std_symbol_header.generator ^= "lisp" then do; 121 call com_err_ (0, myname, "Not a Lisp object segment: ^a>^a", dir, ent); 122 go to term; 123 end; 124 if sblkp -> std_symbol_header.gen_number ^= 2 then do; 125 call com_err_ (0, myname, "Version ^d Lisp object seg not supported.", sblkp -> std_symbol_header.gen_number); 126 go to term; 127 end; 128 129 /* Do it */ 130 131 symrtp = addrel (sblkp, sblkp -> std_symbol_header.area_pointer); 132 subrx = 1; 133 entryp = addrel (symrtp, sroot.entry_blockp); 134 n_fixnums = addrel (symrtp, sroot.objects.fixnum_blockp) -> fixnum_block.count; 135 n_flonums = addrel (symrtp, sroot.objects.flonum_blockp) -> flonum_block.count; 136 n_strings = addrel (symrtp, sroot.objects.string_blockp) -> string_block.count; 137 n_bignums = addrel (symrtp, sroot.objects.bignum_blockp) -> bignum_block.count; 138 n_atsyms = addrel (symrtp, sroot.objects.atsym_blockp) -> atsym_block.count; 139 n_conses = addrel (symrtp, sroot.objects.cons_blockp) -> cons_block.count; 140 141 blockp = addrel (symrtp, sroot.objects.atsym_blockp); 142 do quotx = 1 to n_atsyms; 143 tempp = addrel (symrtp, blockp -> atsym_block.atsym_offset (quotx)); 144 if tempp -> string_chars.chars = "quote" then do; 145 quotx = quotx + n_fixnums + n_flonums + n_strings + n_bignums; 146 go to got_quotx; 147 end; 148 end; 149 quotx = -1; 150 got_quotx: 151 actionp = addrel (symrtp, sroot.action_blockp); 152 action_count = actionp -> action_block.count; 153 if segtop ^= 0 then call ioa_ ("^a at offset ^o in segment", ent, segtop); 154 call ioa_ ("^d action^[s^] defined:^/", action_count, action_count ^= 1); 155 do actionx = 1 to action_count; 156 action_type = actionp -> action_block.actions (actionx).action_code; 157 if action_type = 0 then do; 158 call ioa_ ("^3d EVAL: ^a", actionx, get_prinrep ((actionp -> action_block.actions (actionx).operand))); 159 end; 160 else do; 161 call ioa_ ("^3d ^[ SUBR^;LSUBR^;FSUBR^]: ^a^30t^[^d arg^[s^] ^;^s^s^]@^o^[ (^o in seg)^]", 162 actionx, action_type, get_prinrep ((actionp -> action_block.actions (actionx).operand)), 163 action_type = 1, 164 fixed (entryp -> entry_block.entry_info.nargs (subrx), 18), 165 fixed (entryp -> entry_block.entry_info.nargs (subrx), 18) ^= 1, 166 fixed (entryp -> entry_block.entry_info.entrypoint (subrx), 18), 167 (segtop ^=0), 168 fixed (entryp -> entry_block.entry_info.entrypoint (subrx), 18) + segtop); 169 subrx = subrx + 1; 170 end; 171 end; 172 173 constp = addrel (symrtp, sroot.const_blockp); 174 175 if doing_subr_links then do; 176 linkp = addrel (symrtp, sroot.links_blockp); 177 if linkp -> links_block.count = 0 then call ioa_ ("^/No subr links."); 178 else do; 179 call ioa_ ("^/^d subr link^[s^]:^/", linkp -> links_block.count, 180 linkp -> links_block.count ^= 1); 181 do linkx = 1 to linkp -> links_block.count; 182 183 unspec (link_info) = linkp -> links_block.link_info (linkx); 184 if link_info.constant 185 then call ioa_ ("lp|^o^8t^a^[ ^^SNAP^]^[^30t(fsubr)^]^[^30t(lsubr)^]^[^30t^d arg^[s^]^]", 186 2 * (linkx + constp -> const_block.count) - 1, 187 get_prinrep ((constp -> const_block.constants ((link_info.fcn_offset+1)/2))), 188 ^link_info.snap, link_info.fsubr, (link_info.nargs = 511), 189 ^(link_info.fsubr|(link_info.nargs = 511)), 190 link_info.nargs, link_info.nargs ^= 1); 191 else call ioa_ ("lp|^o^8tap|^o ^[ ^^SNAP^]^[^30t(fsubr)^]^[^30t(lsubr)^]^[^30t^d arg^[s^]^]", 192 2 * (linkx + constp -> const_block.count) - 1, 193 link_info.fcn_offset, 194 ^link_info.snap, link_info.fsubr, (link_info.nargs = 511), 195 ^(link_info.fsubr|(link_info.nargs = 511)), 196 link_info.nargs, link_info.nargs ^= 1); 197 end; 198 end; 199 end; 200 201 if doing_array_links then do; 202 arrayp = addrel (symrtp, sroot.array_links_blockp); 203 if arrayp -> array_links_block.count = 0 then call ioa_ ("^/No array links.^/"); 204 205 else do; 206 call ioa_ ("^/^d array link^[s^]:^/", arrayp -> array_links_block.count, 207 arrayp -> array_links_block.count ^= 1); 208 do arrayx = 1 to arrayp -> array_links_block.count; 209 unspec (array_info) = arrayp -> array_links_block.array_link.control_word (arrayx); 210 call ioa_ ("lp|^o^8t^a^30t^d dim^[s^; ^] ^[Lisp objects^;nongc^;fixnum^;flonum^]", 211 2 * (addrel (symrtp, sroot.const_blockp) -> const_block.count 212 + addrel (symrtp, sroot.links_blockp) -> links_block.count) -1 213 + 4 * arrayx, 214 get_prinrep ((constp -> const_block.constants((array_info.sym_offset + 1)/2))), 215 array_info.ndims, array_info.ndims ^= 1, 216 array_info.type + 1); 217 end; 218 end; 219 end; 220 221 if doing_constants then do; 222 if constp -> const_block.count = 0 then call ioa_ ("^/No subr-block constants.^/"); 223 else call ioa_ ("^/^d subr-block constant^[s^]:^/", 224 constp -> const_block.count, constp -> const_block.count ^= 1); 225 do constx = 1 to constp -> const_block.count; 226 unalconst = constp -> const_block.constants (constx); 227 unspec (constant_index_format) = unspec (unalconst); 228 call ioa_ ("lp|^o^8t^[LOAD TIME: ^]^a", 2 * constx - 1, 229 constant_index_format.load_time, get_prinrep ((constant_index_format.constant_x))); 230 end; 231 end; 232 233 term: call hcs_$terminate_noname (segp, (0)); 234 235 get_prinrep: 236 proc (a_x) returns (char (*)); 237 dcl x fixed bin; 238 dcl a_x fixed bin; 239 dcl fvar char (40) varying; 240 dcl ioa_$rsnnl entry options (variable); 241 dcl requote_string_ entry (char (*)) returns (char (*)); 242 dcl (car, cdr) fixed bin; 243 dcl zlflag bit (1); 244 dcl ncons fixed bin; 245 dcl cv_bin_$oct entry (fixed bin) returns (char (12) aligned); 246 247 zlflag = "1"b; 248 go to join; 249 get_prinrep_cdr: 250 entry (a_x) returns (char (*)); 251 x = a_x; 252 if x <= n_fixnums + n_flonums + n_strings + n_bignums + n_atsyms then do; 253 return (" . " || get_prinrep (x) || ")"); 254 end; 255 zlflag = "0"b; 256 join: 257 x = a_x; 258 if x = 0 then return ("nil"); 259 if x <= n_fixnums then do; 260 blockp = addrel (symrtp, sroot.objects.fixnum_blockp); 261 return (ltrim (cv_bin_$oct ((blockp -> fixnum_block.fixnums (x))))); 262 end; 263 x = x - n_fixnums; 264 if x <= n_flonums then do; 265 blockp = addrel (symrtp, sroot.objects.flonum_blockp); 266 call ioa_$rsnnl ("^f", fvar, (0), blockp -> flonum_block.flonums (x)); 267 return (fvar); 268 end; 269 x = x - n_flonums; 270 if x <= n_strings then do; 271 blockp = addrel (symrtp, sroot.objects.string_blockp); 272 tempp = addrel (symrtp, blockp -> string_block.string_offset(x)); 273 return (requote_string_ (tempp -> string_chars.chars)); 274 end; 275 x = x - n_strings; 276 if x <= n_bignums then do; 277 blockp = addrel (symrtp, sroot.objects.bignum_blockp); 278 bigp = addrel (symrtp, blockp -> bignum_block.bignum_offsets (x)); 279 return (bigna_representer ()); 280 end; 281 x = x - n_bignums; 282 if x <= n_atsyms then do; 283 blockp = addrel (symrtp, sroot.objects.atsym_blockp); 284 tempp = addrel (symrtp, blockp -> atsym_block.atsym_offset (x)); 285 if search (tempp -> string_chars.chars, BAD_CHARS) ^= 0 286 then return (hairy_atom (tempp -> string_chars.chars)); 287 else return (tempp -> string_chars.chars); 288 hairy_atom: proc (s) returns (char (*)); 289 dcl s char (*), (sl, cx) fixed bin (24); 290 sl = length (s); 291 if sl = 0 then return (""); 292 cx = search (s, BAD_CHARS); 293 if cx = 0 then return (s); 294 if cx = 1 & sl = 1 then return ("/" || s); 295 if cx = 1 then return ("/" || substr (s, 1, 1) || hairy_atom (substr (s, 2))); 296 if cx = sl then return (substr (s, 1, cx - 1) || "/" || substr (s, sl, 1)); 297 else return (substr (s, 1, cx -1) || "/" || substr (s, cx, 1) || hairy_atom (substr (s, cx + 1))); 298 end; 299 end; 300 x = x - n_atsyms; 301 blockp = addrel (symrtp, sroot.objects.cons_blockp); 302 car = blockp -> cons_block.conses (x).car; 303 cdr = blockp -> cons_block.conses (x).cdr; 304 if car = quotx then do; 305 ncons = cdr - n_fixnums - n_flonums - n_bignums - n_strings - n_atsyms; 306 if ncons > 0 then if blockp -> cons_block.conses (ncons).cdr = 0 307 then return ("'" || get_prinrep ((blockp -> cons_block.conses (ncons).car))); 308 end; 309 if zlflag then 310 if cdr = 0 then return ("(" || get_prinrep (car) || ")"); 311 else return ("(" || get_prinrep (car) || get_prinrep_cdr (cdr)); 312 else 313 if cdr = 0 then return (" " || get_prinrep (car) || ")"); 314 else return (" " || get_prinrep (car) || get_prinrep_cdr (cdr)); 315 316 317 bigna_representer: 318 proc () returns (char (*)); 319 320 dcl (octwds, decwds) (0:bignum.prec-1) fixed bin (35); 321 dcl (octdigs, decdigs) char (12*bignum.prec + 5); 322 dcl (octrem, decrem) fixed bin (35); 323 dcl DIGITS char (10) init ("0123456789") static options (constant); 324 dcl (octx, decx) fixed bin (21); 325 dcl (octz, decz) bit (1) aligned; 326 dcl wordx fixed bin (18); 327 328 octx = length (octdigs); 329 decx = length (decdigs); 330 do wordx = 1 to bignum.prec; 331 octwds (bignum.prec - wordx), decwds (bignum.prec - wordx) = bignum.words (wordx); 332 end; 333 decz, octz = "0"b; 334 do while (^decz | ^octz); 335 if ^octz then do; 336 call divider (octz, octwds, octrem, 8); 337 substr (octdigs, octx, 1) = substr (DIGITS, octrem + 1, 1); 338 octx = octx - 1; 339 end; 340 if ^decz then do; 341 call divider (decz, decwds, decrem, 10); 342 substr (decdigs, decx, 1) = substr (DIGITS, decrem + 1, 1); 343 decx = decx - 1; 344 end; 345 end; 346 if bignum.sign then 347 substr (decdigs, decx, 1), substr (octdigs, octx, 1) = "-"; 348 else do; 349 decx = decx + 1; 350 octx = octx + 1; 351 end; 352 353 if index (substr (decdigs, decx), 354 copy ("0", (length (decdigs) - decx)/3)) ^= 0 355 | index (substr (decdigs, decx), 356 copy ("9", (length (decdigs) - decx)/3)) ^= 0 357 then return (substr (decdigs, decx) || "."); 358 else return (substr (octdigs, octx)); 359 360 divider: proc (done, words, rem, base); 361 362 dcl done bit (1) aligned; 363 dcl buf fixed bin (71); 364 dcl x fixed bin; 365 dcl words (0:*) fixed bin (35); 366 dcl rem fixed bin (35); 367 dcl saw_nzq bit (1); 368 dcl base fixed bin; 369 370 saw_nzq = "0"b; 371 rem = 0; 372 do x = 0 to hbound (words, 1); 373 buf = fixed (bit (rem, 35) || bit (words (x), 35), 70); 374 words (x) = divide (buf, base, 71, 0); 375 rem = mod (buf, base); 376 if words (x) ^= 0 then saw_nzq = "1"b; 377 end; 378 if ^saw_nzq then done = "1"b; 379 end divider; 380 end bigna_representer; 381 382 end get_prinrep; 383 end; 384 385 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/20/86 1145.0 display_lisp_object_segment.pl1 >special_ldd>install>MR12.0-1222>display_lisp_object_segment.pl1 59 1 11/20/86 1035.2 definition.incl.pl1 >special_ldd>install>MR12.0-1222>definition.incl.pl1 60 2 08/05/77 1022.5 object_info.incl.pl1 >ldd>include>object_info.incl.pl1 61 3 03/27/82 0437.0 lisp_bignum_fmt.incl.pl1 >ldd>include>lisp_bignum_fmt.incl.pl1 62 4 03/27/82 0436.9 lisp_symb_tree.incl.pl1 >ldd>include>lisp_symb_tree.incl.pl1 63 5 05/06/74 1751.6 std_symbol_header.incl.pl1 >ldd>include>std_symbol_header.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. BAD_CHARS 000013 constant char(32) initial unaligned dcl 13 ref 285 292 DIGITS 000000 constant char(10) initial unaligned dcl 323 ref 337 342 a_x parameter fixed bin(17,0) dcl 238 ref 235 249 251 256 action_block based structure level 1 dcl 4-77 action_blockp 7(18) based bit(18) level 2 packed unaligned dcl 47 ref 150 action_code 1 based fixed bin(17,0) array level 3 packed unaligned dcl 4-77 ref 156 action_count 000106 automatic fixed bin(17,0) dcl 17 set ref 152* 154* 154 155 action_type 000107 automatic fixed bin(17,0) dcl 17 set ref 156* 157 161* 161 actionp 000122 automatic pointer dcl 19 set ref 150* 152 156 158 161 actions 1 based structure array level 2 packed unaligned dcl 4-77 actionx 000100 automatic fixed bin(17,0) dcl 17 set ref 155* 156 158* 158 161* 161* addr builtin function dcl 16 ref 103 103 addrel builtin function dcl 16 ref 113 119 131 133 134 135 136 137 138 139 141 143 150 173 176 202 210 210 260 265 271 272 277 278 283 284 301 area_pointer 16(18) based bit(18) level 2 packed unaligned dcl 5-1 ref 131 arg based char unaligned dcl 24 set ref 71* 73* 79 79 79 79 81 81 81 81 81 83 83 83 83 84 84 84 84 85 85 85 87* argl 000236 automatic fixed bin(21,0) dcl 24 set ref 66* 71 71 73 73 77* 79 79 79 79 81 81 81 81 81 83 83 83 83 84 84 84 84 85 85 85 87 87 argno 000150 automatic fixed bin(17,0) dcl 22 set ref 76* 77* argp 000234 automatic pointer dcl 24 set ref 66* 71 73 77* 79 79 79 79 81 81 81 81 81 83 83 83 83 84 84 84 84 85 85 85 87 array_info 000244 automatic structure level 1 packed unaligned dcl 34 set ref 209* array_link 1 based structure array level 2 dcl 4-71 array_links_block based structure level 1 dcl 4-71 array_links_blockp 10 based bit(18) level 2 packed unaligned dcl 47 ref 202 arrayp 000134 automatic pointer dcl 19 set ref 202* 203 206 206 208 209 arrayx 000102 automatic fixed bin(17,0) dcl 17 set ref 208* 209 210* atsym_block based structure level 1 dcl 4-36 atsym_blockp 4 based bit(18) level 3 packed unaligned dcl 47 ref 138 141 283 atsym_offset 1 based bit(18) array level 2 packed unaligned dcl 4-36 ref 143 284 base parameter fixed bin(17,0) dcl 368 ref 360 374 375 bc 000146 automatic fixed bin(24,0) dcl 20 set ref 93* 103* bignum based structure level 1 dcl 48 bignum_block based structure level 1 dcl 4-40 bignum_blockp 3(18) based bit(18) level 3 packed unaligned dcl 47 ref 137 277 bignum_offsets 1 based bit(18) array level 2 packed unaligned dcl 4-40 ref 278 bigp 000142 automatic pointer dcl 19 set ref 278* 320 320 321 321 330 331 331 331 346 blockp 000132 automatic pointer dcl 19 set ref 141* 143 260* 261 265* 266 271* 272 277* 278 283* 284 301* 302 303 306 306 buf 000170 automatic fixed bin(71,0) dcl 363 set ref 373* 374 375 car 1 based fixed bin(17,0) array level 3 in structure "cons_block" packed unaligned dcl 4-44 in procedure "dlos" ref 302 306 car 000114 automatic fixed bin(17,0) dcl 242 in procedure "get_prinrep" set ref 302* 304 309* 311* 312* 314* cdr 1(18) based fixed bin(17,0) array level 3 in structure "cons_block" packed unaligned dcl 4-44 in procedure "dlos" ref 303 306 cdr 000115 automatic fixed bin(17,0) dcl 242 in procedure "get_prinrep" set ref 303* 305 309 311* 312 314* chars 1 based char level 2 packed unaligned dcl 4-50 set ref 144 273* 285 285* 287 code 000233 automatic fixed bin(35,0) dcl 24 set ref 66* 67 68* 71* 72 73* 77* 78 93* 96* 103* 104 105* 108* 109 110* 114* 115 116* com_err_ 000030 constant entry external dcl 57 ref 68 73 87 96 105 110 116 121 125 cons_block based structure level 1 dcl 4-44 cons_blockp 4(18) based bit(18) level 3 packed unaligned dcl 47 ref 139 301 conses 1 based structure array level 2 packed unaligned dcl 4-44 const_block based structure level 1 dcl 4-63 const_blockp 6(18) based bit(18) level 3 packed unaligned dcl 47 ref 173 210 constant 0(16) 000245 automatic bit(1) level 2 packed unaligned dcl 39 set ref 184 constant_index_format 000243 automatic structure level 1 dcl 30 set ref 227* constant_x 0(01) 000243 automatic fixed bin(16,0) level 2 packed unaligned dcl 30 set ref 228 constants 1 based fixed bin(17,0) array level 2 packed unaligned dcl 4-63 ref 184 210 226 constp 000130 automatic pointer dcl 19 set ref 173* 184 184 191 210 222 223 223 225 226 constx 000105 automatic fixed bin(17,0) dcl 17 set ref 225* 226 228* control_word 1 based bit(36) array level 3 dcl 4-71 ref 209 copy builtin function dcl 16 ref 353 353 count based fixed bin(18,0) level 2 in structure "flonum_block" dcl 4-27 in procedure "dlos" ref 135 count based fixed bin(18,0) level 2 in structure "fixnum_block" dcl 4-23 in procedure "dlos" ref 134 count based fixed bin(18,0) level 2 in structure "cons_block" dcl 4-44 in procedure "dlos" ref 139 count based fixed bin(18,0) level 2 in structure "action_block" dcl 4-77 in procedure "dlos" ref 152 count based fixed bin(18,0) level 2 in structure "string_block" dcl 4-31 in procedure "dlos" ref 136 count based fixed bin(18,0) level 2 in structure "const_block" dcl 4-63 in procedure "dlos" set ref 184 191 210 222 223* 223 225 count based fixed bin(18,0) level 2 in structure "links_block" dcl 4-67 in procedure "dlos" set ref 177 179* 179 181 210 count based fixed bin(18,0) level 2 in structure "array_links_block" dcl 4-71 in procedure "dlos" set ref 203 206* 206 208 count based fixed bin(18,0) level 2 in structure "atsym_block" dcl 4-36 in procedure "dlos" ref 138 count based fixed bin(18,0) level 2 in structure "bignum_block" dcl 4-40 in procedure "dlos" ref 137 cu_$arg_ptr 000012 constant entry external dcl 51 ref 66 77 cv_bin_$oct 000036 constant entry external dcl 245 ref 261 cx 000101 automatic fixed bin(24,0) dcl 289 set ref 292* 293 294 295 296 296 297 297 297 297 decdigs 000100 automatic char unaligned dcl 321 set ref 329 342* 346* 353 353 353 353 353 decrem 000101 automatic fixed bin(35,0) dcl 322 set ref 341* 342 decwds 000100 automatic fixed bin(35,0) array dcl 320 set ref 331* 341* decx 000103 automatic fixed bin(21,0) dcl 324 set ref 329* 342 343* 343 346 349* 349 353 353 353 353 353 decz 000105 automatic bit(1) dcl 325 set ref 333* 334 340 341* definition based structure level 1 dcl 1-12 defp 000126 automatic pointer dcl 19 in procedure "dlos" set ref 108* 113 114* 119 defp 4 000246 automatic pointer level 2 in structure "oi" dcl 46 in procedure "dlos" set ref 108* 114* dir 000151 automatic char(168) unaligned dcl 23 set ref 71* 93* 96* 105* 110* 116* 121* doing_array_links 000241 automatic bit(1) unaligned dcl 26 set ref 65* 79* 85* 201 doing_constants 000237 automatic bit(1) unaligned dcl 26 set ref 65* 79* 81* 221 doing_subr_links 000240 automatic bit(1) unaligned dcl 26 set ref 65* 79* 83* 84* 175 done parameter bit(1) dcl 362 set ref 360 378* ent 000223 automatic char(32) unaligned dcl 23 set ref 71* 93* 96* 105* 108* 110* 114* 116* 121* 153* entry_block based structure level 1 dcl 4-57 entry_blockp 6 based bit(18) level 3 packed unaligned dcl 47 ref 133 entry_info 1 based structure array level 2 packed unaligned dcl 4-57 entryp 000116 automatic pointer dcl 19 set ref 133* 161 161 161 161 161 161 entrypoint 1(18) based bit(18) array level 3 packed unaligned dcl 4-57 ref 161 161 161 error_table_$badopt 000010 external static fixed bin(35,0) dcl 15 set ref 87* expand_pathname_ 000014 constant entry external dcl 52 ref 71 fcn_offset 000245 automatic fixed bin(14,0) level 2 packed unaligned dcl 39 set ref 184 191* fixnum_block based structure level 1 dcl 4-23 fixnum_blockp 2 based bit(18) level 3 packed unaligned dcl 47 ref 134 260 fixnums 1 based fixed bin(35,0) array level 2 dcl 4-23 ref 261 flonum_block based structure level 1 dcl 4-27 flonum_blockp 2(18) based bit(18) level 3 packed unaligned dcl 47 ref 135 265 flonums 1 based float bin(27) array level 2 dcl 4-27 set ref 266* fsubr 0(17) 000245 automatic bit(1) level 2 packed unaligned dcl 39 set ref 184* 184 191* 191 fvar 000101 automatic varying char(40) dcl 239 set ref 266* 267 gen_number 3 based fixed bin(17,0) level 2 dcl 5-1 set ref 124 125* generator 10 based char(8) level 2 dcl 5-1 ref 120 get_definition_ 000020 constant entry external dcl 54 ref 108 114 hcs_$initiate_count 000016 constant entry external dcl 53 ref 93 hcs_$terminate_noname 000022 constant entry external dcl 55 ref 233 ioa_ 000026 constant entry external dcl 57 ref 153 154 158 161 177 179 184 191 203 206 210 222 223 228 ioa_$rsnnl 000032 constant entry external dcl 240 ref 266 length builtin function dcl 16 in procedure "dlos" ref 290 328 329 353 353 length 0(11) based fixed bin(24,0) level 2 in structure "string_chars" packed unaligned dcl 4-50 in procedure "dlos" ref 144 273 273 285 285 285 287 link_info 000245 automatic structure level 1 packed unaligned dcl 39 in procedure "dlos" set ref 183* link_info 1 based bit(27) array level 2 in structure "links_block" dcl 4-67 in procedure "dlos" ref 183 linkp 000136 automatic pointer dcl 19 set ref 176* 177 179 179 181 183 links_block based structure level 1 dcl 4-67 links_blockp 7 based bit(18) level 3 packed unaligned dcl 47 ref 176 210 linkx 000101 automatic fixed bin(17,0) dcl 17 set ref 181* 183 184 191* lisp_bignum based structure level 1 dcl 3-3 load_time 000243 automatic bit(1) level 2 packed unaligned dcl 30 set ref 228* ltrim builtin function dcl 16 ref 261 myname 000003 constant char(32) initial unaligned dcl 24 set ref 68* 73* 87* 96* 105* 110* 116* 121* 125* n_atsyms 000115 automatic fixed bin(17,0) dcl 18 set ref 138* 142 252 282 300 305 n_bignums 000113 automatic fixed bin(17,0) dcl 18 set ref 137* 145 252 276 281 305 n_conses 000114 automatic fixed bin(17,0) dcl 18 set ref 139* n_fixnums 000110 automatic fixed bin(17,0) dcl 18 set ref 134* 145 252 259 263 305 n_flonums 000111 automatic fixed bin(17,0) dcl 18 set ref 135* 145 252 264 269 305 n_strings 000112 automatic fixed bin(17,0) dcl 18 set ref 136* 145 252 270 275 305 nargs 0(18) 000245 automatic fixed bin(9,0) level 2 in structure "link_info" packed unsigned unaligned dcl 39 in procedure "dlos" set ref 184 184 184* 184 191 191 191* 191 nargs 1 based bit(18) array level 3 in structure "entry_block" packed unaligned dcl 4-57 in procedure "dlos" ref 161 161 161 ncons 000117 automatic fixed bin(17,0) dcl 244 set ref 305* 306 306 306 ndims 0(09) 000244 automatic fixed bin(9,0) level 2 packed unsigned unaligned dcl 34 set ref 210* 210 null builtin function dcl 16 ref 95 object_info based structure level 1 dcl 2-6 object_info_$brief 000024 constant entry external dcl 56 ref 103 object_info_version_2 constant fixed bin(17,0) initial dcl 2-60 ref 102 objects 2 based structure level 2 packed unaligned dcl 47 octdigs 000100 automatic char unaligned dcl 321 set ref 328 337* 346* 358 octrem 000100 automatic fixed bin(35,0) dcl 322 set ref 336* 337 octwds 000100 automatic fixed bin(35,0) array dcl 320 set ref 331* 336* octx 000102 automatic fixed bin(21,0) dcl 324 set ref 328* 337 338* 338 346 350* 350 358 octz 000104 automatic bit(1) dcl 325 set ref 333* 334 335 336* oi 000246 automatic structure level 1 dcl 46 set ref 103 103 operand 1(18) based fixed bin(17,0) array level 3 packed unaligned dcl 4-77 ref 158 161 prec 0(18) based fixed bin(17,0) level 2 packed unaligned dcl 48 ref 320 320 321 321 330 331 331 quotx 000104 automatic fixed bin(17,0) dcl 17 set ref 142* 143 145* 145* 149* 304 rem parameter fixed bin(35,0) dcl 366 set ref 360 371* 373 375* requote_string_ 000034 constant entry external dcl 241 ref 273 s parameter char unaligned dcl 289 ref 288 290 292 293 294 295 295 295 296 296 297 297 297 297 saw_nzq 000173 automatic bit(1) unaligned dcl 367 set ref 370* 376* 378 sblkp 000140 automatic pointer dcl 19 set ref 119* 120 124 125 131 131 search builtin function dcl 16 ref 285 292 segp 000124 automatic pointer dcl 19 set ref 93* 95 103* 233* segtop 000147 automatic fixed bin(18,0) dcl 21 set ref 113* 153 153* 161 161 sign based bit(18) level 2 packed unaligned dcl 48 ref 346 sl 000100 automatic fixed bin(24,0) dcl 289 set ref 290* 291 294 296 296 snap 0(15) 000245 automatic bit(1) level 2 packed unaligned dcl 39 set ref 184 191 sroot based structure level 1 dcl 47 std_symbol_header based structure level 1 dcl 5-1 string_block based structure level 1 dcl 4-31 string_blockp 3 based bit(18) level 3 packed unaligned dcl 47 ref 136 271 string_chars based structure level 1 dcl 4-50 string_offset 1 based bit(18) array level 2 packed unaligned dcl 4-31 ref 272 subr_block_items 6 based structure level 2 packed unaligned dcl 47 subrx 000103 automatic fixed bin(17,0) dcl 17 set ref 132* 161 161 161 161 161 161 169* 169 substr builtin function dcl 16 set ref 295 295 295 296 296 297 297 297 297 337* 337 342* 342 346* 346* 353 353 353 358 sym_offset 0(18) 000244 automatic fixed bin(17,0) level 2 packed unaligned dcl 34 set ref 210 symbol_root based structure level 1 dcl 4-3 symbp 12 000246 automatic pointer level 2 dcl 46 set ref 119 symrtp 000144 automatic pointer dcl 19 set ref 131* 133 133 134 134 135 135 136 136 137 137 138 138 139 139 141 141 143 150 150 173 173 176 176 202 202 210 210 210 210 260 260 265 265 271 271 272 277 277 278 283 283 284 301 301 tempp 000120 automatic pointer dcl 19 set ref 143* 144 272* 273 284* 285 285 287 textp 2 000246 automatic pointer level 2 dcl 46 set ref 113 type 000244 automatic fixed bin(9,0) level 2 packed unsigned unaligned dcl 34 set ref 210 unalconst 000242 automatic fixed bin(17,0) unaligned dcl 29 set ref 226* 227 value 1 based bit(18) level 2 packed unaligned dcl 1-12 ref 113 119 version_number 000246 automatic fixed bin(17,0) level 2 dcl 46 set ref 102* words parameter fixed bin(35,0) array dcl 365 in procedure "divider" set ref 360 372 373 374* 376 words 1 based fixed bin(35,0) array level 2 in structure "bignum" dcl 48 in procedure "dlos" ref 331 wordx 000106 automatic fixed bin(18,0) dcl 326 set ref 330* 331 331 331* x 000100 automatic fixed bin(17,0) dcl 237 in procedure "get_prinrep" set ref 251* 252 253* 256* 258 259 261 263* 263 264 266 269* 269 270 272 275* 275 276 278 281* 281 282 284 300* 300 302 303 x 000172 automatic fixed bin(17,0) dcl 364 in procedure "divider" set ref 372* 373 374 376* zlflag 000116 automatic bit(1) unaligned dcl 243 set ref 247* 255* 309 NAMES DECLARED BY EXPLICIT CONTEXT. bigna_representer 004674 constant entry internal dcl 317 ref 279 display_lisp_object_segment 000440 constant entry external dcl 6 divider 005300 constant entry internal dcl 360 ref 336 341 dlos 000431 constant entry external dcl 6 get_prinrep 003162 constant entry internal dcl 235 ref 158 161 184 210 228 253 306 309 311 312 314 get_prinrep_cdr 003173 constant entry internal dcl 249 ref 311 314 got_quotx 001642 constant label dcl 150 ref 146 hairy_atom 004336 constant entry internal dcl 288 ref 285 295 297 join 003270 constant label dcl 256 ref 248 no_more_args 001023 constant label dcl 93 ref 78 term 003146 constant label dcl 233 ref 106 111 117 122 126 NAMES DECLARED BY CONTEXT OR IMPLICATION. bit builtin function ref 373 373 divide builtin function ref 374 fixed builtin function ref 113 161 161 161 161 161 161 373 hbound builtin function ref 372 index builtin function ref 353 353 mod builtin function ref 375 rel builtin function ref 113 unspec builtin function set ref 183 209* 227* 227 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 6016 6056 5601 6026 Length 6410 5601 40 315 215 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dlos 350 external procedure is an external procedure. get_prinrep 131 internal procedure uses returns(char(*)) or returns(bit(*)), and is called during a stack extension. hairy_atom 93 internal procedure uses returns(char(*)) or returns(bit(*)), and is called during a stack extension. bigna_representer 154 internal procedure uses auto adjustable storage, and uses returns(char(*)) or returns(bit(*)). divider internal procedure shares stack frame of internal procedure bigna_representer. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME bigna_representer 000100 octrem bigna_representer 000100 decwds bigna_representer 000100 octdigs bigna_representer 000100 decdigs bigna_representer 000100 octwds bigna_representer 000101 decrem bigna_representer 000102 octx bigna_representer 000103 decx bigna_representer 000104 octz bigna_representer 000105 decz bigna_representer 000106 wordx bigna_representer 000170 buf divider 000172 x divider 000173 saw_nzq divider dlos 000100 actionx dlos 000101 linkx dlos 000102 arrayx dlos 000103 subrx dlos 000104 quotx dlos 000105 constx dlos 000106 action_count dlos 000107 action_type dlos 000110 n_fixnums dlos 000111 n_flonums dlos 000112 n_strings dlos 000113 n_bignums dlos 000114 n_conses dlos 000115 n_atsyms dlos 000116 entryp dlos 000120 tempp dlos 000122 actionp dlos 000124 segp dlos 000126 defp dlos 000130 constp dlos 000132 blockp dlos 000134 arrayp dlos 000136 linkp dlos 000140 sblkp dlos 000142 bigp dlos 000144 symrtp dlos 000146 bc dlos 000147 segtop dlos 000150 argno dlos 000151 dir dlos 000223 ent dlos 000233 code dlos 000234 argp dlos 000236 argl dlos 000237 doing_constants dlos 000240 doing_subr_links dlos 000241 doing_array_links dlos 000242 unalconst dlos 000243 constant_index_format dlos 000244 array_info dlos 000245 link_info dlos 000246 oi dlos get_prinrep 000100 x get_prinrep 000101 fvar get_prinrep 000114 car get_prinrep 000115 cdr get_prinrep 000116 zlflag get_prinrep 000117 ncons get_prinrep hairy_atom 000100 sl hairy_atom 000101 cx hairy_atom THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as r_ne_as alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this_desc call_int_other_desc return_mac alloc_auto_adj mdfx3 shorten_stack ext_entry int_entry_desc trunc_fx2 set_chars_eis index_chars_eis return_chars_eis divide_fx1 divide_fx3 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_ptr cv_bin_$oct expand_pathname_ get_definition_ hcs_$initiate_count hcs_$terminate_noname ioa_ ioa_$rsnnl object_info_$brief requote_string_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt CONSTANTS 005365 aa 000 000 000 000 005366 aa 000 000 000 000 005367 aa 000 000 777 000 ÿ 005370 aa 000 000 000 000 005371 aa 000 000 000 000 005372 aa 000 000 000 000 005373 aa 000 000 000 000 005374 aa 000 000 000 000 005375 aa 777 000 777 777 ÿÿÿ 005376 aa 000 000 000 777 ÿ 005377 aa 777 777 000 000 ÿÿ 005400 aa 777 000 777 777 ÿÿÿ 005401 aa 000 000 000 000 005402 aa 000 000 000 000 005403 aa 000 000 000 777 ÿ 005404 aa 000 000 000 000 005405 aa 000 000 000 000 005406 aa 000 000 000 000 005407 aa 000 000 000 000 005410 aa 000 000 000 000 005411 aa 000 000 000 000 005412 aa 000 000 000 000 005413 aa 000 000 000 000 005414 aa 000 000 000 000 005415 aa 777 000 000 000 ÿ 005416 aa 000 000 000 000 005417 aa 000 000 000 000 005420 aa 000 000 000 000 005421 aa 000 000 000 000 005422 aa 000 000 000 000 005423 aa 000 000 000 000 005424 aa 777 000 000 000 ÿ 005425 aa 000 000 000 000 005426 aa 000 000 000 000 005427 aa 000 000 000 000 005430 aa 000 000 000 000 005431 aa 000 000 000 000 005432 aa 000 000 000 000 005433 aa 000 000 000 000 005434 aa 000 000 000 000 005435 aa 000 000 000 000 005436 aa 000 000 000 000 005437 aa 000 000 000 000 005440 aa 000 000 000 000 005441 aa 000 000 000 000 005442 aa 000 000 000 000 005443 aa 000 000 000 000 005444 aa 000 000 000 000 005445 aa 000 000 000 000 005446 aa 000 000 000 000 005447 aa 000 000 000 000 005450 aa 000 000 000 000 005451 aa 000 000 000 000 005452 aa 000 000 000 000 005453 aa 000 000 000 000 005454 aa 000 000 000 000 005455 aa 000 000 000 000 005456 aa 000 000 000 000 005457 aa 000 000 000 000 005460 aa 000 000 000 000 005461 aa 000 000 000 000 005462 aa 000 000 000 000 005463 aa 000 000 000 000 005464 aa 000 000 000 000 005465 aa 000 000 000 000 005466 aa 000 000 000 000 005467 aa 000 000 000 000 005470 aa 000 000 000 000 005471 aa 000 000 000 000 005472 aa 000 000 000 000 005473 aa 000 000 000 000 005474 aa 000 000 000 000 005475 aa 000 000 000 000 005476 aa 000 000 000 000 005477 aa 000 000 000 000 005500 aa 000 000 000 000 005501 aa 000 000 000 000 005502 aa 000 000 000 000 005503 aa 000 000 000 000 005504 aa 000 000 000 000 005505 aa 000 000 000 000 005506 aa 000 000 000 000 005507 aa 000 000 000 000 005510 aa 000 000 000 000 005511 aa 000 000 000 000 005512 aa 000 000 000 000 005513 aa 000 000 000 000 005514 aa 000 000 000 000 005515 aa 000 000 000 000 005516 aa 000 000 000 000 005517 aa 000 000 000 000 005520 aa 000 000 000 000 005521 aa 000 000 000 000 005522 aa 000 000 000 000 005523 aa 000 000 000 000 005524 aa 000 000 000 000 005525 aa 000 000 000 000 005526 aa 000 000 000 000 005527 aa 000 000 000 000 005530 aa 000 000 000 000 005531 aa 000 000 000 000 005532 aa 000 000 000 000 005533 aa 000 000 000 000 005534 aa 000 000 000 000 005535 aa 000 000 000 000 005536 aa 000 000 000 000 005537 aa 000 000 000 000 005540 aa 000 000 000 000 005541 aa 000 000 000 000 005542 aa 000 000 000 000 005543 aa 000 000 000 000 005544 aa 000 000 000 000 005545 aa 000 000 000 000 005546 aa 000 000 000 000 005547 aa 000 000 000 000 005550 aa 000 000 000 000 005551 aa 000 000 000 000 005552 aa 000 000 000 000 005553 aa 000 000 000 000 005554 aa 000 000 000 000 005555 aa 000 000 000 000 005556 aa 000 000 000 000 005557 aa 000 000 000 000 005560 aa 000 000 000 000 005561 aa 000 000 000 000 005562 aa 000 000 000 000 005563 aa 000 000 000 000 005564 aa 000 000 000 000 000000 aa 060 061 062 063 0123 000001 aa 064 065 066 067 4567 000002 aa 070 071 000 000 89 000003 aa 144 151 163 160 disp 000004 aa 154 141 171 137 lay_ 000005 aa 154 151 163 160 lisp 000006 aa 137 157 142 152 _obj 000007 aa 145 143 164 137 ect_ 000010 aa 163 145 147 155 segm 000011 aa 145 156 164 040 ent 000012 aa 040 040 040 040 000013 aa 050 051 040 174 () | 000014 aa 057 047 140 043 /'`# 000015 aa 073 056 054 042 ;.," 000016 aa 012 040 040 040 000017 aa 040 040 040 040 000020 aa 040 040 040 040 000021 aa 040 040 040 040 000022 aa 040 040 040 040 005565 aa 056 000 000 000 . 000023 aa 404100000043 005566 aa 057 000 000 000 / 005567 aa 050 000 000 000 ( 005570 aa 047 000 000 000 ' 000024 aa 414000000033 000025 aa 530000000050 005571 aa 040 000 000 000 000026 aa 156 151 154 000 nil 005572 aa 051 000 000 000 ) 005573 aa 000000000003 000027 aa 040 056 040 000 . 000030 aa 526077777777 000031 aa 524000000034 000032 aa 404000000012 000033 aa 404000000033 000034 aa 524000000104 000035 aa 524000000027 000036 aa 524000000023 000037 aa 406000000016 000040 aa 524000000112 000041 aa 606000000011 000042 aa 516000000001 000043 aa 404000000032 000044 aa 524000000106 000045 aa 524000000026 000046 aa 404000000023 000047 aa 524000000114 000050 aa 524000000015 000051 aa 514000000001 000052 aa 524000000031 000053 aa 404000000022 000054 aa 524000000032 000055 aa 404000000021 000056 aa 524000000051 000057 aa 524000000040 000060 aa 404000000005 000061 aa 154 151 163 160 lisp 000062 aa 524000000025 000063 aa 524000000014 000064 aa 524000000020 000065 aa 524000000007 000066 aa 524000000005 000067 aa 464000000000 000070 aa 404000000002 000071 aa 404000000030 000072 aa 524000000000 000073 aa 055 141 154 000 -al 000074 aa 055 163 154 000 -sl 005575 aa 055 163 000 000 -s 000075 aa 154 151 156 153 link 000076 aa 055 154 153 000 -lk 005576 aa 055 154 000 000 -l 000077 aa 055 143 143 000 -cc 005577 aa 055 143 000 000 -c 005600 aa 055 141 000 000 -a 000100 aa 055 141 154 154 -all 000101 aa 055 154 147 000 -lg 005574 aa 000000000002 000102 aa 524000000002 000103 aa 526000000250 000104 aa 526000000000 000105 aa 524000000022 000106 aa 526000000040 000107 aa 404000000043 000110 aa 161 165 157 164 quot 000111 aa 145 000 000 000 e 000112 aa 052 163 145 147 *seg 000113 aa 164 157 160 000 top 000114 aa 136 141 076 136 ^a>^ 000115 aa 141 000 000 000 a 000116 aa 077777000043 000117 aa 000001000000 000120 aa 055 141 162 162 -arr 000121 aa 141 171 000 000 ay 000122 aa 055 163 165 142 -sub 000123 aa 162 000 000 000 r 000124 aa 055 154 151 156 -lin 000125 aa 153 163 000 000 ks 000126 aa 055 154 157 156 -lon 000127 aa 147 000 000 000 g 000130 aa 163 171 155 142 symb 000131 aa 157 154 137 164 ol_t 000132 aa 141 142 154 145 able 000133 aa 055 141 162 162 -arr 000134 aa 141 171 137 154 ay_l 000135 aa 151 156 153 163 inks 000136 aa 055 163 165 142 -sub 000137 aa 162 137 154 151 r_li 000140 aa 156 153 163 000 nks 000141 aa 055 143 157 156 -con 000142 aa 163 164 141 156 stan 000143 aa 164 163 000 000 ts 000144 aa 055 143 157 156 -con 000145 aa 163 164 141 156 stan 000146 aa 164 000 000 000 t 000147 aa 404100000043 000150 aa 000000000000 000151 aa 400000000000 000152 aa 400000000000 000153 aa 136 057 116 157 ^/No 000154 aa 040 163 165 142 sub 000155 aa 162 040 154 151 r li 000156 aa 156 153 163 056 nks. 000157 aa 136 063 144 040 ^3d 000160 aa 040 105 126 101 EVA 000161 aa 114 072 040 136 L: ^ 000162 aa 141 000 000 000 a 000163 aa 052 163 145 147 *seg 000164 aa 164 157 160 040 top 000165 aa 151 156 040 136 in ^ 000166 aa 141 076 136 141 a>^a 000167 aa 136 057 116 157 ^/No 000170 aa 040 141 162 162 arr 000171 aa 141 171 040 154 ay l 000172 aa 151 156 153 163 inks 000173 aa 056 136 057 000 .^/ 000174 aa 055 143 157 155 -com 000175 aa 160 151 154 145 pile 000176 aa 144 137 143 157 d_co 000177 aa 156 163 164 141 nsta 000200 aa 156 164 163 000 nts 000201 aa 125 163 141 147 Usag 000202 aa 145 072 040 144 e: d 000203 aa 154 157 163 040 los 000204 aa 074 120 101 124 000206 aa 136 057 136 144 ^/^d 000207 aa 040 141 162 162 arr 000210 aa 141 171 040 154 ay l 000211 aa 151 156 153 136 ink^ 000212 aa 133 163 136 135 [s^] 000213 aa 072 136 057 000 :^/ 000214 aa 136 057 136 144 ^/^d 000215 aa 040 163 165 142 sub 000216 aa 162 040 154 151 r li 000217 aa 156 153 136 133 nk^[ 000220 aa 163 136 135 072 s^]: 000221 aa 136 057 000 000 ^/ 000222 aa 163 171 155 142 symb 000223 aa 157 154 137 164 ol_t 000224 aa 141 142 154 145 able 000225 aa 040 151 156 040 in 000226 aa 136 141 076 136 ^a>^ 000227 aa 141 000 000 000 a 000230 aa 154 160 174 136 lp|^ 000231 aa 157 136 070 164 o^8t 000232 aa 136 133 114 117 ^[LO 000233 aa 101 104 040 124 AD T 000234 aa 111 115 105 072 IME: 000235 aa 040 136 135 136 ^]^ 000236 aa 141 000 000 000 a 000237 aa 136 057 116 157 ^/No 000240 aa 040 163 165 142 sub 000241 aa 162 055 142 154 r-bl 000242 aa 157 143 153 040 ock 000243 aa 143 157 156 163 cons 000244 aa 164 141 156 164 tant 000245 aa 163 056 136 057 s.^/ 000246 aa 136 144 040 141 ^d a 000247 aa 143 164 151 157 ctio 000250 aa 156 136 133 163 n^[s 000251 aa 136 135 040 144 ^] d 000252 aa 145 146 151 156 efin 000253 aa 145 144 072 136 ed:^ 000254 aa 057 000 000 000 / 000255 aa 136 141 040 141 ^a a 000256 aa 164 040 157 146 t of 000257 aa 146 163 145 164 fset 000260 aa 040 136 157 040 ^o 000261 aa 151 156 040 163 in s 000262 aa 145 147 155 145 egme 000263 aa 156 164 000 000 nt 000264 aa 136 057 136 144 ^/^d 000265 aa 040 163 165 142 sub 000266 aa 162 055 142 154 r-bl 000267 aa 157 143 153 040 ock 000270 aa 143 157 156 163 cons 000271 aa 164 141 156 164 tant 000272 aa 136 133 163 136 ^[s^ 000273 aa 135 072 136 057 ]:^/ 000274 aa 116 157 164 040 Not 000275 aa 141 040 114 151 a Li 000276 aa 163 160 040 157 sp o 000277 aa 142 152 145 143 bjec 000300 aa 164 040 163 145 t se 000301 aa 147 155 145 156 gmen 000302 aa 164 072 040 136 t: ^ 000303 aa 141 076 136 141 a>^a 000304 aa 126 145 162 163 Vers 000305 aa 151 157 156 040 ion 000306 aa 136 144 040 114 ^d L 000307 aa 151 163 160 040 isp 000310 aa 157 142 152 145 obje 000311 aa 143 164 040 163 ct s 000312 aa 145 147 040 156 eg n 000313 aa 157 164 040 163 ot s 000314 aa 165 160 160 157 uppo 000315 aa 162 164 145 144 rted 000316 aa 056 000 000 000 . 000317 aa 154 160 174 136 lp|^ 000320 aa 157 136 070 164 o^8t 000321 aa 136 141 136 063 ^a^3 000322 aa 060 164 136 144 0t^d 000323 aa 040 144 151 155 dim 000324 aa 136 133 163 136 ^[s^ 000325 aa 073 040 136 135 ; ^] 000326 aa 040 136 133 114 ^[L 000327 aa 151 163 160 040 isp 000330 aa 157 142 152 145 obje 000331 aa 143 164 163 136 cts^ 000332 aa 073 156 157 156 ;non 000333 aa 147 143 136 073 gc^; 000334 aa 146 151 170 156 fixn 000335 aa 165 155 136 073 um^; 000336 aa 146 154 157 156 flon 000337 aa 165 155 136 135 um^] 000340 aa 154 160 174 136 lp|^ 000341 aa 157 136 070 164 o^8t 000342 aa 136 141 136 133 ^a^[ 000343 aa 040 136 136 123 ^^S 000344 aa 116 101 120 136 NAP^ 000345 aa 135 136 133 136 ]^[^ 000346 aa 063 060 164 050 30t( 000347 aa 146 163 165 142 fsub 000350 aa 162 051 136 135 r)^] 000351 aa 136 133 136 063 ^[^3 000352 aa 060 164 050 154 0t(l 000353 aa 163 165 142 162 subr 000354 aa 051 136 135 136 )^]^ 000355 aa 133 136 063 060 [^30 000356 aa 164 136 144 040 t^d 000357 aa 141 162 147 136 arg^ 000360 aa 133 163 136 135 [s^] 000361 aa 136 135 000 000 ^] 000362 aa 154 160 174 136 lp|^ 000363 aa 157 136 070 164 o^8t 000364 aa 141 160 174 136 ap|^ 000365 aa 157 040 136 133 o ^[ 000366 aa 040 136 136 123 ^^S 000367 aa 116 101 120 136 NAP^ 000370 aa 135 136 133 136 ]^[^ 000371 aa 063 060 164 050 30t( 000372 aa 146 163 165 142 fsub 000373 aa 162 051 136 135 r)^] 000374 aa 136 133 136 063 ^[^3 000375 aa 060 164 050 154 0t(l 000376 aa 163 165 142 162 subr 000377 aa 051 136 135 136 )^]^ 000400 aa 133 136 063 060 [^30 000401 aa 164 136 144 040 t^d 000402 aa 141 162 147 136 arg^ 000403 aa 133 163 136 135 [s^] 000404 aa 136 135 000 000 ^] 000405 aa 136 063 144 040 ^3d 000406 aa 136 133 040 123 ^[ S 000407 aa 125 102 122 136 UBR^ 000410 aa 073 114 123 125 ;LSU 000411 aa 102 122 136 073 BR^; 000412 aa 106 123 125 102 FSUB 000413 aa 122 136 135 072 R^]: 000414 aa 040 136 141 136 ^a^ 000415 aa 063 060 164 136 30t^ 000416 aa 133 136 144 040 [^d 000417 aa 141 162 147 136 arg^ 000420 aa 133 163 136 135 [s^] 000421 aa 040 136 073 136 ^;^ 000422 aa 163 136 163 136 s^s^ 000423 aa 135 100 136 157 ]@^o 000424 aa 136 133 040 050 ^[ ( 000425 aa 136 157 040 151 ^o i 000426 aa 156 040 163 145 n se 000427 aa 147 051 136 135 g)^] BEGIN PROCEDURE dlos ENTRY TO dlos STATEMENT 1 ON LINE 6 display_lisp_object_segment: dlos: proc options (variable); 000430 da 000153240000 000431 aa 000540 6270 00 eax7 352 000432 aa 7 00034 3521 20 epp2 pr7|28,* 000433 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000434 aa 000000000000 000435 aa 000000000000 000436 aa 000007 7100 04 tra 7,ic 000445 ENTRY TO display_lisp_object_segment STATEMENT 1 ON LINE 6 display_lisp_object_segment: dlos: proc options (variable); 000437 da 000156240000 000440 aa 000540 6270 00 eax7 352 000441 aa 7 00034 3521 20 epp2 pr7|28,* 000442 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000443 aa 000000000000 000444 aa 000000000000 STATEMENT 1 ON LINE 65 doing_constants, doing_array_links, doing_subr_links = "0"b; 000445 aa 6 00237 4501 00 stz pr6|159 doing_constants 000446 aa 6 00241 4501 00 stz pr6|161 doing_array_links 000447 aa 6 00240 4501 00 stz pr6|160 doing_subr_links STATEMENT 1 ON LINE 66 call cu_$arg_ptr (1, argp, argl, code); 000450 aa 000001 2360 07 ldq 1,dl 000451 aa 6 00341 7561 00 stq pr6|225 000452 aa 6 00341 3521 00 epp2 pr6|225 000453 aa 6 00344 2521 00 spri2 pr6|228 000454 aa 6 00234 3521 00 epp2 pr6|156 argp 000455 aa 6 00346 2521 00 spri2 pr6|230 000456 aa 6 00236 3521 00 epp2 pr6|158 argl 000457 aa 6 00350 2521 00 spri2 pr6|232 000460 aa 6 00233 3521 00 epp2 pr6|155 code 000461 aa 6 00352 2521 00 spri2 pr6|234 000462 aa 6 00342 6211 00 eax1 pr6|226 000463 aa 020000 4310 07 fld 8192,dl 000464 la 4 00012 3521 20 epp2 pr4|10,* cu_$arg_ptr 000465 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 67 if code ^= 0 then do; 000466 aa 6 00233 2361 00 ldq pr6|155 code 000467 aa 000026 6000 04 tze 22,ic 000515 STATEMENT 1 ON LINE 68 call com_err_ (code, myname, "Usage: dlos "); 000470 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000471 aa 777511 00 0024 desc9a -183,20 000201 = 125163141147 000472 aa 6 00342 00 0024 desc9a pr6|226,20 000473 aa 6 00233 3521 00 epp2 pr6|155 code 000474 aa 6 00356 2521 00 spri2 pr6|238 000475 aa 777306 3520 04 epp2 -314,ic 000003 = 144151163160 000476 aa 6 00360 2521 00 spri2 pr6|240 000477 aa 6 00342 3521 00 epp2 pr6|226 000500 aa 6 00362 2521 00 spri2 pr6|242 000501 aa 777406 3520 04 epp2 -250,ic 000107 = 404000000043 000502 aa 6 00364 2521 00 spri2 pr6|244 000503 aa 777403 3520 04 epp2 -253,ic 000106 = 526000000040 000504 aa 6 00366 2521 00 spri2 pr6|246 000505 aa 777400 3520 04 epp2 -256,ic 000105 = 524000000022 000506 aa 6 00370 2521 00 spri2 pr6|248 000507 aa 6 00354 6211 00 eax1 pr6|236 000510 aa 014000 4310 07 fld 6144,dl 000511 aa 6 00044 3701 20 epp4 pr6|36,* 000512 la 4 00030 3521 20 epp2 pr4|24,* com_err_ 000513 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 69 return; 000514 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 70 end; STATEMENT 1 ON LINE 71 call expand_pathname_ (arg, dir, ent, code); 000515 aa 6 00236 2361 00 ldq pr6|158 argl 000516 aa 526000 2760 03 orq 175104,du 000517 aa 6 00341 7561 00 stq pr6|225 000520 aa 6 00234 3521 20 epp2 pr6|156,* arg 000521 aa 6 00374 2521 00 spri2 pr6|252 000522 aa 6 00151 3521 00 epp2 pr6|105 dir 000523 aa 6 00376 2521 00 spri2 pr6|254 000524 aa 6 00223 3521 00 epp2 pr6|147 ent 000525 aa 6 00400 2521 00 spri2 pr6|256 000526 aa 6 00233 3521 00 epp2 pr6|155 code 000527 aa 6 00402 2521 00 spri2 pr6|258 000530 aa 6 00341 3521 00 epp2 pr6|225 000531 aa 6 00404 2521 00 spri2 pr6|260 000532 aa 777351 3520 04 epp2 -279,ic 000103 = 526000000250 000533 aa 6 00406 2521 00 spri2 pr6|262 000534 aa 777352 3520 04 epp2 -278,ic 000106 = 526000000040 000535 aa 6 00410 2521 00 spri2 pr6|264 000536 aa 777351 3520 04 epp2 -279,ic 000107 = 404000000043 000537 aa 6 00412 2521 00 spri2 pr6|266 000540 aa 6 00372 6211 00 eax1 pr6|250 000541 aa 020000 4310 07 fld 8192,dl 000542 aa 6 00044 3701 20 epp4 pr6|36,* 000543 la 4 00014 3521 20 epp2 pr4|12,* expand_pathname_ 000544 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 72 if code ^= 0 then do; 000545 aa 6 00233 2361 00 ldq pr6|155 code 000546 aa 000034 6000 04 tze 28,ic 000602 STATEMENT 1 ON LINE 73 call com_err_ (code, myname, "^a", arg); 000547 aa 6 00236 2361 00 ldq pr6|158 argl 000550 aa 526000 2760 03 orq 175104,du 000551 aa 6 00341 7561 00 stq pr6|225 000552 aa 136141 2350 03 lda 48225,du 000553 aa 6 00414 7551 00 sta pr6|268 000554 aa 6 00233 3521 00 epp2 pr6|155 code 000555 aa 6 00374 2521 00 spri2 pr6|252 000556 aa 777225 3520 04 epp2 -363,ic 000003 = 144151163160 000557 aa 6 00376 2521 00 spri2 pr6|254 000560 aa 6 00414 3521 00 epp2 pr6|268 000561 aa 6 00400 2521 00 spri2 pr6|256 000562 aa 6 00234 3521 20 epp2 pr6|156,* arg 000563 aa 6 00402 2521 00 spri2 pr6|258 000564 aa 777323 3520 04 epp2 -301,ic 000107 = 404000000043 000565 aa 6 00404 2521 00 spri2 pr6|260 000566 aa 777320 3520 04 epp2 -304,ic 000106 = 526000000040 000567 aa 6 00406 2521 00 spri2 pr6|262 000570 aa 777312 3520 04 epp2 -310,ic 000102 = 524000000002 000571 aa 6 00410 2521 00 spri2 pr6|264 000572 aa 6 00341 3521 00 epp2 pr6|225 000573 aa 6 00412 2521 00 spri2 pr6|266 000574 aa 6 00372 6211 00 eax1 pr6|250 000575 aa 020000 4310 07 fld 8192,dl 000576 aa 6 00044 3701 20 epp4 pr6|36,* 000577 la 4 00030 3521 20 epp2 pr4|24,* com_err_ 000600 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 74 return; 000601 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 75 end; STATEMENT 1 ON LINE 76 do argno = 2 by 1; 000602 aa 000002 2360 07 ldq 2,dl 000603 aa 6 00150 7561 00 stq pr6|104 argno STATEMENT 1 ON LINE 77 call cu_$arg_ptr (argno, argp, argl, code); 000604 aa 6 00150 3521 00 epp2 pr6|104 argno 000605 aa 6 00344 2521 00 spri2 pr6|228 000606 aa 6 00234 3521 00 epp2 pr6|156 argp 000607 aa 6 00346 2521 00 spri2 pr6|230 000610 aa 6 00236 3521 00 epp2 pr6|158 argl 000611 aa 6 00350 2521 00 spri2 pr6|232 000612 aa 6 00233 3521 00 epp2 pr6|155 code 000613 aa 6 00352 2521 00 spri2 pr6|234 000614 aa 6 00342 6211 00 eax1 pr6|226 000615 aa 020000 4310 07 fld 8192,dl 000616 aa 6 00044 3701 20 epp4 pr6|36,* 000617 la 4 00012 3521 20 epp2 pr4|10,* cu_$arg_ptr 000620 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 78 if code = 0 then do; 000621 aa 6 00233 2361 00 ldq pr6|155 code 000622 aa 000201 6010 04 tnz 129,ic 001023 STATEMENT 1 ON LINE 79 if arg = "-long" | arg = "-lg" | arg = "-all" | arg = "-a" then doing_constants, doing_array_links, doing_subr_links = "1"b; 000623 aa 6 00234 3735 20 epp7 pr6|156,* argp 000624 aa 6 00236 2351 00 lda pr6|158 argl 000625 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000626 aa 7 00000 00 0005 desc9a pr7|0,al arg 000627 aa 777301 00 0005 desc9a -319,5 000126 = 055154157156 000630 aa 000015 6000 04 tze 13,ic 000645 000631 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000632 aa 7 00000 00 0005 desc9a pr7|0,al arg 000633 aa 777250 00 0003 desc9a -344,3 000101 = 055154147000 000634 aa 000011 6000 04 tze 9,ic 000645 000635 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000636 aa 7 00000 00 0005 desc9a pr7|0,al arg 000637 aa 777243 00 0004 desc9a -349,4 000100 = 055141154154 000640 aa 000005 6000 04 tze 5,ic 000645 000641 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000642 aa 7 00000 00 0005 desc9a pr7|0,al arg 000643 aa 004737 00 0002 desc9a 2527,2 005600 = 055141000000 000644 aa 000006 6010 04 tnz 6,ic 000652 000645 aa 400000 2350 03 lda 131072,du 000646 aa 6 00237 7551 00 sta pr6|159 doing_constants 000647 aa 6 00241 7551 00 sta pr6|161 doing_array_links 000650 aa 6 00240 7551 00 sta pr6|160 doing_subr_links 000651 aa 000150 7100 04 tra 104,ic 001021 STATEMENT 1 ON LINE 81 else if arg = "-constant" | arg = "-constants" | arg = "-c" | arg = "-cc" | arg = "-compiled_constants" then doing_constants = "1"b; 000652 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000653 aa 7 00000 00 0005 desc9a pr7|0,al arg 000654 aa 777272 00 0011 desc9a -326,9 000144 = 055143157156 000655 aa 000021 6000 04 tze 17,ic 000676 000656 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000657 aa 7 00000 00 0005 desc9a pr7|0,al arg 000660 aa 777263 00 0012 desc9a -333,10 000141 = 055143157156 000661 aa 000015 6000 04 tze 13,ic 000676 000662 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000663 aa 7 00000 00 0005 desc9a pr7|0,al arg 000664 aa 004715 00 0002 desc9a 2509,2 005577 = 055143000000 000665 aa 000011 6000 04 tze 9,ic 000676 000666 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000667 aa 7 00000 00 0005 desc9a pr7|0,al arg 000670 aa 777211 00 0003 desc9a -375,3 000077 = 055143143000 000671 aa 000005 6000 04 tze 5,ic 000676 000672 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000673 aa 7 00000 00 0005 desc9a pr7|0,al arg 000674 aa 777302 00 0023 desc9a -318,19 000174 = 055143157155 000675 aa 000004 6010 04 tnz 4,ic 000701 000676 aa 400000 2350 03 lda 131072,du 000677 aa 6 00237 7551 00 sta pr6|159 doing_constants 000700 aa 000121 7100 04 tra 81,ic 001021 STATEMENT 1 ON LINE 83 else if arg = "-l" | arg = "-lk" | arg = "link" | arg = "-links" then doing_subr_links = "1"b; 000701 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000702 aa 7 00000 00 0005 desc9a pr7|0,al arg 000703 aa 004675 00 0002 desc9a 2493,2 005576 = 055154000000 000704 aa 000015 6000 04 tze 13,ic 000721 000705 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000706 aa 7 00000 00 0005 desc9a pr7|0,al arg 000707 aa 777171 00 0003 desc9a -391,3 000076 = 055154153000 000710 aa 000011 6000 04 tze 9,ic 000721 000711 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000712 aa 7 00000 00 0005 desc9a pr7|0,al arg 000713 aa 777164 00 0004 desc9a -396,4 000075 = 154151156153 000714 aa 000005 6000 04 tze 5,ic 000721 000715 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000716 aa 7 00000 00 0005 desc9a pr7|0,al arg 000717 aa 777207 00 0006 desc9a -377,6 000124 = 055154151156 000720 aa 000004 6010 04 tnz 4,ic 000724 000721 aa 400000 2350 03 lda 131072,du 000722 aa 6 00240 7551 00 sta pr6|160 doing_subr_links 000723 aa 000076 7100 04 tra 62,ic 001021 STATEMENT 1 ON LINE 84 else if arg = "-subr" | arg = "-s" | arg = "-subr_links" | arg = "-sl" then doing_subr_links = "1"b; 000724 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000725 aa 7 00000 00 0005 desc9a pr7|0,al arg 000726 aa 777176 00 0005 desc9a -386,5 000122 = 055163165142 000727 aa 000015 6000 04 tze 13,ic 000744 000730 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000731 aa 7 00000 00 0005 desc9a pr7|0,al arg 000732 aa 004645 00 0002 desc9a 2469,2 005575 = 055163000000 000733 aa 000011 6000 04 tze 9,ic 000744 000734 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000735 aa 7 00000 00 0005 desc9a pr7|0,al arg 000736 aa 777202 00 0013 desc9a -382,11 000136 = 055163165142 000737 aa 000005 6000 04 tze 5,ic 000744 000740 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000741 aa 7 00000 00 0005 desc9a pr7|0,al arg 000742 aa 777134 00 0003 desc9a -420,3 000074 = 055163154000 000743 aa 000004 6010 04 tnz 4,ic 000747 000744 aa 400000 2350 03 lda 131072,du 000745 aa 6 00240 7551 00 sta pr6|160 doing_subr_links 000746 aa 000053 7100 04 tra 43,ic 001021 STATEMENT 1 ON LINE 85 else if arg = "-array" | arg = "-array_links" | arg = "-al" then doing_array_links = "1"b; 000747 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000750 aa 7 00000 00 0005 desc9a pr7|0,al arg 000751 aa 777151 00 0006 desc9a -407,6 000120 = 055141162162 000752 aa 000011 6000 04 tze 9,ic 000763 000753 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000754 aa 7 00000 00 0005 desc9a pr7|0,al arg 000755 aa 777160 00 0014 desc9a -400,12 000133 = 055141162162 000756 aa 000005 6000 04 tze 5,ic 000763 000757 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000760 aa 7 00000 00 0005 desc9a pr7|0,al arg 000761 aa 777114 00 0003 desc9a -436,3 000073 = 055141154000 000762 aa 000004 6010 04 tnz 4,ic 000766 000763 aa 400000 2350 03 lda 131072,du 000764 aa 6 00241 7551 00 sta pr6|161 doing_array_links 000765 aa 000034 7100 04 tra 28,ic 001021 STATEMENT 1 ON LINE 86 else do; STATEMENT 1 ON LINE 87 call com_err_ (error_table_$badopt, myname, "^a", arg); 000766 aa 6 00236 2361 00 ldq pr6|158 argl 000767 aa 526000 2760 03 orq 175104,du 000770 aa 6 00341 7561 00 stq pr6|225 000771 aa 136141 2350 03 lda 48225,du 000772 aa 6 00414 7551 00 sta pr6|268 000773 aa 6 00044 3701 20 epp4 pr6|36,* 000774 la 4 00010 3521 20 epp2 pr4|8,* error_table_$badopt 000775 aa 6 00374 2521 00 spri2 pr6|252 000776 aa 777005 3520 04 epp2 -507,ic 000003 = 144151163160 000777 aa 6 00376 2521 00 spri2 pr6|254 001000 aa 6 00414 3521 00 epp2 pr6|268 001001 aa 6 00400 2521 00 spri2 pr6|256 001002 aa 7 00000 3521 00 epp2 pr7|0 arg 001003 aa 6 00402 2521 00 spri2 pr6|258 001004 aa 777103 3520 04 epp2 -445,ic 000107 = 404000000043 001005 aa 6 00404 2521 00 spri2 pr6|260 001006 aa 777100 3520 04 epp2 -448,ic 000106 = 526000000040 001007 aa 6 00406 2521 00 spri2 pr6|262 001010 aa 777072 3520 04 epp2 -454,ic 000102 = 524000000002 001011 aa 6 00410 2521 00 spri2 pr6|264 001012 aa 6 00341 3521 00 epp2 pr6|225 001013 aa 6 00412 2521 00 spri2 pr6|266 001014 aa 6 00372 6211 00 eax1 pr6|250 001015 aa 020000 4310 07 fld 8192,dl 001016 la 4 00030 3521 20 epp2 pr4|24,* com_err_ 001017 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 88 return; 001020 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 89 end; STATEMENT 1 ON LINE 90 end; STATEMENT 1 ON LINE 92 end; 001021 aa 6 00150 0541 00 aos pr6|104 argno 001022 aa 777562 7100 04 tra -142,ic 000604 STATEMENT 1 ON LINE 93 no_more_args: call hcs_$initiate_count (dir, ent, "", bc, 0, segp, code); 001023 aa 6 00414 4501 00 stz pr6|268 001024 aa 6 00151 3521 00 epp2 pr6|105 dir 001025 aa 6 00420 2521 00 spri2 pr6|272 001026 aa 6 00223 3521 00 epp2 pr6|147 ent 001027 aa 6 00422 2521 00 spri2 pr6|274 001030 aa 6 00341 3521 00 epp2 pr6|225 001031 aa 6 00424 2521 00 spri2 pr6|276 001032 aa 6 00146 3521 00 epp2 pr6|102 bc 001033 aa 6 00426 2521 00 spri2 pr6|278 001034 aa 6 00414 3521 00 epp2 pr6|268 001035 aa 6 00430 2521 00 spri2 pr6|280 001036 aa 6 00124 3521 00 epp2 pr6|84 segp 001037 aa 6 00432 2521 00 spri2 pr6|282 001040 aa 6 00233 3521 00 epp2 pr6|155 code 001041 aa 6 00434 2521 00 spri2 pr6|284 001042 aa 777041 3520 04 epp2 -479,ic 000103 = 526000000250 001043 aa 6 00436 2521 00 spri2 pr6|286 001044 aa 777042 3520 04 epp2 -478,ic 000106 = 526000000040 001045 aa 6 00440 2521 00 spri2 pr6|288 001046 aa 777024 3520 04 epp2 -492,ic 000072 = 524000000000 001047 aa 6 00442 2521 00 spri2 pr6|290 001050 aa 777021 3520 04 epp2 -495,ic 000071 = 404000000030 001051 aa 6 00444 2521 00 spri2 pr6|292 001052 aa 777016 3520 04 epp2 -498,ic 000070 = 404000000002 001053 aa 6 00446 2521 00 spri2 pr6|294 001054 aa 777013 3520 04 epp2 -501,ic 000067 = 464000000000 001055 aa 6 00450 2521 00 spri2 pr6|296 001056 aa 777031 3520 04 epp2 -487,ic 000107 = 404000000043 001057 aa 6 00452 2521 00 spri2 pr6|298 001060 aa 6 00416 6211 00 eax1 pr6|270 001061 aa 034000 4310 07 fld 14336,dl 001062 aa 6 00044 3701 20 epp4 pr6|36,* 001063 la 4 00016 3521 20 epp2 pr4|14,* hcs_$initiate_count 001064 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 95 if segp = null () then do; 001065 aa 6 00124 2371 00 ldaq pr6|84 segp 001066 aa 777030 6770 04 eraq -488,ic 000116 = 077777000043 000001000000 001067 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001070 aa 000034 6010 04 tnz 28,ic 001124 STATEMENT 1 ON LINE 96 call com_err_ (code, myname, "^a>^a", dir, ent); 001071 aa 777023 2370 04 ldaq -493,ic 000114 = 136141076136 141000000000 001072 aa 6 00454 7571 00 staq pr6|300 001073 aa 6 00233 3521 00 epp2 pr6|155 code 001074 aa 6 00420 2521 00 spri2 pr6|272 001075 aa 776706 3520 04 epp2 -570,ic 000003 = 144151163160 001076 aa 6 00422 2521 00 spri2 pr6|274 001077 aa 6 00454 3521 00 epp2 pr6|300 001100 aa 6 00424 2521 00 spri2 pr6|276 001101 aa 6 00151 3521 00 epp2 pr6|105 dir 001102 aa 6 00426 2521 00 spri2 pr6|278 001103 aa 6 00223 3521 00 epp2 pr6|147 ent 001104 aa 6 00430 2521 00 spri2 pr6|280 001105 aa 777002 3520 04 epp2 -510,ic 000107 = 404000000043 001106 aa 6 00432 2521 00 spri2 pr6|282 001107 aa 776777 3520 04 epp2 -513,ic 000106 = 526000000040 001110 aa 6 00434 2521 00 spri2 pr6|284 001111 aa 6 00442 2521 00 spri2 pr6|290 001112 aa 776754 3520 04 epp2 -532,ic 000066 = 524000000005 001113 aa 6 00436 2521 00 spri2 pr6|286 001114 aa 776767 3520 04 epp2 -521,ic 000103 = 526000000250 001115 aa 6 00440 2521 00 spri2 pr6|288 001116 aa 6 00416 6211 00 eax1 pr6|270 001117 aa 024000 4310 07 fld 10240,dl 001120 aa 6 00044 3701 20 epp4 pr6|36,* 001121 la 4 00030 3521 20 epp2 pr4|24,* com_err_ 001122 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 97 return; 001123 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 98 end; STATEMENT 1 ON LINE 102 oi.version_number = object_info_version_2; 001124 aa 000002 2360 07 ldq 2,dl 001125 aa 6 00246 7561 00 stq pr6|166 oi.version_number STATEMENT 1 ON LINE 103 call object_info_$brief (segp, bc, addr (oi), code); 001126 aa 6 00246 3735 00 epp7 pr6|166 oi 001127 aa 6 00454 6535 00 spri7 pr6|300 001130 aa 6 00124 3521 00 epp2 pr6|84 segp 001131 aa 6 00344 2521 00 spri2 pr6|228 001132 aa 6 00146 3521 00 epp2 pr6|102 bc 001133 aa 6 00346 2521 00 spri2 pr6|230 001134 aa 6 00454 3521 00 epp2 pr6|300 001135 aa 6 00350 2521 00 spri2 pr6|232 001136 aa 6 00233 3521 00 epp2 pr6|155 code 001137 aa 6 00352 2521 00 spri2 pr6|234 001140 aa 6 00342 6211 00 eax1 pr6|226 001141 aa 020000 4310 07 fld 8192,dl 001142 aa 6 00044 3701 20 epp4 pr6|36,* 001143 la 4 00024 3521 20 epp2 pr4|20,* object_info_$brief 001144 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 104 if code ^= 0 then do; 001145 aa 6 00233 2361 00 ldq pr6|155 code 001146 aa 000034 6000 04 tze 28,ic 001202 STATEMENT 1 ON LINE 105 call com_err_ (code, myname, "^a>^a", dir, ent); 001147 aa 776745 2370 04 ldaq -539,ic 000114 = 136141076136 141000000000 001150 aa 6 00454 7571 00 staq pr6|300 001151 aa 6 00233 3521 00 epp2 pr6|155 code 001152 aa 6 00420 2521 00 spri2 pr6|272 001153 aa 776630 3520 04 epp2 -616,ic 000003 = 144151163160 001154 aa 6 00422 2521 00 spri2 pr6|274 001155 aa 6 00454 3521 00 epp2 pr6|300 001156 aa 6 00424 2521 00 spri2 pr6|276 001157 aa 6 00151 3521 00 epp2 pr6|105 dir 001160 aa 6 00426 2521 00 spri2 pr6|278 001161 aa 6 00223 3521 00 epp2 pr6|147 ent 001162 aa 6 00430 2521 00 spri2 pr6|280 001163 aa 776724 3520 04 epp2 -556,ic 000107 = 404000000043 001164 aa 6 00432 2521 00 spri2 pr6|282 001165 aa 776721 3520 04 epp2 -559,ic 000106 = 526000000040 001166 aa 6 00434 2521 00 spri2 pr6|284 001167 aa 6 00442 2521 00 spri2 pr6|290 001170 aa 776676 3520 04 epp2 -578,ic 000066 = 524000000005 001171 aa 6 00436 2521 00 spri2 pr6|286 001172 aa 776711 3520 04 epp2 -567,ic 000103 = 526000000250 001173 aa 6 00440 2521 00 spri2 pr6|288 001174 aa 6 00416 6211 00 eax1 pr6|270 001175 aa 024000 4310 07 fld 10240,dl 001176 aa 6 00044 3701 20 epp4 pr6|36,* 001177 la 4 00030 3521 20 epp2 pr4|24,* com_err_ 001200 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 106 go to term; 001201 aa 001745 7100 04 tra 997,ic 003146 STATEMENT 1 ON LINE 107 end; STATEMENT 1 ON LINE 108 call get_definition_ (oi.defp, ent, "*segtop", defp, code); 001202 aa 776710 2370 04 ldaq -568,ic 000112 = 052163145147 164157160000 001203 aa 6 00454 7571 00 staq pr6|300 001204 aa 6 00252 3521 00 epp2 pr6|170 oi.defp 001205 aa 6 00420 2521 00 spri2 pr6|272 001206 aa 6 00223 3521 00 epp2 pr6|147 ent 001207 aa 6 00422 2521 00 spri2 pr6|274 001210 aa 6 00454 3521 00 epp2 pr6|300 001211 aa 6 00424 2521 00 spri2 pr6|276 001212 aa 6 00126 3521 00 epp2 pr6|86 defp 001213 aa 6 00426 2521 00 spri2 pr6|278 001214 aa 6 00233 3521 00 epp2 pr6|155 code 001215 aa 6 00430 2521 00 spri2 pr6|280 001216 aa 776651 3520 04 epp2 -599,ic 000067 = 464000000000 001217 aa 6 00432 2521 00 spri2 pr6|282 001220 aa 6 00440 2521 00 spri2 pr6|288 001221 aa 776665 3520 04 epp2 -587,ic 000106 = 526000000040 001222 aa 6 00434 2521 00 spri2 pr6|284 001223 aa 776642 3520 04 epp2 -606,ic 000065 = 524000000007 001224 aa 6 00436 2521 00 spri2 pr6|286 001225 aa 776662 3520 04 epp2 -590,ic 000107 = 404000000043 001226 aa 6 00442 2521 00 spri2 pr6|290 001227 aa 6 00416 6211 00 eax1 pr6|270 001230 aa 024000 4310 07 fld 10240,dl 001231 aa 6 00044 3701 20 epp4 pr6|36,* 001232 la 4 00020 3521 20 epp2 pr4|16,* get_definition_ 001233 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 109 if code ^= 0 then do; 001234 aa 6 00233 2361 00 ldq pr6|155 code 001235 aa 000040 6000 04 tze 32,ic 001275 STATEMENT 1 ON LINE 110 call com_err_ (code, myname, "*segtop in ^a>^a", dir, ent); 001236 aa 776725 2350 04 lda -555,ic 000163 = 052163145147 001237 aa 776725 2360 04 ldq -555,ic 000164 = 164157160040 001240 aa 6 00342 7571 00 staq pr6|226 001241 aa 776724 2350 04 lda -556,ic 000165 = 151156040136 001242 aa 776724 2360 04 ldq -556,ic 000166 = 141076136141 001243 aa 6 00344 7571 00 staq pr6|228 001244 aa 6 00233 3521 00 epp2 pr6|155 code 001245 aa 6 00420 2521 00 spri2 pr6|272 001246 aa 776535 3520 04 epp2 -675,ic 000003 = 144151163160 001247 aa 6 00422 2521 00 spri2 pr6|274 001250 aa 6 00342 3521 00 epp2 pr6|226 001251 aa 6 00424 2521 00 spri2 pr6|276 001252 aa 6 00151 3521 00 epp2 pr6|105 dir 001253 aa 6 00426 2521 00 spri2 pr6|278 001254 aa 6 00223 3521 00 epp2 pr6|147 ent 001255 aa 6 00430 2521 00 spri2 pr6|280 001256 aa 776631 3520 04 epp2 -615,ic 000107 = 404000000043 001257 aa 6 00432 2521 00 spri2 pr6|282 001260 aa 776626 3520 04 epp2 -618,ic 000106 = 526000000040 001261 aa 6 00434 2521 00 spri2 pr6|284 001262 aa 6 00442 2521 00 spri2 pr6|290 001263 aa 776601 3520 04 epp2 -639,ic 000064 = 524000000020 001264 aa 6 00436 2521 00 spri2 pr6|286 001265 aa 776616 3520 04 epp2 -626,ic 000103 = 526000000250 001266 aa 6 00440 2521 00 spri2 pr6|288 001267 aa 6 00416 6211 00 eax1 pr6|270 001270 aa 024000 4310 07 fld 10240,dl 001271 aa 6 00044 3701 20 epp4 pr6|36,* 001272 la 4 00030 3521 20 epp2 pr4|24,* com_err_ 001273 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 111 go to term; 001274 aa 001652 7100 04 tra 938,ic 003146 STATEMENT 1 ON LINE 112 end; STATEMENT 1 ON LINE 113 segtop = fixed (rel (addrel (oi.textp, defp -> definition.value)), 18); 001275 aa 6 00126 3735 20 epp7 pr6|86,* defp 001276 aa 7 00001 2351 00 lda pr7|1 definition.value 001277 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 001300 aa 6 00250 3521 61 epp2 pr6|168,*au oi.textp 001301 aa 000000 0520 03 adwp2 0,du 001302 aa 2 00000 6351 00 eaa pr2|0 001303 aa 000066 7730 00 lrl 54 001304 aa 6 00147 7561 00 stq pr6|103 segtop STATEMENT 1 ON LINE 114 call get_definition_ (oi.defp, ent, "symbol_table", defp, code); 001305 aa 776623 2370 04 ldaq -621,ic 000130 = 163171155142 157154137164 001306 aa 6 00342 7571 00 staq pr6|226 001307 aa 776623 2350 04 lda -621,ic 000132 = 141142154145 001310 aa 6 00344 7551 00 sta pr6|228 001311 aa 6 00454 2521 00 spri2 pr6|300 001312 aa 6 00252 3521 00 epp2 pr6|170 oi.defp 001313 aa 6 00420 2521 00 spri2 pr6|272 001314 aa 6 00223 3521 00 epp2 pr6|147 ent 001315 aa 6 00422 2521 00 spri2 pr6|274 001316 aa 6 00342 3521 00 epp2 pr6|226 001317 aa 6 00424 2521 00 spri2 pr6|276 001320 aa 6 00126 3521 00 epp2 pr6|86 defp 001321 aa 6 00426 2521 00 spri2 pr6|278 001322 aa 6 00233 3521 00 epp2 pr6|155 code 001323 aa 6 00430 2521 00 spri2 pr6|280 001324 aa 776543 3520 04 epp2 -669,ic 000067 = 464000000000 001325 aa 6 00432 2521 00 spri2 pr6|282 001326 aa 6 00440 2521 00 spri2 pr6|288 001327 aa 776557 3520 04 epp2 -657,ic 000106 = 526000000040 001330 aa 6 00434 2521 00 spri2 pr6|284 001331 aa 776532 3520 04 epp2 -678,ic 000063 = 524000000014 001332 aa 6 00436 2521 00 spri2 pr6|286 001333 aa 776554 3520 04 epp2 -660,ic 000107 = 404000000043 001334 aa 6 00442 2521 00 spri2 pr6|290 001335 aa 6 00416 6211 00 eax1 pr6|270 001336 aa 024000 4310 07 fld 10240,dl 001337 aa 6 00044 3701 20 epp4 pr6|36,* 001340 la 4 00020 3521 20 epp2 pr4|16,* get_definition_ 001341 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 115 if code ^= 0 then do; 001342 aa 6 00233 2361 00 ldq pr6|155 code 001343 aa 000040 6000 04 tze 32,ic 001403 STATEMENT 1 ON LINE 116 call com_err_ (code, myname, "symbol_table in ^a>^a", dir, ent); 001344 aa 776656 2370 04 ldaq -594,ic 000222 = 163171155142 157154137164 001345 aa 6 00342 7571 00 staq pr6|226 001346 aa 776656 2370 04 ldaq -594,ic 000224 = 141142154145 040151156040 001347 aa 6 00344 7571 00 staq pr6|228 001350 aa 776656 2370 04 ldaq -594,ic 000226 = 136141076136 141000000000 001351 aa 6 00346 7571 00 staq pr6|230 001352 aa 6 00233 3521 00 epp2 pr6|155 code 001353 aa 6 00420 2521 00 spri2 pr6|272 001354 aa 776427 3520 04 epp2 -745,ic 000003 = 144151163160 001355 aa 6 00422 2521 00 spri2 pr6|274 001356 aa 6 00342 3521 00 epp2 pr6|226 001357 aa 6 00424 2521 00 spri2 pr6|276 001360 aa 6 00151 3521 00 epp2 pr6|105 dir 001361 aa 6 00426 2521 00 spri2 pr6|278 001362 aa 6 00223 3521 00 epp2 pr6|147 ent 001363 aa 6 00430 2521 00 spri2 pr6|280 001364 aa 776523 3520 04 epp2 -685,ic 000107 = 404000000043 001365 aa 6 00432 2521 00 spri2 pr6|282 001366 aa 776520 3520 04 epp2 -688,ic 000106 = 526000000040 001367 aa 6 00434 2521 00 spri2 pr6|284 001370 aa 6 00442 2521 00 spri2 pr6|290 001371 aa 776471 3520 04 epp2 -711,ic 000062 = 524000000025 001372 aa 6 00436 2521 00 spri2 pr6|286 001373 aa 776510 3520 04 epp2 -696,ic 000103 = 526000000250 001374 aa 6 00440 2521 00 spri2 pr6|288 001375 aa 6 00416 6211 00 eax1 pr6|270 001376 aa 024000 4310 07 fld 10240,dl 001377 aa 6 00044 3701 20 epp4 pr6|36,* 001400 la 4 00030 3521 20 epp2 pr4|24,* com_err_ 001401 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 117 go to term; 001402 aa 001544 7100 04 tra 868,ic 003146 STATEMENT 1 ON LINE 118 end; STATEMENT 1 ON LINE 119 sblkp = addrel (oi.symbp, defp -> definition.value); 001403 aa 6 00126 3735 20 epp7 pr6|86,* defp 001404 aa 7 00001 2351 00 lda pr7|1 definition.value 001405 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 001406 aa 6 00260 3521 61 epp2 pr6|176,*au oi.symbp 001407 aa 000000 0520 03 adwp2 0,du 001410 aa 6 00140 2521 00 spri2 pr6|96 sblkp STATEMENT 1 ON LINE 120 if sblkp -> std_symbol_header.generator ^= "lisp" then do; 001411 aa 776450 2350 04 lda -728,ic 000061 = 154151163160 001412 aa 0 00110 3771 00 anaq pr0|72 = 777777777777 000000000000 001413 aa 0 00450 2771 00 oraq pr0|296 = 000000000000 040040040040 001414 aa 2 00010 1151 00 cmpa pr2|8 std_symbol_header.generator 001415 aa 000002 6010 04 tnz 2,ic 001417 001416 aa 2 00011 1161 00 cmpq pr2|9 std_symbol_header.generator 001417 aa 000036 6000 04 tze 30,ic 001455 STATEMENT 1 ON LINE 121 call com_err_ (0, myname, "Not a Lisp object segment: ^a>^a", dir, ent); 001420 aa 6 00414 4501 00 stz pr6|268 001421 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001422 aa 776653 00 0040 desc9a -597,32 000274 = 116157164040 001423 aa 6 00342 00 0040 desc9a pr6|226,32 001424 aa 6 00414 3521 00 epp2 pr6|268 001425 aa 6 00420 2521 00 spri2 pr6|272 001426 aa 776355 3520 04 epp2 -787,ic 000003 = 144151163160 001427 aa 6 00422 2521 00 spri2 pr6|274 001430 aa 6 00342 3521 00 epp2 pr6|226 001431 aa 6 00424 2521 00 spri2 pr6|276 001432 aa 6 00151 3521 00 epp2 pr6|105 dir 001433 aa 6 00426 2521 00 spri2 pr6|278 001434 aa 6 00223 3521 00 epp2 pr6|147 ent 001435 aa 6 00430 2521 00 spri2 pr6|280 001436 aa 776422 3520 04 epp2 -750,ic 000060 = 404000000005 001437 aa 6 00432 2521 00 spri2 pr6|282 001440 aa 776446 3520 04 epp2 -730,ic 000106 = 526000000040 001441 aa 6 00434 2521 00 spri2 pr6|284 001442 aa 6 00442 2521 00 spri2 pr6|290 001443 aa 776414 3520 04 epp2 -756,ic 000057 = 524000000040 001444 aa 6 00436 2521 00 spri2 pr6|286 001445 aa 776436 3520 04 epp2 -738,ic 000103 = 526000000250 001446 aa 6 00440 2521 00 spri2 pr6|288 001447 aa 6 00416 6211 00 eax1 pr6|270 001450 aa 024000 4310 07 fld 10240,dl 001451 aa 6 00044 3701 20 epp4 pr6|36,* 001452 la 4 00030 3521 20 epp2 pr4|24,* com_err_ 001453 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 122 go to term; 001454 aa 001472 7100 04 tra 826,ic 003146 STATEMENT 1 ON LINE 123 end; STATEMENT 1 ON LINE 124 if sblkp -> std_symbol_header.gen_number ^= 2 then do; 001455 aa 2 00003 2361 00 ldq pr2|3 std_symbol_header.gen_number 001456 aa 000002 1160 07 cmpq 2,dl 001457 aa 000034 6000 04 tze 28,ic 001513 STATEMENT 1 ON LINE 125 call com_err_ (0, myname, "Version ^d Lisp object seg not supported.", sblkp -> std_symbol_header.gen_number); 001460 aa 6 00414 4501 00 stz pr6|268 001461 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001462 aa 776623 00 0054 desc9a -621,44 000304 = 126145162163 001463 aa 6 00354 00 0054 desc9a pr6|236,44 001464 aa 6 00414 3521 00 epp2 pr6|268 001465 aa 6 00374 2521 00 spri2 pr6|252 001466 aa 776315 3520 04 epp2 -819,ic 000003 = 144151163160 001467 aa 6 00376 2521 00 spri2 pr6|254 001470 aa 6 00354 3521 00 epp2 pr6|236 001471 aa 6 00400 2521 00 spri2 pr6|256 001472 aa 6 00140 3715 20 epp5 pr6|96,* sblkp 001473 aa 5 00003 3521 00 epp2 pr5|3 std_symbol_header.gen_number 001474 aa 6 00402 2521 00 spri2 pr6|258 001475 aa 776363 3520 04 epp2 -781,ic 000060 = 404000000005 001476 aa 6 00404 2521 00 spri2 pr6|260 001477 aa 776407 3520 04 epp2 -761,ic 000106 = 526000000040 001500 aa 6 00406 2521 00 spri2 pr6|262 001501 aa 776355 3520 04 epp2 -787,ic 000056 = 524000000051 001502 aa 6 00410 2521 00 spri2 pr6|264 001503 aa 776352 3520 04 epp2 -790,ic 000055 = 404000000021 001504 aa 6 00412 2521 00 spri2 pr6|266 001505 aa 6 00372 6211 00 eax1 pr6|250 001506 aa 020000 4310 07 fld 8192,dl 001507 aa 6 00044 3701 20 epp4 pr6|36,* 001510 la 4 00030 3521 20 epp2 pr4|24,* com_err_ 001511 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 126 go to term; 001512 aa 001434 7100 04 tra 796,ic 003146 STATEMENT 1 ON LINE 127 end; STATEMENT 1 ON LINE 131 symrtp = addrel (sblkp, sblkp -> std_symbol_header.area_pointer); 001513 aa 2 00016 2351 00 lda pr2|14 std_symbol_header.area_pointer 001514 aa 000022 7350 00 als 18 001515 aa 2 00000 3515 01 epp1 pr2|0,au 001516 aa 000000 0510 03 adwp1 0,du 001517 aa 6 00144 2515 00 spri1 pr6|100 symrtp STATEMENT 1 ON LINE 132 subrx = 1; 001520 aa 000001 2360 07 ldq 1,dl 001521 aa 6 00103 7561 00 stq pr6|67 subrx STATEMENT 1 ON LINE 133 entryp = addrel (symrtp, sroot.entry_blockp); 001522 aa 1 00006 2351 00 lda pr1|6 sroot.entry_blockp 001523 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 001524 aa 1 00000 3535 01 epp3 pr1|0,au 001525 aa 000000 0530 03 adwp3 0,du 001526 aa 6 00116 2535 00 spri3 pr6|78 entryp STATEMENT 1 ON LINE 134 n_fixnums = addrel (symrtp, sroot.objects.fixnum_blockp) -> fixnum_block.count; 001527 aa 1 00002 2351 00 lda pr1|2 sroot.fixnum_blockp 001530 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 001531 aa 1 00000 3715 01 epp5 pr1|0,au 001532 aa 000000 1510 03 adwp5 0,du 001533 aa 5 00000 2361 00 ldq pr5|0 fixnum_block.count 001534 aa 6 00110 7561 00 stq pr6|72 n_fixnums STATEMENT 1 ON LINE 135 n_flonums = addrel (symrtp, sroot.objects.flonum_blockp) -> flonum_block.count; 001535 aa 1 00002 2351 00 lda pr1|2 sroot.flonum_blockp 001536 aa 000022 7350 00 als 18 001537 aa 1 00000 3715 01 epp5 pr1|0,au 001540 aa 000000 1510 03 adwp5 0,du 001541 aa 5 00000 2361 00 ldq pr5|0 flonum_block.count 001542 aa 6 00111 7561 00 stq pr6|73 n_flonums STATEMENT 1 ON LINE 136 n_strings = addrel (symrtp, sroot.objects.string_blockp) -> string_block.count; 001543 aa 1 00003 2351 00 lda pr1|3 sroot.string_blockp 001544 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 001545 aa 1 00000 3715 01 epp5 pr1|0,au 001546 aa 000000 1510 03 adwp5 0,du 001547 aa 5 00000 2361 00 ldq pr5|0 string_block.count 001550 aa 6 00112 7561 00 stq pr6|74 n_strings STATEMENT 1 ON LINE 137 n_bignums = addrel (symrtp, sroot.objects.bignum_blockp) -> bignum_block.count; 001551 aa 1 00003 2351 00 lda pr1|3 sroot.bignum_blockp 001552 aa 000022 7350 00 als 18 001553 aa 1 00000 3715 01 epp5 pr1|0,au 001554 aa 000000 1510 03 adwp5 0,du 001555 aa 5 00000 2361 00 ldq pr5|0 bignum_block.count 001556 aa 6 00113 7561 00 stq pr6|75 n_bignums STATEMENT 1 ON LINE 138 n_atsyms = addrel (symrtp, sroot.objects.atsym_blockp) -> atsym_block.count; 001557 aa 1 00004 2351 00 lda pr1|4 sroot.atsym_blockp 001560 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 001561 aa 1 00000 3715 01 epp5 pr1|0,au 001562 aa 000000 1510 03 adwp5 0,du 001563 aa 5 00000 2361 00 ldq pr5|0 atsym_block.count 001564 aa 6 00115 7561 00 stq pr6|77 n_atsyms STATEMENT 1 ON LINE 139 n_conses = addrel (symrtp, sroot.objects.cons_blockp) -> cons_block.count; 001565 aa 6 00414 7551 00 sta pr6|268 sroot.atsym_blockp 001566 aa 1 00004 2351 00 lda pr1|4 sroot.cons_blockp 001567 aa 000022 7350 00 als 18 001570 aa 1 00000 3715 01 epp5 pr1|0,au 001571 aa 000000 1510 03 adwp5 0,du 001572 aa 5 00000 2361 00 ldq pr5|0 cons_block.count 001573 aa 6 00114 7561 00 stq pr6|76 n_conses STATEMENT 1 ON LINE 141 blockp = addrel (symrtp, sroot.objects.atsym_blockp); 001574 aa 6 00414 2351 00 lda pr6|268 sroot.atsym_blockp 001575 aa 1 00000 3715 01 epp5 pr1|0,au 001576 aa 000000 1510 03 adwp5 0,du 001577 aa 6 00132 6515 00 spri5 pr6|90 blockp STATEMENT 1 ON LINE 142 do quotx = 1 to n_atsyms; 001600 aa 6 00115 2361 00 ldq pr6|77 n_atsyms 001601 aa 6 00334 7561 00 stq pr6|220 001602 aa 000001 2360 07 ldq 1,dl 001603 aa 6 00104 7561 00 stq pr6|68 quotx 001604 aa 6 00104 2361 00 ldq pr6|68 quotx 001605 aa 6 00334 1161 00 cmpq pr6|220 001606 aa 000032 6054 04 tpnz 26,ic 001640 STATEMENT 1 ON LINE 143 tempp = addrel (symrtp, blockp -> atsym_block.atsym_offset (quotx)); 001607 aa 000022 4020 07 mpy 18,dl 001610 aa 6 00132 3735 20 epp7 pr6|90,* blockp 001611 aa 003 100 060 506 csl (pr,ql),(pr),fill(0),bool(move) 001612 aa 7 00000 40 0022 descb pr7|0(18),18 atsym_block.atsym_offset 001613 aa 6 00056 00 0044 descb pr6|46,36 001614 aa 6 00056 2351 00 lda pr6|46 001615 aa 6 00144 3521 61 epp2 pr6|100,*au symrtp 001616 aa 000000 0520 03 adwp2 0,du 001617 aa 6 00120 2521 00 spri2 pr6|80 tempp STATEMENT 1 ON LINE 144 if tempp -> string_chars.chars = "quote" then do; 001620 aa 2 00000 2351 00 lda pr2|0 string_chars.length 001621 aa 000013 7350 00 als 11 001622 aa 000057 7330 00 lrs 47 001623 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001624 aa 2 00001 00 0006 desc9a pr2|1,ql string_chars.chars 001625 aa 776265 00 0005 desc9a -843,5 000110 = 161165157164 001626 aa 000010 6010 04 tnz 8,ic 001636 STATEMENT 1 ON LINE 145 quotx = quotx + n_fixnums + n_flonums + n_strings + n_bignums; 001627 aa 6 00104 2361 00 ldq pr6|68 quotx 001630 aa 6 00110 0761 00 adq pr6|72 n_fixnums 001631 aa 6 00111 0761 00 adq pr6|73 n_flonums 001632 aa 6 00112 0761 00 adq pr6|74 n_strings 001633 aa 6 00113 0761 00 adq pr6|75 n_bignums 001634 aa 6 00104 7561 00 stq pr6|68 quotx STATEMENT 1 ON LINE 146 go to got_quotx; 001635 aa 000005 7100 04 tra 5,ic 001642 STATEMENT 1 ON LINE 147 end; STATEMENT 1 ON LINE 148 end; 001636 aa 6 00104 0541 00 aos pr6|68 quotx 001637 aa 777745 7100 04 tra -27,ic 001604 STATEMENT 1 ON LINE 149 quotx = -1; 001640 aa 000001 3360 07 lcq 1,dl 001641 aa 6 00104 7561 00 stq pr6|68 quotx STATEMENT 1 ON LINE 150 got_quotx: actionp = addrel (symrtp, sroot.action_blockp); 001642 aa 6 00144 3735 20 epp7 pr6|100,* symrtp 001643 aa 7 00007 2351 00 lda pr7|7 sroot.action_blockp 001644 aa 000022 7350 00 als 18 001645 aa 7 00000 3521 01 epp2 pr7|0,au 001646 aa 000000 0520 03 adwp2 0,du 001647 aa 6 00122 2521 00 spri2 pr6|82 actionp STATEMENT 1 ON LINE 152 action_count = actionp -> action_block.count; 001650 aa 2 00000 2361 00 ldq pr2|0 action_block.count 001651 aa 6 00106 7561 00 stq pr6|70 action_count STATEMENT 1 ON LINE 153 if segtop ^= 0 then call ioa_ ("^a at offset ^o in segment", ent, segtop); 001652 aa 6 00147 2361 00 ldq pr6|103 segtop 001653 aa 000025 6000 04 tze 21,ic 001700 001654 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001655 aa 776401 00 0034 desc9a -767,28 000255 = 136141040141 001656 aa 6 00342 00 0034 desc9a pr6|226,28 001657 aa 6 00342 3521 00 epp2 pr6|226 001660 aa 6 00356 2521 00 spri2 pr6|238 001661 aa 6 00223 3521 00 epp2 pr6|147 ent 001662 aa 6 00360 2521 00 spri2 pr6|240 001663 aa 6 00147 3521 00 epp2 pr6|103 segtop 001664 aa 6 00362 2521 00 spri2 pr6|242 001665 aa 776167 3520 04 epp2 -905,ic 000054 = 524000000032 001666 aa 6 00364 2521 00 spri2 pr6|244 001667 aa 776217 3520 04 epp2 -881,ic 000106 = 526000000040 001670 aa 6 00366 2521 00 spri2 pr6|246 001671 aa 776162 3520 04 epp2 -910,ic 000053 = 404000000022 001672 aa 6 00370 2521 00 spri2 pr6|248 001673 aa 6 00354 6211 00 eax1 pr6|236 001674 aa 014000 4310 07 fld 6144,dl 001675 aa 6 00044 3701 20 epp4 pr6|36,* 001676 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 001677 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 154 call ioa_ ("^d action^[s^] defined:^/", action_count, action_count ^= 1); 001700 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001701 aa 776346 00 0034 desc9a -794,28 000246 = 136144040141 001702 aa 6 00342 00 0034 desc9a pr6|226,28 001703 aa 6 00106 2361 00 ldq pr6|70 action_count 001704 aa 000001 1160 07 cmpq 1,dl 001705 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 001706 aa 6 00414 7551 00 sta pr6|268 001707 aa 6 00342 3521 00 epp2 pr6|226 001710 aa 6 00356 2521 00 spri2 pr6|238 001711 aa 6 00106 3521 00 epp2 pr6|70 action_count 001712 aa 6 00360 2521 00 spri2 pr6|240 001713 aa 6 00414 3521 00 epp2 pr6|268 001714 aa 6 00362 2521 00 spri2 pr6|242 001715 aa 776135 3520 04 epp2 -931,ic 000052 = 524000000031 001716 aa 6 00364 2521 00 spri2 pr6|244 001717 aa 776136 3520 04 epp2 -930,ic 000055 = 404000000021 001720 aa 6 00366 2521 00 spri2 pr6|246 001721 aa 776130 3520 04 epp2 -936,ic 000051 = 514000000001 001722 aa 6 00370 2521 00 spri2 pr6|248 001723 aa 6 00354 6211 00 eax1 pr6|236 001724 aa 014000 4310 07 fld 6144,dl 001725 aa 6 00044 3701 20 epp4 pr6|36,* 001726 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 001727 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 155 do actionx = 1 to action_count; 001730 aa 6 00106 2361 00 ldq pr6|70 action_count 001731 aa 6 00335 7561 00 stq pr6|221 001732 aa 000001 2360 07 ldq 1,dl 001733 aa 6 00100 7561 00 stq pr6|64 actionx 001734 aa 6 00100 2361 00 ldq pr6|64 actionx 001735 aa 6 00335 1161 00 cmpq pr6|221 001736 aa 000213 6054 04 tpnz 139,ic 002151 STATEMENT 1 ON LINE 156 action_type = actionp -> action_block.actions (actionx).action_code; 001737 aa 6 00122 2351 66 lda pr6|82,*ql action_block.action_code 001740 aa 000066 7330 00 lrs 54 001741 aa 6 00107 7561 00 stq pr6|71 action_type STATEMENT 1 ON LINE 157 if action_type = 0 then do; 001742 aa 000053 6010 04 tnz 43,ic 002015 STATEMENT 1 ON LINE 158 call ioa_ ("^3d EVAL: ^a", actionx, get_prinrep ((actionp -> action_block.actions (actionx).operand))); 001743 aa 6 00100 7271 00 lxl7 pr6|64 actionx 001744 aa 6 00122 2351 77 lda pr6|82,*7 action_block.operand 001745 aa 000022 7350 00 als 18 001746 aa 000066 7330 00 lrs 54 001747 aa 6 00414 7561 00 stq pr6|268 001750 aa 6 00414 3521 00 epp2 pr6|268 001751 aa 6 00356 2521 00 spri2 pr6|238 001752 aa 6 00456 3521 00 epp2 pr6|302 001753 aa 6 00360 2521 00 spri2 pr6|240 001754 aa 776101 3520 04 epp2 -959,ic 000055 = 404000000021 001755 aa 6 00364 2521 00 spri2 pr6|244 001756 aa 6 00341 3521 00 epp2 pr6|225 001757 aa 6 00366 2521 00 spri2 pr6|246 001760 aa 6 00354 6211 00 eax1 pr6|236 001761 aa 010000 4310 07 fld 4096,dl 001762 aa 001200 3520 04 epp2 640,ic 003162 = 000220627000 001763 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 001764 aa 776173 2350 04 lda -901,ic 000157 = 136063144040 001765 aa 776173 2360 04 ldq -901,ic 000160 = 040105126101 001766 aa 6 00342 7571 00 staq pr6|226 001767 aa 776172 2350 04 lda -902,ic 000161 = 114072040136 001770 aa 141000 2360 03 ldq 49664,du 001771 aa 6 00344 7571 00 staq pr6|228 001772 aa 6 00342 3521 00 epp2 pr6|226 001773 aa 6 00356 2521 00 spri2 pr6|238 001774 aa 6 00100 3521 00 epp2 pr6|64 actionx 001775 aa 6 00360 2521 00 spri2 pr6|240 001776 aa 6 00456 3521 20 epp2 pr6|302,* 001777 aa 6 00362 2521 00 spri2 pr6|242 002000 aa 776050 3520 04 epp2 -984,ic 000050 = 524000000015 002001 aa 6 00364 2521 00 spri2 pr6|244 002002 aa 776053 3520 04 epp2 -981,ic 000055 = 404000000021 002003 aa 6 00366 2521 00 spri2 pr6|246 002004 aa 6 00341 3521 00 epp2 pr6|225 002005 aa 6 00370 2521 00 spri2 pr6|248 002006 aa 6 00354 6211 00 eax1 pr6|236 002007 aa 014000 4310 07 fld 6144,dl 002010 aa 6 00044 3701 20 epp4 pr6|36,* 002011 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 002012 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 159 end; 002013 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002014 aa 000133 7100 04 tra 91,ic 002147 STATEMENT 1 ON LINE 160 else do; STATEMENT 1 ON LINE 161 call ioa_ ("^3d ^[ SUBR^;LSUBR^;FSUBR^]: ^a^30t^[^d arg^[s^] ^;^s^s^]@^o^[ (^o in seg)^]", actionx, action_type, get_prinrep ((actionp -> action_block.actions (actionx).operand)), action_type = 1, fixed (entryp -> entry_block.entry_info.nargs (subrx), 18), fixed (entryp -> entry_block.entry_info.nargs (subrx), 18) ^= 1, fixed (entryp -> entry_block.entry_info.entrypoint (subrx), 18), (segtop ^=0), fixed (entryp -> entry_block.entry_info.entrypoint (subrx), 18) + segtop); 002015 aa 6 00100 7271 00 lxl7 pr6|64 actionx 002016 aa 6 00122 2351 77 lda pr6|82,*7 action_block.operand 002017 aa 000022 7350 00 als 18 002020 aa 000066 7330 00 lrs 54 002021 aa 6 00341 7561 00 stq pr6|225 002022 aa 6 00341 3521 00 epp2 pr6|225 002023 aa 6 00356 2521 00 spri2 pr6|238 002024 aa 6 00456 3521 00 epp2 pr6|302 002025 aa 6 00360 2521 00 spri2 pr6|240 002026 aa 776027 3520 04 epp2 -1001,ic 000055 = 404000000021 002027 aa 6 00364 2521 00 spri2 pr6|244 002030 aa 6 00414 3521 00 epp2 pr6|268 002031 aa 6 00366 2521 00 spri2 pr6|246 002032 aa 6 00354 6211 00 eax1 pr6|236 002033 aa 010000 4310 07 fld 4096,dl 002034 aa 001126 3520 04 epp2 598,ic 003162 = 000220627000 002035 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 002036 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002037 aa 776347 00 0114 desc9a -793,76 000405 = 136063144040 002040 aa 6 00416 00 0114 desc9a pr6|270,76 002041 aa 6 00107 2361 00 ldq pr6|71 action_type 002042 aa 000001 1160 07 cmpq 1,dl 002043 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 002044 aa 6 00341 7551 00 sta pr6|225 002045 aa 6 00103 7271 00 lxl7 pr6|67 subrx 002046 aa 6 00116 2351 77 lda pr6|78,*7 entry_block.nargs 002047 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 002050 aa 6 00460 7551 00 sta pr6|304 entry_block.nargs 002051 aa 000066 7730 00 lrl 54 002052 aa 6 00415 7561 00 stq pr6|269 002053 aa 6 00460 2351 00 lda pr6|304 entry_block.nargs 002054 aa 000066 7730 00 lrl 54 002055 aa 000001 1160 07 cmpq 1,dl 002056 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 002057 aa 6 00460 7551 00 sta pr6|304 002060 aa 6 00116 2351 77 lda pr6|78,*7 entry_block.entrypoint 002061 aa 000022 7350 00 als 18 002062 aa 6 00462 7551 00 sta pr6|306 entry_block.entrypoint 002063 aa 000066 7730 00 lrl 54 002064 aa 6 00461 7561 00 stq pr6|305 002065 aa 6 00147 2361 00 ldq pr6|103 segtop 002066 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 002067 aa 6 00463 7551 00 sta pr6|307 002070 aa 6 00462 2351 00 lda pr6|306 entry_block.entrypoint 002071 aa 000066 7730 00 lrl 54 002072 aa 6 00147 0761 00 adq pr6|103 segtop 002073 aa 6 00462 7561 00 stq pr6|306 002074 aa 6 00416 3521 00 epp2 pr6|270 002075 aa 6 00466 2521 00 spri2 pr6|310 002076 aa 6 00100 3521 00 epp2 pr6|64 actionx 002077 aa 6 00470 2521 00 spri2 pr6|312 002100 aa 6 00107 3521 00 epp2 pr6|71 action_type 002101 aa 6 00472 2521 00 spri2 pr6|314 002102 aa 6 00456 3521 20 epp2 pr6|302,* 002103 aa 6 00474 2521 00 spri2 pr6|316 002104 aa 6 00341 3521 00 epp2 pr6|225 002105 aa 6 00476 2521 00 spri2 pr6|318 002106 aa 6 00415 3521 00 epp2 pr6|269 002107 aa 6 00500 2521 00 spri2 pr6|320 002110 aa 6 00460 3521 00 epp2 pr6|304 002111 aa 6 00502 2521 00 spri2 pr6|322 002112 aa 6 00461 3521 00 epp2 pr6|305 002113 aa 6 00504 2521 00 spri2 pr6|324 002114 aa 6 00463 3521 00 epp2 pr6|307 002115 aa 6 00506 2521 00 spri2 pr6|326 002116 aa 6 00462 3521 00 epp2 pr6|306 002117 aa 6 00510 2521 00 spri2 pr6|328 002120 aa 775727 3520 04 epp2 -1065,ic 000047 = 524000000114 002121 aa 6 00512 2521 00 spri2 pr6|330 002122 aa 775733 3520 04 epp2 -1061,ic 000055 = 404000000021 002123 aa 6 00514 2521 00 spri2 pr6|332 002124 aa 6 00516 2521 00 spri2 pr6|334 002125 aa 6 00414 3521 00 epp2 pr6|268 002126 aa 6 00520 2521 00 spri2 pr6|336 002127 aa 775722 3520 04 epp2 -1070,ic 000051 = 514000000001 002130 aa 6 00522 2521 00 spri2 pr6|338 002131 aa 6 00526 2521 00 spri2 pr6|342 002132 aa 6 00532 2521 00 spri2 pr6|346 002133 aa 775720 3520 04 epp2 -1072,ic 000053 = 404000000022 002134 aa 6 00524 2521 00 spri2 pr6|340 002135 aa 6 00530 2521 00 spri2 pr6|344 002136 aa 775710 3520 04 epp2 -1080,ic 000046 = 404000000023 002137 aa 6 00534 2521 00 spri2 pr6|348 002140 aa 6 00464 6211 00 eax1 pr6|308 002141 aa 050000 4310 07 fld 20480,dl 002142 aa 6 00044 3701 20 epp4 pr6|36,* 002143 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 002144 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 169 subrx = subrx + 1; 002145 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002146 aa 6 00103 0541 00 aos pr6|67 subrx STATEMENT 1 ON LINE 170 end; STATEMENT 1 ON LINE 171 end; 002147 aa 6 00100 0541 00 aos pr6|64 actionx 002150 aa 777564 7100 04 tra -140,ic 001734 STATEMENT 1 ON LINE 173 constp = addrel (symrtp, sroot.const_blockp); 002151 aa 6 00144 3735 20 epp7 pr6|100,* symrtp 002152 aa 7 00006 2351 00 lda pr7|6 sroot.const_blockp 002153 aa 000022 7350 00 als 18 002154 aa 7 00000 3521 01 epp2 pr7|0,au 002155 aa 000000 0520 03 adwp2 0,du 002156 aa 6 00130 2521 00 spri2 pr6|88 constp STATEMENT 1 ON LINE 175 if doing_subr_links then do; 002157 aa 6 00240 2351 00 lda pr6|160 doing_subr_links 002160 aa 000365 6000 04 tze 245,ic 002545 STATEMENT 1 ON LINE 176 linkp = addrel (symrtp, sroot.links_blockp); 002161 aa 7 00007 2351 00 lda pr7|7 sroot.links_blockp 002162 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 002163 aa 7 00000 3515 01 epp1 pr7|0,au 002164 aa 000000 0510 03 adwp1 0,du 002165 aa 6 00136 2515 00 spri1 pr6|94 linkp STATEMENT 1 ON LINE 177 if linkp -> links_block.count = 0 then call ioa_ ("^/No subr links."); 002166 aa 1 00000 2361 00 ldq pr1|0 links_block.count 002167 aa 000021 6010 04 tnz 17,ic 002210 002170 aa 775763 2350 04 lda -1037,ic 000153 = 136057116157 002171 aa 775763 2360 04 ldq -1037,ic 000154 = 040163165142 002172 aa 6 00342 7571 00 staq pr6|226 002173 aa 775762 2350 04 lda -1038,ic 000155 = 162040154151 002174 aa 775762 2360 04 ldq -1038,ic 000156 = 156153163056 002175 aa 6 00344 7571 00 staq pr6|228 002176 aa 6 00342 3521 00 epp2 pr6|226 002177 aa 6 00356 2521 00 spri2 pr6|238 002200 aa 775664 3520 04 epp2 -1100,ic 000064 = 524000000020 002201 aa 6 00360 2521 00 spri2 pr6|240 002202 aa 6 00354 6211 00 eax1 pr6|236 002203 aa 004000 4310 07 fld 2048,dl 002204 aa 6 00044 3701 20 epp4 pr6|36,* 002205 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 002206 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002207 aa 000336 7100 04 tra 222,ic 002545 STATEMENT 1 ON LINE 178 else do; STATEMENT 1 ON LINE 179 call ioa_ ("^/^d subr link^[s^]:^/", linkp -> links_block.count, linkp -> links_block.count ^= 1); 002210 aa 776004 2370 04 ldaq -1020,ic 000214 = 136057136144 040163165142 002211 aa 6 00342 7571 00 staq pr6|226 002212 aa 776004 2370 04 ldaq -1020,ic 000216 = 162040154151 156153136133 002213 aa 6 00344 7571 00 staq pr6|228 002214 aa 776004 2370 04 ldaq -1020,ic 000220 = 163136135072 136057000000 002215 aa 6 00346 7571 00 staq pr6|230 002216 aa 1 00000 2361 00 ldq pr1|0 links_block.count 002217 aa 000001 1160 07 cmpq 1,dl 002220 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 002221 aa 6 00414 7551 00 sta pr6|268 002222 aa 6 00342 3521 00 epp2 pr6|226 002223 aa 6 00356 2521 00 spri2 pr6|238 002224 aa 1 00000 3521 00 epp2 pr1|0 links_block.count 002225 aa 6 00360 2521 00 spri2 pr6|240 002226 aa 6 00414 3521 00 epp2 pr6|268 002227 aa 6 00362 2521 00 spri2 pr6|242 002230 aa 775615 3520 04 epp2 -1139,ic 000045 = 524000000026 002231 aa 6 00364 2521 00 spri2 pr6|244 002232 aa 775621 3520 04 epp2 -1135,ic 000053 = 404000000022 002233 aa 6 00366 2521 00 spri2 pr6|246 002234 aa 775615 3520 04 epp2 -1139,ic 000051 = 514000000001 002235 aa 6 00370 2521 00 spri2 pr6|248 002236 aa 6 00354 6211 00 eax1 pr6|236 002237 aa 014000 4310 07 fld 6144,dl 002240 aa 6 00044 3701 20 epp4 pr6|36,* 002241 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 002242 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 181 do linkx = 1 to linkp -> links_block.count; 002243 aa 6 00136 2361 20 ldq pr6|94,* links_block.count 002244 aa 6 00336 7561 00 stq pr6|222 002245 aa 000001 2360 07 ldq 1,dl 002246 aa 6 00101 7561 00 stq pr6|65 linkx 002247 aa 000000 0110 03 nop 0,du 002250 aa 6 00101 2361 00 ldq pr6|65 linkx 002251 aa 6 00336 1161 00 cmpq pr6|222 002252 aa 000273 6054 04 tpnz 187,ic 002545 STATEMENT 1 ON LINE 183 unspec (link_info) = linkp -> links_block.link_info (linkx); 002253 aa 6 00136 2351 66 lda pr6|94,*ql links_block.link_info 002254 aa 6 00245 5511 70 stba pr6|165,70 STATEMENT 1 ON LINE 184 if link_info.constant then call ioa_ ("lp|^o^8t^a^[ ^^SNAP^]^[^30t(fsubr)^]^[^30t(lsubr)^]^[^30t^d arg^[s^]^]", 2 * (linkx + constp -> const_block.count) - 1, get_prinrep ((constp -> const_block.constants ((link_info.fcn_offset+1)/2))), ^link_info.snap, link_info.fsubr, (link_info.nargs = 511), ^(link_info.fsubr|(link_info.nargs = 511)), link_info.nargs, link_info.nargs ^= 1); 002255 aa 6 00245 2351 00 lda pr6|165 link_info.constant 002256 aa 000002 3150 03 cana 2,du 002257 aa 000151 6000 04 tze 105,ic 002430 002260 aa 6 00245 2351 00 lda pr6|165 link_info.fcn_offset 002261 aa 000071 7330 00 lrs 57 002262 aa 000001 0760 07 adq 1,dl 002263 aa 003311 3520 04 epp2 1737,ic 005574 = 000000000002 002264 aa 0 01262 7001 00 tsx0 pr0|690 divide_fx1 002265 aa 000000000070 002266 aa 000070 7220 07 lxl2 56,dl 002267 aa 0 01115 7001 00 tsx0 pr0|589 trunc_fx2 002270 aa 000022 4020 07 mpy 18,dl 002271 aa 6 00130 3735 20 epp7 pr6|88,* constp 002272 aa 003 100 060 506 csl (pr,ql),(pr),fill(0),bool(move) 002273 aa 7 00000 40 0022 descb pr7|0(18),18 const_block.constants 002274 aa 6 00056 00 0044 descb pr6|46,36 002275 aa 6 00056 2351 00 lda pr6|46 002276 aa 000066 7330 00 lrs 54 002277 aa 6 00414 7561 00 stq pr6|268 002300 aa 6 00414 3521 00 epp2 pr6|268 002301 aa 6 00356 2521 00 spri2 pr6|238 002302 aa 6 00456 3521 00 epp2 pr6|302 002303 aa 6 00360 2521 00 spri2 pr6|240 002304 aa 775551 3520 04 epp2 -1175,ic 000055 = 404000000021 002305 aa 6 00364 2521 00 spri2 pr6|244 002306 aa 6 00462 3521 00 epp2 pr6|306 002307 aa 6 00366 2521 00 spri2 pr6|246 002310 aa 6 00354 6211 00 eax1 pr6|236 002311 aa 010000 4310 07 fld 4096,dl 002312 aa 000650 3520 04 epp2 424,ic 003162 = 000220627000 002313 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 002314 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002315 aa 776024 00 0110 desc9a -1004,72 000340 = 154160174136 002316 aa 6 00372 00 0110 desc9a pr6|250,72 002317 aa 6 00101 2361 00 ldq pr6|65 linkx 002320 aa 6 00130 0761 20 adq pr6|88,* const_block.count 002321 aa 000001 7360 00 qls 1 002322 aa 000001 1760 07 sbq 1,dl 002323 aa 6 00414 7561 00 stq pr6|268 002324 aa 6 00245 2351 00 lda pr6|165 link_info.snap 002325 aa 000017 7350 00 als 15 002326 aa 0 00002 3771 00 anaq pr0|2 = 400000000000 000000000000 002327 aa 0 00002 6751 00 era pr0|2 = 400000000000 002330 aa 6 00463 7551 00 sta pr6|307 002331 aa 6 00245 2351 00 lda pr6|165 link_info.nargs 002332 aa 000022 7350 00 als 18 002333 aa 000077 7730 00 lrl 63 002334 aa 000777 1160 07 cmpq 511,dl 002335 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 002336 aa 6 00461 7551 00 sta pr6|305 002337 aa 000777 1160 07 cmpq 511,dl 002340 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 002341 aa 6 00460 7551 00 sta pr6|304 002342 aa 6 00245 2351 00 lda pr6|165 link_info.fsubr 002343 aa 000021 7350 00 als 17 002344 aa 6 00415 7561 00 stq pr6|269 link_info.nargs 002345 aa 0 00002 3771 00 anaq pr0|2 = 400000000000 000000000000 002346 aa 6 00460 2751 00 ora pr6|304 002347 aa 0 00002 6751 00 era pr0|2 = 400000000000 002350 aa 6 00460 7551 00 sta pr6|304 002351 aa 6 00415 2361 00 ldq pr6|269 link_info.nargs 002352 aa 000001 1160 07 cmpq 1,dl 002353 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 002354 aa 6 00415 7551 00 sta pr6|269 002355 aa 6 00372 3521 00 epp2 pr6|250 002356 aa 6 00466 2521 00 spri2 pr6|310 002357 aa 6 00414 3521 00 epp2 pr6|268 002360 aa 6 00470 2521 00 spri2 pr6|312 002361 aa 6 00456 3521 20 epp2 pr6|302,* 002362 aa 6 00472 2521 00 spri2 pr6|314 002363 aa 6 00463 3521 00 epp2 pr6|307 002364 aa 6 00474 2521 00 spri2 pr6|316 002365 aa 000021 7270 07 lxl7 17,dl 002366 aa 6 00245 3521 00 epp2 pr6|165 link_info.fsubr 002367 aa 2 00000 5035 17 abd pr2|0,7 002370 aa 6 00476 2521 00 spri2 pr6|318 002371 aa 6 00461 3521 00 epp2 pr6|305 002372 aa 6 00500 2521 00 spri2 pr6|320 002373 aa 6 00460 3521 00 epp2 pr6|304 002374 aa 6 00502 2521 00 spri2 pr6|322 002375 aa 000022 7260 07 lxl6 18,dl 002376 aa 6 00245 3521 00 epp2 pr6|165 link_info.nargs 002377 aa 2 00000 5035 16 abd pr2|0,6 002400 aa 6 00504 2521 00 spri2 pr6|324 002401 aa 6 00415 3521 00 epp2 pr6|269 002402 aa 6 00506 2521 00 spri2 pr6|326 002403 aa 775441 3520 04 epp2 -1247,ic 000044 = 524000000106 002404 aa 6 00510 2521 00 spri2 pr6|328 002405 aa 775436 3520 04 epp2 -1250,ic 000043 = 404000000032 002406 aa 6 00512 2521 00 spri2 pr6|330 002407 aa 6 00462 3521 00 epp2 pr6|306 002410 aa 6 00514 2521 00 spri2 pr6|332 002411 aa 775440 3520 04 epp2 -1248,ic 000051 = 514000000001 002412 aa 6 00516 2521 00 spri2 pr6|334 002413 aa 6 00522 2521 00 spri2 pr6|338 002414 aa 6 00524 2521 00 spri2 pr6|340 002415 aa 6 00530 2521 00 spri2 pr6|344 002416 aa 775424 3520 04 epp2 -1260,ic 000042 = 516000000001 002417 aa 6 00520 2521 00 spri2 pr6|336 002420 aa 775421 3520 04 epp2 -1263,ic 000041 = 606000000011 002421 aa 6 00526 2521 00 spri2 pr6|342 002422 aa 6 00464 6211 00 eax1 pr6|308 002423 aa 044000 4310 07 fld 18432,dl 002424 aa 6 00044 3701 20 epp4 pr6|36,* 002425 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 002426 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002427 aa 000114 7100 04 tra 76,ic 002543 STATEMENT 1 ON LINE 191 else call ioa_ ("lp|^o^8tap|^o ^[ ^^SNAP^]^[^30t(fsubr)^]^[^30t(lsubr)^]^[^30t^d arg^[s^]^]", 2 * (linkx + constp -> const_block.count) - 1, link_info.fcn_offset, ^link_info.snap, link_info.fsubr, (link_info.nargs = 511), ^(link_info.fsubr|(link_info.nargs = 511)), link_info.nargs, link_info.nargs ^= 1); 002430 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002431 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002432 aa 775731 00 0114 desc9a -1063,76 000362 = 154160174136 002433 aa 6 00416 00 0114 desc9a pr6|270,76 002434 aa 6 00130 0761 20 adq pr6|88,* const_block.count 002435 aa 000001 7360 00 qls 1 002436 aa 000001 1760 07 sbq 1,dl 002437 aa 6 00462 7561 00 stq pr6|306 002440 aa 6 00245 2351 00 lda pr6|165 link_info.snap 002441 aa 000017 7350 00 als 15 002442 aa 0 00002 3771 00 anaq pr0|2 = 400000000000 000000000000 002443 aa 0 00002 6751 00 era pr0|2 = 400000000000 002444 aa 6 00415 7551 00 sta pr6|269 002445 aa 6 00245 2351 00 lda pr6|165 link_info.nargs 002446 aa 000022 7350 00 als 18 002447 aa 000077 7730 00 lrl 63 002450 aa 000777 1160 07 cmpq 511,dl 002451 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 002452 aa 6 00460 7551 00 sta pr6|304 002453 aa 000777 1160 07 cmpq 511,dl 002454 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 002455 aa 6 00461 7551 00 sta pr6|305 002456 aa 6 00245 2351 00 lda pr6|165 link_info.fsubr 002457 aa 000021 7350 00 als 17 002460 aa 6 00463 7561 00 stq pr6|307 link_info.nargs 002461 aa 0 00002 3771 00 anaq pr0|2 = 400000000000 000000000000 002462 aa 6 00461 2751 00 ora pr6|305 002463 aa 0 00002 6751 00 era pr0|2 = 400000000000 002464 aa 6 00461 7551 00 sta pr6|305 002465 aa 6 00463 2361 00 ldq pr6|307 link_info.nargs 002466 aa 000001 1160 07 cmpq 1,dl 002467 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 002470 aa 6 00463 7551 00 sta pr6|307 002471 aa 6 00416 3521 00 epp2 pr6|270 002472 aa 6 00466 2521 00 spri2 pr6|310 002473 aa 6 00462 3521 00 epp2 pr6|306 002474 aa 6 00470 2521 00 spri2 pr6|312 002475 aa 6 00245 3521 00 epp2 pr6|165 link_info.fcn_offset 002476 aa 6 00472 2521 00 spri2 pr6|314 002477 aa 6 00415 3521 00 epp2 pr6|269 002500 aa 6 00474 2521 00 spri2 pr6|316 002501 aa 000021 7270 07 lxl7 17,dl 002502 aa 6 00245 3521 00 epp2 pr6|165 link_info.fsubr 002503 aa 2 00000 5035 17 abd pr2|0,7 002504 aa 6 00476 2521 00 spri2 pr6|318 002505 aa 6 00460 3521 00 epp2 pr6|304 002506 aa 6 00500 2521 00 spri2 pr6|320 002507 aa 6 00461 3521 00 epp2 pr6|305 002510 aa 6 00502 2521 00 spri2 pr6|322 002511 aa 000022 7260 07 lxl6 18,dl 002512 aa 6 00245 3521 00 epp2 pr6|165 link_info.nargs 002513 aa 2 00000 5035 16 abd pr2|0,6 002514 aa 6 00504 2521 00 spri2 pr6|324 002515 aa 6 00463 3521 00 epp2 pr6|307 002516 aa 6 00506 2521 00 spri2 pr6|326 002517 aa 775321 3520 04 epp2 -1327,ic 000040 = 524000000112 002520 aa 6 00510 2521 00 spri2 pr6|328 002521 aa 775322 3520 04 epp2 -1326,ic 000043 = 404000000032 002522 aa 6 00512 2521 00 spri2 pr6|330 002523 aa 775314 3520 04 epp2 -1332,ic 000037 = 406000000016 002524 aa 6 00514 2521 00 spri2 pr6|332 002525 aa 775324 3520 04 epp2 -1324,ic 000051 = 514000000001 002526 aa 6 00516 2521 00 spri2 pr6|334 002527 aa 6 00522 2521 00 spri2 pr6|338 002530 aa 6 00524 2521 00 spri2 pr6|340 002531 aa 6 00530 2521 00 spri2 pr6|344 002532 aa 775310 3520 04 epp2 -1336,ic 000042 = 516000000001 002533 aa 6 00520 2521 00 spri2 pr6|336 002534 aa 775305 3520 04 epp2 -1339,ic 000041 = 606000000011 002535 aa 6 00526 2521 00 spri2 pr6|342 002536 aa 6 00464 6211 00 eax1 pr6|308 002537 aa 044000 4310 07 fld 18432,dl 002540 aa 6 00044 3701 20 epp4 pr6|36,* 002541 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 002542 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 197 end; 002543 aa 6 00101 0541 00 aos pr6|65 linkx 002544 aa 777504 7100 04 tra -188,ic 002250 STATEMENT 1 ON LINE 198 end; STATEMENT 1 ON LINE 199 end; STATEMENT 1 ON LINE 201 if doing_array_links then do; 002545 aa 6 00241 2351 00 lda pr6|161 doing_array_links 002546 aa 000231 6000 04 tze 153,ic 002777 STATEMENT 1 ON LINE 202 arrayp = addrel (symrtp, sroot.array_links_blockp); 002547 aa 6 00144 3735 20 epp7 pr6|100,* symrtp 002550 aa 7 00010 2351 00 lda pr7|8 sroot.array_links_blockp 002551 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 002552 aa 7 00000 3521 01 epp2 pr7|0,au 002553 aa 000000 0520 03 adwp2 0,du 002554 aa 6 00134 2521 00 spri2 pr6|92 arrayp STATEMENT 1 ON LINE 203 if arrayp -> array_links_block.count = 0 then call ioa_ ("^/No array links.^/"); 002555 aa 2 00000 2361 00 ldq pr2|0 array_links_block.count 002556 aa 000016 6010 04 tnz 14,ic 002574 002557 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002560 aa 775410 00 0024 desc9a -1272,20 000167 = 136057116157 002561 aa 6 00342 00 0024 desc9a pr6|226,20 002562 aa 6 00342 3521 00 epp2 pr6|226 002563 aa 6 00356 2521 00 spri2 pr6|238 002564 aa 775252 3520 04 epp2 -1366,ic 000036 = 524000000023 002565 aa 6 00360 2521 00 spri2 pr6|240 002566 aa 6 00354 6211 00 eax1 pr6|236 002567 aa 004000 4310 07 fld 2048,dl 002570 aa 6 00044 3701 20 epp4 pr6|36,* 002571 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 002572 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002573 aa 000204 7100 04 tra 132,ic 002777 STATEMENT 1 ON LINE 205 else do; STATEMENT 1 ON LINE 206 call ioa_ ("^/^d array link^[s^]:^/", arrayp -> array_links_block.count, arrayp -> array_links_block.count ^= 1); 002574 aa 775412 2370 04 ldaq -1270,ic 000206 = 136057136144 040141162162 002575 aa 6 00342 7571 00 staq pr6|226 002576 aa 775412 2370 04 ldaq -1270,ic 000210 = 141171040154 151156153136 002577 aa 6 00344 7571 00 staq pr6|228 002600 aa 775412 2370 04 ldaq -1270,ic 000212 = 133163136135 072136057000 002601 aa 6 00346 7571 00 staq pr6|230 002602 aa 2 00000 2361 00 ldq pr2|0 array_links_block.count 002603 aa 000001 1160 07 cmpq 1,dl 002604 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 002605 aa 6 00463 7551 00 sta pr6|307 002606 aa 6 00342 3521 00 epp2 pr6|226 002607 aa 6 00356 2521 00 spri2 pr6|238 002610 aa 6 00134 3521 20 epp2 pr6|92,* array_links_block.count 002611 aa 6 00360 2521 00 spri2 pr6|240 002612 aa 6 00463 3521 00 epp2 pr6|307 002613 aa 6 00362 2521 00 spri2 pr6|242 002614 aa 775221 3520 04 epp2 -1391,ic 000035 = 524000000027 002615 aa 6 00364 2521 00 spri2 pr6|244 002616 aa 775235 3520 04 epp2 -1379,ic 000053 = 404000000022 002617 aa 6 00366 2521 00 spri2 pr6|246 002620 aa 775231 3520 04 epp2 -1383,ic 000051 = 514000000001 002621 aa 6 00370 2521 00 spri2 pr6|248 002622 aa 6 00354 6211 00 eax1 pr6|236 002623 aa 014000 4310 07 fld 6144,dl 002624 aa 6 00044 3701 20 epp4 pr6|36,* 002625 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 002626 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 208 do arrayx = 1 to arrayp -> array_links_block.count; 002627 aa 6 00134 2361 20 ldq pr6|92,* array_links_block.count 002630 aa 6 00337 7561 00 stq pr6|223 002631 aa 000001 2360 07 ldq 1,dl 002632 aa 6 00102 7561 00 stq pr6|66 arrayx 002633 aa 000000 0110 03 nop 0,du 002634 aa 6 00102 2361 00 ldq pr6|66 arrayx 002635 aa 6 00337 1161 00 cmpq pr6|223 002636 aa 000141 6054 04 tpnz 97,ic 002777 STATEMENT 1 ON LINE 209 unspec (array_info) = arrayp -> array_links_block.array_link.control_word (arrayx); 002637 aa 6 00134 2351 66 lda pr6|92,*ql array_links_block.control_word 002640 aa 6 00244 7551 00 sta pr6|164 STATEMENT 1 ON LINE 210 call ioa_ ("lp|^o^8t^a^30t^d dim^[s^; ^] ^[Lisp objects^;nongc^;fixnum^;flonum^]", 2 * (addrel (symrtp, sroot.const_blockp) -> const_block.count + addrel (symrtp, sroot.links_blockp) -> links_block.count) -1 + 4 * arrayx, get_prinrep ((constp -> const_block.constants((array_info.sym_offset + 1)/2))), array_info.ndims, array_info.ndims ^= 1, array_info.type + 1); 002641 aa 6 00244 2351 00 lda pr6|164 array_info.sym_offset 002642 aa 000022 7350 00 als 18 002643 aa 000066 7330 00 lrs 54 002644 aa 000001 0760 07 adq 1,dl 002645 aa 002727 3520 04 epp2 1495,ic 005574 = 000000000002 002646 aa 0 01262 7001 00 tsx0 pr0|690 divide_fx1 002647 aa 000000000065 002650 aa 000065 7220 07 lxl2 53,dl 002651 aa 0 01115 7001 00 tsx0 pr0|589 trunc_fx2 002652 aa 000022 4020 07 mpy 18,dl 002653 aa 6 00130 3735 20 epp7 pr6|88,* constp 002654 aa 003 100 060 506 csl (pr,ql),(pr),fill(0),bool(move) 002655 aa 7 00000 40 0022 descb pr7|0(18),18 const_block.constants 002656 aa 6 00056 00 0044 descb pr6|46,36 002657 aa 6 00056 2351 00 lda pr6|46 002660 aa 000066 7330 00 lrs 54 002661 aa 6 00463 7561 00 stq pr6|307 002662 aa 6 00463 3521 00 epp2 pr6|307 002663 aa 6 00356 2521 00 spri2 pr6|238 002664 aa 6 00456 3521 00 epp2 pr6|302 002665 aa 6 00360 2521 00 spri2 pr6|240 002666 aa 775167 3520 04 epp2 -1417,ic 000055 = 404000000021 002667 aa 6 00364 2521 00 spri2 pr6|244 002670 aa 6 00461 3521 00 epp2 pr6|305 002671 aa 6 00366 2521 00 spri2 pr6|246 002672 aa 6 00354 6211 00 eax1 pr6|236 002673 aa 010000 4310 07 fld 4096,dl 002674 aa 000266 3520 04 epp2 182,ic 003162 = 000220627000 002675 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 002676 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002677 aa 775421 00 0104 desc9a -1263,68 000317 = 154160174136 002700 aa 6 00372 00 0104 desc9a pr6|250,68 002701 aa 6 00102 2361 00 ldq pr6|66 arrayx 002702 aa 000002 7360 00 qls 2 002703 aa 6 00463 7561 00 stq pr6|307 002704 aa 6 00144 3735 20 epp7 pr6|100,* symrtp 002705 aa 7 00007 2351 00 lda pr7|7 sroot.links_blockp 002706 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 002707 aa 7 00000 3521 01 epp2 pr7|0,au 002710 aa 000000 0520 03 adwp2 0,du 002711 aa 7 00006 2351 00 lda pr7|6 sroot.const_blockp 002712 aa 000022 7350 00 als 18 002713 aa 7 00000 3515 01 epp1 pr7|0,au 002714 aa 000000 0510 03 adwp1 0,du 002715 aa 1 00000 2361 00 ldq pr1|0 const_block.count 002716 aa 2 00000 0761 00 adq pr2|0 links_block.count 002717 aa 000001 7360 00 qls 1 002720 aa 000001 1760 07 sbq 1,dl 002721 aa 6 00463 0761 00 adq pr6|307 002722 aa 6 00463 7561 00 stq pr6|307 002723 aa 6 00244 2351 00 lda pr6|164 array_info.ndims 002724 aa 000011 7350 00 als 9 002725 aa 000077 7730 00 lrl 63 002726 aa 000001 1160 07 cmpq 1,dl 002727 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 002730 aa 6 00460 7551 00 sta pr6|304 002731 aa 6 00244 2351 00 lda pr6|164 array_info.type 002732 aa 000077 7730 00 lrl 63 002733 aa 000001 0760 07 adq 1,dl 002734 aa 6 00415 7561 00 stq pr6|269 002735 aa 6 00372 3521 00 epp2 pr6|250 002736 aa 6 00420 2521 00 spri2 pr6|272 002737 aa 6 00463 3521 00 epp2 pr6|307 002740 aa 6 00422 2521 00 spri2 pr6|274 002741 aa 6 00456 3521 20 epp2 pr6|302,* 002742 aa 6 00424 2521 00 spri2 pr6|276 002743 aa 000011 7270 07 lxl7 9,dl 002744 aa 6 00244 3521 00 epp2 pr6|164 array_info.ndims 002745 aa 2 00000 5035 17 abd pr2|0,7 002746 aa 6 00426 2521 00 spri2 pr6|278 002747 aa 6 00460 3521 00 epp2 pr6|304 002750 aa 6 00430 2521 00 spri2 pr6|280 002751 aa 6 00415 3521 00 epp2 pr6|269 002752 aa 6 00432 2521 00 spri2 pr6|282 002753 aa 775061 3520 04 epp2 -1487,ic 000034 = 524000000104 002754 aa 6 00434 2521 00 spri2 pr6|284 002755 aa 775056 3520 04 epp2 -1490,ic 000033 = 404000000033 002756 aa 6 00436 2521 00 spri2 pr6|286 002757 aa 6 00461 3521 00 epp2 pr6|305 002760 aa 6 00440 2521 00 spri2 pr6|288 002761 aa 775060 3520 04 epp2 -1488,ic 000041 = 606000000011 002762 aa 6 00442 2521 00 spri2 pr6|290 002763 aa 775066 3520 04 epp2 -1482,ic 000051 = 514000000001 002764 aa 6 00444 2521 00 spri2 pr6|292 002765 aa 775045 3520 04 epp2 -1499,ic 000032 = 404000000012 002766 aa 6 00446 2521 00 spri2 pr6|294 002767 aa 6 00416 6211 00 eax1 pr6|270 002770 aa 030000 4310 07 fld 12288,dl 002771 aa 6 00044 3701 20 epp4 pr6|36,* 002772 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 002773 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 217 end; 002774 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002775 aa 6 00102 0541 00 aos pr6|66 arrayx 002776 aa 777636 7100 04 tra -98,ic 002634 STATEMENT 1 ON LINE 218 end; STATEMENT 1 ON LINE 219 end; STATEMENT 1 ON LINE 221 if doing_constants then do; 002777 aa 6 00237 2351 00 lda pr6|159 doing_constants 003000 aa 000146 6000 04 tze 102,ic 003146 STATEMENT 1 ON LINE 222 if constp -> const_block.count = 0 then call ioa_ ("^/No subr-block constants.^/"); 003001 aa 6 00130 2361 20 ldq pr6|88,* const_block.count 003002 aa 000016 6010 04 tnz 14,ic 003020 003003 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003004 aa 775234 00 0034 desc9a -1380,28 000237 = 136057116157 003005 aa 6 00342 00 0034 desc9a pr6|226,28 003006 aa 6 00342 3521 00 epp2 pr6|226 003007 aa 6 00356 2521 00 spri2 pr6|238 003010 aa 775021 3520 04 epp2 -1519,ic 000031 = 524000000034 003011 aa 6 00360 2521 00 spri2 pr6|240 003012 aa 6 00354 6211 00 eax1 pr6|236 003013 aa 004000 4310 07 fld 2048,dl 003014 aa 6 00044 3701 20 epp4 pr6|36,* 003015 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 003016 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 003017 aa 000030 7100 04 tra 24,ic 003047 STATEMENT 1 ON LINE 223 else call ioa_ ("^/^d subr-block constant^[s^]:^/", constp -> const_block.count, constp -> const_block.count ^= 1); 003020 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003021 aa 775244 00 0040 desc9a -1372,32 000264 = 136057136144 003022 aa 6 00342 00 0040 desc9a pr6|226,32 003023 aa 000001 1160 07 cmpq 1,dl 003024 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 003025 aa 6 00461 7551 00 sta pr6|305 003026 aa 6 00342 3521 00 epp2 pr6|226 003027 aa 6 00356 2521 00 spri2 pr6|238 003030 aa 6 00130 3521 20 epp2 pr6|88,* const_block.count 003031 aa 6 00360 2521 00 spri2 pr6|240 003032 aa 6 00461 3521 00 epp2 pr6|305 003033 aa 6 00362 2521 00 spri2 pr6|242 003034 aa 775023 3520 04 epp2 -1517,ic 000057 = 524000000040 003035 aa 6 00364 2521 00 spri2 pr6|244 003036 aa 775015 3520 04 epp2 -1523,ic 000053 = 404000000022 003037 aa 6 00366 2521 00 spri2 pr6|246 003040 aa 775011 3520 04 epp2 -1527,ic 000051 = 514000000001 003041 aa 6 00370 2521 00 spri2 pr6|248 003042 aa 6 00354 6211 00 eax1 pr6|236 003043 aa 014000 4310 07 fld 6144,dl 003044 aa 6 00044 3701 20 epp4 pr6|36,* 003045 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 003046 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 225 do constx = 1 to constp -> const_block.count; 003047 aa 6 00130 2361 20 ldq pr6|88,* const_block.count 003050 aa 6 00340 7561 00 stq pr6|224 003051 aa 000001 2360 07 ldq 1,dl 003052 aa 6 00105 7561 00 stq pr6|69 constx 003053 aa 000000 0110 03 nop 0,du 003054 aa 6 00105 2361 00 ldq pr6|69 constx 003055 aa 6 00340 1161 00 cmpq pr6|224 003056 aa 000070 6054 04 tpnz 56,ic 003146 STATEMENT 1 ON LINE 226 unalconst = constp -> const_block.constants (constx); 003057 aa 000022 4020 07 mpy 18,dl 003060 aa 6 00130 3735 20 epp7 pr6|88,* constp 003061 aa 003 100 060 506 csl (pr,ql),(pr),fill(0),bool(move) 003062 aa 7 00000 40 0022 descb pr7|0(18),18 const_block.constants 003063 aa 6 00242 00 0022 descb pr6|162,18 unalconst STATEMENT 1 ON LINE 227 unspec (constant_index_format) = unspec (unalconst); 003064 aa 6 00242 2351 00 lda pr6|162 003065 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 003066 aa 6 00243 7551 00 sta pr6|163 STATEMENT 1 ON LINE 228 call ioa_ ("lp|^o^8t^[LOAD TIME: ^]^a", 2 * constx - 1, constant_index_format.load_time, get_prinrep ((constant_index_format.constant_x))); 003067 aa 6 00243 2351 00 lda pr6|163 constant_index_format.constant_x 003070 aa 000001 7350 00 als 1 003071 aa 000067 7330 00 lrs 55 003072 aa 6 00461 7561 00 stq pr6|305 003073 aa 6 00461 3521 00 epp2 pr6|305 003074 aa 6 00356 2521 00 spri2 pr6|238 003075 aa 6 00456 3521 00 epp2 pr6|302 003076 aa 6 00360 2521 00 spri2 pr6|240 003077 aa 774756 3520 04 epp2 -1554,ic 000055 = 404000000021 003100 aa 6 00364 2521 00 spri2 pr6|244 003101 aa 6 00415 3521 00 epp2 pr6|269 003102 aa 6 00366 2521 00 spri2 pr6|246 003103 aa 6 00354 6211 00 eax1 pr6|236 003104 aa 010000 4310 07 fld 4096,dl 003105 aa 000055 3520 04 epp2 45,ic 003162 = 000220627000 003106 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 003107 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003110 aa 775121 00 0034 desc9a -1455,28 000230 = 154160174136 003111 aa 6 00342 00 0034 desc9a pr6|226,28 003112 aa 6 00105 2361 00 ldq pr6|69 constx 003113 aa 000001 7360 00 qls 1 003114 aa 000001 1760 07 sbq 1,dl 003115 aa 6 00461 7561 00 stq pr6|305 003116 aa 6 00342 3521 00 epp2 pr6|226 003117 aa 6 00374 2521 00 spri2 pr6|252 003120 aa 6 00461 3521 00 epp2 pr6|305 003121 aa 6 00376 2521 00 spri2 pr6|254 003122 aa 6 00243 3521 00 epp2 pr6|163 constant_index_format.load_time 003123 aa 6 00400 2521 00 spri2 pr6|256 003124 aa 6 00456 3521 20 epp2 pr6|302,* 003125 aa 6 00402 2521 00 spri2 pr6|258 003126 aa 774724 3520 04 epp2 -1580,ic 000052 = 524000000031 003127 aa 6 00404 2521 00 spri2 pr6|260 003130 aa 774741 3520 04 epp2 -1567,ic 000071 = 404000000030 003131 aa 6 00406 2521 00 spri2 pr6|262 003132 aa 774710 3520 04 epp2 -1592,ic 000042 = 516000000001 003133 aa 6 00410 2521 00 spri2 pr6|264 003134 aa 6 00415 3521 00 epp2 pr6|269 003135 aa 6 00412 2521 00 spri2 pr6|266 003136 aa 6 00372 6211 00 eax1 pr6|250 003137 aa 020000 4310 07 fld 8192,dl 003140 aa 6 00044 3701 20 epp4 pr6|36,* 003141 la 4 00026 3521 20 epp2 pr4|22,* ioa_ 003142 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 230 end; 003143 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 003144 aa 6 00105 0541 00 aos pr6|69 constx 003145 aa 777707 7100 04 tra -57,ic 003054 STATEMENT 1 ON LINE 231 end; STATEMENT 1 ON LINE 233 term: call hcs_$terminate_noname (segp, (0)); 003146 aa 6 00415 4501 00 stz pr6|269 003147 aa 6 00124 3521 00 epp2 pr6|84 segp 003150 aa 6 00344 2521 00 spri2 pr6|228 003151 aa 6 00415 3521 00 epp2 pr6|269 003152 aa 6 00346 2521 00 spri2 pr6|230 003153 aa 6 00342 6211 00 eax1 pr6|226 003154 aa 010000 4310 07 fld 4096,dl 003155 aa 6 00044 3701 20 epp4 pr6|36,* 003156 la 4 00022 3521 20 epp2 pr4|18,* hcs_$terminate_noname 003157 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 383 end; 003160 aa 0 00631 7101 00 tra pr0|409 return_mac BEGIN PROCEDURE get_prinrep ENTRY TO get_prinrep STATEMENT 1 ON LINE 235 get_prinrep: proc (a_x) returns (char (*)); 003161 da 000164220000 003162 aa 000220 6270 00 eax7 144 003163 aa 7 00034 3521 20 epp2 pr7|28,* 003164 aa 2 01050 2721 00 tsp2 pr2|552 int_entry_desc 003165 aa 000004000000 003166 aa 000000000000 STATEMENT 1 ON LINE 247 zlflag = "1"b; 003167 aa 400000 2350 03 lda 131072,du 003170 aa 6 00116 7551 00 sta pr6|78 zlflag STATEMENT 1 ON LINE 248 go to join; 003171 aa 000077 7100 04 tra 63,ic 003270 ENTRY TO get_prinrep_cdr STATEMENT 1 ON LINE 249 get_prinrep_cdr: entry (a_x) returns (char (*)); 003172 da 000173220000 003173 aa 000220 6270 00 eax7 144 003174 aa 7 00034 3521 20 epp2 pr7|28,* 003175 aa 2 01050 2721 00 tsp2 pr2|552 int_entry_desc 003176 aa 000004000000 003177 aa 000000000000 STATEMENT 1 ON LINE 251 x = a_x; 003200 aa 6 00032 3735 20 epp7 pr6|26,* 003201 aa 7 00002 2361 20 ldq pr7|2,* a_x 003202 aa 6 00100 7561 00 stq pr6|64 x STATEMENT 1 ON LINE 252 if x <= n_fixnums + n_flonums + n_strings + n_bignums + n_atsyms then do; 003203 aa 6 00040 3715 20 epp5 pr6|32,* 003204 aa 5 00110 2361 00 ldq pr5|72 n_fixnums 003205 aa 5 00111 0761 00 adq pr5|73 n_flonums 003206 aa 5 00112 0761 00 adq pr5|74 n_strings 003207 aa 5 00113 0761 00 adq pr5|75 n_bignums 003210 aa 5 00115 0761 00 adq pr5|77 n_atsyms 003211 aa 6 00100 1161 00 cmpq pr6|64 x 003212 aa 000055 6040 04 tmi 45,ic 003267 STATEMENT 1 ON LINE 253 return (" . " || get_prinrep (x) || ")"); 003213 aa 6 00100 3521 00 epp2 pr6|64 x 003214 aa 6 00122 2521 00 spri2 pr6|82 003215 aa 6 00134 3521 00 epp2 pr6|92 003216 aa 6 00124 2521 00 spri2 pr6|84 003217 aa 774636 3520 04 epp2 -1634,ic 000055 = 404000000021 003220 aa 6 00130 2521 00 spri2 pr6|88 003221 aa 6 00136 3521 00 epp2 pr6|94 003222 aa 6 00132 2521 00 spri2 pr6|90 003223 aa 000001 7270 07 lxl7 1,dl 003224 aa 6 00120 6211 00 eax1 pr6|80 003225 aa 010000 4310 07 fld 4096,dl 003226 aa 777734 3520 04 epp2 -36,ic 003162 = 000220627000 003227 aa 0 00626 7001 00 tsx0 pr0|406 call_int_other_desc 003230 aa 6 00136 2361 00 ldq pr6|94 003231 aa 000002 6040 04 tmi 2,ic 003233 003232 aa 777777 3760 07 anq 262143,dl 003233 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003234 aa 6 00137 7561 00 stq pr6|95 003235 aa 000003 0760 07 adq 3,dl 003236 aa 6 00140 7561 00 stq pr6|96 003237 aa 000001 0760 07 adq 1,dl 003240 aa 6 00042 3735 20 epp7 pr6|34,* 003241 aa 6 00141 7561 00 stq pr6|97 003242 aa 526000 2760 03 orq 175104,du 003243 aa 7 00002 7561 20 stq pr7|2,* 003244 aa 6 00140 2361 00 ldq pr6|96 003245 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 003246 aa 040 100 100 404 mlr (ic),(pr),fill(040) 003247 aa 774561 00 0003 desc9a -1679,3 000027 = 040056040000 003250 aa 2 00000 00 0003 desc9a pr2|0,3 003251 aa 6 00134 3715 20 epp5 pr6|92,* 003252 aa 6 00137 2351 00 lda pr6|95 003253 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 003254 aa 5 00000 00 0005 desc9a pr5|0,al 003255 aa 2 00000 60 0005 desc9a pr2|0(3),al 003256 aa 6 00141 2361 00 ldq pr6|97 003257 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 003260 aa 6 00140 2351 00 lda pr6|96 003261 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 003262 aa 002311 00 0001 desc9a 1225,1 005572 = 051000000000 003263 aa 2 00000 00 0001 desc9a pr2|0,1 003264 aa 6 00141 2361 00 ldq pr6|97 003265 aa 000000 7200 07 lxl0 0,dl 003266 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 254 end; STATEMENT 1 ON LINE 255 zlflag = "0"b; 003267 aa 6 00116 4501 00 stz pr6|78 zlflag STATEMENT 1 ON LINE 256 join: x = a_x; 003270 aa 6 00032 3735 20 epp7 pr6|26,* 003271 aa 7 00002 2361 20 ldq pr7|2,* a_x 003272 aa 6 00100 7561 00 stq pr6|64 x STATEMENT 1 ON LINE 258 if x = 0 then return ("nil"); 003273 aa 000011 6010 04 tnz 9,ic 003304 003274 aa 000003 2360 07 ldq 3,dl 003275 aa 6 00042 3715 20 epp5 pr6|34,* 003276 aa 526000 2760 03 orq 175104,du 003277 aa 5 00002 7561 20 stq pr5|2,* 003300 aa 000003 2360 07 ldq 3,dl 003301 aa 000000 7200 07 lxl0 0,dl 003302 aa 774524 3520 04 epp2 -1708,ic 000026 = 156151154000 003303 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 259 if x <= n_fixnums then do; 003304 aa 6 00040 3715 20 epp5 pr6|32,* 003305 aa 5 00110 1161 00 cmpq pr5|72 n_fixnums 003306 aa 000046 6054 04 tpnz 38,ic 003354 STATEMENT 1 ON LINE 260 blockp = addrel (symrtp, sroot.objects.fixnum_blockp); 003307 aa 5 00144 3535 20 epp3 pr5|100,* symrtp 003310 aa 3 00002 2351 00 lda pr3|2 sroot.fixnum_blockp 003311 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 003312 aa 3 00000 3521 01 epp2 pr3|0,au 003313 aa 000000 0520 03 adwp2 0,du 003314 aa 5 00132 2521 00 spri2 pr5|90 blockp STATEMENT 1 ON LINE 261 return (ltrim (cv_bin_$oct ((blockp -> fixnum_block.fixnums (x))))); 003315 aa 6 00100 7271 00 lxl7 pr6|64 x 003316 aa 2 00000 2361 17 ldq pr2|0,7 fixnum_block.fixnums 003317 aa 6 00136 7561 00 stq pr6|94 003320 aa 6 00136 3521 00 epp2 pr6|94 003321 aa 6 00144 2521 00 spri2 pr6|100 003322 aa 6 00120 3521 00 epp2 pr6|80 003323 aa 6 00146 2521 00 spri2 pr6|102 003324 aa 6 00142 6211 00 eax1 pr6|98 003325 aa 010000 4310 07 fld 4096,dl 003326 aa 6 00044 3701 20 epp4 pr6|36,* 003327 la 4 00036 3521 20 epp2 pr4|30,* cv_bin_$oct 003330 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 003331 aa 000 000 164 500 tct (pr) 003332 aa 6 00120 00 0014 desc9a pr6|80,12 003333 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 003334 aa 6 00056 0001 00 arg pr6|46 003335 aa 6 00056 2361 00 ldq pr6|46 003336 aa 0 00242 3761 00 anq pr0|162 = 000777777777 003337 aa 6 00136 7561 00 stq pr6|94 003340 aa 000014 2360 07 ldq 12,dl 003341 aa 6 00136 1761 00 sbq pr6|94 003342 aa 6 00042 3735 20 epp7 pr6|34,* 003343 aa 6 00140 7561 00 stq pr6|96 003344 aa 526000 2760 03 orq 175104,du 003345 aa 7 00002 7561 20 stq pr7|2,* 003346 aa 6 00140 2361 00 ldq pr6|96 003347 aa 000000 7200 07 lxl0 0,dl 003350 aa 6 00136 2351 00 lda pr6|94 003351 aa 6 00120 3521 00 epp2 pr6|80 003352 aa 2 00000 5005 05 a9bd pr2|0,al 003353 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 262 end; STATEMENT 1 ON LINE 263 x = x - n_fixnums; 003354 aa 5 00110 3361 00 lcq pr5|72 n_fixnums 003355 aa 6 00100 0561 00 asq pr6|64 x STATEMENT 1 ON LINE 264 if x <= n_flonums then do; 003356 aa 6 00100 2361 00 ldq pr6|64 x 003357 aa 5 00111 1161 00 cmpq pr5|73 n_flonums 003360 aa 000052 6054 04 tpnz 42,ic 003432 STATEMENT 1 ON LINE 265 blockp = addrel (symrtp, sroot.objects.flonum_blockp); 003361 aa 5 00144 3535 20 epp3 pr5|100,* symrtp 003362 aa 3 00002 2351 00 lda pr3|2 sroot.flonum_blockp 003363 aa 000022 7350 00 als 18 003364 aa 3 00000 3521 01 epp2 pr3|0,au 003365 aa 000000 0520 03 adwp2 0,du 003366 aa 5 00132 2521 00 spri2 pr5|90 blockp STATEMENT 1 ON LINE 266 call ioa_$rsnnl ("^f", fvar, (0), blockp -> flonum_block.flonums (x)); 003367 aa 774435 2360 04 ldq -1763,ic 000024 = 414000000033 003370 aa 6 00136 7561 00 stq pr6|94 003371 aa 136146 2350 03 lda 48230,du 003372 aa 6 00140 7551 00 sta pr6|96 003373 aa 6 00137 4501 00 stz pr6|95 003374 aa 6 00140 3521 00 epp2 pr6|96 003375 aa 6 00152 2521 00 spri2 pr6|106 003376 aa 6 00102 3521 00 epp2 pr6|66 fvar 003377 aa 6 00154 2521 00 spri2 pr6|108 003400 aa 6 00137 3521 00 epp2 pr6|95 003401 aa 6 00156 2521 00 spri2 pr6|110 003402 aa 6 00100 7271 00 lxl7 pr6|64 x 003403 aa 5 00132 3521 77 epp2 pr5|90,*7 flonum_block.flonums 003404 aa 6 00160 2521 00 spri2 pr6|112 003405 aa 774475 3520 04 epp2 -1731,ic 000102 = 524000000002 003406 aa 6 00162 2521 00 spri2 pr6|114 003407 aa 774416 3520 04 epp2 -1778,ic 000025 = 530000000050 003410 aa 6 00164 2521 00 spri2 pr6|116 003411 aa 774447 3520 04 epp2 -1753,ic 000060 = 404000000005 003412 aa 6 00166 2521 00 spri2 pr6|118 003413 aa 6 00136 3521 00 epp2 pr6|94 003414 aa 6 00170 2521 00 spri2 pr6|120 003415 aa 6 00150 6211 00 eax1 pr6|104 003416 aa 020000 4310 07 fld 8192,dl 003417 aa 6 00044 3701 20 epp4 pr6|36,* 003420 la 4 00032 3521 20 epp2 pr4|26,* ioa_$rsnnl 003421 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 267 return (fvar); 003422 aa 6 00101 2361 00 ldq pr6|65 fvar 003423 aa 6 00042 3735 20 epp7 pr6|34,* 003424 aa 526000 2760 03 orq 175104,du 003425 aa 7 00002 7561 20 stq pr7|2,* 003426 aa 6 00101 2361 00 ldq pr6|65 fvar 003427 aa 000000 7200 07 lxl0 0,dl 003430 aa 6 00102 3521 00 epp2 pr6|66 fvar 003431 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 268 end; STATEMENT 1 ON LINE 269 x = x - n_flonums; 003432 aa 5 00111 3361 00 lcq pr5|73 n_flonums 003433 aa 6 00100 0561 00 asq pr6|64 x STATEMENT 1 ON LINE 270 if x <= n_strings then do; 003434 aa 6 00100 2361 00 ldq pr6|64 x 003435 aa 5 00112 1161 00 cmpq pr5|74 n_strings 003436 aa 000057 6054 04 tpnz 47,ic 003515 STATEMENT 1 ON LINE 271 blockp = addrel (symrtp, sroot.objects.string_blockp); 003437 aa 5 00144 3535 20 epp3 pr5|100,* symrtp 003440 aa 3 00003 2351 00 lda pr3|3 sroot.string_blockp 003441 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 003442 aa 3 00000 3521 01 epp2 pr3|0,au 003443 aa 000000 0520 03 adwp2 0,du 003444 aa 5 00132 2521 00 spri2 pr5|90 blockp STATEMENT 1 ON LINE 272 tempp = addrel (symrtp, blockp -> string_block.string_offset(x)); 003445 aa 6 00100 2361 00 ldq pr6|64 x 003446 aa 000022 4020 07 mpy 18,dl 003447 aa 003 100 060 506 csl (pr,ql),(pr),fill(0),bool(move) 003450 aa 2 00000 40 0022 descb pr2|0(18),18 string_block.string_offset 003451 aa 6 00056 00 0044 descb pr6|46,36 003452 aa 6 00056 2351 00 lda pr6|46 003453 aa 3 00000 3515 01 epp1 pr3|0,au 003454 aa 000000 0510 03 adwp1 0,du 003455 aa 5 00120 2515 00 spri1 pr5|80 tempp STATEMENT 1 ON LINE 273 return (requote_string_ (tempp -> string_chars.chars)); 003456 aa 1 00000 2351 00 lda pr1|0 string_chars.length 003457 aa 000013 7350 00 als 11 003460 aa 000057 7330 00 lrs 47 003461 aa 6 00137 7561 00 stq pr6|95 003462 aa 526000 2760 03 orq 175104,du 003463 aa 6 00136 7561 00 stq pr6|94 003464 aa 1 00001 3521 00 epp2 pr1|1 string_chars.chars 003465 aa 6 00122 2521 00 spri2 pr6|82 003466 aa 6 00134 3521 00 epp2 pr6|92 003467 aa 6 00124 2521 00 spri2 pr6|84 003470 aa 6 00136 3521 00 epp2 pr6|94 003471 aa 6 00126 2521 00 spri2 pr6|86 003472 aa 6 00137 3521 00 epp2 pr6|95 003473 aa 6 00130 2521 00 spri2 pr6|88 003474 aa 6 00120 6211 00 eax1 pr6|80 003475 aa 010000 4310 07 fld 4096,dl 003476 aa 6 00044 3701 20 epp4 pr6|36,* 003477 la 4 00034 3521 20 epp2 pr4|28,* requote_string_ 003500 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 003501 aa 6 00137 2361 00 ldq pr6|95 003502 aa 000002 6040 04 tmi 2,ic 003504 003503 aa 777777 3760 07 anq 262143,dl 003504 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003505 aa 6 00042 3735 20 epp7 pr6|34,* 003506 aa 6 00140 7561 00 stq pr6|96 003507 aa 526000 2760 03 orq 175104,du 003510 aa 7 00002 7561 20 stq pr7|2,* 003511 aa 6 00140 2361 00 ldq pr6|96 003512 aa 000000 7200 07 lxl0 0,dl 003513 aa 6 00134 3521 20 epp2 pr6|92,* 003514 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 274 end; STATEMENT 1 ON LINE 275 x = x - n_strings; 003515 aa 5 00112 3361 00 lcq pr5|74 n_strings 003516 aa 6 00100 0561 00 asq pr6|64 x STATEMENT 1 ON LINE 276 if x <= n_bignums then do; 003517 aa 6 00100 2361 00 ldq pr6|64 x 003520 aa 5 00113 1161 00 cmpq pr5|75 n_bignums 003521 aa 000043 6054 04 tpnz 35,ic 003564 STATEMENT 1 ON LINE 277 blockp = addrel (symrtp, sroot.objects.bignum_blockp); 003522 aa 5 00144 3535 20 epp3 pr5|100,* symrtp 003523 aa 3 00003 2351 00 lda pr3|3 sroot.bignum_blockp 003524 aa 000022 7350 00 als 18 003525 aa 3 00000 3521 01 epp2 pr3|0,au 003526 aa 000000 0520 03 adwp2 0,du 003527 aa 5 00132 2521 00 spri2 pr5|90 blockp STATEMENT 1 ON LINE 278 bigp = addrel (symrtp, blockp -> bignum_block.bignum_offsets (x)); 003530 aa 000022 4020 07 mpy 18,dl 003531 aa 003 100 060 506 csl (pr,ql),(pr),fill(0),bool(move) 003532 aa 2 00000 40 0022 descb pr2|0(18),18 bignum_block.bignum_offsets 003533 aa 6 00056 00 0044 descb pr6|46,36 003534 aa 6 00056 2351 00 lda pr6|46 003535 aa 3 00000 3515 01 epp1 pr3|0,au 003536 aa 000000 0510 03 adwp1 0,du 003537 aa 5 00142 2515 00 spri1 pr5|98 bigp STATEMENT 1 ON LINE 279 return (bigna_representer ()); 003540 aa 6 00134 3521 00 epp2 pr6|92 003541 aa 6 00122 2521 00 spri2 pr6|82 003542 aa 6 00136 3521 00 epp2 pr6|94 003543 aa 6 00126 2521 00 spri2 pr6|86 003544 aa 6 00120 6211 00 eax1 pr6|80 003545 aa 004000 4310 07 fld 2048,dl 003546 aa 001126 3520 04 epp2 598,ic 004674 = 000240627000 003547 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 003550 aa 6 00136 2361 00 ldq pr6|94 003551 aa 000002 6040 04 tmi 2,ic 003553 003552 aa 777777 3760 07 anq 262143,dl 003553 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003554 aa 6 00042 3735 20 epp7 pr6|34,* 003555 aa 6 00137 7561 00 stq pr6|95 003556 aa 526000 2760 03 orq 175104,du 003557 aa 7 00002 7561 20 stq pr7|2,* 003560 aa 6 00137 2361 00 ldq pr6|95 003561 aa 000000 7200 07 lxl0 0,dl 003562 aa 6 00134 3521 20 epp2 pr6|92,* 003563 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 280 end; STATEMENT 1 ON LINE 281 x = x - n_bignums; 003564 aa 5 00113 3361 00 lcq pr5|75 n_bignums 003565 aa 6 00100 0561 00 asq pr6|64 x STATEMENT 1 ON LINE 282 if x <= n_atsyms then do; 003566 aa 6 00100 2361 00 ldq pr6|64 x 003567 aa 5 00115 1161 00 cmpq pr5|77 n_atsyms 003570 aa 000101 6054 04 tpnz 65,ic 003671 STATEMENT 1 ON LINE 283 blockp = addrel (symrtp, sroot.objects.atsym_blockp); 003571 aa 5 00144 3535 20 epp3 pr5|100,* symrtp 003572 aa 3 00004 2351 00 lda pr3|4 sroot.atsym_blockp 003573 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 003574 aa 3 00000 3521 01 epp2 pr3|0,au 003575 aa 000000 0520 03 adwp2 0,du 003576 aa 5 00132 2521 00 spri2 pr5|90 blockp STATEMENT 1 ON LINE 284 tempp = addrel (symrtp, blockp -> atsym_block.atsym_offset (x)); 003577 aa 6 00100 2361 00 ldq pr6|64 x 003600 aa 000022 4020 07 mpy 18,dl 003601 aa 003 100 060 506 csl (pr,ql),(pr),fill(0),bool(move) 003602 aa 2 00000 40 0022 descb pr2|0(18),18 atsym_block.atsym_offset 003603 aa 6 00056 00 0044 descb pr6|46,36 003604 aa 6 00056 2351 00 lda pr6|46 003605 aa 3 00000 3515 01 epp1 pr3|0,au 003606 aa 000000 0510 03 adwp1 0,du 003607 aa 5 00120 2515 00 spri1 pr5|80 tempp STATEMENT 1 ON LINE 285 if search (tempp -> string_chars.chars, BAD_CHARS) ^= 0 then return (hairy_atom (tempp -> string_chars.chars)); 003610 aa 1 00000 2351 00 lda pr1|0 string_chars.length 003611 aa 000013 7350 00 als 11 003612 aa 000057 7330 00 lrs 47 003613 aa 6 00136 7561 00 stq pr6|94 003614 aa 000 000 164 540 tct (pr,rl) 003615 aa 1 00001 00 0006 desc9a pr1|1,ql string_chars.chars 003616 aa 001551 0000 04 arg 873,ic 005365 = 000000000000 003617 aa 6 00056 0001 00 arg pr6|46 003620 aa 6 00056 2361 00 ldq pr6|46 003621 aa 0 00242 3761 00 anq pr0|162 = 000777777777 003622 aa 000002 6070 04 ttf 2,ic 003624 003623 aa 000001 3360 07 lcq 1,dl 003624 aa 000001 0760 07 adq 1,dl 003625 aa 000034 6000 04 tze 28,ic 003661 003626 aa 6 00136 2361 00 ldq pr6|94 003627 aa 526000 2760 03 orq 175104,du 003630 aa 6 00137 7561 00 stq pr6|95 003631 aa 1 00001 3521 00 epp2 pr1|1 string_chars.chars 003632 aa 6 00122 2521 00 spri2 pr6|82 003633 aa 6 00134 3521 00 epp2 pr6|92 003634 aa 6 00124 2521 00 spri2 pr6|84 003635 aa 6 00137 3521 00 epp2 pr6|95 003636 aa 6 00130 2521 00 spri2 pr6|88 003637 aa 6 00140 3521 00 epp2 pr6|96 003640 aa 6 00132 2521 00 spri2 pr6|90 003641 aa 6 00120 6211 00 eax1 pr6|80 003642 aa 010000 4310 07 fld 4096,dl 003643 aa 000473 3520 04 epp2 315,ic 004336 = 000140627000 003644 aa 0 00624 7001 00 tsx0 pr0|404 call_int_this_desc 003645 aa 6 00140 2361 00 ldq pr6|96 003646 aa 000002 6040 04 tmi 2,ic 003650 003647 aa 777777 3760 07 anq 262143,dl 003650 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003651 aa 6 00042 3735 20 epp7 pr6|34,* 003652 aa 6 00172 7561 00 stq pr6|122 003653 aa 526000 2760 03 orq 175104,du 003654 aa 7 00002 7561 20 stq pr7|2,* 003655 aa 6 00172 2361 00 ldq pr6|122 003656 aa 000000 7200 07 lxl0 0,dl 003657 aa 6 00134 3521 20 epp2 pr6|92,* 003660 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 287 else return (tempp -> string_chars.chars); 003661 aa 6 00136 2361 00 ldq pr6|94 003662 aa 6 00042 3535 20 epp3 pr6|34,* 003663 aa 526000 2760 03 orq 175104,du 003664 aa 3 00002 7561 20 stq pr3|2,* 003665 aa 6 00136 2361 00 ldq pr6|94 003666 aa 000000 7200 07 lxl0 0,dl 003667 aa 1 00001 3521 00 epp2 pr1|1 string_chars.chars 003670 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 299 end; STATEMENT 1 ON LINE 300 x = x - n_atsyms; 003671 aa 5 00115 3361 00 lcq pr5|77 n_atsyms 003672 aa 6 00100 0561 00 asq pr6|64 x STATEMENT 1 ON LINE 301 blockp = addrel (symrtp, sroot.objects.cons_blockp); 003673 aa 5 00144 3535 20 epp3 pr5|100,* symrtp 003674 aa 3 00004 2351 00 lda pr3|4 sroot.cons_blockp 003675 aa 000022 7350 00 als 18 003676 aa 3 00000 3521 01 epp2 pr3|0,au 003677 aa 000000 0520 03 adwp2 0,du 003700 aa 5 00132 2521 00 spri2 pr5|90 blockp STATEMENT 1 ON LINE 302 car = blockp -> cons_block.conses (x).car; 003701 aa 6 00100 7271 00 lxl7 pr6|64 x 003702 aa 2 00000 2351 17 lda pr2|0,7 cons_block.car 003703 aa 000066 7330 00 lrs 54 003704 aa 6 00114 7561 00 stq pr6|76 car STATEMENT 1 ON LINE 303 cdr = blockp -> cons_block.conses (x).cdr; 003705 aa 2 00000 2351 17 lda pr2|0,7 cons_block.cdr 003706 aa 000022 7350 00 als 18 003707 aa 000066 7330 00 lrs 54 003710 aa 6 00115 7561 00 stq pr6|77 cdr STATEMENT 1 ON LINE 304 if car = quotx then do; 003711 aa 6 00114 2361 00 ldq pr6|76 car 003712 aa 5 00104 1161 00 cmpq pr5|68 quotx 003713 aa 000064 6010 04 tnz 52,ic 003777 STATEMENT 1 ON LINE 305 ncons = cdr - n_fixnums - n_flonums - n_bignums - n_strings - n_atsyms; 003714 aa 6 00115 2361 00 ldq pr6|77 cdr 003715 aa 5 00110 1761 00 sbq pr5|72 n_fixnums 003716 aa 5 00111 1761 00 sbq pr5|73 n_flonums 003717 aa 5 00113 1761 00 sbq pr5|75 n_bignums 003720 aa 5 00112 1761 00 sbq pr5|74 n_strings 003721 aa 5 00115 1761 00 sbq pr5|77 n_atsyms 003722 aa 6 00117 7561 00 stq pr6|79 ncons STATEMENT 1 ON LINE 306 if ncons > 0 then if blockp -> cons_block.conses (ncons).cdr = 0 then return ("'" || get_prinrep ((blockp -> cons_block.conses (ncons).car))); 003723 aa 000054 6044 04 tmoz 44,ic 003777 003724 aa 2 00000 2351 06 lda pr2|0,ql cons_block.cdr 003725 aa 000022 7350 00 als 18 003726 aa 000066 7330 00 lrs 54 003727 aa 000050 6010 04 tnz 40,ic 003777 003730 aa 6 00117 7261 00 lxl6 pr6|79 ncons 003731 aa 2 00000 2351 16 lda pr2|0,6 cons_block.car 003732 aa 000066 7330 00 lrs 54 003733 aa 6 00136 7561 00 stq pr6|94 003734 aa 6 00136 3521 00 epp2 pr6|94 003735 aa 6 00122 2521 00 spri2 pr6|82 003736 aa 6 00134 3521 00 epp2 pr6|92 003737 aa 6 00124 2521 00 spri2 pr6|84 003740 aa 774115 3520 04 epp2 -1971,ic 000055 = 404000000021 003741 aa 6 00130 2521 00 spri2 pr6|88 003742 aa 6 00137 3521 00 epp2 pr6|95 003743 aa 6 00132 2521 00 spri2 pr6|90 003744 aa 000001 7270 07 lxl7 1,dl 003745 aa 6 00120 6211 00 eax1 pr6|80 003746 aa 010000 4310 07 fld 4096,dl 003747 aa 777213 3520 04 epp2 -373,ic 003162 = 000220627000 003750 aa 0 00626 7001 00 tsx0 pr0|406 call_int_other_desc 003751 aa 6 00137 2361 00 ldq pr6|95 003752 aa 000002 6040 04 tmi 2,ic 003754 003753 aa 777777 3760 07 anq 262143,dl 003754 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003755 aa 6 00136 7561 00 stq pr6|94 003756 aa 000001 0760 07 adq 1,dl 003757 aa 6 00042 3735 20 epp7 pr6|34,* 003760 aa 6 00140 7561 00 stq pr6|96 003761 aa 526000 2760 03 orq 175104,du 003762 aa 7 00002 7561 20 stq pr7|2,* 003763 aa 6 00140 2361 00 ldq pr6|96 003764 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 003765 aa 040 100 100 404 mlr (ic),(pr),fill(040) 003766 aa 001603 00 0001 desc9a 899,1 005570 = 047000000000 003767 aa 2 00000 00 0001 desc9a pr2|0,1 003770 aa 6 00134 3715 20 epp5 pr6|92,* 003771 aa 6 00136 2351 00 lda pr6|94 003772 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 003773 aa 5 00000 00 0005 desc9a pr5|0,al 003774 aa 2 00000 20 0005 desc9a pr2|0(1),al 003775 aa 000000 7200 07 lxl0 0,dl 003776 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 308 end; STATEMENT 1 ON LINE 309 if zlflag then if cdr = 0 then return ("(" || get_prinrep (car) || ")"); 003777 aa 6 00116 2351 00 lda pr6|78 zlflag 004000 aa 000157 6000 04 tze 111,ic 004157 004001 aa 6 00115 2361 00 ldq pr6|77 cdr 004002 aa 000055 6010 04 tnz 45,ic 004057 004003 aa 6 00114 3521 00 epp2 pr6|76 car 004004 aa 6 00122 2521 00 spri2 pr6|82 004005 aa 6 00134 3521 00 epp2 pr6|92 004006 aa 6 00124 2521 00 spri2 pr6|84 004007 aa 774046 3520 04 epp2 -2010,ic 000055 = 404000000021 004010 aa 6 00130 2521 00 spri2 pr6|88 004011 aa 6 00137 3521 00 epp2 pr6|95 004012 aa 6 00132 2521 00 spri2 pr6|90 004013 aa 000001 7270 07 lxl7 1,dl 004014 aa 6 00120 6211 00 eax1 pr6|80 004015 aa 010000 4310 07 fld 4096,dl 004016 aa 777144 3520 04 epp2 -412,ic 003162 = 000220627000 004017 aa 0 00626 7001 00 tsx0 pr0|406 call_int_other_desc 004020 aa 6 00137 2361 00 ldq pr6|95 004021 aa 000002 6040 04 tmi 2,ic 004023 004022 aa 777777 3760 07 anq 262143,dl 004023 aa 0 00250 3761 00 anq pr0|168 = 000077777777 004024 aa 6 00136 7561 00 stq pr6|94 004025 aa 000001 0760 07 adq 1,dl 004026 aa 6 00172 7561 00 stq pr6|122 004027 aa 000001 0760 07 adq 1,dl 004030 aa 6 00042 3735 20 epp7 pr6|34,* 004031 aa 6 00173 7561 00 stq pr6|123 004032 aa 526000 2760 03 orq 175104,du 004033 aa 7 00002 7561 20 stq pr7|2,* 004034 aa 6 00172 2361 00 ldq pr6|122 004035 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004036 aa 040 100 100 404 mlr (ic),(pr),fill(040) 004037 aa 001531 00 0001 desc9a 857,1 005567 = 050000000000 004040 aa 2 00000 00 0001 desc9a pr2|0,1 004041 aa 6 00134 3715 20 epp5 pr6|92,* 004042 aa 6 00136 2351 00 lda pr6|94 004043 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004044 aa 5 00000 00 0005 desc9a pr5|0,al 004045 aa 2 00000 20 0005 desc9a pr2|0(1),al 004046 aa 6 00173 2361 00 ldq pr6|123 004047 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 004050 aa 6 00172 2351 00 lda pr6|122 004051 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 004052 aa 001521 00 0001 desc9a 849,1 005572 = 051000000000 004053 aa 2 00000 00 0001 desc9a pr2|0,1 004054 aa 6 00173 2361 00 ldq pr6|123 004055 aa 000000 7200 07 lxl0 0,dl 004056 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 311 else return ("(" || get_prinrep (car) || get_prinrep_cdr (cdr)); 004057 aa 6 00114 3521 00 epp2 pr6|76 car 004060 aa 6 00122 2521 00 spri2 pr6|82 004061 aa 6 00134 3521 00 epp2 pr6|92 004062 aa 6 00124 2521 00 spri2 pr6|84 004063 aa 773772 3520 04 epp2 -2054,ic 000055 = 404000000021 004064 aa 6 00130 2521 00 spri2 pr6|88 004065 aa 6 00137 3521 00 epp2 pr6|95 004066 aa 6 00132 2521 00 spri2 pr6|90 004067 aa 000001 7270 07 lxl7 1,dl 004070 aa 6 00120 6211 00 eax1 pr6|80 004071 aa 010000 4310 07 fld 4096,dl 004072 aa 777070 3520 04 epp2 -456,ic 003162 = 000220627000 004073 aa 0 00626 7001 00 tsx0 pr0|406 call_int_other_desc 004074 aa 6 00115 3521 00 epp2 pr6|77 cdr 004075 aa 6 00122 2521 00 spri2 pr6|82 004076 aa 6 00174 3521 00 epp2 pr6|124 004077 aa 6 00124 2521 00 spri2 pr6|84 004100 aa 773755 3520 04 epp2 -2067,ic 000055 = 404000000021 004101 aa 6 00130 2521 00 spri2 pr6|88 004102 aa 6 00172 3521 00 epp2 pr6|122 004103 aa 6 00132 2521 00 spri2 pr6|90 004104 aa 000001 7270 07 lxl7 1,dl 004105 aa 6 00120 6211 00 eax1 pr6|80 004106 aa 010000 4310 07 fld 4096,dl 004107 aa 777064 3520 04 epp2 -460,ic 003173 = 000220627000 004110 aa 0 00626 7001 00 tsx0 pr0|406 call_int_other_desc 004111 aa 6 00172 2361 00 ldq pr6|122 004112 aa 000002 6040 04 tmi 2,ic 004114 004113 aa 777777 3760 07 anq 262143,dl 004114 aa 0 00250 3761 00 anq pr0|168 = 000077777777 004115 aa 6 00136 7561 00 stq pr6|94 004116 aa 6 00137 2361 00 ldq pr6|95 004117 aa 000002 6040 04 tmi 2,ic 004121 004120 aa 777777 3760 07 anq 262143,dl 004121 aa 0 00250 3761 00 anq pr0|168 = 000077777777 004122 aa 6 00176 7561 00 stq pr6|126 004123 aa 000001 0760 07 adq 1,dl 004124 aa 6 00177 7561 00 stq pr6|127 004125 aa 6 00136 0761 00 adq pr6|94 004126 aa 6 00042 3735 20 epp7 pr6|34,* 004127 aa 6 00200 7561 00 stq pr6|128 004130 aa 526000 2760 03 orq 175104,du 004131 aa 7 00002 7561 20 stq pr7|2,* 004132 aa 6 00177 2361 00 ldq pr6|127 004133 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004134 aa 040 100 100 404 mlr (ic),(pr),fill(040) 004135 aa 001433 00 0001 desc9a 795,1 005567 = 050000000000 004136 aa 2 00000 00 0001 desc9a pr2|0,1 004137 aa 6 00134 3715 20 epp5 pr6|92,* 004140 aa 6 00176 2351 00 lda pr6|126 004141 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004142 aa 5 00000 00 0005 desc9a pr5|0,al 004143 aa 2 00000 20 0005 desc9a pr2|0(1),al 004144 aa 6 00200 2361 00 ldq pr6|128 004145 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 004146 aa 6 00177 2351 00 lda pr6|127 004147 aa 6 00174 3535 20 epp3 pr6|124,* 004150 aa 6 00136 2361 00 ldq pr6|94 004151 aa 040 145 100 540 mlr (pr,rl),(pr,rl,al),fill(040) 004152 aa 3 00000 00 0006 desc9a pr3|0,ql 004153 aa 2 00000 00 0006 desc9a pr2|0,ql 004154 aa 6 00200 2361 00 ldq pr6|128 004155 aa 000000 7200 07 lxl0 0,dl 004156 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 312 else if cdr = 0 then return (" " || get_prinrep (car) || ")"); 004157 aa 6 00115 2361 00 ldq pr6|77 cdr 004160 aa 000055 6010 04 tnz 45,ic 004235 004161 aa 6 00114 3521 00 epp2 pr6|76 car 004162 aa 6 00122 2521 00 spri2 pr6|82 004163 aa 6 00134 3521 00 epp2 pr6|92 004164 aa 6 00124 2521 00 spri2 pr6|84 004165 aa 773670 3520 04 epp2 -2120,ic 000055 = 404000000021 004166 aa 6 00130 2521 00 spri2 pr6|88 004167 aa 6 00137 3521 00 epp2 pr6|95 004170 aa 6 00132 2521 00 spri2 pr6|90 004171 aa 000001 7270 07 lxl7 1,dl 004172 aa 6 00120 6211 00 eax1 pr6|80 004173 aa 010000 4310 07 fld 4096,dl 004174 aa 776766 3520 04 epp2 -522,ic 003162 = 000220627000 004175 aa 0 00626 7001 00 tsx0 pr0|406 call_int_other_desc 004176 aa 6 00137 2361 00 ldq pr6|95 004177 aa 000002 6040 04 tmi 2,ic 004201 004200 aa 777777 3760 07 anq 262143,dl 004201 aa 0 00250 3761 00 anq pr0|168 = 000077777777 004202 aa 6 00172 7561 00 stq pr6|122 004203 aa 000001 0760 07 adq 1,dl 004204 aa 6 00177 7561 00 stq pr6|127 004205 aa 000001 0760 07 adq 1,dl 004206 aa 6 00042 3735 20 epp7 pr6|34,* 004207 aa 6 00136 7561 00 stq pr6|94 004210 aa 526000 2760 03 orq 175104,du 004211 aa 7 00002 7561 20 stq pr7|2,* 004212 aa 6 00177 2361 00 ldq pr6|127 004213 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004214 aa 040 100 100 404 mlr (ic),(pr),fill(040) 004215 aa 001355 00 0001 desc9a 749,1 005571 = 040000000000 004216 aa 2 00000 00 0001 desc9a pr2|0,1 004217 aa 6 00134 3715 20 epp5 pr6|92,* 004220 aa 6 00172 2351 00 lda pr6|122 004221 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004222 aa 5 00000 00 0005 desc9a pr5|0,al 004223 aa 2 00000 20 0005 desc9a pr2|0(1),al 004224 aa 6 00136 2361 00 ldq pr6|94 004225 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 004226 aa 6 00177 2351 00 lda pr6|127 004227 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 004230 aa 001343 00 0001 desc9a 739,1 005572 = 051000000000 004231 aa 2 00000 00 0001 desc9a pr2|0,1 004232 aa 6 00136 2361 00 ldq pr6|94 004233 aa 000000 7200 07 lxl0 0,dl 004234 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 314 else return (" " || get_prinrep (car) || get_prinrep_cdr (cdr)); 004235 aa 6 00114 3521 00 epp2 pr6|76 car 004236 aa 6 00122 2521 00 spri2 pr6|82 004237 aa 6 00134 3521 00 epp2 pr6|92 004240 aa 6 00124 2521 00 spri2 pr6|84 004241 aa 773614 3520 04 epp2 -2164,ic 000055 = 404000000021 004242 aa 6 00130 2521 00 spri2 pr6|88 004243 aa 6 00137 3521 00 epp2 pr6|95 004244 aa 6 00132 2521 00 spri2 pr6|90 004245 aa 000001 7270 07 lxl7 1,dl 004246 aa 6 00120 6211 00 eax1 pr6|80 004247 aa 010000 4310 07 fld 4096,dl 004250 aa 776712 3520 04 epp2 -566,ic 003162 = 000220627000 004251 aa 0 00626 7001 00 tsx0 pr0|406 call_int_other_desc 004252 aa 6 00115 3521 00 epp2 pr6|77 cdr 004253 aa 6 00122 2521 00 spri2 pr6|82 004254 aa 6 00174 3521 00 epp2 pr6|124 004255 aa 6 00124 2521 00 spri2 pr6|84 004256 aa 773577 3520 04 epp2 -2177,ic 000055 = 404000000021 004257 aa 6 00130 2521 00 spri2 pr6|88 004260 aa 6 00177 3521 00 epp2 pr6|127 004261 aa 6 00132 2521 00 spri2 pr6|90 004262 aa 000001 7270 07 lxl7 1,dl 004263 aa 6 00120 6211 00 eax1 pr6|80 004264 aa 010000 4310 07 fld 4096,dl 004265 aa 776706 3520 04 epp2 -570,ic 003173 = 000220627000 004266 aa 0 00626 7001 00 tsx0 pr0|406 call_int_other_desc 004267 aa 6 00177 2361 00 ldq pr6|127 004270 aa 000002 6040 04 tmi 2,ic 004272 004271 aa 777777 3760 07 anq 262143,dl 004272 aa 0 00250 3761 00 anq pr0|168 = 000077777777 004273 aa 6 00172 7561 00 stq pr6|122 004274 aa 6 00137 2361 00 ldq pr6|95 004275 aa 000002 6040 04 tmi 2,ic 004277 004276 aa 777777 3760 07 anq 262143,dl 004277 aa 0 00250 3761 00 anq pr0|168 = 000077777777 004300 aa 6 00176 7561 00 stq pr6|126 004301 aa 000001 0760 07 adq 1,dl 004302 aa 6 00201 7561 00 stq pr6|129 004303 aa 6 00172 0761 00 adq pr6|122 004304 aa 6 00042 3735 20 epp7 pr6|34,* 004305 aa 6 00202 7561 00 stq pr6|130 004306 aa 526000 2760 03 orq 175104,du 004307 aa 7 00002 7561 20 stq pr7|2,* 004310 aa 6 00201 2361 00 ldq pr6|129 004311 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004312 aa 040 100 100 404 mlr (ic),(pr),fill(040) 004313 aa 001257 00 0001 desc9a 687,1 005571 = 040000000000 004314 aa 2 00000 00 0001 desc9a pr2|0,1 004315 aa 6 00134 3715 20 epp5 pr6|92,* 004316 aa 6 00176 2351 00 lda pr6|126 004317 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004320 aa 5 00000 00 0005 desc9a pr5|0,al 004321 aa 2 00000 20 0005 desc9a pr2|0(1),al 004322 aa 6 00202 2361 00 ldq pr6|130 004323 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 004324 aa 6 00201 2351 00 lda pr6|129 004325 aa 6 00174 3535 20 epp3 pr6|124,* 004326 aa 6 00172 2361 00 ldq pr6|122 004327 aa 040 145 100 540 mlr (pr,rl),(pr,rl,al),fill(040) 004330 aa 3 00000 00 0006 desc9a pr3|0,ql 004331 aa 2 00000 00 0006 desc9a pr2|0,ql 004332 aa 6 00202 2361 00 ldq pr6|130 004333 aa 000000 7200 07 lxl0 0,dl 004334 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 382 end get_prinrep; BEGIN PROCEDURE hairy_atom ENTRY TO hairy_atom STATEMENT 1 ON LINE 288 hairy_atom: proc (s) returns (char (*)); 004335 da 000201220000 004336 aa 000140 6270 00 eax7 96 004337 aa 7 00034 3521 20 epp2 pr7|28,* 004340 aa 2 01050 2721 00 tsp2 pr2|552 int_entry_desc 004341 aa 000004000000 004342 aa 000000000000 004343 aa 6 00042 3735 20 epp7 pr6|34,* 004344 aa 7 00000 2361 20 ldq pr7|0,* 004345 aa 000002 6040 04 tmi 2,ic 004347 004346 aa 777777 3760 07 anq 262143,dl 004347 aa 0 00250 3761 00 anq pr0|168 = 000077777777 004350 aa 6 00102 7561 00 stq pr6|66 STATEMENT 1 ON LINE 290 sl = length (s); 004351 aa 7 00000 2361 20 ldq pr7|0,* 004352 aa 000002 6040 04 tmi 2,ic 004354 004353 aa 777777 3760 07 anq 262143,dl 004354 aa 0 00250 3761 00 anq pr0|168 = 000077777777 004355 aa 6 00100 7561 00 stq pr6|64 sl STATEMENT 1 ON LINE 291 if sl = 0 then return (""); 004356 aa 6 00100 2361 00 ldq pr6|64 sl 004357 aa 000010 6010 04 tnz 8,ic 004367 004360 aa 000000 2360 07 ldq 0,dl 004361 aa 526000 2760 03 orq 175104,du 004362 aa 7 00002 7561 20 stq pr7|2,* 004363 aa 000000 2360 07 ldq 0,dl 004364 aa 000000 7200 07 lxl0 0,dl 004365 aa 001200 3520 04 epp2 640,ic 005565 = 056000000000 004366 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 292 cx = search (s, BAD_CHARS); 004367 aa 6 00032 3715 20 epp5 pr6|26,* 004370 aa 5 00002 3535 20 epp3 pr5|2,* 004371 aa 6 00102 2351 00 lda pr6|66 004372 aa 000 000 164 540 tct (pr,rl) 004373 aa 3 00000 00 0005 desc9a pr3|0,al s 004374 aa 000773 0000 04 arg 507,ic 005365 = 000000000000 004375 aa 6 00056 0001 00 arg pr6|46 004376 aa 6 00056 2361 00 ldq pr6|46 004377 aa 0 00242 3761 00 anq pr0|162 = 000777777777 004400 aa 000002 6070 04 ttf 2,ic 004402 004401 aa 000001 3360 07 lcq 1,dl 004402 aa 000001 0760 07 adq 1,dl 004403 aa 6 00101 7561 00 stq pr6|65 cx STATEMENT 1 ON LINE 293 if cx = 0 then return (s); 004404 aa 000010 6010 04 tnz 8,ic 004414 004405 aa 6 00102 2361 00 ldq pr6|66 004406 aa 526000 2760 03 orq 175104,du 004407 aa 7 00002 7561 20 stq pr7|2,* 004410 aa 6 00102 2361 00 ldq pr6|66 004411 aa 000000 7200 07 lxl0 0,dl 004412 aa 5 00002 3521 20 epp2 pr5|2,* s 004413 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 294 if cx = 1 & sl = 1 then return ("/" || s); 004414 aa 000001 1160 07 cmpq 1,dl 004415 aa 000024 6010 04 tnz 20,ic 004441 004416 aa 6 00100 2361 00 ldq pr6|64 sl 004417 aa 000001 1160 07 cmpq 1,dl 004420 aa 000021 6010 04 tnz 17,ic 004441 004421 aa 000001 2360 07 ldq 1,dl 004422 aa 6 00102 0761 00 adq pr6|66 004423 aa 6 00103 7561 00 stq pr6|67 004424 aa 526000 2760 03 orq 175104,du 004425 aa 7 00002 7561 20 stq pr7|2,* 004426 aa 6 00103 2361 00 ldq pr6|67 004427 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004430 aa 040 100 100 404 mlr (ic),(pr),fill(040) 004431 aa 001136 00 0001 desc9a 606,1 005566 = 057000000000 004432 aa 2 00000 00 0001 desc9a pr2|0,1 004433 aa 6 00102 2351 00 lda pr6|66 004434 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004435 aa 3 00000 00 0005 desc9a pr3|0,al s 004436 aa 2 00000 20 0005 desc9a pr2|0(1),al 004437 aa 000000 7200 07 lxl0 0,dl 004440 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 295 if cx = 1 then return ("/" || substr (s, 1, 1) || hairy_atom (substr (s, 2))); 004441 aa 6 00101 2361 00 ldq pr6|65 cx 004442 aa 000001 1160 07 cmpq 1,dl 004443 aa 000066 6010 04 tnz 54,ic 004531 004444 aa 6 00102 2361 00 ldq pr6|66 004445 aa 000001 1760 07 sbq 1,dl 004446 aa 6 00105 7561 00 stq pr6|69 004447 aa 524000 2760 03 orq 174080,du 004450 aa 6 00104 7561 00 stq pr6|68 004451 aa 6 00105 2361 00 ldq pr6|69 004452 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004453 aa 6 00112 2521 00 spri2 pr6|74 004454 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004455 aa 3 00000 20 0006 desc9a pr3|0(1),ql s 004456 aa 2 00000 00 0006 desc9a pr2|0,ql 004457 aa 6 00124 3521 00 epp2 pr6|84 004460 aa 6 00114 2521 00 spri2 pr6|76 004461 aa 6 00104 3521 00 epp2 pr6|68 004462 aa 6 00120 2521 00 spri2 pr6|80 004463 aa 6 00126 3521 00 epp2 pr6|86 004464 aa 6 00122 2521 00 spri2 pr6|82 004465 aa 000001 7270 07 lxl7 1,dl 004466 aa 6 00110 6211 00 eax1 pr6|72 004467 aa 010000 4310 07 fld 4096,dl 004470 aa 777646 3520 04 epp2 -90,ic 004336 = 000140627000 004471 aa 0 00626 7001 00 tsx0 pr0|406 call_int_other_desc 004472 aa 6 00126 2361 00 ldq pr6|86 004473 aa 000002 6040 04 tmi 2,ic 004475 004474 aa 777777 3760 07 anq 262143,dl 004475 aa 0 00250 3761 00 anq pr0|168 = 000077777777 004476 aa 6 00105 7561 00 stq pr6|69 004477 aa 000002 0760 07 adq 2,dl 004500 aa 6 00042 3735 20 epp7 pr6|34,* 004501 aa 6 00127 7561 00 stq pr6|87 004502 aa 526000 2760 03 orq 175104,du 004503 aa 7 00002 7561 20 stq pr7|2,* 004504 aa 6 00032 3715 20 epp5 pr6|26,* 004505 aa 5 00002 3535 20 epp3 pr5|2,* 004506 aa 000 100 100 500 mlr (pr),(pr),fill(000) 004507 aa 3 00000 00 0001 desc9a pr3|0,1 s 004510 aa 6 00056 00 0004 desc9a pr6|46,4 004511 aa 6 00056 2351 00 lda pr6|46 004512 aa 000011 7710 00 arl 9 004513 aa 057000 2750 03 ora 24064,du 004514 aa 6 00130 7551 00 sta pr6|88 004515 aa 6 00127 2361 00 ldq pr6|87 004516 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004517 aa 040 100 100 500 mlr (pr),(pr),fill(040) 004520 aa 6 00130 00 0002 desc9a pr6|88,2 004521 aa 2 00000 00 0002 desc9a pr2|0,2 004522 aa 6 00124 3515 20 epp1 pr6|84,* 004523 aa 6 00105 2351 00 lda pr6|69 004524 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004525 aa 1 00000 00 0005 desc9a pr1|0,al 004526 aa 2 00000 40 0005 desc9a pr2|0(2),al 004527 aa 000000 7200 07 lxl0 0,dl 004530 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 296 if cx = sl then return (substr (s, 1, cx - 1) || "/" || substr (s, sl, 1)); 004531 aa 6 00100 1161 00 cmpq pr6|64 sl 004532 aa 000034 6010 04 tnz 28,ic 004566 004533 aa 000001 1760 07 sbq 1,dl 004534 aa 6 00104 7561 00 stq pr6|68 004535 aa 000001 0760 07 adq 1,dl 004536 aa 6 00126 7561 00 stq pr6|86 004537 aa 000001 0760 07 adq 1,dl 004540 aa 6 00130 7561 00 stq pr6|88 004541 aa 526000 2760 03 orq 175104,du 004542 aa 7 00002 7561 20 stq pr7|2,* 004543 aa 6 00126 2361 00 ldq pr6|86 004544 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004545 aa 6 00104 2351 00 lda pr6|68 004546 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004547 aa 3 00000 00 0005 desc9a pr3|0,al s 004550 aa 2 00000 00 0005 desc9a pr2|0,al 004551 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 004552 aa 001015 00 0001 desc9a 525,1 005566 = 057000000000 004553 aa 2 00000 00 0001 desc9a pr2|0,1 004554 aa 6 00130 2361 00 ldq pr6|88 004555 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 004556 aa 6 00126 2351 00 lda pr6|86 004557 aa 6 00100 2361 00 ldq pr6|64 sl 004560 aa 040 105 100 506 mlr (pr,ql),(pr,al),fill(040) 004561 aa 3 77777 60 0001 desc9a pr3|-1(3),1 s 004562 aa 2 00000 00 0001 desc9a pr2|0,1 004563 aa 6 00130 2361 00 ldq pr6|88 004564 aa 000000 7200 07 lxl0 0,dl 004565 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 297 else return (substr (s, 1, cx -1) || "/" || substr (s, cx, 1) || hairy_atom (substr (s, cx + 1))); 004566 aa 6 00102 2361 00 ldq pr6|66 004567 aa 6 00101 1761 00 sbq pr6|65 cx 004570 aa 6 00104 7561 00 stq pr6|68 004571 aa 524000 2760 03 orq 174080,du 004572 aa 6 00126 7561 00 stq pr6|86 004573 aa 6 00104 2361 00 ldq pr6|68 004574 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004575 aa 6 00112 2521 00 spri2 pr6|74 004576 aa 6 00101 2351 00 lda pr6|65 cx 004577 aa 040 140 100 545 mlr (pr,rl,al),(pr,rl),fill(040) 004600 aa 3 00000 00 0006 desc9a pr3|0,ql s 004601 aa 2 00000 00 0006 desc9a pr2|0,ql 004602 aa 6 00106 3521 00 epp2 pr6|70 004603 aa 6 00114 2521 00 spri2 pr6|76 004604 aa 6 00126 3521 00 epp2 pr6|86 004605 aa 6 00120 2521 00 spri2 pr6|80 004606 aa 6 00105 3521 00 epp2 pr6|69 004607 aa 6 00122 2521 00 spri2 pr6|82 004610 aa 000001 7270 07 lxl7 1,dl 004611 aa 6 00110 6211 00 eax1 pr6|72 004612 aa 010000 4310 07 fld 4096,dl 004613 aa 777523 3520 04 epp2 -173,ic 004336 = 000140627000 004614 aa 0 00626 7001 00 tsx0 pr0|406 call_int_other_desc 004615 aa 6 00105 2361 00 ldq pr6|69 004616 aa 000002 6040 04 tmi 2,ic 004620 004617 aa 777777 3760 07 anq 262143,dl 004620 aa 0 00250 3761 00 anq pr0|168 = 000077777777 004621 aa 6 00104 7561 00 stq pr6|68 004622 aa 6 00101 2361 00 ldq pr6|65 cx 004623 aa 000001 1760 07 sbq 1,dl 004624 aa 6 00131 7561 00 stq pr6|89 004625 aa 000001 0760 07 adq 1,dl 004626 aa 6 00132 7561 00 stq pr6|90 004627 aa 000001 0760 07 adq 1,dl 004630 aa 6 00133 7561 00 stq pr6|91 004631 aa 6 00104 0761 00 adq pr6|68 004632 aa 6 00042 3735 20 epp7 pr6|34,* 004633 aa 6 00134 7561 00 stq pr6|92 004634 aa 526000 2760 03 orq 175104,du 004635 aa 7 00002 7561 20 stq pr7|2,* 004636 aa 6 00132 2361 00 ldq pr6|90 004637 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 004640 aa 6 00032 3715 20 epp5 pr6|26,* 004641 aa 5 00002 3535 20 epp3 pr5|2,* 004642 aa 6 00131 2351 00 lda pr6|89 004643 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004644 aa 3 00000 00 0005 desc9a pr3|0,al s 004645 aa 2 00000 00 0005 desc9a pr2|0,al 004646 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 004647 aa 000720 00 0001 desc9a 464,1 005566 = 057000000000 004650 aa 2 00000 00 0001 desc9a pr2|0,1 004651 aa 6 00133 2361 00 ldq pr6|91 004652 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 004653 aa 6 00132 2351 00 lda pr6|90 004654 aa 6 00101 2361 00 ldq pr6|65 cx 004655 aa 040 105 100 506 mlr (pr,ql),(pr,al),fill(040) 004656 aa 3 77777 60 0001 desc9a pr3|-1(3),1 s 004657 aa 2 00000 00 0001 desc9a pr2|0,1 004660 aa 6 00134 2361 00 ldq pr6|92 004661 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 004662 aa 6 00133 2351 00 lda pr6|91 004663 aa 6 00106 3515 20 epp1 pr6|70,* 004664 aa 6 00104 2361 00 ldq pr6|68 004665 aa 040 145 100 540 mlr (pr,rl),(pr,rl,al),fill(040) 004666 aa 1 00000 00 0006 desc9a pr1|0,ql 004667 aa 2 00000 00 0006 desc9a pr2|0,ql 004670 aa 6 00134 2361 00 ldq pr6|92 004671 aa 000000 7200 07 lxl0 0,dl 004672 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 298 end; END PROCEDURE hairy_atom BEGIN PROCEDURE bigna_representer ENTRY TO bigna_representer STATEMENT 1 ON LINE 317 bigna_representer: proc () returns (char (*)); 004673 da 000211220000 004674 aa 000240 6270 00 eax7 160 004675 aa 7 00034 3521 20 epp2 pr7|28,* 004676 aa 2 01050 2721 00 tsp2 pr2|552 int_entry_desc 004677 aa 000002000000 004700 aa 000000000000 STATEMENT 1 ON LINE 320 004701 aa 6 00040 3735 20 epp7 pr6|32,* 004702 aa 7 00040 3735 20 epp7 pr7|32,* 004703 aa 7 00142 2351 20 lda pr7|98,* bignum.prec 004704 aa 000022 7350 00 als 18 004705 aa 000066 7330 00 lrs 54 004706 aa 6 00175 7561 00 stq pr6|125 bignum.prec 004707 aa 000001 1760 07 sbq 1,dl 004710 aa 6 00107 7561 00 stq pr6|71 004711 aa 000001 0760 07 adq 1,dl 004712 aa 6 00110 7561 00 stq pr6|72 004713 aa 0 00661 7001 00 tsx0 pr0|433 alloc_auto_adj 004714 aa 6 00112 2521 00 spri2 pr6|74 004715 aa 6 00175 2361 00 ldq pr6|125 bignum.prec 004716 aa 000001 1760 07 sbq 1,dl 004717 aa 6 00114 7561 00 stq pr6|76 004720 aa 000001 0760 07 adq 1,dl 004721 aa 6 00115 7561 00 stq pr6|77 004722 aa 0 00661 7001 00 tsx0 pr0|433 alloc_auto_adj 004723 aa 6 00116 2521 00 spri2 pr6|78 STATEMENT 1 ON LINE 321 004724 aa 6 00175 2361 00 ldq pr6|125 bignum.prec 004725 aa 000014 4020 07 mpy 12,dl 004726 aa 6 00176 7561 00 stq pr6|126 004727 aa 000005 0760 07 adq 5,dl 004730 aa 6 00120 7561 00 stq pr6|80 004731 aa 000003 0760 07 adq 3,dl 004732 aa 000002 7320 00 qrs 2 004733 aa 6 00121 7561 00 stq pr6|81 004734 aa 0 00661 7001 00 tsx0 pr0|433 alloc_auto_adj 004735 aa 6 00122 2521 00 spri2 pr6|82 004736 aa 6 00176 2361 00 ldq pr6|126 004737 aa 000005 0760 07 adq 5,dl 004740 aa 6 00124 7561 00 stq pr6|84 004741 aa 000003 0760 07 adq 3,dl 004742 aa 000002 7320 00 qrs 2 004743 aa 6 00125 7561 00 stq pr6|85 004744 aa 0 00661 7001 00 tsx0 pr0|433 alloc_auto_adj 004745 aa 6 00126 2521 00 spri2 pr6|86 STATEMENT 1 ON LINE 336 004746 aa 773055 2360 04 ldq -2515,ic 000023 = 404100000043 004747 aa 6 00152 7561 00 stq pr6|106 004750 aa 000000 2360 07 ldq 0,dl 004751 aa 6 00153 7561 00 stq pr6|107 004752 aa 6 00107 2361 00 ldq pr6|71 004753 aa 6 00154 7561 00 stq pr6|108 004754 aa 000001 2360 07 ldq 1,dl 004755 aa 6 00155 7561 00 stq pr6|109 STATEMENT 1 ON LINE 341 004756 aa 773045 2360 04 ldq -2523,ic 000023 = 404100000043 004757 aa 6 00156 7561 00 stq pr6|110 004760 aa 000000 2360 07 ldq 0,dl 004761 aa 6 00157 7561 00 stq pr6|111 004762 aa 6 00114 2361 00 ldq pr6|76 004763 aa 6 00160 7561 00 stq pr6|112 004764 aa 000001 2360 07 ldq 1,dl 004765 aa 6 00161 7561 00 stq pr6|113 STATEMENT 1 ON LINE 328 octx = length (octdigs); 004766 aa 6 00120 2361 00 ldq pr6|80 004767 aa 6 00102 7561 00 stq pr6|66 octx STATEMENT 1 ON LINE 329 decx = length (decdigs); 004770 aa 6 00124 2361 00 ldq pr6|84 004771 aa 6 00103 7561 00 stq pr6|67 decx STATEMENT 1 ON LINE 330 do wordx = 1 to bignum.prec; 004772 aa 6 00175 2361 00 ldq pr6|125 bignum.prec 004773 aa 6 00130 7561 00 stq pr6|88 004774 aa 000001 2360 07 ldq 1,dl 004775 aa 6 00106 7561 00 stq pr6|70 wordx 004776 aa 6 00106 2361 00 ldq pr6|70 wordx 004777 aa 6 00130 1161 00 cmpq pr6|88 005000 aa 000020 6054 04 tpnz 16,ic 005020 STATEMENT 1 ON LINE 331 octwds (bignum.prec - wordx), decwds (bignum.prec - wordx) = bignum.words (wordx); 005001 aa 6 00040 3735 20 epp7 pr6|32,* 005002 aa 7 00040 3735 20 epp7 pr7|32,* 005003 aa 7 00142 2361 66 ldq pr7|98,*ql bignum.words 005004 aa 7 00142 2351 20 lda pr7|98,* bignum.prec 005005 aa 000022 7350 00 als 18 005006 aa 6 00175 7561 00 stq pr6|125 005007 aa 000066 7330 00 lrs 54 005010 aa 6 00106 1761 00 sbq pr6|70 wordx 005011 aa 6 00176 7561 00 stq pr6|126 005012 aa 6 00175 2361 00 ldq pr6|125 005013 aa 6 00176 7271 00 lxl7 pr6|126 005014 aa 6 00112 7561 77 stq pr6|74,*7 octwds 005015 aa 6 00116 7561 77 stq pr6|78,*7 decwds STATEMENT 1 ON LINE 332 end; 005016 aa 6 00106 0541 00 aos pr6|70 wordx 005017 aa 777757 7100 04 tra -17,ic 004776 STATEMENT 1 ON LINE 333 decz, octz = "0"b; 005020 aa 6 00105 4501 00 stz pr6|69 decz 005021 aa 6 00104 4501 00 stz pr6|68 octz STATEMENT 1 ON LINE 334 do while (^decz | ^octz); 005022 aa 6 00104 2351 00 lda pr6|68 octz 005023 aa 0 00002 3771 00 anaq pr0|2 = 400000000000 000000000000 005024 aa 0 00002 6751 00 era pr0|2 = 400000000000 005025 aa 6 00176 7551 00 sta pr6|126 005026 aa 000004 6010 04 tnz 4,ic 005032 005027 aa 6 00105 2351 00 lda pr6|69 decz 005030 aa 400000 3150 03 cana 131072,du 005031 aa 000103 6010 04 tnz 67,ic 005134 STATEMENT 1 ON LINE 335 if ^octz then do; 005032 aa 6 00176 2351 00 lda pr6|126 005033 aa 000037 6000 04 tze 31,ic 005072 STATEMENT 1 ON LINE 336 call divider (octz, octwds, octrem, 8); 005034 aa 000010 2360 07 ldq 8,dl 005035 aa 6 00176 7561 00 stq pr6|126 005036 aa 6 00104 3521 00 epp2 pr6|68 octz 005037 aa 6 00202 2521 00 spri2 pr6|130 005040 aa 6 00112 3521 20 epp2 pr6|74,* octwds 005041 aa 6 00204 2521 00 spri2 pr6|132 005042 aa 6 00100 3521 00 epp2 pr6|64 octrem 005043 aa 6 00206 2521 00 spri2 pr6|134 005044 aa 6 00176 3521 00 epp2 pr6|126 005045 aa 6 00210 2521 00 spri2 pr6|136 005046 aa 773003 3520 04 epp2 -2557,ic 000051 = 514000000001 005047 aa 6 00212 2521 00 spri2 pr6|138 005050 aa 6 00152 3521 00 epp2 pr6|106 005051 aa 6 00214 2521 00 spri2 pr6|140 005052 aa 773035 3520 04 epp2 -2531,ic 000107 = 404000000043 005053 aa 6 00216 2521 00 spri2 pr6|142 005054 aa 773001 3520 04 epp2 -2559,ic 000055 = 404000000021 005055 aa 6 00220 2521 00 spri2 pr6|144 005056 aa 6 00200 3521 00 epp2 pr6|128 005057 aa 020000 4310 07 fld 8192,dl 005060 aa 2 00000 7571 00 staq pr2|0 005061 aa 000217 6700 04 tsp4 143,ic 005300 STATEMENT 1 ON LINE 337 substr (octdigs, octx, 1) = substr (DIGITS, octrem + 1, 1); 005062 aa 6 00102 2351 00 lda pr6|66 octx 005063 aa 6 00122 3735 20 epp7 pr6|82,* 005064 aa 6 00100 2361 00 ldq pr6|64 octrem 005065 aa 040 105 100 406 mlr (ql),(pr,al),fill(040) 005066 ta 000000 00 0001 desc9a 0,1 005067 aa 7 77777 60 0001 desc9a pr7|-1(3),1 octdigs STATEMENT 1 ON LINE 338 octx = octx - 1; 005070 aa 000001 3360 07 lcq 1,dl 005071 aa 6 00102 0561 00 asq pr6|66 octx STATEMENT 1 ON LINE 339 end; STATEMENT 1 ON LINE 340 if ^decz then do; 005072 aa 6 00105 2351 00 lda pr6|69 decz 005073 aa 400000 3150 03 cana 131072,du 005074 aa 777726 6010 04 tnz -42,ic 005022 STATEMENT 1 ON LINE 341 call divider (decz, decwds, decrem, 10); 005075 aa 000012 2360 07 ldq 10,dl 005076 aa 6 00176 7561 00 stq pr6|126 005077 aa 6 00105 3521 00 epp2 pr6|69 decz 005100 aa 6 00202 2521 00 spri2 pr6|130 005101 aa 6 00116 3521 20 epp2 pr6|78,* decwds 005102 aa 6 00204 2521 00 spri2 pr6|132 005103 aa 6 00101 3521 00 epp2 pr6|65 decrem 005104 aa 6 00206 2521 00 spri2 pr6|134 005105 aa 6 00176 3521 00 epp2 pr6|126 005106 aa 6 00210 2521 00 spri2 pr6|136 005107 aa 772742 3520 04 epp2 -2590,ic 000051 = 514000000001 005110 aa 6 00212 2521 00 spri2 pr6|138 005111 aa 6 00156 3521 00 epp2 pr6|110 005112 aa 6 00214 2521 00 spri2 pr6|140 005113 aa 772774 3520 04 epp2 -2564,ic 000107 = 404000000043 005114 aa 6 00216 2521 00 spri2 pr6|142 005115 aa 772740 3520 04 epp2 -2592,ic 000055 = 404000000021 005116 aa 6 00220 2521 00 spri2 pr6|144 005117 aa 6 00200 3521 00 epp2 pr6|128 005120 aa 020000 4310 07 fld 8192,dl 005121 aa 2 00000 7571 00 staq pr2|0 005122 aa 000156 6700 04 tsp4 110,ic 005300 STATEMENT 1 ON LINE 342 substr (decdigs, decx, 1) = substr (DIGITS, decrem + 1, 1); 005123 aa 6 00103 2351 00 lda pr6|67 decx 005124 aa 6 00126 3735 20 epp7 pr6|86,* 005125 aa 6 00101 2361 00 ldq pr6|65 decrem 005126 aa 040 105 100 406 mlr (ql),(pr,al),fill(040) 005127 ta 000000 00 0001 desc9a 0,1 005130 aa 7 77777 60 0001 desc9a pr7|-1(3),1 decdigs STATEMENT 1 ON LINE 343 decx = decx - 1; 005131 aa 000001 3360 07 lcq 1,dl 005132 aa 6 00103 0561 00 asq pr6|67 decx STATEMENT 1 ON LINE 344 end; STATEMENT 1 ON LINE 345 end; 005133 aa 777667 7100 04 tra -73,ic 005022 STATEMENT 1 ON LINE 346 if bignum.sign then substr (decdigs, decx, 1), substr (octdigs, octx, 1) = "-"; 005134 aa 6 00040 3735 20 epp7 pr6|32,* 005135 aa 7 00040 3735 20 epp7 pr7|32,* 005136 aa 7 00142 2351 20 lda pr7|98,* bignum.sign 005137 aa 777777 3150 03 cana 262143,du 005140 aa 000014 6000 04 tze 12,ic 005154 005141 aa 6 00103 2361 00 ldq pr6|67 decx 005142 aa 6 00126 3715 20 epp5 pr6|86,* 005143 aa 055 106 100 400 mlr (),(pr,ql),fill(055) 005144 aa 000000 00 0000 desc9a 0,0 005145 aa 5 77777 60 0001 desc9a pr5|-1(3),1 decdigs 005146 aa 6 00102 2351 00 lda pr6|66 octx 005147 aa 6 00122 3535 20 epp3 pr6|82,* 005150 aa 055 105 100 400 mlr (),(pr,al),fill(055) 005151 aa 000000 00 0000 desc9a 0,0 005152 aa 3 77777 60 0001 desc9a pr3|-1(3),1 octdigs 005153 aa 000003 7100 04 tra 3,ic 005156 STATEMENT 1 ON LINE 348 else do; STATEMENT 1 ON LINE 349 decx = decx + 1; 005154 aa 6 00103 0541 00 aos pr6|67 decx STATEMENT 1 ON LINE 350 octx = octx + 1; 005155 aa 6 00102 0541 00 aos pr6|66 octx STATEMENT 1 ON LINE 351 end; STATEMENT 1 ON LINE 353 if index (substr (decdigs, decx), copy ("0", (length (decdigs) - decx)/3)) ^= 0 | index (substr (decdigs, decx), copy ("9", (length (decdigs) - decx)/3)) ^= 0 then return (substr (decdigs, decx) || "."); 005156 aa 6 00103 2361 00 ldq pr6|67 decx 005157 aa 000001 1760 07 sbq 1,dl 005160 aa 6 00176 7561 00 stq pr6|126 005161 aa 6 00124 2361 00 ldq pr6|84 005162 aa 6 00176 1761 00 sbq pr6|126 005163 aa 6 00177 7561 00 stq pr6|127 005164 aa 6 00124 2361 00 ldq pr6|84 005165 aa 6 00103 1761 00 sbq pr6|67 decx 005166 aa 000405 3520 04 epp2 261,ic 005573 = 000000000003 005167 aa 0 01262 7001 00 tsx0 pr0|690 divide_fx1 005170 aa 000000000056 005171 aa 000056 7220 07 lxl2 46,dl 005172 aa 0 01115 7001 00 tsx0 pr0|589 trunc_fx2 005173 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 005174 aa 060 140 100 400 mlr (),(pr,rl),fill(060) 005175 aa 000000 00 0000 desc9a 0,0 005176 aa 2 00000 00 0006 desc9a pr2|0,ql 005177 aa 6 00224 2521 00 spri2 pr6|148 005200 aa 6 00176 7561 00 stq pr6|126 005201 aa 6 00177 2361 00 ldq pr6|127 005202 aa 6 00103 2351 00 lda pr6|67 decx 005203 aa 000003 0750 07 ada 3,dl 005204 aa 6 00126 3715 20 epp5 pr6|86,* 005205 aa 5 77777 3521 00 epp2 pr5|-1 decdigs 005206 aa 2 00000 5005 05 a9bd pr2|0,al 005207 aa 0 01227 7001 00 tsx0 pr0|663 set_chars_eis 005210 aa 6 00176 2361 00 ldq pr6|126 005211 aa 6 00224 3521 20 epp2 pr6|148,* 005212 aa 0 01231 7001 00 tsx0 pr0|665 index_chars_eis 005213 aa 000021 6010 04 tnz 17,ic 005234 005214 aa 6 00176 2361 00 ldq pr6|126 005215 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 005216 aa 071 140 100 400 mlr (),(pr,rl),fill(071) 005217 aa 000000 00 0000 desc9a 0,0 005220 aa 2 00000 00 0006 desc9a pr2|0,ql 005221 aa 6 00226 2521 00 spri2 pr6|150 005222 aa 6 00177 2361 00 ldq pr6|127 005223 aa 6 00103 2351 00 lda pr6|67 decx 005224 aa 000003 0750 07 ada 3,dl 005225 aa 5 77777 3521 00 epp2 pr5|-1 decdigs 005226 aa 2 00000 5005 05 a9bd pr2|0,al 005227 aa 0 01227 7001 00 tsx0 pr0|663 set_chars_eis 005230 aa 6 00176 2361 00 ldq pr6|126 005231 aa 6 00226 3521 20 epp2 pr6|150,* 005232 aa 0 01231 7001 00 tsx0 pr0|665 index_chars_eis 005233 aa 000024 6000 04 tze 20,ic 005257 005234 aa 6 00177 2361 00 ldq pr6|127 005235 aa 000001 0760 07 adq 1,dl 005236 aa 6 00042 3535 20 epp3 pr6|34,* 005237 aa 6 00175 7561 00 stq pr6|125 005240 aa 526000 2760 03 orq 175104,du 005241 aa 3 00000 7561 20 stq pr3|0,* 005242 aa 6 00175 2361 00 ldq pr6|125 005243 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 005244 aa 6 00103 2351 00 lda pr6|67 decx 005245 aa 6 00177 2361 00 ldq pr6|127 005246 aa 040 140 100 545 mlr (pr,rl,al),(pr,rl),fill(040) 005247 aa 5 77777 60 0006 desc9a pr5|-1(3),ql decdigs 005250 aa 2 00000 00 0006 desc9a pr2|0,ql 005251 aa 040 106 100 404 mlr (ic),(pr,ql),fill(040) 005252 aa 000314 00 0001 desc9a 204,1 005565 = 056000000000 005253 aa 2 00000 00 0001 desc9a pr2|0,1 005254 aa 6 00175 2361 00 ldq pr6|125 005255 aa 000000 7200 07 lxl0 0,dl 005256 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 358 else return (substr (octdigs, octx)); 005257 aa 6 00102 2361 00 ldq pr6|66 octx 005260 aa 000001 1760 07 sbq 1,dl 005261 aa 6 00177 7561 00 stq pr6|127 005262 aa 6 00120 2361 00 ldq pr6|80 005263 aa 6 00177 1761 00 sbq pr6|127 005264 aa 6 00042 3535 20 epp3 pr6|34,* 005265 aa 6 00177 7561 00 stq pr6|127 005266 aa 526000 2760 03 orq 175104,du 005267 aa 3 00000 7561 20 stq pr3|0,* 005270 aa 6 00177 2361 00 ldq pr6|127 005271 aa 000000 7200 07 lxl0 0,dl 005272 aa 6 00102 2351 00 lda pr6|66 octx 005273 aa 000003 0750 07 ada 3,dl 005274 aa 6 00122 3515 20 epp1 pr6|82,* 005275 aa 1 77777 3521 00 epp2 pr1|-1 octdigs 005276 aa 2 00000 5005 05 a9bd pr2|0,al 005277 aa 0 01235 7101 00 tra pr0|669 return_chars_eis STATEMENT 1 ON LINE 380 end bigna_representer; BEGIN PROCEDURE divider ENTRY TO divider STATEMENT 1 ON LINE 360 divider: proc (done, words, rem, base); 005300 aa 6 00162 6501 00 spri4 pr6|114 005301 aa 6 00164 2521 00 spri2 pr6|116 005302 aa 2 00002 3521 01 epp2 pr2|2,au 005303 aa 6 00166 2521 00 spri2 pr6|118 STATEMENT 1 ON LINE 370 saw_nzq = "0"b; 005304 aa 6 00173 4501 00 stz pr6|123 saw_nzq STATEMENT 1 ON LINE 371 rem = 0; 005305 aa 6 00164 3735 20 epp7 pr6|116,* 005306 aa 7 00006 4501 20 stz pr7|6,* rem STATEMENT 1 ON LINE 372 do x = 0 to hbound (words, 1); 005307 aa 2 00002 3715 20 epp5 pr2|2,* 005310 aa 5 00002 2361 00 ldq pr5|2 005311 aa 6 00174 7561 00 stq pr6|124 005312 aa 6 00172 4501 00 stz pr6|122 x 005313 aa 000000 0110 03 nop 0,du 005314 aa 6 00172 2361 00 ldq pr6|122 x 005315 aa 6 00174 1161 00 cmpq pr6|124 005316 aa 000041 6054 04 tpnz 33,ic 005357 STATEMENT 1 ON LINE 373 buf = fixed (bit (rem, 35) || bit (words (x), 35), 70); 005317 aa 6 00164 3735 20 epp7 pr6|116,* 005320 aa 7 00006 2351 20 lda pr7|6,* rem 005321 aa 000002 6050 04 tpl 2,ic 005323 005322 aa 000000 5310 00 neg 0 005323 aa 000001 7350 00 als 1 005324 aa 6 00230 7551 00 sta pr6|152 005325 aa 6 00166 3715 20 epp5 pr6|118,* 005326 aa 5 00002 3535 20 epp3 pr5|2,* 005327 aa 3 00003 4021 00 mpy pr3|3 005330 aa 7 00004 2351 66 lda pr7|4,*ql words 005331 aa 000002 6050 04 tpl 2,ic 005333 005332 aa 000000 5310 00 neg 0 005333 aa 000001 7350 00 als 1 005334 aa 000000 6270 06 eax7 0,ql 005335 aa 0 00110 3771 00 anaq pr0|72 = 777777777777 000000000000 005336 aa 000043 7730 00 lrl 35 005337 aa 6 00230 2751 00 ora pr6|152 005340 aa 000002 7730 00 lrl 2 005341 aa 6 00170 7571 00 staq pr6|120 buf STATEMENT 1 ON LINE 374 words (x) = divide (buf, base, 71, 0); 005342 aa 7 00010 3521 20 epp2 pr7|8,* base 005343 aa 0 01264 7001 00 tsx0 pr0|692 divide_fx3 005344 aa 000000000000 005345 aa 7 00004 7561 77 stq pr7|4,*7 words STATEMENT 1 ON LINE 375 rem = mod (buf, base); 005346 aa 6 00170 2371 00 ldaq pr6|120 buf 005347 aa 0 00706 7001 00 tsx0 pr0|454 mdfx3 005350 aa 7 00006 7561 20 stq pr7|6,* rem STATEMENT 1 ON LINE 376 if words (x) ^= 0 then saw_nzq = "1"b; 005351 aa 7 00004 2361 77 ldq pr7|4,*7 words 005352 aa 000003 6000 04 tze 3,ic 005355 005353 aa 400000 2350 03 lda 131072,du 005354 aa 6 00173 7551 00 sta pr6|123 saw_nzq STATEMENT 1 ON LINE 377 end; 005355 aa 6 00172 0541 00 aos pr6|122 x 005356 aa 777736 7100 04 tra -34,ic 005314 STATEMENT 1 ON LINE 378 if ^saw_nzq then done = "1"b; 005357 aa 6 00173 2351 00 lda pr6|123 saw_nzq 005360 aa 000004 6010 04 tnz 4,ic 005364 005361 aa 400000 2350 03 lda 131072,du 005362 aa 6 00164 3735 20 epp7 pr6|116,* 005363 aa 7 00002 7551 20 sta pr7|2,* done STATEMENT 1 ON LINE 379 end divider; 005364 aa 6 00162 6101 00 rtcd pr6|114 END PROCEDURE divider END PROCEDURE bigna_representer END PROCEDURE get_prinrep END PROCEDURE dlos ----------------------------------------------------------- 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