COMPILATION LISTING OF SEGMENT list_heap_variables Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/20/86 1200.8 mst Thu Options: optimize list 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1986 * 4* * * 5* *********************************************************** */ 6 7 8 /****^ HISTORY COMMENTS: 9* 1) change(86-06-24,DGHowe), approve(86-06-24,MCR7426), audit(86-11-12,Zwick), 10* install(86-11-20,MR12.0-1222): 11* implemented list_heap_variables. 12* END HISTORY COMMENTS */ 13 14 /* format: style3,^indnoniterdo */ 15 16 /* list heap variables ... this routine lists the heap variables at 17* the specified level or at the current level. 18**/ 19 20 list_heap_variables: 21 lhv: 22 proc; 23 24 /* automatic */ 25 26 dcl arg_ptr pointer automatic; /* ptr to the current arg */ 27 dcl arg_list_ptr pointer automatic; /* ptr to our arg list */ 28 dcl arg_length fixed bin automatic; /* length of current arg */ 29 dcl code fixed bin (35) automatic; /* an error code */ 30 dcl exe_level fixed bin (17) automatic; /* the current execution level */ 31 dcl finish fixed bin (17) automatic; /* the last exe level to be printed */ 32 dcl heap_header_ptr pointer automatic; /* ptr to the current heap header */ 33 dcl hdrsw bit (1) aligned automatic; /* -he or -nhe specified */ 34 dcl i fixed bin automatic; /* an indexing var */ 35 dcl lgsw bit (1) aligned automatic; /* -lg specified */ 36 dcl num_of_args fixed bin automatic; /* total args on command line */ 37 dcl nnames fixed bin automatic; /* number of ext vars to be printed */ 38 dcl nprinted fixed bin automatic; /* number of names printed */ 39 dcl node_ptr pointer automatic; /* ptr to variable_node ptr */ 40 dcl start fixed bin (17) automatic; /* the exe level to start at */ 41 42 /* constants */ 43 44 dcl ME char (19) aligned init ("list_heap_variables") static options (constant); 45 dcl LONG_HEADER char (69) static options (constant) 46 init ("^/NAME^-^- SEGMENT OFFSET SIZE ALLOCATED INIT_PTR^/"); 47 dcl SHORT_HEADER char (42) static options (constant) init ("^/NAME^-^- SEGMENT OFFSET SIZE^/"); 48 49 dcl IOA_CONTROL (0:3) char (30) var static options (constant) init ("^30a ^3o ^6o ^8d ^16a ^p", 50 /* SHORT NAME -lg */ 51 "^a^/^31x^3o ^6o ^8d ^16a ^p",/* LONG NAME -lg */ 52 "^30a ^3o ^6o ^8d", /* SHORT NAME -bf */ 53 "^a^/^31x^3o ^6o ^8d"); /* LONG NAME -bf */ 54 55 /* builtins */ 56 57 dcl (addr, baseno, bin, convert, fixed, hbound, lbound, null, rel, stackbaseptr, substr, verify) 58 builtin; 59 60 /* external entries */ 61 62 dcl (com_err_, ioa_) entry options (variable); 63 dcl cu_$arg_count entry () returns (fixed bin); 64 dcl cu_$arg_ptr_rel entry (fixed bin, ptr, fixed bin, fixed bin (35), ptr); 65 dcl cu_$arg_list_ptr entry () returns (ptr); 66 dcl date_time_ entry (fixed bin (71), char (*)); 67 dcl hcs_$fs_get_path_name 68 entry (ptr, char (*), fixed, char (*), fixed (35)); 69 dcl heap_manager_$get_heap_header 70 entry (pointer, fixed bin (17), pointer, fixed bin (35)); 71 dcl heap_manager_$get_heap_level 72 entry (pointer) returns (fixed bin (17)); 73 74 75 /* external variables */ 76 77 dcl error_table_$badopt ext fixed bin (35); 78 79 /* based */ 80 81 dcl arg char (arg_length) based (arg_ptr); 82 83 /* structs */ 84 85 dcl 1 list aligned based, 86 2 array dim (0:num_of_args), 87 3 name char (256), 88 3 nsize fixed bin (17) aligned, 89 3 flags, 90 4 found bit (1) unal, 91 4 pad bit (35) unal; 92 93 /* */ 94 95 /* find out if there are any external variables */ 96 97 hdrsw = "1"b; 98 lgsw = "0"b; 99 start, finish = -1; 100 nnames = 0; 101 nprinted = 0; 102 sb = stackbaseptr (); 103 104 arg_list_ptr = cu_$arg_list_ptr (); 105 num_of_args = cu_$arg_count (); 106 107 begin; 108 109 dcl 1 name_list like list automatic; 110 111 112 call process_args (addr (name_list)); 113 if start = -1 114 then do; 115 call com_err_ (0, ME, "There are no heaps allocated."); 116 goto EXIT; 117 end; 118 119 do exe_level = start to finish; 120 call heap_manager_$get_heap_header (sb, exe_level, heap_header_ptr, code); 121 if code ^= 0 122 then do; 123 call com_err_ (0, ME, "The heap does not exist at level ^d.", exe_level); 124 goto NEXT_LEVEL; 125 end; 126 127 128 call print_each_level (heap_header_ptr, exe_level, addr (name_list)); 129 130 if nnames > 0 then do; 131 if nprinted < nnames then do; 132 call ioa_ ("^/The following variables were not found:"); 133 do i = 1 to nnames; 134 if ^name_list.array (i).flags.found then 135 call ioa_ ("^a", 136 substr (name_list.array (i).name, 137 1, name_list.array (i).nsize)); 138 end; 139 end; 140 nprinted = 0; 141 142 /* reset the found switches */ 143 144 do i = 1 to nnames; 145 name_list.array (i).flags.found = "0"b; 146 end; 147 end; 148 149 NEXT_LEVEL: 150 end; 151 152 153 end; 154 155 156 EXIT: 157 return; 158 159 /* */ 160 /* Internal entry points */ 161 162 /* print each level 163* goes through a passed heap level and prints out information concerning 164* the heap variables at that level 165**/ 166 167 print_each_level: 168 proc (heap_header_ptr, exe_level, name_list_ptr); 169 170 171 dcl heap_header_ptr pointer parameter; 172 dcl exe_level fixed bin parameter; 173 dcl name_list_ptr pointer parameter; 174 175 dcl entryname char (32) automatic; 176 dcl code fixed bin (35) automatic; 177 dcl table_ptr pointer automatic; 178 dcl i fixed bin automatic; 179 180 181 182 /* get the heap area name and print out some info about the heap */ 183 184 entryname = "???"; 185 call hcs_$fs_get_path_name (heap_header_ptr -> heap_header.area_ptr, "", (0), entryname, code); 186 if code ^= 0 187 then do; 188 call com_err_ (code, ME, 189 "Cannot get name of heap area segment ^p at level ^d.", 190 heap_header_ptr, exe_level); 191 return; 192 end; 193 194 call ioa_ ("^/^/Heap level ^d, allocation area at ^p ^/ (^a in process directory).", 195 heap_header_ptr -> heap_header.execution_level, heap_header_ptr -> heap_header.area_ptr, entryname); 196 197 198 199 /* check and see if there any variables at this level */ 200 201 table_ptr = heap_header_ptr -> heap_header.heap_name_list_ptr; 202 if table_ptr = null 203 then do; 204 no_variables: 205 call ioa_ ("There are no heap variables at level ^d.", exe_level); 206 return; 207 end; 208 209 210 if (table_ptr -> variable_table_header.cur_num_of_variables < 1) 211 then goto no_variables; 212 213 214 /* print out a header if required */ 215 216 if hdrsw 217 then do; 218 if lgsw 219 then call ioa_ (LONG_HEADER); 220 221 else call ioa_ (SHORT_HEADER); 222 end; 223 224 225 226 /* loop through system name list, printing info for desired variables */ 227 228 229 do i = lbound (table_ptr -> variable_table_header.hash_table, 1) 230 to hbound (table_ptr -> variable_table_header.hash_table, 1); 231 232 do node_ptr = table_ptr -> variable_table_header.hash_table (i) 233 repeat node_ptr -> variable_node.forward_thread while (node_ptr ^= null); 234 235 if nnames = 0 236 then call print_it (node_ptr); 237 238 else if name_on_list (node_ptr, name_list_ptr) 239 then do; 240 call print_it (node_ptr); 241 nprinted = nprinted + 1; 242 if nprinted = nnames 243 then return; 244 end; 245 end; 246 end; 247 248 249 end print_each_level; 250 251 /* */ 252 253 /* name_on_list 254* checks and sees if the passed variable is on the name list specified 255* on the command line 256**/ 257 258 name_on_list: 259 proc (node_ptr, name_list_ptr) returns (bit (1)); 260 261 dcl node_ptr pointer parameter; 262 dcl name_list_ptr pointer parameter; 263 264 dcl j fixed bin automatic; 265 dcl 1 name_list like list aligned based (name_list_ptr); 266 267 268 do j = 1 to nnames; 269 if ^name_list.array (j).flags.found 270 then do; 271 if name_list.array (j).name = node_ptr -> variable_node.name 272 then do; 273 name_list.array (j).flags.found = "1"b; 274 return ("1"b); 275 end; 276 end; 277 end; 278 279 return ("0"b); 280 281 end name_on_list; 282 283 284 /* */ 285 /* print_it: prints out information concerning an individual heap 286* variable. 287**/ 288 print_it: 289 proc (node_ptr); 290 291 dcl node_ptr pointer parameter; 292 293 dcl date char (24) automatic; 294 dcl init_ptr pointer automatic; 295 dcl variable_ptr pointer automatic; 296 297 298 variable_ptr = node_ptr -> variable_node.vbl_ptr; 299 if lgsw 300 then do; 301 call date_time_ (node_ptr -> variable_node.time_allocated, date); 302 init_ptr = node_ptr -> variable_node.init_ptr; 303 304 call ioa_ (IOA_CONTROL (bin ((node_ptr -> variable_node.name_size > 31), 1)), 305 node_ptr -> variable_node.name, fixed (baseno (variable_ptr), 15), bin (rel (variable_ptr), 18), 306 node_ptr -> variable_node.vbl_size, substr (date, 1, 16), init_ptr); 307 end; 308 309 else call ioa_ (IOA_CONTROL (bin ((node_ptr -> variable_node.name_size > 31), 1) + 2), 310 node_ptr -> variable_node.name, fixed (baseno (variable_ptr), 15), bin (rel (variable_ptr), 18), 311 node_ptr -> variable_node.vbl_size); 312 return; 313 314 end print_it; 315 316 /* */ 317 /* process_args: goes through the command arguements and sets up a 318* name list of variables to be found 319**/ 320 321 process_args: 322 procedure (name_list_ptr); 323 324 dcl name_list_ptr pointer parameter; 325 326 dcl i fixed bin automatic; 327 328 dcl 1 name_list like list aligned based (name_list_ptr); 329 330 if num_of_args > 0 331 then do i = 1 to num_of_args; 332 call cu_$arg_ptr_rel (i, arg_ptr, arg_length, code, arg_list_ptr); 333 if code ^= 0 334 then do; 335 call com_err_ (code, ME, arg); 336 goto EXIT; 337 end; 338 339 else if index (arg, "-") = 1 340 then do; 341 342 if (arg = "-long") | (arg = "-lg") 343 then lgsw = "1"b; 344 345 else if (arg = "-brief") | (arg = "-bf") 346 then lgsw = "0"b; 347 348 else if (arg = "-all") | (arg = "-a") 349 then do; 350 start = 0; 351 finish = heap_manager_$get_heap_level (sb); 352 end; 353 354 else if (arg = "-no_header") | (arg = "-nhe") 355 then hdrsw = "0"b; 356 357 else if (arg = "-header") | (arg = "-he") 358 then hdrsw = "1"b; 359 360 else if arg = "-to" 361 then do; 362 i = i + 1; 363 call cu_$arg_ptr_rel (i, arg_ptr, arg_length, code, arg_list_ptr); 364 if (verify (arg, "0123456789") ^= 0) | (code ^= 0) 365 then do; 366 call com_err_ (0, ME, "Numeric operand of -to is missing."); 367 goto EXIT; 368 end; 369 finish = convert (finish, arg); 370 end; 371 372 else if (arg = "-from") | (arg = "-fm") 373 then do; 374 i = i + 1; 375 call cu_$arg_ptr_rel (i, arg_ptr, arg_length, code, arg_list_ptr); 376 if (verify (arg, "0123456789") ^= 0) | (code ^= 0) 377 then do; 378 call com_err_ (0, ME, "Numeric argument of -from is missing."); 379 goto EXIT; 380 end; 381 start = convert (start, arg); 382 end; 383 384 else do; 385 call com_err_ (error_table_$badopt, ME, arg); 386 goto EXIT; 387 end; 388 end; 389 390 else do; 391 nnames = nnames + 1; 392 name_list.array (nnames).name = arg; 393 name_list.array (nnames).nsize = arg_length; 394 name_list.array (nnames).flags.found = "0"b; 395 end; 396 end; 397 398 399 /* set start and finish to defalut values of current level if not 400* specified 401**/ 402 403 if start = -1 404 then do; 405 if finish = -1 406 then start = heap_manager_$get_heap_level (sb); 407 else start = 0; 408 end; 409 if finish = -1 410 then finish = heap_manager_$get_heap_level (sb); 411 412 end process_args; 413 414 /* Include Files */ 415 1 1 /* BEGIN INCLUDE FILE ... system_link_names.incl.pl1 */ 1 2 1 3 1 4 /****^ HISTORY COMMENTS: 1 5* 1) change(86-06-24,DGHowe), approve(86-06-24,MCR7396), audit(86-11-12,Zwick), 1 6* install(86-11-20,MR12.0-1222): 1 7* added the declaration of the heap_header. 1 8* 2) change(86-10-20,DGHowe), approve(86-10-20,MCR7420), audit(86-11-12,Zwick), 1 9* install(86-11-20,MR12.0-1222): 1 10* add the seg ptr to the variable node structure. 1 11* END HISTORY COMMENTS */ 1 12 1 13 1 14 /* created by M. Weaver 7/28/76 */ 1 15 /* Modified: 82-11-19 by T. Oke to add LIST_TEMPLATE_INIT. */ 1 16 /* Modified 02/11/83 by M. Weaver to add have_vla_variables flag */ 1 17 1 18 1 19 dcl 1 variable_table_header aligned based, /* header for name table */ 1 20 2 hash_table (0:63) ptr unaligned, /* hash table for variable nodes */ 1 21 2 total_search_time fixed bin (71), /* total time to search for variables */ 1 22 2 total_allocation_time fixed bin (71), /* total time spent allocating and initializing nodes and variables */ 1 23 2 number_of_searches fixed bin, /* number of times names were looked up */ 1 24 2 number_of_variables fixed bin (35), /* number of variables allocated by the linker, incl deletions */ 1 25 2 flags unaligned, 1 26 3 have_vla_variables bit (1) unaligned, /* on if some variables are > sys_info$max_seg_size */ 1 27 3 pad bit (11) unaligned, 1 28 2 cur_num_of_variables fixed bin (24) unal, /* current number of variables allocated */ 1 29 2 number_of_steps fixed bin, /* total number of nodes looked at */ 1 30 2 total_allocated_size fixed bin (35); /* current amount of storage in user area */ 1 31 1 32 1 33 dcl 1 variable_node aligned based, /* individual variable information */ 1 34 2 forward_thread ptr unaligned, /* thread to next node off same hash bucket */ 1 35 2 vbl_size fixed bin (24) unsigned unaligned, /* length in words of variable */ 1 36 2 init_type fixed bin (11) unaligned, /* 0=not init; 3=init template; 4=area 5=list_template*/ 1 37 2 time_allocated fixed bin (71), /* time when variable was allocated */ 1 38 2 vbl_ptr ptr, /* pointer to variable's storage */ 1 39 2 init_ptr ptr, /* pointer to original init info in object seg */ 1 40 2 name_size fixed bin(21) aligned, /* length of name in characters */ 1 41 2 name char (nchars refer (variable_node.name_size)), /* name of variable */ 1 42 2 seg_ptr pointer; 1 43 1 44 /* variable_node.seg_ptr 1 45* Is a pointer to the segment containing the initialization information 1 46* for this variable. It is used as a segment base pointer for external 1 47* pointer initialization via list_init_. 1 48* 1 49* The init_ptr can not be used as a reference to the defining segment 1 50* due to the possibility of set_fortran_common being used to initialize 1 51* the external variables. sfc will generate an initialization information 1 52* structure if multiple intialization sizes are found in the specified 1 53* segments. sfc stores the address of this structure in the init_ptr field. 1 54* This is one reason why sfc does not perform external pointer 1 55* initialization. 1 56* 1 57* The seg_ptr is set to point at the segment used to define the 1 58* initialization information. term_ sets this field to null on termination 1 59* due to the possiblity of executing a different segment which defines 1 60* initialization information. In this way the seg_ptr field will either 1 61* be valid or null. 1 62**/ 1 63 1 64 dcl 1 heap_header based, 1 65 2 version char(8), /* specifies the verison of the header */ 1 66 2 heap_name_list_ptr pointer, /* points to the variable_table_header for this heap */ 1 67 2 previous_heap_ptr pointer, /* points to the previous heap or is null */ 1 68 2 area_ptr pointer, /* points to the heap area */ 1 69 2 execution_level fixed bin (17); /* specifies the execution level this header deals with */ 1 70 1 71 dcl heap_header_version_1 char(8) static options (constant) 1 72 init ("Heap_v01"); 1 73 1 74 1 75 /* END INCLUDE FILE ... system_link_names.incl.pl1 */ 416 417 418 2 1 /* BEGIN INCLUDE FILE ... stack_header.incl.pl1 .. 3/72 Bill Silver */ 2 2 /* modified 7/76 by M. Weaver for *system links and more system use of areas */ 2 3 /* modified 3/77 by M. Weaver to add rnt_ptr */ 2 4 /* Modified April 1983 by C. Hornig for tasking */ 2 5 2 6 /****^ HISTORY COMMENTS: 2 7* 1) change(86-06-24,DGHowe), approve(86-06-24,MCR7396), 2 8* audit(86-08-05,Schroth), install(86-11-03,MR12.0-1206): 2 9* added the heap_header_ptr definition. 2 10* 2) change(86-08-12,Kissel), approve(86-08-12,MCR7473), 2 11* audit(86-10-10,Fawcett), install(86-11-03,MR12.0-1206): 2 12* Modified to support control point management. These changes were actually 2 13* made in February 1985 by G. Palter. 2 14* 3) change(86-10-22,Fawcett), approve(86-10-22,MCR7473), 2 15* audit(86-10-22,Farley), install(86-11-03,MR12.0-1206): 2 16* Remove the old_lot pointer and replace it with cpm_data_ptr. Use the 18 2 17* bit pad after cur_lot_size for the cpm_enabled. This was done to save some 2 18* space int the stack header and change the cpd_ptr unal to cpm_data_ptr 2 19* (ITS pair). 2 20* END HISTORY COMMENTS */ 2 21 2 22 /* format: style2 */ 2 23 2 24 dcl sb ptr; /* the main pointer to the stack header */ 2 25 2 26 dcl 1 stack_header based (sb) aligned, 2 27 2 pad1 (4) fixed bin, /* (0) also used as arg list by outward_call_handler */ 2 28 2 cpm_data_ptr ptr, /* (4) pointer to control point which owns this stack */ 2 29 2 combined_stat_ptr ptr, /* (6) pointer to area containing separate static */ 2 30 2 clr_ptr ptr, /* (8) pointer to area containing linkage sections */ 2 31 2 max_lot_size fixed bin (17) unal, /* (10) DU number of words allowed in lot */ 2 32 2 main_proc_invoked fixed bin (11) unal, /* (10) DL nonzero if main procedure invoked in run unit */ 2 33 2 have_static_vlas bit (1) unal, /* (10) DL "1"b if (very) large arrays are being used in static */ 2 34 2 pad4 bit (2) unal, 2 35 2 run_unit_depth fixed bin (2) unal, /* (10) DL number of active run units stacked */ 2 36 2 cur_lot_size fixed bin (17) unal, /* (11) DU number of words (entries) in lot */ 2 37 2 cpm_enabled bit (18) unal, /* (11) DL non-zero if control point management is enabled */ 2 38 2 system_free_ptr ptr, /* (12) pointer to system storage area */ 2 39 2 user_free_ptr ptr, /* (14) pointer to user storage area */ 2 40 2 null_ptr ptr, /* (16) */ 2 41 2 stack_begin_ptr ptr, /* (18) pointer to first stack frame on the stack */ 2 42 2 stack_end_ptr ptr, /* (20) pointer to next useable stack frame */ 2 43 2 lot_ptr ptr, /* (22) pointer to the lot for the current ring */ 2 44 2 signal_ptr ptr, /* (24) pointer to signal procedure for current ring */ 2 45 2 bar_mode_sp ptr, /* (26) value of sp before entering bar mode */ 2 46 2 pl1_operators_ptr ptr, /* (28) pointer to pl1_operators_$operator_table */ 2 47 2 call_op_ptr ptr, /* (30) pointer to standard call operator */ 2 48 2 push_op_ptr ptr, /* (32) pointer to standard push operator */ 2 49 2 return_op_ptr ptr, /* (34) pointer to standard return operator */ 2 50 2 return_no_pop_op_ptr 2 51 ptr, /* (36) pointer to standard return / no pop operator */ 2 52 2 entry_op_ptr ptr, /* (38) pointer to standard entry operator */ 2 53 2 trans_op_tv_ptr ptr, /* (40) pointer to translator operator ptrs */ 2 54 2 isot_ptr ptr, /* (42) pointer to ISOT */ 2 55 2 sct_ptr ptr, /* (44) pointer to System Condition Table */ 2 56 2 unwinder_ptr ptr, /* (46) pointer to unwinder for current ring */ 2 57 2 sys_link_info_ptr ptr, /* (48) pointer to *system link name table */ 2 58 2 rnt_ptr ptr, /* (50) pointer to Reference Name Table */ 2 59 2 ect_ptr ptr, /* (52) pointer to event channel table */ 2 60 2 assign_linkage_ptr ptr, /* (54) pointer to storage for (obsolete) hcs_$assign_linkage */ 2 61 2 heap_header_ptr ptr, /* (56) pointer to the heap header for this ring */ 2 62 2 trace, 2 63 3 frames, 2 64 4 count fixed bin, /* (58) number of trace frames */ 2 65 4 top_ptr ptr unal, /* (59) pointer to last trace frame */ 2 66 3 in_trace bit (36) aligned, /* (60) trace antirecursion flag */ 2 67 2 pad2 bit (36), /* (61) */ 2 68 2 pad5 pointer; /* (62) pointer to future stuff */ 2 69 2 70 /* The following offset refers to a table within the pl1 operator table. */ 2 71 2 72 dcl tv_offset fixed bin init (361) internal static; 2 73 /* (551) octal */ 2 74 2 75 2 76 /* The following constants are offsets within this transfer vector table. */ 2 77 2 78 dcl ( 2 79 call_offset fixed bin init (271), 2 80 push_offset fixed bin init (272), 2 81 return_offset fixed bin init (273), 2 82 return_no_pop_offset fixed bin init (274), 2 83 entry_offset fixed bin init (275) 2 84 ) internal static; 2 85 2 86 2 87 2 88 2 89 2 90 /* The following declaration is an overlay of the whole stack header. Procedures which 2 91* move the whole stack header should use this overlay. 2 92**/ 2 93 2 94 dcl stack_header_overlay (size (stack_header)) fixed bin based (sb); 2 95 2 96 2 97 2 98 /* END INCLUDE FILE ... stack_header.incl.pl1 */ 419 420 421 422 end list_heap_variables; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/20/86 1145.6 list_heap_variables.pl1 >special_ldd>install>MR12.0-1222>list_heap_variables.pl1 416 1 11/20/86 1035.4 system_link_names.incl.pl1 >special_ldd>install>MR12.0-1222>system_link_names.incl.pl1 419 2 11/07/86 1550.3 stack_header.incl.pl1 >ldd>include>stack_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. IOA_CONTROL 000000 constant varying char(30) initial array dcl 49 set ref 304* 309* LONG_HEADER 000057 constant char(69) initial unaligned dcl 45 set ref 218* ME 000101 constant char(19) initial dcl 44 set ref 115* 123* 188* 335* 366* 378* 385* SHORT_HEADER 000044 constant char(42) initial unaligned dcl 47 set ref 221* addr builtin function dcl 57 ref 112 112 128 128 area_ptr 6 based pointer level 2 dcl 1-64 set ref 185* 194* arg based char unaligned dcl 81 set ref 335* 339 342 342 345 345 348 348 354 354 357 357 360 364 369 372 372 376 381 385* 392 arg_length 000104 automatic fixed bin(17,0) dcl 28 set ref 332* 335 335 339 342 342 345 345 348 348 354 354 357 357 360 363* 364 369 372 372 375* 376 381 385 385 392 393 arg_list_ptr 000102 automatic pointer dcl 27 set ref 104* 332* 363* 375* arg_ptr 000100 automatic pointer dcl 26 set ref 332* 335 339 342 342 345 345 348 348 354 354 357 357 360 363* 364 369 372 372 375* 376 381 385 392 array based structure array level 2 in structure "name_list" dcl 265 in procedure "name_on_list" array based structure array level 2 in structure "name_list" dcl 328 in procedure "process_args" array 000100 automatic structure array level 2 in structure "name_list" unaligned dcl 109 in begin block on line 107 baseno builtin function dcl 57 ref 304 304 309 309 bin builtin function dcl 57 ref 304 304 304 309 309 309 code 000124 automatic fixed bin(35,0) dcl 176 in procedure "print_each_level" set ref 185* 186 188* code 000105 automatic fixed bin(35,0) dcl 29 in procedure "lhv" set ref 120* 121 332* 333 335* 363* 364 375* 376 com_err_ 000010 constant entry external dcl 62 ref 115 123 188 335 366 378 385 convert builtin function dcl 57 ref 369 381 cu_$arg_count 000014 constant entry external dcl 63 ref 105 cu_$arg_list_ptr 000020 constant entry external dcl 65 ref 104 cu_$arg_ptr_rel 000016 constant entry external dcl 64 ref 332 363 375 cur_num_of_variables 106(12) based fixed bin(24,0) level 2 packed unaligned dcl 1-19 ref 210 date 000150 automatic char(24) unaligned dcl 293 set ref 301* 304 304 date_time_ 000022 constant entry external dcl 66 ref 301 entryname 000114 automatic char(32) unaligned dcl 175 set ref 184* 185* 194* error_table_$badopt 000032 external static fixed bin(35,0) dcl 77 set ref 385* exe_level 000106 automatic fixed bin(17,0) dcl 30 in procedure "lhv" set ref 119* 120* 123* 128* exe_level parameter fixed bin(17,0) dcl 172 in procedure "print_each_level" set ref 167 188* 204* execution_level 10 based fixed bin(17,0) level 2 dcl 1-64 set ref 194* finish 000107 automatic fixed bin(17,0) dcl 31 set ref 99* 119 351* 369* 369 405 409 409* fixed builtin function dcl 57 ref 304 304 309 309 flags 101 based structure array level 3 in structure "name_list" dcl 328 in procedure "process_args" flags 101 based structure array level 3 in structure "name_list" dcl 265 in procedure "name_on_list" flags 101 000100 automatic structure array level 3 in structure "name_list" packed unaligned dcl 109 in begin block on line 107 forward_thread based pointer level 2 packed unaligned dcl 1-33 ref 245 found 101 based bit(1) array level 4 in structure "name_list" packed unaligned dcl 265 in procedure "name_on_list" set ref 269 273* found 101 based bit(1) array level 4 in structure "name_list" packed unaligned dcl 328 in procedure "process_args" set ref 394* found 101 000100 automatic bit(1) array level 4 in structure "name_list" packed unaligned dcl 109 in begin block on line 107 set ref 134 145* hash_table based pointer array level 2 packed unaligned dcl 1-19 ref 229 229 232 hbound builtin function dcl 57 ref 229 hcs_$fs_get_path_name 000024 constant entry external dcl 67 ref 185 hdrsw 000112 automatic bit(1) dcl 33 set ref 97* 216 354* 357* heap_header based structure level 1 unaligned dcl 1-64 heap_header_ptr parameter pointer dcl 171 in procedure "print_each_level" set ref 167 185 188* 194 194 201 heap_header_ptr 000110 automatic pointer dcl 32 in procedure "lhv" set ref 120* 128* heap_manager_$get_heap_header 000026 constant entry external dcl 69 ref 120 heap_manager_$get_heap_level 000030 constant entry external dcl 71 ref 351 405 409 heap_name_list_ptr 2 based pointer level 2 dcl 1-64 ref 201 i 000113 automatic fixed bin(17,0) dcl 34 in procedure "lhv" set ref 133* 134 134 134 134 134* 144* 145* i 000130 automatic fixed bin(17,0) dcl 178 in procedure "print_each_level" set ref 229* 232* i 000170 automatic fixed bin(17,0) dcl 326 in procedure "process_args" set ref 330* 332* 362* 362 363* 374* 374 375* init_ptr 000156 automatic pointer dcl 294 in procedure "print_it" set ref 302* 304* init_ptr 6 based pointer level 2 in structure "variable_node" dcl 1-33 in procedure "lhv" ref 302 ioa_ 000012 constant entry external dcl 62 ref 132 134 194 204 218 221 304 309 j 000140 automatic fixed bin(17,0) dcl 264 set ref 268* 269 271 273* lbound builtin function dcl 57 ref 229 lgsw 000114 automatic bit(1) dcl 35 set ref 98* 218 299 342* 345* list based structure level 1 dcl 85 name 11 based char level 2 in structure "variable_node" dcl 1-33 in procedure "lhv" set ref 271 304* 309* name based char(256) array level 3 in structure "name_list" dcl 328 in procedure "process_args" set ref 392* name 000100 automatic char(256) array level 3 in structure "name_list" packed unaligned dcl 109 in begin block on line 107 set ref 134 134 name based char(256) array level 3 in structure "name_list" dcl 265 in procedure "name_on_list" ref 271 name_list based structure level 1 dcl 265 in procedure "name_on_list" name_list based structure level 1 dcl 328 in procedure "process_args" name_list 000100 automatic structure level 1 unaligned dcl 109 in begin block on line 107 set ref 112 112 128 128 name_list_ptr parameter pointer dcl 324 in procedure "process_args" ref 321 392 393 394 name_list_ptr parameter pointer dcl 262 in procedure "name_on_list" ref 258 269 271 273 name_list_ptr parameter pointer dcl 173 in procedure "print_each_level" set ref 167 238* name_size 10 based fixed bin(21,0) level 2 dcl 1-33 ref 271 304 304 304 309 309 309 nnames 000116 automatic fixed bin(17,0) dcl 37 set ref 100* 130 131 133 144 235 242 268 391* 391 392 393 394 node_ptr parameter pointer dcl 261 in procedure "name_on_list" ref 258 271 node_ptr 000120 automatic pointer dcl 39 in procedure "lhv" set ref 232* 232* 235* 238* 240* 245 node_ptr parameter pointer dcl 291 in procedure "print_it" ref 288 298 301 302 304 304 304 309 309 309 nprinted 000117 automatic fixed bin(17,0) dcl 38 set ref 101* 131 140* 241* 241 242 nsize 100 000100 automatic fixed bin(17,0) array level 3 in structure "name_list" dcl 109 in begin block on line 107 set ref 134 134 nsize 100 based fixed bin(17,0) array level 3 in structure "name_list" dcl 328 in procedure "process_args" set ref 393* null builtin function dcl 57 ref 202 232 num_of_args 000115 automatic fixed bin(17,0) dcl 36 set ref 105* 109 330 330 rel builtin function dcl 57 ref 304 304 309 309 sb 000124 automatic pointer dcl 2-24 set ref 102* 120* 351* 405* 409* stackbaseptr builtin function dcl 57 ref 102 start 000122 automatic fixed bin(17,0) dcl 40 set ref 99* 113 119 350* 381* 381 403 405* 407* substr builtin function dcl 57 ref 134 134 304 304 table_ptr 000126 automatic pointer dcl 177 set ref 201* 202 210 229 229 232 time_allocated 2 based fixed bin(71,0) level 2 dcl 1-33 set ref 301* variable_node based structure level 1 dcl 1-33 variable_ptr 000160 automatic pointer dcl 295 set ref 298* 304 304 304 304 309 309 309 309 variable_table_header based structure level 1 dcl 1-19 vbl_ptr 4 based pointer level 2 dcl 1-33 ref 298 vbl_size 1 based fixed bin(24,0) level 2 packed unsigned unaligned dcl 1-33 set ref 304* 309* verify builtin function dcl 57 ref 364 376 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. call_offset internal static fixed bin(17,0) initial dcl 2-78 entry_offset internal static fixed bin(17,0) initial dcl 2-78 heap_header_version_1 internal static char(8) initial unaligned dcl 1-71 push_offset internal static fixed bin(17,0) initial dcl 2-78 return_no_pop_offset internal static fixed bin(17,0) initial dcl 2-78 return_offset internal static fixed bin(17,0) initial dcl 2-78 stack_header based structure level 1 dcl 2-26 stack_header_overlay based fixed bin(17,0) array dcl 2-94 tv_offset internal static fixed bin(17,0) initial dcl 2-72 NAMES DECLARED BY EXPLICIT CONTEXT. EXIT 000662 constant label dcl 156 ref 116 336 367 379 386 NEXT_LEVEL 000656 constant label dcl 149 ref 124 lhv 000323 constant entry external dcl 20 list_heap_variables 000332 constant entry external dcl 20 name_on_list 001201 constant entry internal dcl 258 ref 238 no_variables 001030 constant label dcl 204 ref 210 print_each_level 000663 constant entry internal dcl 167 ref 128 print_it 001252 constant entry internal dcl 288 ref 235 240 process_args 001445 constant entry internal dcl 321 ref 112 NAME DECLARED BY CONTEXT OR IMPLICATION. index builtin function ref 339 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2546 2602 2402 2556 Length 3044 2402 34 226 144 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME lhv 90 external procedure is an external procedure. begin block on line 107 446 begin block uses auto adjustable storage. print_each_level internal procedure shares stack frame of begin block on line 107. name_on_list internal procedure shares stack frame of begin block on line 107. print_it internal procedure shares stack frame of begin block on line 107. process_args internal procedure shares stack frame of begin block on line 107. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 107 000100 name_list begin block on line 107 000114 entryname print_each_level 000124 code print_each_level 000126 table_ptr print_each_level 000130 i print_each_level 000140 j name_on_list 000150 date print_it 000156 init_ptr print_it 000160 variable_ptr print_it 000170 i process_args lhv 000100 arg_ptr lhv 000102 arg_list_ptr lhv 000104 arg_length lhv 000105 code lhv 000106 exe_level lhv 000107 finish lhv 000110 heap_header_ptr lhv 000112 hdrsw lhv 000113 i lhv 000114 lgsw lhv 000115 num_of_args lhv 000116 nnames lhv 000117 nprinted lhv 000120 node_ptr lhv 000122 start lhv 000124 sb lhv THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a alloc_char_temp enter_begin_block leave_begin_block call_ext_out_desc call_ext_out return_mac tra_ext_1 alloc_auto_adj shorten_stack ext_entry any_to_any_truncate_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_list_ptr cu_$arg_ptr_rel date_time_ hcs_$fs_get_path_name heap_manager_$get_heap_header heap_manager_$get_heap_level ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt CONSTANTS 002172 aa 777 777 777 777  002173 aa 777 777 777 777  002174 aa 777 777 777 777  002175 aa 777 777 777 777  002176 aa 777 777 777 777  002177 aa 777 777 777 777  002200 aa 777 777 777 777  002201 aa 777 777 777 777  002202 aa 777 777 777 777  002203 aa 777 777 777 777  002204 aa 777 777 777 777  002205 aa 777 777 777 777  002206 aa 000 000 000 000 002207 aa 000 000 000 000 002210 aa 000 000 777 777  002211 aa 777 777 777 777  002212 aa 777 777 777 777  002213 aa 777 777 777 777  002214 aa 777 777 777 777  002215 aa 777 777 777 777  002216 aa 777 777 777 777  002217 aa 777 777 777 777  002220 aa 777 777 777 777  002221 aa 777 777 777 777  002222 aa 777 777 777 777  002223 aa 777 777 777 777  002224 aa 777 777 777 777  002225 aa 777 777 777 777  002226 aa 777 777 777 777  002227 aa 777 777 777 777  002230 aa 777 777 777 777  002231 aa 777 777 777 777  002232 aa 777 777 777 777  002233 aa 777 777 777 777  002234 aa 777 777 777 777  002235 aa 777 777 777 777  002236 aa 777 777 777 777  002237 aa 777 777 777 777  002240 aa 777 777 777 777  002241 aa 777 777 777 777  002242 aa 777 777 777 777  002243 aa 777 777 777 777  002244 aa 777 777 777 777  002245 aa 777 777 777 777  002246 aa 777 777 777 777  002247 aa 777 777 777 777  002250 aa 777 777 777 777  002251 aa 777 777 777 777  002252 aa 777 777 777 777  002253 aa 777 777 777 777  002254 aa 777 777 777 777  002255 aa 777 777 777 777  002256 aa 777 777 777 777  002257 aa 777 777 777 777  002260 aa 777 777 777 777  002261 aa 777 777 777 777  002262 aa 777 777 777 777  002263 aa 777 777 777 777  002264 aa 777 777 777 777  002265 aa 777 777 777 777  002266 aa 777 777 777 777  002267 aa 777 777 777 777  002270 aa 777 777 777 777  002271 aa 777 777 777 777  002272 aa 777 777 777 777  002273 aa 777 777 777 777  002274 aa 777 777 777 777  002275 aa 777 777 777 777  002276 aa 777 777 777 777  002277 aa 777 777 777 777  002300 aa 777 777 777 777  002301 aa 777 777 777 777  002302 aa 777 777 777 777  002303 aa 777 777 777 777  002304 aa 777 777 777 777  002305 aa 777 777 777 777  002306 aa 777 777 777 777  002307 aa 777 777 777 777  002310 aa 777 777 777 777  002311 aa 777 777 777 777  002312 aa 777 777 777 777  002313 aa 777 777 777 777  002314 aa 777 777 777 777  002315 aa 777 777 777 777  002316 aa 777 777 777 777  002317 aa 777 777 777 777  002320 aa 777 777 777 777  002321 aa 777 777 777 777  002322 aa 777 777 777 777  002323 aa 777 777 777 777  002324 aa 777 777 777 777  002325 aa 777 777 777 777  002326 aa 777 777 777 777  002327 aa 777 777 777 777  002330 aa 777 777 777 777  002331 aa 777 777 777 777  002332 aa 777 777 777 777  002333 aa 777 777 777 777  002334 aa 777 777 777 777  002335 aa 777 777 777 777  002336 aa 777 777 777 777  002337 aa 777 777 777 777  002340 aa 777 777 777 777  002341 aa 777 777 777 777  002342 aa 777 777 777 777  002343 aa 777 777 777 777  002344 aa 777 777 777 777  002345 aa 777 777 777 777  002346 aa 777 777 777 777  002347 aa 777 777 777 777  002350 aa 777 777 777 777  002351 aa 777 777 777 777  002352 aa 777 777 777 777  002353 aa 777 777 777 777  002354 aa 777 777 777 777  002355 aa 777 777 777 777  002356 aa 777 777 777 777  002357 aa 777 777 777 777  002360 aa 777 777 777 777  002361 aa 777 777 777 777  002362 aa 777 777 777 777  002363 aa 777 777 777 777  002364 aa 777 777 777 777  002365 aa 777 777 777 777  002366 aa 777 777 777 777  002367 aa 777 777 777 777  002370 aa 777 777 777 777  002371 aa 777 777 777 777  002372 aa 377777777777 002374 aa 000002000000 002375 aa 000000000000 002376 aa 600000000041 002377 aa 000172000000 000000 aa 000000000030 000001 aa 136 063 060 141 ^30a 000002 aa 040 136 063 157 ^3o 000003 aa 040 136 066 157 ^6o 000004 aa 040 136 070 144 ^8d 000005 aa 040 136 061 066 ^16 000006 aa 141 040 136 160 a ^p 000007 aa 040 040 040 040 000010 aa 040 040 000 000 000011 aa 000000000033 000012 aa 136 141 136 057 ^a^/ 000013 aa 136 063 061 170 ^31x 000014 aa 136 063 157 040 ^3o 000015 aa 136 066 157 040 ^6o 000016 aa 136 070 144 040 ^8d 000017 aa 136 061 066 141 ^16a 000020 aa 040 136 160 040 ^p 000021 aa 040 040 000 000 000022 aa 000000000020 000023 aa 136 063 060 141 ^30a 000024 aa 040 136 063 157 ^3o 000025 aa 040 136 066 157 ^6o 000026 aa 040 136 070 144 ^8d 000027 aa 040 040 040 040 000030 aa 040 040 040 040 000031 aa 040 040 040 040 000032 aa 040 040 000 000 000033 aa 000000000023 000034 aa 136 141 136 057 ^a^/ 000035 aa 136 063 061 170 ^31x 000036 aa 136 063 157 040 ^3o 000037 aa 136 066 157 040 ^6o 000040 aa 136 070 144 040 ^8d 000041 aa 040 040 040 040 000042 aa 040 040 040 040 000043 aa 040 040 000 000 000044 aa 136 057 116 101 ^/NA 000045 aa 115 105 136 055 ME^- 000046 aa 136 055 040 040 ^- 000047 aa 040 040 040 040 000050 aa 040 040 040 123 S 000051 aa 105 107 115 105 EGME 000052 aa 116 124 040 117 NT O 000053 aa 106 106 123 105 FFSE 000054 aa 124 040 040 040 T 000055 aa 123 111 132 105 SIZE 000056 aa 136 057 000 000 ^/ 000057 aa 136 057 116 101 ^/NA 000060 aa 115 105 136 055 ME^- 000061 aa 136 055 040 040 ^- 000062 aa 040 040 040 040 000063 aa 040 040 040 123 S 000064 aa 105 107 115 105 EGME 000065 aa 116 124 040 117 NT O 000066 aa 106 106 123 105 FFSE 000067 aa 124 040 040 040 T 000070 aa 123 111 132 105 SIZE 000071 aa 040 040 040 040 000072 aa 040 040 040 101 A 000073 aa 114 114 117 103 LLOC 000074 aa 101 124 105 104 ATED 000075 aa 040 040 040 111 I 000076 aa 116 111 124 137 NIT_ 000077 aa 120 124 122 136 PTR^ 000100 aa 057 000 000 000 / 000101 aa 154 151 163 164 list 000102 aa 137 150 145 141 _hea 000103 aa 160 137 166 141 p_va 000104 aa 162 151 141 142 riab 000105 aa 154 145 163 000 les 000106 aa 524000000045 000107 aa 055 146 155 000 -fm 000110 aa 524000000042 000111 aa 055 164 157 000 -to 000112 aa 055 150 145 000 -he 000113 aa 055 156 150 145 -nhe 002400 aa 055 141 000 000 -a 000114 aa 055 141 154 154 -all 000115 aa 055 142 146 000 -bf 000116 aa 055 154 147 000 -lg 000117 aa 526000000000 000120 aa 524000000020 000121 aa 606000000030 000122 aa 404000000022 000123 aa 404000000017 000124 aa 530000000036 000125 aa 526000000030 000126 aa 410000000107 000127 aa 526000000052 000130 aa 526000000105 000131 aa 524000000050 000132 aa 524000000106 000133 aa 524000000064 000134 aa 404000000043 000135 aa 526000000040 000136 aa 077 077 077 000 ??? 000137 aa 524000000000 000140 aa 524000000002 000141 aa 524000000051 000142 aa 524000000044 000143 aa 524000000035 000144 aa 524000000023 000145 aa 404000000005 000146 aa 516000000001 002401 aa 777777777777 000147 aa 464000000000 000150 aa 404000000021 000152 aa 055 146 162 157 -fro 000153 aa 155 000 000 000 m 000154 aa 055 150 145 141 -hea 000155 aa 144 145 162 000 der 000156 aa 055 142 162 151 -bri 000157 aa 145 146 000 000 ef 000160 aa 055 154 157 156 -lon 000161 aa 147 000 000 000 g 000162 aa 077777000043 000163 aa 000001000000 000164 aa 060 061 062 063 0123 000165 aa 064 065 066 067 4567 000166 aa 070 071 000 000 89 000167 aa 055 156 157 137 -no_ 000170 aa 150 145 141 144 head 000171 aa 145 162 000 000 er 000172 aa 124 150 145 162 Ther 000173 aa 145 040 141 162 e ar 000174 aa 145 040 156 157 e no 000175 aa 040 150 145 141 hea 000176 aa 160 163 040 141 ps a 000177 aa 154 154 157 143 lloc 000200 aa 141 164 145 144 ated 000201 aa 056 000 000 000 . 000202 aa 116 165 155 145 Nume 000203 aa 162 151 143 040 ric 000204 aa 157 160 145 162 oper 000205 aa 141 156 144 040 and 000206 aa 157 146 040 055 of - 000207 aa 164 157 040 151 to i 000210 aa 163 040 155 151 s mi 000211 aa 163 163 151 156 ssin 000212 aa 147 056 000 000 g. 000213 aa 124 150 145 040 The 000214 aa 150 145 141 160 heap 000215 aa 040 144 157 145 doe 000216 aa 163 040 156 157 s no 000217 aa 164 040 145 170 t ex 000220 aa 151 163 164 040 ist 000221 aa 141 164 040 154 at l 000222 aa 145 166 145 154 evel 000223 aa 040 136 144 056 ^d. 000224 aa 116 165 155 145 Nume 000225 aa 162 151 143 040 ric 000226 aa 141 162 147 165 argu 000227 aa 155 145 156 164 ment 000230 aa 040 157 146 040 of 000231 aa 055 146 162 157 -fro 000232 aa 155 040 151 163 m is 000233 aa 040 155 151 163 mis 000234 aa 163 151 156 147 sing 000235 aa 056 000 000 000 . 000236 aa 124 150 145 162 Ther 000237 aa 145 040 141 162 e ar 000240 aa 145 040 156 157 e no 000241 aa 040 150 145 141 hea 000242 aa 160 040 166 141 p va 000243 aa 162 151 141 142 riab 000244 aa 154 145 163 040 les 000245 aa 141 164 040 154 at l 000246 aa 145 166 145 154 evel 000247 aa 040 136 144 056 ^d. 000250 aa 136 057 124 150 ^/Th 000251 aa 145 040 146 157 e fo 000252 aa 154 154 157 167 llow 000253 aa 151 156 147 040 ing 000254 aa 166 141 162 151 vari 000255 aa 141 142 154 145 able 000256 aa 163 040 167 145 s we 000257 aa 162 145 040 156 re n 000260 aa 157 164 040 146 ot f 000261 aa 157 165 156 144 ound 000262 aa 072 000 000 000 : 000263 aa 103 141 156 156 Cann 000264 aa 157 164 040 147 ot g 000265 aa 145 164 040 156 et n 000266 aa 141 155 145 040 ame 000267 aa 157 146 040 150 of h 000270 aa 145 141 160 040 eap 000271 aa 141 162 145 141 area 000272 aa 040 163 145 147 seg 000273 aa 155 145 156 164 ment 000274 aa 040 136 160 040 ^p 000275 aa 141 164 040 154 at l 000276 aa 145 166 145 154 evel 000277 aa 040 136 144 056 ^d. 000300 aa 136 057 136 057 ^/^/ 000301 aa 110 145 141 160 Heap 000302 aa 040 154 145 166 lev 000303 aa 145 154 040 136 el ^ 000304 aa 144 054 040 141 d, a 000305 aa 154 154 157 143 lloc 000306 aa 141 164 151 157 atio 000307 aa 156 040 141 162 n ar 000310 aa 145 141 040 141 ea a 000311 aa 164 040 136 160 t ^p 000312 aa 040 136 057 040 ^/ 000313 aa 050 136 141 040 (^a 000314 aa 151 156 040 160 in p 000315 aa 162 157 143 145 roce 000316 aa 163 163 040 144 ss d 000317 aa 151 162 145 143 irec 000320 aa 164 157 162 171 tory 000321 aa 051 056 000 000 ). BEGIN PROCEDURE lhv ENTRY TO lhv STATEMENT 1 ON LINE 20 list_heap_variables: lhv: proc; 000322 da 000135200000 000323 aa 000140 6270 00 eax7 96 000324 aa 7 00034 3521 20 epp2 pr7|28,* 000325 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000326 aa 000000000000 000327 aa 000000000000 000330 aa 000007 7100 04 tra 7,ic 000337 ENTRY TO list_heap_variables STATEMENT 1 ON LINE 20 list_heap_variables: lhv: proc; 000331 da 000140200000 000332 aa 000140 6270 00 eax7 96 000333 aa 7 00034 3521 20 epp2 pr7|28,* 000334 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000335 aa 000000000000 000336 aa 000000000000 STATEMENT 1 ON LINE 97 hdrsw = "1"b; 000337 aa 400000 2350 03 lda 131072,du 000340 aa 6 00112 7551 00 sta pr6|74 hdrsw STATEMENT 1 ON LINE 98 lgsw = "0"b; 000341 aa 6 00114 4501 00 stz pr6|76 lgsw STATEMENT 1 ON LINE 99 start, finish = -1; 000342 aa 000001 3360 07 lcq 1,dl 000343 aa 6 00122 7561 00 stq pr6|82 start 000344 aa 6 00107 7561 00 stq pr6|71 finish STATEMENT 1 ON LINE 100 nnames = 0; 000345 aa 6 00116 4501 00 stz pr6|78 nnames STATEMENT 1 ON LINE 101 nprinted = 0; 000346 aa 6 00117 4501 00 stz pr6|79 nprinted STATEMENT 1 ON LINE 102 sb = stackbaseptr (); 000347 aa 6 00000 3525 00 epbp2 pr6|0 000350 aa 6 00124 2521 00 spri2 pr6|84 sb STATEMENT 1 ON LINE 104 arg_list_ptr = cu_$arg_list_ptr (); 000351 aa 6 00102 3521 00 epp2 pr6|66 arg_list_ptr 000352 aa 6 00130 2521 00 spri2 pr6|88 000353 aa 6 00126 6211 00 eax1 pr6|86 000354 aa 004000 4310 07 fld 2048,dl 000355 la 4 00020 3521 20 epp2 pr4|16,* cu_$arg_list_ptr 000356 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 105 num_of_args = cu_$arg_count (); 000357 aa 6 00115 3521 00 epp2 pr6|77 num_of_args 000360 aa 6 00130 2521 00 spri2 pr6|88 000361 aa 6 00126 6211 00 eax1 pr6|86 000362 aa 004000 4310 07 fld 2048,dl 000363 aa 6 00044 3701 20 epp4 pr6|36,* 000364 la 4 00014 3521 20 epp2 pr4|12,* cu_$arg_count 000365 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 107 begin; 000366 aa 000700 6270 00 eax7 448 000367 aa 0 00614 2721 00 tsp2 pr0|396 enter_begin_block 000370 aa 000000000000 BEGIN BLOCK 1 PROLOGUE SEQUENCE STATEMENT 1 ON LINE 109 000371 aa 6 00040 3735 20 epp7 pr6|32,* 000372 aa 7 00115 2361 00 ldq pr7|77 num_of_args 000373 aa 6 00102 7561 00 stq pr6|66 000374 aa 000001 0760 07 adq 1,dl 000375 aa 000102 4020 07 mpy 66,dl 000376 aa 0 00661 7001 00 tsx0 pr0|433 alloc_auto_adj 000377 aa 6 00100 2521 00 spri2 pr6|64 MAIN SEQUENCE STATEMENT 1 ON LINE 112 call process_args (addr (name_list)); 000400 aa 2 00000 3715 00 epp5 pr2|0 name_list 000401 aa 6 00172 6515 00 spri5 pr6|122 000402 aa 001772 3520 04 epp2 1018,ic 002374 = 000002000000 000403 aa 001042 6700 04 tsp4 546,ic 001445 STATEMENT 1 ON LINE 113 if start = -1 then do; 000404 aa 6 00040 3735 20 epp7 pr6|32,* 000405 aa 7 00122 2361 00 ldq pr7|82 start 000406 aa 001773 1160 04 cmpq 1019,ic 002401 = 777777777777 000407 aa 000031 6010 04 tnz 25,ic 000440 STATEMENT 1 ON LINE 115 call com_err_ (0, ME, "There are no heaps allocated."); 000410 aa 6 00174 4501 00 stz pr6|124 000411 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000412 aa 777561 00 0040 desc9a -143,32 000172 = 124150145162 000413 aa 6 00176 00 0040 desc9a pr6|126,32 000414 aa 6 00174 3521 00 epp2 pr6|124 000415 aa 6 00210 2521 00 spri2 pr6|136 000416 aa 777463 3520 04 epp2 -205,ic 000101 = 154151163164 000417 aa 6 00212 2521 00 spri2 pr6|138 000420 aa 6 00176 3521 00 epp2 pr6|126 000421 aa 6 00214 2521 00 spri2 pr6|140 000422 aa 777523 3520 04 epp2 -173,ic 000145 = 404000000005 000423 aa 6 00216 2521 00 spri2 pr6|142 000424 aa 777520 3520 04 epp2 -176,ic 000144 = 524000000023 000425 aa 6 00220 2521 00 spri2 pr6|144 000426 aa 777515 3520 04 epp2 -179,ic 000143 = 524000000035 000427 aa 6 00222 2521 00 spri2 pr6|146 000430 aa 6 00206 6211 00 eax1 pr6|134 000431 aa 014000 4310 07 fld 6144,dl 000432 aa 6 00044 3701 20 epp4 pr6|36,* 000433 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 000434 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 116 goto EXIT; 000435 aa 000225 3520 04 epp2 149,ic 000662 = 000631710100 000436 aa 000001 7270 07 lxl7 1,dl 000437 aa 0 00657 7101 00 tra pr0|431 tra_ext_1 STATEMENT 1 ON LINE 117 end; STATEMENT 1 ON LINE 119 do exe_level = start to finish; 000440 aa 7 00107 2361 00 ldq pr7|71 finish 000441 aa 6 00103 7561 00 stq pr6|67 000442 aa 7 00122 2361 00 ldq pr7|82 start 000443 aa 7 00106 7561 00 stq pr7|70 exe_level 000444 aa 6 00040 3735 20 epp7 pr6|32,* 000445 aa 7 00106 2361 00 ldq pr7|70 exe_level 000446 aa 6 00103 1161 00 cmpq pr6|67 000447 aa 000212 6054 04 tpnz 138,ic 000661 STATEMENT 1 ON LINE 120 call heap_manager_$get_heap_header (sb, exe_level, heap_header_ptr, code); 000450 aa 7 00124 3521 00 epp2 pr7|84 sb 000451 aa 6 00210 2521 00 spri2 pr6|136 000452 aa 7 00106 3521 00 epp2 pr7|70 exe_level 000453 aa 6 00212 2521 00 spri2 pr6|138 000454 aa 7 00110 3521 00 epp2 pr7|72 heap_header_ptr 000455 aa 6 00214 2521 00 spri2 pr6|140 000456 aa 7 00105 3521 00 epp2 pr7|69 code 000457 aa 6 00216 2521 00 spri2 pr6|142 000460 aa 6 00206 6211 00 eax1 pr6|134 000461 aa 020000 4310 07 fld 8192,dl 000462 aa 6 00044 3701 20 epp4 pr6|36,* 000463 la 4 00026 3521 20 epp2 pr4|22,* heap_manager_$get_heap_header 000464 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 121 if code ^= 0 then do; 000465 aa 6 00040 3735 20 epp7 pr6|32,* 000466 aa 7 00105 2361 00 ldq pr7|69 code 000467 aa 000033 6000 04 tze 27,ic 000522 STATEMENT 1 ON LINE 123 call com_err_ (0, ME, "The heap does not exist at level ^d.", exe_level); 000470 aa 6 00174 4501 00 stz pr6|124 000471 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000472 aa 777522 00 0044 desc9a -174,36 000213 = 124150145040 000473 aa 6 00206 00 0044 desc9a pr6|134,36 000474 aa 6 00174 3521 00 epp2 pr6|124 000475 aa 6 00226 2521 00 spri2 pr6|150 000476 aa 777403 3520 04 epp2 -253,ic 000101 = 154151163164 000477 aa 6 00230 2521 00 spri2 pr6|152 000500 aa 6 00206 3521 00 epp2 pr6|134 000501 aa 6 00232 2521 00 spri2 pr6|154 000502 aa 7 00106 3521 00 epp2 pr7|70 exe_level 000503 aa 6 00234 2521 00 spri2 pr6|156 000504 aa 777441 3520 04 epp2 -223,ic 000145 = 404000000005 000505 aa 6 00236 2521 00 spri2 pr6|158 000506 aa 777436 3520 04 epp2 -226,ic 000144 = 524000000023 000507 aa 6 00240 2521 00 spri2 pr6|160 000510 aa 777432 3520 04 epp2 -230,ic 000142 = 524000000044 000511 aa 6 00242 2521 00 spri2 pr6|162 000512 aa 777436 3520 04 epp2 -226,ic 000150 = 404000000021 000513 aa 6 00244 2521 00 spri2 pr6|164 000514 aa 6 00224 6211 00 eax1 pr6|148 000515 aa 020000 4310 07 fld 8192,dl 000516 aa 6 00044 3701 20 epp4 pr6|36,* 000517 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 000520 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 124 goto NEXT_LEVEL; 000521 aa 000135 7100 04 tra 93,ic 000656 STATEMENT 1 ON LINE 125 end; STATEMENT 1 ON LINE 128 call print_each_level (heap_header_ptr, exe_level, addr (name_list)); 000522 aa 6 00100 3715 20 epp5 pr6|64,* name_list 000523 aa 6 00172 6515 00 spri5 pr6|122 000524 aa 7 00110 3521 00 epp2 pr7|72 heap_header_ptr 000525 aa 6 00210 2521 00 spri2 pr6|136 000526 aa 7 00106 3521 00 epp2 pr7|70 exe_level 000527 aa 6 00212 2521 00 spri2 pr6|138 000530 aa 6 00172 3521 00 epp2 pr6|122 000531 aa 6 00214 2521 00 spri2 pr6|140 000532 aa 6 00206 3521 00 epp2 pr6|134 000533 aa 014000 4310 07 fld 6144,dl 000534 aa 2 00000 7571 00 staq pr2|0 000535 aa 000126 6700 04 tsp4 86,ic 000663 STATEMENT 1 ON LINE 130 if nnames > 0 then do; 000536 aa 6 00040 3735 20 epp7 pr6|32,* 000537 aa 7 00116 2361 00 ldq pr7|78 nnames 000540 aa 000116 6044 04 tmoz 78,ic 000656 STATEMENT 1 ON LINE 131 if nprinted < nnames then do; 000541 aa 7 00117 1161 00 cmpq pr7|79 nprinted 000542 aa 000074 6044 04 tmoz 60,ic 000636 STATEMENT 1 ON LINE 132 call ioa_ ("^/The following variables were not found:"); 000543 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000544 aa 777505 00 0054 desc9a -187,44 000250 = 136057124150 000545 aa 6 00206 00 0054 desc9a pr6|134,44 000546 aa 6 00206 3521 00 epp2 pr6|134 000547 aa 6 00200 2521 00 spri2 pr6|128 000550 aa 777371 3520 04 epp2 -263,ic 000141 = 524000000051 000551 aa 6 00202 2521 00 spri2 pr6|130 000552 aa 6 00176 6211 00 eax1 pr6|126 000553 aa 004000 4310 07 fld 2048,dl 000554 aa 6 00044 3701 20 epp4 pr6|36,* 000555 la 4 00012 3521 20 epp2 pr4|10,* ioa_ 000556 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 133 do i = 1 to nnames; 000557 aa 6 00040 3735 20 epp7 pr6|32,* 000560 aa 7 00116 2361 00 ldq pr7|78 nnames 000561 aa 6 00104 7561 00 stq pr6|68 000562 aa 000001 2360 07 ldq 1,dl 000563 aa 7 00113 7561 00 stq pr7|75 i 000564 aa 6 00040 3735 20 epp7 pr6|32,* 000565 aa 7 00113 2361 00 ldq pr7|75 i 000566 aa 6 00104 1161 00 cmpq pr6|68 000567 aa 000047 6054 04 tpnz 39,ic 000636 STATEMENT 1 ON LINE 134 if ^name_list.array (i).flags.found then call ioa_ ("^a", substr (name_list.array (i).name, 1, name_list.array (i).nsize)); 000570 aa 000102 4020 07 mpy 66,dl 000571 aa 6 00100 3715 20 epp5 pr6|64,* 000572 aa 5 00101 2351 06 lda pr5|65,ql name_list.found 000573 aa 400000 3150 03 cana 131072,du 000574 aa 6 00174 7561 00 stq pr6|124 000575 aa 000035 6010 04 tnz 29,ic 000632 000576 aa 5 00100 2361 06 ldq pr5|64,ql name_list.nsize 000577 aa 524000 2760 03 orq 174080,du 000600 aa 6 00175 7561 00 stq pr6|125 000601 aa 136141 2350 03 lda 48225,du 000602 aa 6 00246 7551 00 sta pr6|166 000603 aa 7 00113 2361 00 ldq pr7|75 i 000604 aa 000102 4020 07 mpy 66,dl 000605 aa 000002 7360 00 qls 2 000606 aa 6 00174 7271 00 lxl7 pr6|124 000607 aa 6 00247 7561 00 stq pr6|167 000610 aa 5 00100 2361 17 ldq pr5|64,7 name_list.nsize 000611 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 000612 aa 6 00212 2521 00 spri2 pr6|138 000613 aa 6 00247 2351 00 lda pr6|167 000614 aa 040 140 100 545 mlr (pr,rl,al),(pr,rl),fill(040) 000615 aa 5 00000 00 0006 desc9a pr5|0,ql name_list.name 000616 aa 2 00000 00 0006 desc9a pr2|0,ql 000617 aa 6 00246 3521 00 epp2 pr6|166 000620 aa 6 00210 2521 00 spri2 pr6|136 000621 aa 777317 3520 04 epp2 -305,ic 000140 = 524000000002 000622 aa 6 00214 2521 00 spri2 pr6|140 000623 aa 6 00175 3521 00 epp2 pr6|125 000624 aa 6 00216 2521 00 spri2 pr6|142 000625 aa 6 00206 6211 00 eax1 pr6|134 000626 aa 010000 4310 07 fld 4096,dl 000627 aa 6 00044 3701 20 epp4 pr6|36,* 000630 la 4 00012 3521 20 epp2 pr4|10,* ioa_ 000631 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 138 end; 000632 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 000633 aa 6 00040 3735 20 epp7 pr6|32,* 000634 aa 7 00113 0541 00 aos pr7|75 i 000635 aa 777727 7100 04 tra -41,ic 000564 STATEMENT 1 ON LINE 139 end; STATEMENT 1 ON LINE 140 nprinted = 0; 000636 aa 7 00117 4501 00 stz pr7|79 nprinted STATEMENT 1 ON LINE 144 do i = 1 to nnames; 000637 aa 7 00116 2361 00 ldq pr7|78 nnames 000640 aa 6 00105 7561 00 stq pr6|69 000641 aa 000001 2360 07 ldq 1,dl 000642 aa 7 00113 7561 00 stq pr7|75 i 000643 aa 000000 0110 03 nop 0,du 000644 aa 6 00040 3735 20 epp7 pr6|32,* 000645 aa 7 00113 2361 00 ldq pr7|75 i 000646 aa 6 00105 1161 00 cmpq pr6|69 000647 aa 000007 6054 04 tpnz 7,ic 000656 STATEMENT 1 ON LINE 145 name_list.array (i).flags.found = "0"b; 000650 aa 000102 4020 07 mpy 66,dl 000651 aa 001521 2350 04 lda 849,ic 002372 = 377777777777 000652 aa 6 00100 3715 20 epp5 pr6|64,* 000653 aa 5 00101 3551 06 ansa pr5|65,ql name_list.found STATEMENT 1 ON LINE 146 end; 000654 aa 7 00113 0541 00 aos pr7|75 i 000655 aa 777767 7100 04 tra -9,ic 000644 STATEMENT 1 ON LINE 147 end; STATEMENT 1 ON LINE 149 NEXT_LEVEL: end; 000656 aa 6 00040 3735 20 epp7 pr6|32,* 000657 aa 7 00106 0541 00 aos pr7|70 exe_level 000660 aa 777564 7100 04 tra -140,ic 000444 STATEMENT 1 ON LINE 153 end; 000661 aa 0 00615 7001 00 tsx0 pr0|397 leave_begin_block END BLOCK 1 STATEMENT 1 ON LINE 156 EXIT: return; 000662 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 422 end list_heap_variables; BEGIN PROCEDURE print_each_level ENTRY TO print_each_level STATEMENT 1 ON LINE 167 print_each_level: proc (heap_header_ptr, exe_level, name_list_ptr); 000663 aa 6 00106 6501 00 spri4 pr6|70 000664 aa 6 00110 2521 00 spri2 pr6|72 STATEMENT 1 ON LINE 184 entryname = "???"; 000665 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000666 aa 777251 00 0003 desc9a -343,3 000136 = 077077077000 000667 aa 6 00114 00 0040 desc9a pr6|76,32 entryname STATEMENT 1 ON LINE 185 call hcs_$fs_get_path_name (heap_header_ptr -> heap_header.area_ptr, "", (0), entryname, code); 000670 aa 6 00251 4501 00 stz pr6|169 000671 aa 2 00002 3735 20 epp7 pr2|2,* heap_header_ptr 000672 aa 7 00000 3735 20 epp7 pr7|0,* heap_header_ptr 000673 aa 7 00006 3521 00 epp2 pr7|6 heap_header.area_ptr 000674 aa 6 00254 2521 00 spri2 pr6|172 000675 aa 6 00250 3521 00 epp2 pr6|168 000676 aa 6 00256 2521 00 spri2 pr6|174 000677 aa 6 00251 3521 00 epp2 pr6|169 000700 aa 6 00260 2521 00 spri2 pr6|176 000701 aa 6 00114 3521 00 epp2 pr6|76 entryname 000702 aa 6 00262 2521 00 spri2 pr6|178 000703 aa 6 00124 3521 00 epp2 pr6|84 code 000704 aa 6 00264 2521 00 spri2 pr6|180 000705 aa 777242 3520 04 epp2 -350,ic 000147 = 464000000000 000706 aa 6 00266 2521 00 spri2 pr6|182 000707 aa 777230 3520 04 epp2 -360,ic 000137 = 524000000000 000710 aa 6 00270 2521 00 spri2 pr6|184 000711 aa 777237 3520 04 epp2 -353,ic 000150 = 404000000021 000712 aa 6 00272 2521 00 spri2 pr6|186 000713 aa 777222 3520 04 epp2 -366,ic 000135 = 526000000040 000714 aa 6 00274 2521 00 spri2 pr6|188 000715 aa 777217 3520 04 epp2 -369,ic 000134 = 404000000043 000716 aa 6 00276 2521 00 spri2 pr6|190 000717 aa 6 00252 6211 00 eax1 pr6|170 000720 aa 024000 4310 07 fld 10240,dl 000721 aa 6 00044 3701 20 epp4 pr6|36,* 000722 la 4 00024 3521 20 epp2 pr4|20,* hcs_$fs_get_path_name 000723 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 186 if code ^= 0 then do; 000724 aa 6 00124 2361 00 ldq pr6|84 code 000725 aa 000037 6000 04 tze 31,ic 000764 STATEMENT 1 ON LINE 188 call com_err_ (code, ME, "Cannot get name of heap area segment ^p at level ^d.", heap_header_ptr, exe_level); 000726 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000727 aa 777335 00 0064 desc9a -291,52 000263 = 103141156156 000730 aa 6 00252 00 0064 desc9a pr6|170,52 000731 aa 6 00124 3521 00 epp2 pr6|84 code 000732 aa 6 00302 2521 00 spri2 pr6|194 000733 aa 777146 3520 04 epp2 -410,ic 000101 = 154151163164 000734 aa 6 00304 2521 00 spri2 pr6|196 000735 aa 6 00252 3521 00 epp2 pr6|170 000736 aa 6 00306 2521 00 spri2 pr6|198 000737 aa 6 00110 3735 20 epp7 pr6|72,* 000740 aa 7 00002 3521 20 epp2 pr7|2,* heap_header_ptr 000741 aa 6 00310 2521 00 spri2 pr6|200 000742 aa 7 00004 3521 20 epp2 pr7|4,* exe_level 000743 aa 6 00312 2521 00 spri2 pr6|202 000744 aa 777170 3520 04 epp2 -392,ic 000134 = 404000000043 000745 aa 6 00314 2521 00 spri2 pr6|204 000746 aa 777176 3520 04 epp2 -386,ic 000144 = 524000000023 000747 aa 6 00316 2521 00 spri2 pr6|206 000750 aa 777163 3520 04 epp2 -397,ic 000133 = 524000000064 000751 aa 6 00320 2521 00 spri2 pr6|208 000752 aa 777175 3520 04 epp2 -387,ic 000147 = 464000000000 000753 aa 6 00322 2521 00 spri2 pr6|210 000754 aa 777174 3520 04 epp2 -388,ic 000150 = 404000000021 000755 aa 6 00324 2521 00 spri2 pr6|212 000756 aa 6 00300 6211 00 eax1 pr6|192 000757 aa 024000 4310 07 fld 10240,dl 000760 aa 6 00044 3701 20 epp4 pr6|36,* 000761 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 000762 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 191 return; 000763 aa 6 00106 6101 00 rtcd pr6|70 STATEMENT 1 ON LINE 192 end; STATEMENT 1 ON LINE 194 call ioa_ ("^/^/Heap level ^d, allocation area at ^p ^/ (^a in process directory).", heap_header_ptr -> heap_header.execution_level, heap_header_ptr -> heap_header.area_ptr, entryname); 000764 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000765 aa 777314 00 0110 desc9a -308,72 000300 = 136057136057 000766 aa 6 00300 00 0110 desc9a pr6|192,72 000767 aa 6 00300 3521 00 epp2 pr6|192 000770 aa 6 00254 2521 00 spri2 pr6|172 000771 aa 6 00110 3735 20 epp7 pr6|72,* 000772 aa 7 00002 3715 20 epp5 pr7|2,* heap_header_ptr 000773 aa 5 00000 3715 20 epp5 pr5|0,* heap_header_ptr 000774 aa 5 00010 3521 00 epp2 pr5|8 heap_header.execution_level 000775 aa 6 00256 2521 00 spri2 pr6|174 000776 aa 5 00006 3521 00 epp2 pr5|6 heap_header.area_ptr 000777 aa 6 00260 2521 00 spri2 pr6|176 001000 aa 6 00114 3521 00 epp2 pr6|76 entryname 001001 aa 6 00262 2521 00 spri2 pr6|178 001002 aa 777130 3520 04 epp2 -424,ic 000132 = 524000000106 001003 aa 6 00264 2521 00 spri2 pr6|180 001004 aa 777144 3520 04 epp2 -412,ic 000150 = 404000000021 001005 aa 6 00266 2521 00 spri2 pr6|182 001006 aa 777141 3520 04 epp2 -415,ic 000147 = 464000000000 001007 aa 6 00270 2521 00 spri2 pr6|184 001010 aa 777125 3520 04 epp2 -427,ic 000135 = 526000000040 001011 aa 6 00272 2521 00 spri2 pr6|186 001012 aa 6 00252 6211 00 eax1 pr6|170 001013 aa 020000 4310 07 fld 8192,dl 001014 aa 6 00044 3701 20 epp4 pr6|36,* 001015 la 4 00012 3521 20 epp2 pr4|10,* ioa_ 001016 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 201 table_ptr = heap_header_ptr -> heap_header.heap_name_list_ptr; 001017 aa 6 00110 3735 20 epp7 pr6|72,* 001020 aa 7 00002 3715 20 epp5 pr7|2,* heap_header_ptr 001021 aa 5 00000 3715 20 epp5 pr5|0,* heap_header_ptr 001022 aa 5 00002 3535 20 epp3 pr5|2,* heap_header.heap_name_list_ptr 001023 aa 6 00126 2535 00 spri3 pr6|86 table_ptr STATEMENT 1 ON LINE 202 if table_ptr = null then do; 001024 aa 6 00126 2371 00 ldaq pr6|86 table_ptr 001025 aa 777135 6770 04 eraq -419,ic 000162 = 077777000043 000001000000 001026 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001027 aa 000023 6010 04 tnz 19,ic 001052 STATEMENT 1 ON LINE 204 no_variables: call ioa_ ("There are no heap variables at level ^d.", exe_level); 001030 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001031 aa 777206 00 0050 desc9a -378,40 000236 = 124150145162 001032 aa 6 00252 00 0050 desc9a pr6|170,40 001033 aa 6 00252 3521 00 epp2 pr6|170 001034 aa 6 00302 2521 00 spri2 pr6|194 001035 aa 6 00110 3735 20 epp7 pr6|72,* 001036 aa 7 00004 3521 20 epp2 pr7|4,* exe_level 001037 aa 6 00304 2521 00 spri2 pr6|196 001040 aa 777071 3520 04 epp2 -455,ic 000131 = 524000000050 001041 aa 6 00306 2521 00 spri2 pr6|198 001042 aa 777106 3520 04 epp2 -442,ic 000150 = 404000000021 001043 aa 6 00310 2521 00 spri2 pr6|200 001044 aa 6 00300 6211 00 eax1 pr6|192 001045 aa 010000 4310 07 fld 4096,dl 001046 aa 6 00044 3701 20 epp4 pr6|36,* 001047 la 4 00012 3521 20 epp2 pr4|10,* ioa_ 001050 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 206 return; 001051 aa 6 00106 6101 00 rtcd pr6|70 STATEMENT 1 ON LINE 207 end; STATEMENT 1 ON LINE 210 if (table_ptr -> variable_table_header.cur_num_of_variables < 1) then goto no_variables; 001052 aa 3 00106 2351 00 lda pr3|70 variable_table_header.cur_num_of_variables 001053 aa 3 00107 2361 00 ldq pr3|71 variable_table_header.cur_num_of_variables 001054 aa 000014 7370 00 lls 12 001055 aa 000057 7330 00 lrs 47 001056 aa 000001 1160 07 cmpq 1,dl 001057 aa 777751 6040 04 tmi -23,ic 001030 STATEMENT 1 ON LINE 216 if hdrsw then do; 001060 aa 6 00040 3515 20 epp1 pr6|32,* 001061 aa 1 00112 2351 00 lda pr1|74 hdrsw 001062 aa 000026 6000 04 tze 22,ic 001110 STATEMENT 1 ON LINE 218 if lgsw then call ioa_ (LONG_HEADER); 001063 aa 1 00114 2351 00 lda pr1|76 lgsw 001064 aa 000013 6000 04 tze 11,ic 001077 001065 aa 776772 3520 04 epp2 -518,ic 000057 = 136057116101 001066 aa 6 00302 2521 00 spri2 pr6|194 001067 aa 777041 3520 04 epp2 -479,ic 000130 = 526000000105 001070 aa 6 00304 2521 00 spri2 pr6|196 001071 aa 6 00300 6211 00 eax1 pr6|192 001072 aa 004000 4310 07 fld 2048,dl 001073 aa 6 00044 3701 20 epp4 pr6|36,* 001074 la 4 00012 3521 20 epp2 pr4|10,* ioa_ 001075 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 001076 aa 000012 7100 04 tra 10,ic 001110 STATEMENT 1 ON LINE 221 else call ioa_ (SHORT_HEADER); 001077 aa 776745 3520 04 epp2 -539,ic 000044 = 136057116101 001100 aa 6 00254 2521 00 spri2 pr6|172 001101 aa 777026 3520 04 epp2 -490,ic 000127 = 526000000052 001102 aa 6 00256 2521 00 spri2 pr6|174 001103 aa 6 00252 6211 00 eax1 pr6|170 001104 aa 004000 4310 07 fld 2048,dl 001105 aa 6 00044 3701 20 epp4 pr6|36,* 001106 la 4 00012 3521 20 epp2 pr4|10,* ioa_ 001107 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 222 end; STATEMENT 1 ON LINE 229 do i = lbound (table_ptr -> variable_table_header.hash_table, 1) to hbound (table_ptr -> variable_table_header.hash_table, 1); 001110 aa 6 00130 4501 00 stz pr6|88 i 001111 aa 000000 0110 03 nop 0,du 001112 aa 6 00130 2361 00 ldq pr6|88 i 001113 aa 000077 1160 07 cmpq 63,dl 001114 aa 000064 6054 04 tpnz 52,ic 001200 STATEMENT 1 ON LINE 232 do node_ptr = table_ptr -> variable_table_header.hash_table (i) repeat node_ptr -> variable_node.forward_thread while (node_ptr ^= null); 001115 aa 6 00126 7671 66 lprp7 pr6|86,*ql variable_table_header.hash_table 001116 aa 6 00040 3715 20 epp5 pr6|32,* 001117 aa 5 00120 6535 00 spri7 pr5|80 node_ptr 001120 aa 6 00040 3735 20 epp7 pr6|32,* 001121 aa 7 00120 2371 00 ldaq pr7|80 node_ptr 001122 aa 777040 6770 04 eraq -480,ic 000162 = 077777000043 000001000000 001123 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001124 aa 000052 6000 04 tze 42,ic 001176 STATEMENT 1 ON LINE 235 if nnames = 0 then call print_it (node_ptr); 001125 aa 7 00116 2361 00 ldq pr7|78 nnames 001126 aa 000010 6010 04 tnz 8,ic 001136 001127 aa 7 00120 3521 00 epp2 pr7|80 node_ptr 001130 aa 6 00302 2521 00 spri2 pr6|194 001131 aa 6 00300 3521 00 epp2 pr6|192 001132 aa 004000 4310 07 fld 2048,dl 001133 aa 2 00000 7571 00 staq pr2|0 001134 aa 000116 6700 04 tsp4 78,ic 001252 001135 aa 000034 7100 04 tra 28,ic 001171 STATEMENT 1 ON LINE 238 else if name_on_list (node_ptr, name_list_ptr) then do; 001136 aa 7 00120 3521 00 epp2 pr7|80 node_ptr 001137 aa 6 00254 2521 00 spri2 pr6|172 001140 aa 6 00110 3715 20 epp5 pr6|72,* 001141 aa 5 00006 3521 20 epp2 pr5|6,* name_list_ptr 001142 aa 6 00256 2521 00 spri2 pr6|174 001143 aa 6 00251 3521 00 epp2 pr6|169 001144 aa 6 00260 2521 00 spri2 pr6|176 001145 aa 6 00252 3521 00 epp2 pr6|170 001146 aa 014000 4310 07 fld 6144,dl 001147 aa 2 00000 7571 00 staq pr2|0 001150 aa 000031 6700 04 tsp4 25,ic 001201 001151 aa 6 00251 2351 00 lda pr6|169 001152 aa 400000 3150 03 cana 131072,du 001153 aa 000016 6000 04 tze 14,ic 001171 STATEMENT 1 ON LINE 240 call print_it (node_ptr); 001154 aa 6 00040 3735 20 epp7 pr6|32,* 001155 aa 7 00120 3521 00 epp2 pr7|80 node_ptr 001156 aa 6 00302 2521 00 spri2 pr6|194 001157 aa 6 00300 3521 00 epp2 pr6|192 001160 aa 004000 4310 07 fld 2048,dl 001161 aa 2 00000 7571 00 staq pr2|0 001162 aa 000070 6700 04 tsp4 56,ic 001252 STATEMENT 1 ON LINE 241 nprinted = nprinted + 1; 001163 aa 6 00040 3735 20 epp7 pr6|32,* 001164 aa 7 00117 0541 00 aos pr7|79 nprinted STATEMENT 1 ON LINE 242 if nprinted = nnames then return; 001165 aa 7 00117 2361 00 ldq pr7|79 nprinted 001166 aa 7 00116 1161 00 cmpq pr7|78 nnames 001167 aa 000002 6010 04 tnz 2,ic 001171 001170 aa 6 00106 6101 00 rtcd pr6|70 STATEMENT 1 ON LINE 244 end; STATEMENT 1 ON LINE 245 end; 001171 aa 6 00040 3735 20 epp7 pr6|32,* 001172 aa 7 00120 7671 20 lprp7 pr7|80,* variable_node.forward_thread 001173 aa 6 00040 3715 20 epp5 pr6|32,* 001174 aa 5 00120 6535 00 spri7 pr5|80 node_ptr 001175 aa 777723 7100 04 tra -45,ic 001120 STATEMENT 1 ON LINE 246 end; 001176 aa 6 00130 0541 00 aos pr6|88 i 001177 aa 777713 7100 04 tra -53,ic 001112 STATEMENT 1 ON LINE 249 end print_each_level; 001200 aa 6 00106 6101 00 rtcd pr6|70 END PROCEDURE print_each_level BEGIN PROCEDURE name_on_list ENTRY TO name_on_list STATEMENT 1 ON LINE 258 name_on_list: proc (node_ptr, name_list_ptr) returns (bit (1)); 001201 aa 6 00132 6501 00 spri4 pr6|90 001202 aa 6 00134 2521 00 spri2 pr6|92 STATEMENT 1 ON LINE 268 do j = 1 to nnames; 001203 aa 6 00040 3735 20 epp7 pr6|32,* 001204 aa 7 00116 2361 00 ldq pr7|78 nnames 001205 aa 6 00141 7561 00 stq pr6|97 001206 aa 000001 2360 07 ldq 1,dl 001207 aa 6 00140 7561 00 stq pr6|96 j 001210 aa 6 00140 2361 00 ldq pr6|96 j 001211 aa 6 00141 1161 00 cmpq pr6|97 001212 aa 000032 6054 04 tpnz 26,ic 001244 STATEMENT 1 ON LINE 269 if ^name_list.array (j).flags.found then do; 001213 aa 000102 4020 07 mpy 66,dl 001214 aa 6 00134 3735 20 epp7 pr6|92,* 001215 aa 7 00004 3715 20 epp5 pr7|4,* name_list_ptr 001216 aa 5 00000 3715 20 epp5 pr5|0,* name_list_ptr 001217 aa 5 00101 2351 06 lda pr5|65,ql name_list.found 001220 aa 400000 3150 03 cana 131072,du 001221 aa 6 00326 7561 00 stq pr6|214 001222 aa 000020 6010 04 tnz 16,ic 001242 STATEMENT 1 ON LINE 271 if name_list.array (j).name = node_ptr -> variable_node.name then do; 001223 aa 5 00000 3535 06 epp3 pr5|0,ql name_list.name 001224 aa 7 00002 3515 20 epp1 pr7|2,* node_ptr 001225 aa 1 00000 3515 20 epp1 pr1|0,* node_ptr 001226 aa 1 00010 2351 00 lda pr1|8 variable_node.name_size 001227 aa 040 140 106 500 cmpc (pr),(pr,rl),fill(040) 001230 aa 3 00000 00 0400 desc9a pr3|0,256 name_list.name 001231 aa 1 00011 00 0005 desc9a pr1|9,al variable_node.name 001232 aa 000010 6010 04 tnz 8,ic 001242 STATEMENT 1 ON LINE 273 name_list.array (j).flags.found = "1"b; 001233 aa 400000 2350 03 lda 131072,du 001234 aa 5 00101 2551 06 orsa pr5|65,ql name_list.found STATEMENT 1 ON LINE 274 return ("1"b); 001235 aa 7 00006 3535 20 epp3 pr7|6,* 001236 aa 403 100 060 400 csl (),(pr),fill(1),bool(move) 001237 aa 000000 00 0000 descb 0,0 001240 aa 3 00000 00 0001 descb pr3|0,1 001241 aa 6 00132 6101 00 rtcd pr6|90 STATEMENT 1 ON LINE 275 end; STATEMENT 1 ON LINE 276 end; STATEMENT 1 ON LINE 277 end; 001242 aa 6 00140 0541 00 aos pr6|96 j 001243 aa 777745 7100 04 tra -27,ic 001210 STATEMENT 1 ON LINE 279 return ("0"b); 001244 aa 6 00134 3735 20 epp7 pr6|92,* 001245 aa 7 00006 3715 20 epp5 pr7|6,* 001246 aa 003 100 060 400 csl (),(pr),fill(0),bool(move) 001247 aa 000000 00 0000 descb 0,0 001250 aa 5 00000 00 0001 descb pr5|0,1 001251 aa 6 00132 6101 00 rtcd pr6|90 STATEMENT 1 ON LINE 281 end name_on_list; END PROCEDURE name_on_list BEGIN PROCEDURE print_it ENTRY TO print_it STATEMENT 1 ON LINE 288 print_it: proc (node_ptr); 001252 aa 6 00142 6501 00 spri4 pr6|98 001253 aa 6 00144 2521 00 spri2 pr6|100 STATEMENT 1 ON LINE 298 variable_ptr = node_ptr -> variable_node.vbl_ptr; 001254 aa 2 00002 3735 20 epp7 pr2|2,* node_ptr 001255 aa 7 00000 3735 20 epp7 pr7|0,* node_ptr 001256 aa 7 00004 3715 20 epp5 pr7|4,* variable_node.vbl_ptr 001257 aa 6 00160 6515 00 spri5 pr6|112 variable_ptr STATEMENT 1 ON LINE 299 if lgsw then do; 001260 aa 6 00040 3535 20 epp3 pr6|32,* 001261 aa 3 00114 2351 00 lda pr3|76 lgsw 001262 aa 000111 6000 04 tze 73,ic 001373 STATEMENT 1 ON LINE 301 call date_time_ (node_ptr -> variable_node.time_allocated, date); 001263 aa 7 00002 3521 00 epp2 pr7|2 variable_node.time_allocated 001264 aa 6 00332 2521 00 spri2 pr6|218 001265 aa 6 00150 3521 00 epp2 pr6|104 date 001266 aa 6 00334 2521 00 spri2 pr6|220 001267 aa 776637 3520 04 epp2 -609,ic 000126 = 410000000107 001270 aa 6 00336 2521 00 spri2 pr6|222 001271 aa 776634 3520 04 epp2 -612,ic 000125 = 526000000030 001272 aa 6 00340 2521 00 spri2 pr6|224 001273 aa 6 00330 6211 00 eax1 pr6|216 001274 aa 010000 4310 07 fld 4096,dl 001275 aa 6 00044 3701 20 epp4 pr6|36,* 001276 la 4 00022 3521 20 epp2 pr4|18,* date_time_ 001277 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 302 init_ptr = node_ptr -> variable_node.init_ptr; 001300 aa 6 00144 3735 20 epp7 pr6|100,* 001301 aa 7 00002 3715 20 epp5 pr7|2,* node_ptr 001302 aa 5 00000 3715 20 epp5 pr5|0,* node_ptr 001303 aa 5 00006 3535 20 epp3 pr5|6,* variable_node.init_ptr 001304 aa 6 00156 2535 00 spri3 pr6|110 init_ptr STATEMENT 1 ON LINE 304 call ioa_ (IOA_CONTROL (bin ((node_ptr -> variable_node.name_size > 31), 1)), node_ptr -> variable_node.name, fixed (baseno (variable_ptr), 15), bin (rel (variable_ptr), 18), node_ptr -> variable_node.vbl_size, substr (date, 1, 16), init_ptr); 001305 aa 5 00010 2361 00 ldq pr5|8 variable_node.name_size 001306 aa 524000 2760 03 orq 174080,du 001307 aa 6 00327 7561 00 stq pr6|215 001310 aa 5 00010 2361 00 ldq pr5|8 variable_node.name_size 001311 aa 000037 1160 07 cmpq 31,dl 001312 aa 0 00503 7001 00 tsx0 pr0|323 r_g_a 001313 aa 000107 7730 00 lrl 71 001314 aa 000011 4020 07 mpy 9,dl 001315 aa 000000 6270 06 eax7 0,ql 001316 aa 6 00160 2131 20 epaq pr6|112,* variable_ptr 001317 aa 077777 3750 03 ana 32767,du 001320 aa 000066 7730 00 lrl 54 001321 aa 6 00342 7561 00 stq pr6|226 001322 aa 6 00160 6351 20 eaa pr6|112,* variable_ptr 001323 aa 000066 7730 00 lrl 54 001324 aa 6 00344 7561 00 stq pr6|228 001325 aa 6 00150 2371 00 ldaq pr6|104 date 001326 aa 6 00330 7571 00 staq pr6|216 001327 aa 6 00152 2371 00 ldaq pr6|106 date 001330 aa 6 00332 7571 00 staq pr6|218 001331 ta 000001 3520 17 epp2 1,7 001332 aa 6 00350 2521 00 spri2 pr6|232 001333 aa 5 00011 3521 00 epp2 pr5|9 variable_node.name 001334 aa 6 00352 2521 00 spri2 pr6|234 001335 aa 6 00342 3521 00 epp2 pr6|226 001336 aa 6 00354 2521 00 spri2 pr6|236 001337 aa 6 00344 3521 00 epp2 pr6|228 001340 aa 6 00356 2521 00 spri2 pr6|238 001341 aa 5 00001 3521 00 epp2 pr5|1 variable_node.vbl_size 001342 aa 6 00360 2521 00 spri2 pr6|240 001343 aa 6 00330 3521 00 epp2 pr6|216 001344 aa 6 00362 2521 00 spri2 pr6|242 001345 aa 6 00156 3521 00 epp2 pr6|110 init_ptr 001346 aa 6 00364 2521 00 spri2 pr6|244 001347 aa 776555 3520 04 epp2 -659,ic 000124 = 530000000036 001350 aa 6 00366 2521 00 spri2 pr6|246 001351 aa 6 00327 3521 00 epp2 pr6|215 001352 aa 6 00370 2521 00 spri2 pr6|248 001353 aa 776550 3520 04 epp2 -664,ic 000123 = 404000000017 001354 aa 6 00372 2521 00 spri2 pr6|250 001355 aa 776545 3520 04 epp2 -667,ic 000122 = 404000000022 001356 aa 6 00374 2521 00 spri2 pr6|252 001357 aa 776542 3520 04 epp2 -670,ic 000121 = 606000000030 001360 aa 6 00376 2521 00 spri2 pr6|254 001361 aa 776537 3520 04 epp2 -673,ic 000120 = 524000000020 001362 aa 6 00400 2521 00 spri2 pr6|256 001363 aa 776564 3520 04 epp2 -652,ic 000147 = 464000000000 001364 aa 6 00402 2521 00 spri2 pr6|258 001365 aa 6 00346 6211 00 eax1 pr6|230 001366 aa 034000 4310 07 fld 14336,dl 001367 aa 6 00044 3701 20 epp4 pr6|36,* 001370 la 4 00012 3521 20 epp2 pr4|10,* ioa_ 001371 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 307 end; 001372 aa 000052 7100 04 tra 42,ic 001444 STATEMENT 1 ON LINE 309 else call ioa_ (IOA_CONTROL (bin ((node_ptr -> variable_node.name_size > 31), 1) + 2), node_ptr -> variable_node.name, fixed (baseno (variable_ptr), 15), bin (rel (variable_ptr), 18), node_ptr -> variable_node.vbl_size); 001373 aa 7 00010 2361 00 ldq pr7|8 variable_node.name_size 001374 aa 524000 2760 03 orq 174080,du 001375 aa 6 00327 7561 00 stq pr6|215 001376 aa 7 00010 2361 00 ldq pr7|8 variable_node.name_size 001377 aa 000037 1160 07 cmpq 31,dl 001400 aa 0 00503 7001 00 tsx0 pr0|323 r_g_a 001401 aa 000107 7730 00 lrl 71 001402 aa 000011 4020 07 mpy 9,dl 001403 aa 000000 6270 06 eax7 0,ql 001404 aa 5 00000 2131 00 epaq pr5|0 variable_ptr 001405 aa 077777 3750 03 ana 32767,du 001406 aa 000066 7730 00 lrl 54 001407 aa 6 00344 7561 00 stq pr6|228 001410 aa 5 00000 6351 00 eaa pr5|0 variable_ptr 001411 aa 000066 7730 00 lrl 54 001412 aa 6 00343 7561 00 stq pr6|227 001413 ta 000023 3520 17 epp2 19,7 001414 aa 6 00350 2521 00 spri2 pr6|232 001415 aa 7 00011 3521 00 epp2 pr7|9 variable_node.name 001416 aa 6 00352 2521 00 spri2 pr6|234 001417 aa 6 00344 3521 00 epp2 pr6|228 001420 aa 6 00354 2521 00 spri2 pr6|236 001421 aa 6 00343 3521 00 epp2 pr6|227 001422 aa 6 00356 2521 00 spri2 pr6|238 001423 aa 7 00001 3521 00 epp2 pr7|1 variable_node.vbl_size 001424 aa 6 00360 2521 00 spri2 pr6|240 001425 aa 776477 3520 04 epp2 -705,ic 000124 = 530000000036 001426 aa 6 00362 2521 00 spri2 pr6|242 001427 aa 6 00327 3521 00 epp2 pr6|215 001430 aa 6 00364 2521 00 spri2 pr6|244 001431 aa 776472 3520 04 epp2 -710,ic 000123 = 404000000017 001432 aa 6 00366 2521 00 spri2 pr6|246 001433 aa 776467 3520 04 epp2 -713,ic 000122 = 404000000022 001434 aa 6 00370 2521 00 spri2 pr6|248 001435 aa 776464 3520 04 epp2 -716,ic 000121 = 606000000030 001436 aa 6 00372 2521 00 spri2 pr6|250 001437 aa 6 00346 6211 00 eax1 pr6|230 001440 aa 024000 4310 07 fld 10240,dl 001441 aa 6 00044 3701 20 epp4 pr6|36,* 001442 la 4 00012 3521 20 epp2 pr4|10,* ioa_ 001443 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 312 return; 001444 aa 6 00142 6101 00 rtcd pr6|98 STATEMENT 1 ON LINE 314 end print_it; END PROCEDURE print_it BEGIN PROCEDURE process_args ENTRY TO process_args STATEMENT 1 ON LINE 321 process_args: procedure (name_list_ptr); 001445 aa 6 00162 6501 00 spri4 pr6|114 001446 aa 6 00164 2521 00 spri2 pr6|116 STATEMENT 1 ON LINE 330 if num_of_args > 0 then do i = 1 to num_of_args; 001447 aa 6 00040 3735 20 epp7 pr6|32,* 001450 aa 7 00115 2361 00 ldq pr7|77 num_of_args 001451 aa 000461 6044 04 tmoz 305,ic 002132 001452 aa 6 00171 7561 00 stq pr6|121 001453 aa 000001 2360 07 ldq 1,dl 001454 aa 6 00170 7561 00 stq pr6|120 i 001455 aa 000000 0110 03 nop 0,du 001456 aa 6 00170 2361 00 ldq pr6|120 i 001457 aa 6 00171 1161 00 cmpq pr6|121 001460 aa 000452 6054 04 tpnz 298,ic 002132 STATEMENT 1 ON LINE 332 call cu_$arg_ptr_rel (i, arg_ptr, arg_length, code, arg_list_ptr); 001461 aa 6 00170 3521 00 epp2 pr6|120 i 001462 aa 6 00406 2521 00 spri2 pr6|262 001463 aa 6 00040 3735 20 epp7 pr6|32,* 001464 aa 7 00100 3521 00 epp2 pr7|64 arg_ptr 001465 aa 6 00410 2521 00 spri2 pr6|264 001466 aa 7 00104 3521 00 epp2 pr7|68 arg_length 001467 aa 6 00412 2521 00 spri2 pr6|266 001470 aa 7 00105 3521 00 epp2 pr7|69 code 001471 aa 6 00414 2521 00 spri2 pr6|268 001472 aa 7 00102 3521 00 epp2 pr7|66 arg_list_ptr 001473 aa 6 00416 2521 00 spri2 pr6|270 001474 aa 6 00404 6211 00 eax1 pr6|260 001475 aa 024000 4310 07 fld 10240,dl 001476 aa 6 00044 3701 20 epp4 pr6|36,* 001477 la 4 00016 3521 20 epp2 pr4|14,* cu_$arg_ptr_rel 001500 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 333 if code ^= 0 then do; 001501 aa 6 00040 3735 20 epp7 pr6|32,* 001502 aa 7 00105 2361 00 ldq pr7|69 code 001503 aa 000030 6000 04 tze 24,ic 001533 STATEMENT 1 ON LINE 335 call com_err_ (code, ME, arg); 001504 aa 7 00104 2361 00 ldq pr7|68 arg_length 001505 aa 526000 2760 03 orq 175104,du 001506 aa 6 00420 7561 00 stq pr6|272 001507 aa 7 00105 3521 00 epp2 pr7|69 code 001510 aa 6 00424 2521 00 spri2 pr6|276 001511 aa 776370 3520 04 epp2 -776,ic 000101 = 154151163164 001512 aa 6 00426 2521 00 spri2 pr6|278 001513 aa 7 00100 3521 20 epp2 pr7|64,* arg 001514 aa 6 00430 2521 00 spri2 pr6|280 001515 aa 776417 3520 04 epp2 -753,ic 000134 = 404000000043 001516 aa 6 00432 2521 00 spri2 pr6|282 001517 aa 776425 3520 04 epp2 -747,ic 000144 = 524000000023 001520 aa 6 00434 2521 00 spri2 pr6|284 001521 aa 6 00420 3521 00 epp2 pr6|272 001522 aa 6 00436 2521 00 spri2 pr6|286 001523 aa 6 00422 6211 00 eax1 pr6|274 001524 aa 014000 4310 07 fld 6144,dl 001525 aa 6 00044 3701 20 epp4 pr6|36,* 001526 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 001527 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 336 goto EXIT; 001530 aa 777132 3520 04 epp2 -422,ic 000662 = 000631710100 001531 aa 000001 7270 07 lxl7 1,dl 001532 aa 0 00657 7101 00 tra pr0|431 tra_ext_1 STATEMENT 1 ON LINE 337 end; STATEMENT 1 ON LINE 339 else if index (arg, "-") = 1 then do; 001533 aa 7 00100 3715 20 epp5 pr7|64,* arg_ptr 001534 aa 7 00104 7271 00 lxl7 pr7|68 arg_length 001535 aa 000 003 124 540 scm (pr,rl),(du),mask(000) 001536 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001537 aa 055000 00 0001 desc9a 23040,1 001540 aa 6 00056 0001 00 arg pr6|46 001541 aa 6 00056 2361 00 ldq pr6|46 001542 aa 000002 6070 04 ttf 2,ic 001544 001543 aa 000001 3360 07 lcq 1,dl 001544 aa 000001 0760 07 adq 1,dl 001545 aa 000001 1160 07 cmpq 1,dl 001546 aa 000342 6010 04 tnz 226,ic 002110 STATEMENT 1 ON LINE 342 if (arg = "-long") | (arg = "-lg") then lgsw = "1"b; 001547 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001550 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001551 aa 776411 00 0005 desc9a -759,5 000160 = 055154157156 001552 aa 000005 6000 04 tze 5,ic 001557 001553 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001554 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001555 aa 776343 00 0003 desc9a -797,3 000116 = 055154147000 001556 aa 000004 6010 04 tnz 4,ic 001562 001557 aa 400000 2350 03 lda 131072,du 001560 aa 7 00114 7551 00 sta pr7|76 lgsw 001561 aa 000347 7100 04 tra 231,ic 002130 STATEMENT 1 ON LINE 345 else if (arg = "-brief") | (arg = "-bf") then lgsw = "0"b; 001562 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001563 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001564 aa 776374 00 0006 desc9a -772,6 000156 = 055142162151 001565 aa 000005 6000 04 tze 5,ic 001572 001566 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001567 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001570 aa 776327 00 0003 desc9a -809,3 000115 = 055142146000 001571 aa 000003 6010 04 tnz 3,ic 001574 001572 aa 7 00114 4501 00 stz pr7|76 lgsw 001573 aa 000335 7100 04 tra 221,ic 002130 STATEMENT 1 ON LINE 348 else if (arg = "-all") | (arg = "-a") then do; 001574 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001575 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001576 aa 776320 00 0004 desc9a -816,4 000114 = 055141154154 001577 aa 000005 6000 04 tze 5,ic 001604 001600 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001601 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001602 aa 000600 00 0002 desc9a 384,2 002400 = 055141000000 001603 aa 000014 6010 04 tnz 12,ic 001617 STATEMENT 1 ON LINE 350 start = 0; 001604 aa 7 00122 4501 00 stz pr7|82 start STATEMENT 1 ON LINE 351 finish = heap_manager_$get_heap_level (sb); 001605 aa 7 00124 3521 00 epp2 pr7|84 sb 001606 aa 6 00406 2521 00 spri2 pr6|262 001607 aa 7 00107 3521 00 epp2 pr7|71 finish 001610 aa 6 00410 2521 00 spri2 pr6|264 001611 aa 6 00404 6211 00 eax1 pr6|260 001612 aa 010000 4310 07 fld 4096,dl 001613 aa 6 00044 3701 20 epp4 pr6|36,* 001614 la 4 00030 3521 20 epp2 pr4|24,* heap_manager_$get_heap_level 001615 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 352 end; 001616 aa 000312 7100 04 tra 202,ic 002130 STATEMENT 1 ON LINE 354 else if (arg = "-no_header") | (arg = "-nhe") then hdrsw = "0"b; 001617 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001620 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001621 aa 776350 00 0012 desc9a -792,10 000167 = 055156157137 001622 aa 000005 6000 04 tze 5,ic 001627 001623 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001624 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001625 aa 776270 00 0004 desc9a -840,4 000113 = 055156150145 001626 aa 000003 6010 04 tnz 3,ic 001631 001627 aa 7 00112 4501 00 stz pr7|74 hdrsw 001630 aa 000300 7100 04 tra 192,ic 002130 STATEMENT 1 ON LINE 357 else if (arg = "-header") | (arg = "-he") then hdrsw = "1"b; 001631 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001632 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001633 aa 776323 00 0007 desc9a -813,7 000154 = 055150145141 001634 aa 000005 6000 04 tze 5,ic 001641 001635 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001636 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001637 aa 776255 00 0003 desc9a -851,3 000112 = 055150145000 001640 aa 000004 6010 04 tnz 4,ic 001644 001641 aa 400000 2350 03 lda 131072,du 001642 aa 7 00112 7551 00 sta pr7|74 hdrsw 001643 aa 000265 7100 04 tra 181,ic 002130 STATEMENT 1 ON LINE 360 else if arg = "-to" then do; 001644 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001645 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001646 aa 776245 00 0003 desc9a -859,3 000111 = 055164157000 001647 aa 000101 6010 04 tnz 65,ic 001750 STATEMENT 1 ON LINE 362 i = i + 1; 001650 aa 6 00170 0541 00 aos pr6|120 i STATEMENT 1 ON LINE 363 call cu_$arg_ptr_rel (i, arg_ptr, arg_length, code, arg_list_ptr); 001651 aa 6 00170 3521 00 epp2 pr6|120 i 001652 aa 6 00406 2521 00 spri2 pr6|262 001653 aa 7 00100 3521 00 epp2 pr7|64 arg_ptr 001654 aa 6 00410 2521 00 spri2 pr6|264 001655 aa 7 00104 3521 00 epp2 pr7|68 arg_length 001656 aa 6 00412 2521 00 spri2 pr6|266 001657 aa 7 00105 3521 00 epp2 pr7|69 code 001660 aa 6 00414 2521 00 spri2 pr6|268 001661 aa 7 00102 3521 00 epp2 pr7|66 arg_list_ptr 001662 aa 6 00416 2521 00 spri2 pr6|270 001663 aa 6 00404 6211 00 eax1 pr6|260 001664 aa 024000 4310 07 fld 10240,dl 001665 aa 6 00044 3701 20 epp4 pr6|36,* 001666 la 4 00016 3521 20 epp2 pr4|14,* cu_$arg_ptr_rel 001667 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 364 if (verify (arg, "0123456789") ^= 0) | (code ^= 0) then do; 001670 aa 6 00040 3735 20 epp7 pr6|32,* 001671 aa 7 00100 3715 20 epp5 pr7|64,* arg_ptr 001672 aa 7 00104 7271 00 lxl7 pr7|68 arg_length 001673 aa 000 000 164 540 tct (pr,rl) 001674 aa 5 00000 00 0017 desc9a pr5|0,x7 arg 001675 aa 000277 0000 04 arg 191,ic 002172 = 777777777777 001676 aa 6 00056 0001 00 arg pr6|46 001677 aa 6 00056 2361 00 ldq pr6|46 001700 aa 0 00242 3761 00 anq pr0|162 = 000777777777 001701 aa 000002 6070 04 ttf 2,ic 001703 001702 aa 000001 3360 07 lcq 1,dl 001703 aa 000001 0760 07 adq 1,dl 001704 aa 000003 6010 04 tnz 3,ic 001707 001705 aa 7 00105 2361 00 ldq pr7|69 code 001706 aa 000031 6000 04 tze 25,ic 001737 STATEMENT 1 ON LINE 366 call com_err_ (0, ME, "Numeric operand of -to is missing."); 001707 aa 6 00420 4501 00 stz pr6|272 001710 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001711 aa 776272 00 0044 desc9a -838,36 000202 = 116165155145 001712 aa 6 00404 00 0044 desc9a pr6|260,36 001713 aa 6 00420 3521 00 epp2 pr6|272 001714 aa 6 00424 2521 00 spri2 pr6|276 001715 aa 776164 3520 04 epp2 -908,ic 000101 = 154151163164 001716 aa 6 00426 2521 00 spri2 pr6|278 001717 aa 6 00404 3521 00 epp2 pr6|260 001720 aa 6 00430 2521 00 spri2 pr6|280 001721 aa 776224 3520 04 epp2 -876,ic 000145 = 404000000005 001722 aa 6 00432 2521 00 spri2 pr6|282 001723 aa 776221 3520 04 epp2 -879,ic 000144 = 524000000023 001724 aa 6 00434 2521 00 spri2 pr6|284 001725 aa 776163 3520 04 epp2 -909,ic 000110 = 524000000042 001726 aa 6 00436 2521 00 spri2 pr6|286 001727 aa 6 00422 6211 00 eax1 pr6|274 001730 aa 014000 4310 07 fld 6144,dl 001731 aa 6 00044 3701 20 epp4 pr6|36,* 001732 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 001733 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 367 goto EXIT; 001734 aa 776726 3520 04 epp2 -554,ic 000662 = 000631710100 001735 aa 000001 7270 07 lxl7 1,dl 001736 aa 0 00657 7101 00 tra pr0|431 tra_ext_1 STATEMENT 1 ON LINE 368 end; STATEMENT 1 ON LINE 369 finish = convert (finish, arg); 001737 aa 5 00000 3535 00 epp3 pr5|0 arg 001740 aa 7 00104 2361 00 ldq pr7|68 arg_length 001741 aa 000053 7270 07 lxl7 43,dl@df2~2r;r(0"J@z=LSwXd\-f&H & $0>JRdf&dgD7zzar archfile_index dgD}7Gw$^a@dfB*dg0EngAdmin dfB4*dgDGHowe df=Multics dfSysDaemon df^*@dgz*dfJr&Qc&acomm Q Z&a~2rdf*@"*@4Luk dfL&Mabey df*dg&/D8RR&aJ-archfile_dir_listing /D}2GQ $p&a)df&*@/*@/xp*/&*@& }Qca.review_papers  }Q2wa~2rdf*@ }*@}}J&cQc&amanuals cQ2 #&a~2rdf*@c*@c&*@cB&_Qc  &aintro _Q2 q *&a~2rdf:*@_: &*@_*2*@_&%QcJJ&aB(mtgs %Ry0 ah&a~2rdfp*@%hx*@%p&*@%&Lee df*@c"LMiko df*@bB&}}Qc>&a>7required_reading }}Qz &a~2rdf*@}}*@}}&*@}}*@ }ZL0*@*@df*@c2*@_x*@%*@Wong dfCDC df$rr }}4McRory df*@&}D9jjabinstall_plus_packet }D}FGw$Zadf*}Z*}*@}b&}D:atemplate1.compin }D}NG2 c$b&adf*}b*}*@}&}D<a6template2.compin }D}QGL$ja df*}j*} *@}&}D=$$aEXAMPLE.compin }D}+G ~$B&a0dfR&*}r*} B*}*}*} *}J *@}*df*@ }*@ }+rp  }&$CQca zhardcore $CQ a~2rdf*@$C*@$C&*@$C,hc $Cjfilesys $C*@$C*@$CrR*}VNL0*4 Gray df&4Qc00L0a( communications 4Q NVL0a~2rdf*@4*4*dgCI&afkermit_stuff ::$&a&df*}*}x*/*}(&::D>&akermit_sun2cp6 ::D}JG2$&aTKdf*@::&*::*::*::J*}*::a@4Schroth df0623 7001 00 tsx0 pr0|403 call_ext_out 002152 aa 000002 7100 04 tra 2,ic 002154 STATEMENT 1 ON LINE 407 else start = 0; 002153 aa 7 00122 4501 00 stz pr7|82 start STATEMENT 1 ON LINE 408 end; STATEMENT 1 ON LINE 409 if finish = -1 then finish = heap_manager_$get_heap_level (sb); 002154 aa 6 00040 3735 20 epp7 pr6|32,* 002155 aa 7 00107 2361 00 ldq pr7|71 finish 002156 aa 000223 1160 04 cmpq 147,ic 002401 = 777777777777 002157 aa 000012 6010 04 tnz 10,ic 002171 002160 aa 7 00124 3521 00 epp2 pr7|84 sb 002161 aa 6 00406 2521 00 spri2 pr6|262 002162 aa 7 00107 3521 00 epp2 pr7|71 finish 002163 aa 6 00410 2521 00 spri2 pr6|264 002164 aa 6 00404 6211 00 eax1 pr6|260 002165 aa 010000 4310 07 fld 4096,dl 002166 aa 6 00044 3701 20 epp4 pr6|36,* 002167 la 4 00030 3521 20 epp2 pr4|24,* heap_manager_$get_heap_level 002170 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 412 end process_args; 002171 aa 6 00162 6101 00 rtcd pr6|114 END PROCEDURE process_args END PROCEDURE lhv