COMPILATION LISTING OF SEGMENT where Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/20/86 1157.9 mst Thu Options: optimize list 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 12 13 /****^ HISTORY COMMENTS: 14* 1) change(86-05-02,Elhard), approve(86-05-02,MCR7391), 15* audit(86-09-04,DGHowe), install(86-11-20,MR12.0-1222): 16* Modified to find object MSFs when searching manually and to properly 17* display pathnames for MSF targets. 18* END HISTORY COMMENTS */ 19 20 21 where: wh: procedure options (variable); 22 23 /* This command prints the primary pathname of the first segment or 24* entry point with a given name found using the object segment search rules. 25* 26* Usage: 27* where names -control_args- 28* 29* where control_args are: 30* 31* -all, -a list all segments or entry points in the search path. 32* -inhibit_error, -ihe supress error message when segment not found and returns null string as AF. 33* -entry_point, -ep look for name$name when name does not contain a $. 34* -segment, -sm, -file look for the file named name even if name contains a $. 35* 36* The default is to look for an entry point if name contains a $, file otherwise. 37* 38* Usage as an active function: 39* 40* [where name -control_arg-] 41* 42* where control_arg is either -entry_point (-ep) or -file (-segment, -sm). 43**/ 44 /* Written 3/5/76 by Steve Herbst */ 45 /* Entry point feature added 12/3/76 by S. Herbst */ 46 /* fixed to show orig not copy if uninitiated seg has copysw on 03/20/80 S. Herbst */ 47 /* Modified: 06/06/80, W. Olin Sibert, to add where -brief */ 48 /* Fixed to work on gates 07/15/81 S. Herbst */ 49 /* Fixed bugs and made -brief -all work 10/06/82 S. Herbst */ 50 51 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 52 53 2 1 declare /* Structure returned by hcs_$status_long */ 2 2 2 3 1 branch_status aligned, /* automatic: hcs_$status uses a pointer */ 2 4 2 5 2 type bit(2) unaligned, /* type of entry: link, segment, dir */ 2 6 2 number_names bit(16) unaligned, /* unused by directory_status_ */ 2 7 2 names_rel_pointer bit(18) unaligned, /* unused by directory_status_ */ 2 8 2 date_time_modified bit(36) unaligned, /* date time modified */ 2 9 2 date_time_used bit(36) unaligned, /* date time entry used */ 2 10 2 mode bit(5) unaligned, /* effective access of caller */ 2 11 2 raw_mode bit(5) unaligned, 2 12 2 pad1 bit(8) unaligned, 2 13 2 records bit(18) unaligned, /* number of records in use */ 2 14 2 date_time_dumped bit(36) unaligned, /* date time last dumped */ 2 15 2 date_time_entry_modified bit(36) unaligned, /* date time entry modified */ 2 16 2 lvid bit(36) unaligned, /* logical volume id */ 2 17 2 current_length bit(12) unaligned, /* number of blocks currently allocated */ 2 18 2 bit_count bit(24) unaligned, /* bit count of entry */ 2 19 2 pad3 bit(8) unaligned, 2 20 2 copy_switch bit(1) unaligned, /* the copy switch */ 2 21 2 tpd bit(1) unaligned, /* transparent to paging device */ 2 22 2 mdir bit(1) unaligned, /* master directory switch */ 2 23 2 damaged_switch bit (1) unaligned, /* true if contents damaged */ 2 24 2 synchronized_switch bit (1) unaligned, /* true if a DM synchronized file */ 2 25 2 pad4 bit(5) unaligned, 2 26 2 ring_brackets (0:2) bit(6) unaligned, /* branch ring brackets */ 2 27 2 unique_id bit(36) unaligned, /* entry unique id */ 2 28 2 29 2 30 /* The types of each class of branch */ 2 31 segment_type bit(2) aligned internal static initial ("01"b), 2 32 directory_type bit(2) aligned internal static initial ("10"b), 2 33 msf_type bit(2) aligned internal static initial ("10"b), /* will eventually be different */ 2 34 link_type bit(2) aligned internal static initial ("00"b); 2 35 2 36 54 55 3 1 /* BEGIN INCLUDE FILE ... object_info.incl.pl1 3 2*coded February 8, 1972 by Michael J. Spier */ 3 3 /* modified May 26, 1972 by M. Weaver */ 3 4 /* modified 15 April, 1975 by M. Weaver */ 3 5 3 6 declare 1 object_info aligned based, /* structure containing object info based, returned by object_info_ */ 3 7 2 version_number fixed bin, /* version number of current structure format (=2) */ 3 8 2 textp pointer, /* pointer to beginning of text section */ 3 9 2 defp pointer, /* pointer to beginning of definition section */ 3 10 2 linkp pointer, /* pointer to beginning of linkage section */ 3 11 2 statp pointer, /* pointer to beginning of static section */ 3 12 2 symbp pointer, /* pointer to beginning of symbol section */ 3 13 2 bmapp pointer, /* pointer to beginning of break map (may be null) */ 3 14 2 tlng fixed bin, /* length in words of text section */ 3 15 2 dlng fixed bin, /* length in words of definition section */ 3 16 2 llng fixed bin, /* length in words of linkage section */ 3 17 2 ilng fixed bin, /* length in words of static section */ 3 18 2 slng fixed bin, /* length in words of symbol section */ 3 19 2 blng fixed bin, /* length in words of break map */ 3 20 2 format, /* word containing bit flags about object type */ 3 21 3 old_format bit(1) unaligned, /* on if segment isn't in new format, i.e. has old style object map */ 3 22 3 bound bit(1) unaligned, /* on if segment is bound */ 3 23 3 relocatable bit(1) unaligned, /* on if seg has relocation info in its first symbol block */ 3 24 3 procedure bit(1) unaligned, /* on if segment is an executable object program */ 3 25 3 standard bit(1) unaligned, /* on if seg is in standard format (more than just standard map) */ 3 26 3 gate bit(1) unaligned, /* on if segment is a gate */ 3 27 3 separate_static bit(1) unaligned, /* on if static not in linkage */ 3 28 3 links_in_text bit(1) unaligned, /* on if there are threaded links in text */ 3 29 3 perprocess_static bit (1) unaligned, /* on if static is not to be per run unit */ 3 30 3 pad bit(27) unaligned, 3 31 2 entry_bound fixed bin, /* entry bound if segment is a gate */ 3 32 2 textlinkp pointer, /* ptr to first link in text */ 3 33 3 34 /* LIMIT OF BRIEF STRUCTURE */ 3 35 3 36 2 compiler char(8) aligned, /* name of processor which generated segment */ 3 37 2 compile_time fixed bin(71), /* clock reading of date/time object was generated */ 3 38 2 userid char(32) aligned, /* standard Multics id of creator of object segment */ 3 39 2 cvers aligned, /* generator version name in printable char string form */ 3 40 3 offset bit(18) unaligned, /* offset of name in words relative to base of symbol section */ 3 41 3 length bit(18) unaligned, /* length of name in characters */ 3 42 2 comment aligned, /* printable comment concerning generator or generation of segment */ 3 43 3 offset bit(18) unaligned, /* offset of comment in words relative to base of symbol section */ 3 44 3 length bit(18) unaligned, /* length of comment in characters */ 3 45 2 source_map fixed bin, /* offset, relative to base of symbol section, of source map structure */ 3 46 3 47 /* LIMIT OF DISPLAY STRUCTURE */ 3 48 3 49 2 rel_text pointer, /* pointer to text section relocation info */ 3 50 2 rel_def pointer, /* pointer to definition section relocation info */ 3 51 2 rel_link pointer, /* pointer to linkage section relocation info */ 3 52 2 rel_static pointer, /* pointer to static section relocation info */ 3 53 2 rel_symbol pointer, /* pointer to symbol section relocation info */ 3 54 2 text_boundary fixed bin, /* specifies mod of text section base boundary */ 3 55 2 static_boundary fixed bin, /* specifies mod of internal static base boundary */ 3 56 /* currently not used by system */ 3 57 2 default_truncate fixed bin, /* offset rel to symbp for binder to automatically trunc. symb sect. */ 3 58 2 optional_truncate fixed bin; /* offset rel to symbp for binder to optionally trunc. symb sect. */ 3 59 3 60 declare object_info_version_2 fixed bin int static init(2); 3 61 3 62 /* END INCLUDE FILE ... object_info.incl.pl1 */ 56 57 dcl 1 obj_info like object_info; 58 59 dcl refnames (32) char (168); 60 61 dcl 1 search_rules aligned, /* from hcs_$get_search_rules */ 62 2 rule_count fixed bin, 63 2 rule (21) char (168); 64 65 dcl 1 search_dirs (21), /* directories to search through */ 66 2 dir char (168), 67 2 uid bit (36), 68 2 rule_number fixed bin; 69 70 dcl area area based (area_ptr); 71 72 dcl arg char (arg_len) based (arg_ptr); 73 dcl return_arg char (return_len) varying based (return_ptr); /* if called as active function */ 74 dcl primary_name char (32) aligned based; 75 dcl (dn, entry_point_name, name) char (168); 76 dcl (en, unique_name) char (32); 77 dcl out_str char (256); 78 dcl type fixed bin (2); 79 80 dcl (af_sw, all_sw, brief_sw, long_sw, all_entry_points, all_segments, entry_point, inhibit_error, printed_sw, 81 search_manually, some_output, some_segs, terminate, try_initiated_segs, dir_found) bit (1) aligned; 82 83 dcl (area_ptr, arg_ptr, entry_point_ptr, names_ptr, return_ptr, seg_ptr) ptr; 84 85 dcl fmode fixed bin (5); 86 dcl (arg_count, arg_len, dir_count, refname_count, return_len) fixed bin; 87 dcl (argno, dir_idx, idx, refname_idx, uid_idx) fixed bin; 88 dcl bit_count fixed bin (24); 89 dcl code fixed bin (35); 90 91 dcl (error_table_$badopt, 92 error_table_$inconsistent, 93 error_table_$dirseg, 94 error_table_$no_dir, 95 error_table_$no_s_permission, 96 error_table_$noentry, 97 error_table_$entlong, 98 error_table_$not_act_fnc) fixed bin (35) external static; 99 100 dcl complain entry variable options (variable); /* com_err_ or active_fnc_err_ */ 101 dcl get_arg variable entry (fixed bin, ptr, fixed bin, fixed bin (35)); 102 103 dcl active_fnc_err_ entry options (variable); 104 dcl com_err_ entry options (variable); 105 dcl cu_$af_arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 106 dcl cu_$af_return_arg entry (fixed bin, ptr, fixed bin, fixed bin (35)); 107 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin, fixed bin (35)); 108 dcl expand_pathname_ entry (char(*), char(*), char(*), fixed bin(35)); 109 dcl get_definition_ entry (ptr, char (*), char (*), ptr, fixed bin (35)); 110 dcl get_system_free_area_ entry returns (ptr); 111 dcl get_wdir_ entry returns (char (168)); 112 dcl hcs_$fs_get_mode entry (ptr, fixed bin (5), fixed bin (35)); 113 dcl hcs_$fs_get_path_name entry (ptr, char (*), fixed bin, char (*), fixed bin (35)); 114 dcl hcs_$get_search_rules entry (ptr); 115 dcl hcs_$fs_get_seg_ptr entry (char (*), ptr, fixed bin (35)); 116 dcl hcs_$initiate entry (char (*), char (*), char (*), fixed bin (1), fixed bin (2), ptr, fixed bin (35)); 117 dcl hcs_$make_ptr entry (ptr, char (*), char (*), ptr, fixed bin (35)); 118 dcl hcs_$status_ entry (char (*), char (*), fixed bin (1), ptr, ptr, fixed bin (35)); 119 dcl hcs_$status_long entry (char (*), char (*), fixed bin (1), ptr, ptr, fixed bin (35)); 120 dcl hcs_$status_minf entry (char(*), char(*), fixed bin(1), fixed bin(2), fixed bin(24), fixed bin(35)); 121 dcl hcs_$status_mins entry (ptr, fixed bin(2), fixed bin(24), fixed bin(35)); 122 dcl hcs_$terminate_name entry (char (*), fixed bin (35)); 123 dcl hcs_$terminate_noname entry (ptr, fixed bin (35)); 124 dcl ioa_ entry options (variable); 125 dcl ioa_$rsnnl entry options (variable); 126 dcl ioa_$nnl entry options (variable); 127 dcl object_info_$brief entry (ptr, fixed bin (24), ptr, fixed bin (35)); 128 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 129 dcl unique_chars_ entry (bit (*)) returns (char (15)); 130 131 dcl WHOAMI char (32) internal static options (constant) init ("where"); 132 133 dcl cleanup condition; 134 135 dcl (addr, bit, char, hbound, index, length, null, ptr, rtrim, substr) builtin; 136 137 /* */ 138 139 all_sw, all_entry_points, all_segments, brief_sw = "0"b; 140 inhibit_error, long_sw, search_manually, some_output = "0"b; 141 names_ptr = null (); 142 area_ptr = get_system_free_area_ (); 143 144 call cu_$af_return_arg (arg_count, return_ptr, return_len, code); 145 if code = error_table_$not_act_fnc then do; 146 af_sw = "0"b; 147 complain = com_err_; 148 get_arg = cu_$arg_ptr; 149 end; 150 else do; 151 af_sw = "1"b; 152 complain = active_fnc_err_; 153 get_arg = cu_$af_arg_ptr; 154 return_arg = ""; 155 end; 156 157 if arg_count = 0 then do; 158 USAGE: if af_sw then call active_fnc_err_ (0, WHOAMI, "Usage: [^a refname {-control_args}]", WHOAMI); 159 else call com_err_ (0, WHOAMI, "Usage: ^a refnames {-control_args}", WHOAMI); 160 goto MAIN_RETURN; 161 end; 162 163 on condition (cleanup) call clean_up; 164 165 refname_count = 0; 166 167 do argno = 1 to arg_count; 168 call get_arg (argno, arg_ptr, arg_len, code); 169 170 if char (arg, 1) ^= "-" then do; /* a refname we should locate */ 171 refname_count = refname_count+1; 172 if refname_count > hbound (refnames, 1) then do; 173 call complain (0, WHOAMI, "Too many reference names specified. Max is ^d.", 174 hbound (refnames, 1)); 175 goto MAIN_RETURN; 176 end; 177 178 refnames (refname_count) = arg; 179 end; 180 181 else if (arg = "-all" | arg = "-a") then 182 if af_sw then do; 183 AF_BAD_OPT: 184 call complain (0, WHOAMI, "Control arg not allowed for the active function. ^a", arg); 185 return; 186 end; 187 else all_sw = "1"b; 188 189 else if (arg = "-long" | arg = "-lg") then 190 if af_sw then go to AF_BAD_OPT; 191 else do; 192 long_sw = "1"b; 193 brief_sw = "0"b; 194 end; 195 196 else if (arg = "-brief" | arg = "-bf") then 197 if af_sw then go to AF_BAD_OPT; 198 else do; 199 brief_sw = "1"b; 200 long_sw = "0"b; 201 end; 202 203 else if (arg = "-entry_point") | (arg = "-ep") then all_entry_points = "1"b; 204 else if (arg = "-file") | (arg = "-segment") | (arg = "-sm") then all_segments = "1"b; 205 206 else if (arg = "-inhibit_error") | (arg = "-ihe") then inhibit_error = "1"b; 207 else if (arg = "-no_inhibit_error") | (arg = "-nihe") then inhibit_error = "0"b; 208 else do; 209 call complain (error_table_$badopt, WHOAMI, "^a", arg); 210 goto MAIN_RETURN; 211 end; 212 end; 213 214 if refname_count = 0 | (af_sw & refname_count > 1) then 215 goto USAGE; 216 217 if all_entry_points & all_segments then do; 218 call complain (error_table_$inconsistent, WHOAMI, "-segment and -entry_point"); 219 goto MAIN_RETURN; 220 end; 221 222 if all_sw & ^brief_sw then long_sw = "1"b; 223 224 if long_sw | all_sw then do; /* must get search rules, to locate manually */ 225 226 search_manually = "1"b; 227 228 call hcs_$get_search_rules (addr (search_rules)); 229 dir_count = 0; 230 try_initiated_segs = "0"b; 231 232 do idx = 1 to rule_count; /* find all the genuine directories */ 233 if rule (idx) = "initiated_segments" then try_initiated_segs = "1"b; 234 else if rule (idx) ^= "referencing_dir" then do; 235 dir_count = dir_count + 1; 236 if rule (idx) = "working_dir" then dir (dir_count) = get_wdir_ (); 237 else dir (dir_count) = rule (idx); 238 rule_number (dir_count) = idx; 239 end; 240 end; 241 end; 242 243 /* */ 244 245 do refname_idx = 1 to refname_count; /* Now, decide what to do with each of out reference name */ 246 247 name = refnames (refname_idx); 248 249 idx = index (name, "$"); 250 if (idx ^= 0) & ^all_segments then do; /* name$entry */ 251 entry_point_name = substr (name, idx + 1); 252 name = substr (name, 1, idx - 1); 253 if entry_point_name = "" then entry_point = "0"b; 254 else entry_point = "1"b; 255 end; 256 257 else if all_entry_points then do; /* -entry_point specified */ 258 entry_point = "1"b; 259 entry_point_name = name; 260 end; 261 262 else do; 263 entry_point = "0"b; /* reference name */ 264 entry_point_name = ""; 265 end; 266 267 if length (rtrim (name)) > 32 then do; 268 call complain (error_table_$entlong, WHOAMI, "^a", name); 269 goto NEXT; 270 end; 271 272 else if length (rtrim (entry_point_name)) > 32 then do; 273 call complain (error_table_$entlong, WHOAMI, "^a", entry_point_name); 274 goto NEXT; 275 end; 276 277 /* */ 278 279 if ^search_manually then do; /* locate by the usual (linker) mechanism */ 280 281 terminate = "0"b; 282 call hcs_$fs_get_seg_ptr (name, seg_ptr, code); /* already initiated? */ 283 if seg_ptr = null then do; 284 terminate = "1"b; 285 call hcs_$make_ptr (null (), name, "", seg_ptr, code); 286 if code ^= 0 then do; 287 if ^inhibit_error then call complain (code, WHOAMI, "^a", name); 288 goto NEXT; 289 end; 290 end; 291 292 call get_pathname (seg_ptr, dn, en, code); 293 if code ^= 0 then do; 294 call complain (code, WHOAMI, "^a", name); 295 goto NEXT; 296 end; 297 298 if entry_point then do; 299 300 call find_entry_point; 301 302 if terminate then call hcs_$terminate_name (name, (0)); 303 if code ^= 0 then do; 304 call complain (code, WHOAMI, "^a$^a", pathname_ (dn, en), entry_point_name); 305 goto NEXT; 306 end; 307 end; 308 309 else if terminate then call hcs_$terminate_name (name, code); 310 311 call ioa_$rsnnl ("^a^[$^a^;^s^]", out_str, (0), 312 pathname_ (dn, en), entry_point, entry_point_name); 313 314 if af_sw then do; /* just assign it to the return arg, and punt */ 315 return_arg = out_str; 316 goto MAIN_RETURN; 317 end; 318 319 else call ioa_ ("^a", out_str); 320 end; /* of searching non-manually (via hcs_$make_ptr) */ 321 322 /* */ 323 324 else do; /* we must search for the segment manually */ 325 /* Note that this is never done for an AF. */ 326 if (idx > 1) & some_output & all_sw then /* separate -all outputs by a blank line */ 327 call ioa_ (""); 328 329 some_output, some_segs = "0"b; 330 331 if try_initiated_segs then do; /* search rules contained "initiated_segments" */ 332 dir_idx = 0; 333 call hcs_$fs_get_seg_ptr (name, seg_ptr, code); 334 if seg_ptr ^= null () then do; 335 some_segs = "1"b; 336 call get_pathname (seg_ptr, dn, en, code); 337 if code ^= 0 then call complain (code, WHOAMI, "^a", name); 338 339 else do; 340 if entry_point then call find_entry_point (); 341 342 if code ^= 0 then call complain (code, WHOAMI, 343 "^a$^a Search rule ""initiated_segments""", 344 pathname_ (dn, en), entry_point_name); 345 346 else call print_pathname (); 347 348 if ^all_sw then go to NEXT; 349 end; 350 end; /* of successfully finding segment by refname */ 351 end; /* of trying "initiated_segments" */ 352 353 do dir_idx = 1 to dir_count; /* try to initiate in each of the dirs in the search rules */ 354 dir_found = "0"b; 355 call hcs_$initiate (dir (dir_idx), name, "", 0, 1, seg_ptr, code); 356 INITIATED: if seg_ptr ^= null then do; 357 some_segs = "1"b; 358 call get_pathname (seg_ptr, dn, en, code); 359 if code ^= 0 then do; 360 code = 0; 361 dn = dir (dir_idx); 362 en = substr (name, 1, 32); 363 end; 364 365 if entry_point then call find_entry_point (); 366 if code ^= 0 then call complain (code, WHOAMI, "^a$^a (Search rule ""^a"")", 367 pathname_ (dn, en), entry_point_name, rule (rule_number (dir_idx))); 368 369 else call print_pathname (); 370 371 call hcs_$terminate_noname (seg_ptr, (0)); 372 if ^all_sw then go to NEXT; 373 end; /* end of case for being able to initiate segment */ 374 375 else if code = error_table_$dirseg & ^dir_found then do; 376 call hcs_$status_minf (dir (dir_idx), name, 1, type, bit_count, code); 377 if code = 0 & type = 2 & bit_count > 0 then do; 378 dn = pathname_ (dir (dir_idx), name); 379 en = "0"; 380 dir_found = "1"b; 381 call hcs_$initiate (dn, en, "", 0, 0, seg_ptr, code); 382 goto INITIATED; 383 end; 384 end; /* end of MSF indirection */ 385 386 else if code ^= error_table_$noentry & code ^= error_table_$no_dir & 387 code ^= error_table_$dirseg then do; 388 389 some_output, some_segs = "1"b; 390 391 if entry_point then call complain (code, WHOAMI, "^a (Search rule ""^a"")", 392 pathname_ (dir (dir_idx), name), rule (rule_number (dir_idx))); 393 394 else do; 395 if brief_sw & all_sw then do; 396 call hcs_$status_long (dir (dir_idx), name, 1, addr (branch_status), null, code); 397 uid (dir_idx) = branch_status.unique_id; 398 printed_sw = "0"b; 399 do uid_idx = 1 to dir_idx - 1; /* print each path only once */ 400 if uid (uid_idx) = branch_status.unique_id then printed_sw = "1"b; 401 end; 402 if ^printed_sw then call ioa_ ("^a", pathname_ (dir (dir_idx), name)); 403 end; 404 else do; 405 call hcs_$status_ (dir (dir_idx), name, 1, addr (branch_status), area_ptr, code); 406 if code = 0 then do; /* print formatted line */ 407 names_ptr = ptr (area_ptr, branch_status.names_rel_pointer); 408 if long_sw then call ioa_ ("^a (^a) Search rule ""^a""", 409 pathname_ (dir (dir_idx), (names_ptr -> primary_name)), 410 get_mode_letters (branch_status.mode), rule (rule_number (dir_idx))); 411 else call ioa_ ("^a", pathname_ (dir (dir_idx), name)); 412 413 if ^all_sw then go to NEXT; 414 end; 415 416 else if code = error_table_$no_s_permission then 417 call complain (0, WHOAMI, 418 "No status permission on ^a (Search rule ""^a"")", 419 dir (dir_idx), rule (rule_number (dir_idx))); 420 421 else if code ^= error_table_$noentry then 422 call complain (code, WHOAMI, "^a (Search rule ""^a"")", 423 dir (dir_idx), rule (rule_number (dir_idx))); 424 425 else some_output = "0"b; 426 end; 427 end; 428 end; /* of case for unable to initiate segment */ 429 end; /* of loop through dirs in search rules */ 430 431 if ^some_output & ^inhibit_error then 432 if entry_point & some_segs then call complain (0, WHOAMI, "Entry point not found. ^a$^a", 433 name, entry_point_name); 434 else call complain (0, WHOAMI, "Segment not found. ^a", name); 435 436 end; /* of case for searching manually */ 437 NEXT: end; /* end of refname loop */ 438 439 MAIN_RETURN: 440 call clean_up; 441 return; 442 443 /* */ 444 445 446 clean_up: proc; 447 448 if names_ptr ^= null then free names_ptr -> primary_name in (area); 449 450 end clean_up; 451 452 453 get_pathname: proc (seg_ptr, dn, en, code); 454 455 dcl seg_ptr ptr parameter; 456 dcl dn char (*) parameter; 457 dcl en char (*) parameter; 458 dcl code fixed bin (35) parameter; 459 dcl cdn char (168); 460 dcl cen char (32); 461 dcl type fixed bin (2); 462 dcl bc fixed bin (24); 463 464 /* This internal procedure gets the pathname of a segment found. If */ 465 /* the segment is an MSF component, it backs up 1 level. */ 466 467 call hcs_$fs_get_path_name (seg_ptr, dn, (0), en, code); 468 if code ^= 0 469 then return; 470 call hcs_$status_minf (dn, "", 1, type, bc, code); 471 if type = 2 & bc > 0 & code = 0 472 then do; 473 call expand_pathname_ (dn, cdn, cen, code); 474 dn = cdn; 475 en = cen; 476 end; 477 478 end get_pathname; 479 480 481 find_entry_point: proc; 482 483 /* This internal procedure looks for an external definition. */ 484 485 call hcs_$fs_get_mode (seg_ptr, fmode, code); 486 if fmode < R_ACCESS_BIN then do; /* inner ring seg: gate? */ 487 /* make sure make_ptr finds this one */ 488 unique_name = unique_chars_ ("0"b); 489 call hcs_$initiate (dn, en, unique_name, 0, 1, seg_ptr, code); 490 call hcs_$make_ptr (null, unique_name, entry_point_name, entry_point_ptr, code); 491 call hcs_$terminate_name (unique_name, 0); 492 end; 493 else do; 494 call hcs_$status_mins (seg_ptr, (0), bit_count, code); 495 call object_info_$brief (seg_ptr, bit_count, addr (obj_info), code); 496 if code ^= 0 then return; 497 call get_definition_ (obj_info.defp, name, entry_point_name, null, code); 498 end; 499 500 end find_entry_point; 501 502 503 print_pathname: proc; 504 505 some_output = "1"b; 506 call hcs_$fs_get_mode (seg_ptr, fmode, code); 507 if code ^= 0 then fmode = 0; 508 509 if long_sw then do; 510 call ioa_$nnl ("^a^[$^a^;^s^] (^a) Search rule ", 511 pathname_ (dn, en), entry_point, entry_point_name, get_mode_letters (bit (fmode))); 512 if dir_idx = 0 then call ioa_ ("""initiated_segments"""); 513 else call ioa_ ("""^a""", rule (rule_number (dir_idx))); 514 end; 515 else do; 516 call hcs_$status_long (dn, en, 1, addr (branch_status), null, code); 517 uid (dir_idx) = branch_status.unique_id; 518 printed_sw = "0"b; 519 do uid_idx = 1 to dir_idx-1; /* only print each path once */ 520 if uid (uid_idx) = branch_status.unique_id then printed_sw = "1"b; 521 end; 522 if ^printed_sw then call ioa_ ("^a", pathname_ (dn, en)); 523 end; 524 525 end print_pathname; 526 527 528 get_mode_letters: proc (mode_bits) returns (char (4)varying); 529 530 dcl mode_bits bit (5); 531 dcl amode char (4) varying; 532 533 amode = ""; 534 if substr (mode_bits, 2, 1) ^= "0"b then amode = "r"; 535 if substr (mode_bits, 3, 1) ^= "0"b then amode = amode||"e"; 536 if substr (mode_bits, 4, 1) ^= "0"b then amode = amode||"w"; 537 if amode = "" then amode = "null"; 538 return (amode); 539 540 end get_mode_letters; 541 542 end where; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/20/86 1148.8 where.pl1 >special_ldd>install>MR12.0-1222>where.pl1 52 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 54 2 11/22/82 0955.6 branch_status.incl.pl1 >ldd>include>branch_status.incl.pl1 56 3 08/05/77 1022.5 object_info.incl.pl1 >ldd>include>object_info.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. R_ACCESS_BIN constant fixed bin(5,0) initial dcl 1-36 ref 486 WHOAMI 000000 constant char(32) initial unaligned dcl 131 set ref 158* 158* 159* 159* 173* 183* 209* 218* 268* 273* 287* 294* 304* 337* 342* 366* 391* 416* 421* 431* 434* active_fnc_err_ 000030 constant entry external dcl 103 ref 152 158 addr builtin function dcl 135 ref 228 228 396 396 405 405 495 495 516 516 af_sw 006636 automatic bit(1) dcl 80 set ref 146* 151* 158 181 189 196 214 314 all_entry_points 006642 automatic bit(1) dcl 80 set ref 139* 203* 217 257 all_segments 006643 automatic bit(1) dcl 80 set ref 139* 204* 217 250 all_sw 006637 automatic bit(1) dcl 80 set ref 139* 187* 222 224 326 348 372 395 413 amode 007052 automatic varying char(4) dcl 531 set ref 533* 534* 535* 535 536* 536 537 537* 538 area based area(1024) dcl 70 ref 448 area_ptr 006656 automatic pointer dcl 83 set ref 142* 405* 407 448 arg based char unaligned dcl 72 set ref 170 178 181 181 183* 189 189 196 196 203 203 204 204 204 206 206 207 207 209* arg_count 006673 automatic fixed bin(17,0) dcl 86 set ref 144* 157 167 arg_len 006674 automatic fixed bin(17,0) dcl 86 set ref 168* 170 178 181 181 183 183 189 189 196 196 203 203 204 204 204 206 206 207 207 209 209 arg_ptr 006660 automatic pointer dcl 83 set ref 168* 170 178 181 181 183 189 189 196 196 203 203 204 204 204 206 206 207 207 209 argno 006700 automatic fixed bin(17,0) dcl 87 set ref 167* 168* bc 007025 automatic fixed bin(24,0) dcl 462 set ref 470* 471 bit builtin function dcl 135 ref 510 510 bit_count 006705 automatic fixed bin(24,0) dcl 88 set ref 376* 377 494* 495* branch_status 000100 automatic structure level 1 dcl 2-1 set ref 396 396 405 405 516 516 brief_sw 006640 automatic bit(1) dcl 80 set ref 139* 193* 199* 222 395 cdn 006742 automatic char(168) unaligned dcl 459 set ref 473* 474 cen 007014 automatic char(32) unaligned dcl 460 set ref 473* 475 char builtin function dcl 135 ref 170 cleanup 006720 stack reference condition dcl 133 ref 163 code 006706 automatic fixed bin(35,0) dcl 89 in procedure "wh" set ref 144* 145 168* 282* 285* 286 287* 292* 293 294* 303 304* 309* 333* 336* 337 337* 342 342* 355* 358* 359 360* 366 366* 375 376* 377 381* 386 386 386 391* 396* 405* 406 416 421 421* 485* 489* 490* 494* 495* 496 497* 506* 507 516* code parameter fixed bin(35,0) dcl 458 in procedure "get_pathname" set ref 453 467* 468 470* 471 473* com_err_ 000032 constant entry external dcl 104 ref 147 159 complain 006710 automatic entry variable dcl 100 set ref 147* 152* 173 183 209 218 268 273 287 294 304 337 342 366 391 416 421 431 434 cu_$af_arg_ptr 000034 constant entry external dcl 105 ref 153 cu_$af_return_arg 000036 constant entry external dcl 106 ref 144 cu_$arg_ptr 000040 constant entry external dcl 107 ref 148 defp 4 000112 automatic pointer level 2 dcl 57 set ref 497* dir 004463 automatic char(168) array level 2 packed unaligned dcl 65 set ref 236* 237* 355* 361 376* 378* 391* 391* 396* 402* 402* 405* 408* 408* 411* 411* 416* 421* dir_count 006675 automatic fixed bin(17,0) dcl 86 set ref 229* 235* 235 236 237 238 353 dir_found 006654 automatic bit(1) dcl 80 set ref 354* 375 380* dir_idx 006701 automatic fixed bin(17,0) dcl 87 set ref 332* 353* 355 361 366 376 378 391 391 391 396 397 399 402 402 405 408 408 408 411 411 416 416 421 421* 512 513 517 519 dn parameter char unaligned dcl 456 in procedure "get_pathname" set ref 453 467* 470* 473* 474* dn 006317 automatic char(168) unaligned dcl 75 in procedure "wh" set ref 292* 304* 304* 311* 311* 336* 342* 342* 358* 361* 366* 366* 378* 381* 489* 510* 510* 516* 522* 522* en 006515 automatic char(32) unaligned dcl 76 in procedure "wh" set ref 292* 304* 304* 311* 311* 336* 342* 342* 358* 362* 366* 366* 379* 381* 489* 510* 510* 516* 522* 522* en parameter char unaligned dcl 457 in procedure "get_pathname" set ref 453 467* 475* entry_point 006644 automatic bit(1) dcl 80 set ref 253* 254* 258* 263* 298 311* 340 365 391 431 510* entry_point_name 006371 automatic char(168) unaligned dcl 75 set ref 251* 253 259* 264* 272 273* 304* 311* 342* 366* 431* 490* 497* 510* entry_point_ptr 006662 automatic pointer dcl 83 set ref 490* error_table_$badopt 000010 external static fixed bin(35,0) dcl 91 set ref 209* error_table_$dirseg 000014 external static fixed bin(35,0) dcl 91 ref 375 386 error_table_$entlong 000024 external static fixed bin(35,0) dcl 91 set ref 268* 273* error_table_$inconsistent 000012 external static fixed bin(35,0) dcl 91 set ref 218* error_table_$no_dir 000016 external static fixed bin(35,0) dcl 91 ref 386 error_table_$no_s_permission 000020 external static fixed bin(35,0) dcl 91 ref 416 error_table_$noentry 000022 external static fixed bin(35,0) dcl 91 ref 386 421 error_table_$not_act_fnc 000026 external static fixed bin(35,0) dcl 91 ref 145 expand_pathname_ 000042 constant entry external dcl 108 ref 473 fmode 006672 automatic fixed bin(5,0) dcl 85 set ref 485* 486 506* 507* 510 510 get_arg 006714 automatic entry variable dcl 101 set ref 148* 153* 168 get_definition_ 000044 constant entry external dcl 109 ref 497 get_system_free_area_ 000046 constant entry external dcl 110 ref 142 get_wdir_ 000050 constant entry external dcl 111 ref 236 hbound builtin function dcl 135 ref 172 173 173 hcs_$fs_get_mode 000052 constant entry external dcl 112 ref 485 506 hcs_$fs_get_path_name 000054 constant entry external dcl 113 ref 467 hcs_$fs_get_seg_ptr 000060 constant entry external dcl 115 ref 282 333 hcs_$get_search_rules 000056 constant entry external dcl 114 ref 228 hcs_$initiate 000062 constant entry external dcl 116 ref 355 381 489 hcs_$make_ptr 000064 constant entry external dcl 117 ref 285 490 hcs_$status_ 000066 constant entry external dcl 118 ref 405 hcs_$status_long 000070 constant entry external dcl 119 ref 396 516 hcs_$status_minf 000072 constant entry external dcl 120 ref 376 470 hcs_$status_mins 000074 constant entry external dcl 121 ref 494 hcs_$terminate_name 000076 constant entry external dcl 122 ref 302 309 491 hcs_$terminate_noname 000100 constant entry external dcl 123 ref 371 idx 006702 automatic fixed bin(17,0) dcl 87 set ref 232* 233 234 236 237 238* 249* 250 251 252 326 index builtin function dcl 135 ref 249 inhibit_error 006645 automatic bit(1) dcl 80 set ref 140* 206* 207* 287 431 ioa_ 000102 constant entry external dcl 124 ref 319 326 402 408 411 512 513 522 ioa_$nnl 000106 constant entry external dcl 126 ref 510 ioa_$rsnnl 000104 constant entry external dcl 125 ref 311 length builtin function dcl 135 ref 267 272 long_sw 006641 automatic bit(1) dcl 80 set ref 140* 192* 200* 222* 224 408 509 mode 3 000100 automatic bit(5) level 2 packed unaligned dcl 2-1 set ref 408* mode_bits parameter bit(5) unaligned dcl 530 ref 528 534 535 536 name 006443 automatic char(168) unaligned dcl 75 set ref 247* 249 251 252* 252 259 267 268* 282* 285* 287* 294* 302* 309* 333* 337* 355* 362 376* 378* 391* 391* 396* 402* 402* 405* 411* 411* 431* 434* 497* names_ptr 006664 automatic pointer dcl 83 set ref 141* 407* 408 408 448 448 names_rel_pointer 0(18) 000100 automatic bit(18) level 2 packed unaligned dcl 2-1 set ref 407 null builtin function dcl 135 ref 141 283 285 285 334 356 396 396 448 490 490 497 497 516 516 obj_info 000112 automatic structure level 1 unaligned dcl 57 set ref 495 495 object_info based structure level 1 dcl 3-6 object_info_$brief 000110 constant entry external dcl 127 ref 495 out_str 006535 automatic char(256) unaligned dcl 77 set ref 311* 315 319* pathname_ 000112 constant entry external dcl 128 ref 304 304 311 311 342 342 366 366 378 391 391 402 402 408 408 411 411 510 510 522 522 primary_name based char(32) dcl 74 ref 408 408 448 printed_sw 006646 automatic bit(1) dcl 80 set ref 398* 400* 402 518* 520* 522 ptr builtin function dcl 135 ref 407 refname_count 006676 automatic fixed bin(17,0) dcl 86 set ref 165* 171* 171 172 178 214 214 245 refname_idx 006703 automatic fixed bin(17,0) dcl 87 set ref 245* 247* refnames 000200 automatic char(168) array unaligned dcl 59 set ref 172 173 173 178* 247 return_arg based varying char dcl 73 set ref 154* 315* return_len 006677 automatic fixed bin(17,0) dcl 86 set ref 144* 154 315 return_ptr 006666 automatic pointer dcl 83 set ref 144* 154 315 rtrim builtin function dcl 135 ref 267 272 rule 1 002700 automatic char(168) array level 2 dcl 61 set ref 233 234 236 237 366* 391* 408* 416* 421* 513* rule_count 002700 automatic fixed bin(17,0) level 2 dcl 61 set ref 232 rule_number 53 004463 automatic fixed bin(17,0) array level 2 dcl 65 set ref 238* 366 391 408 416 421 513 search_dirs 004463 automatic structure array level 1 unaligned dcl 65 search_manually 006647 automatic bit(1) dcl 80 set ref 140* 226* 279 search_rules 002700 automatic structure level 1 dcl 61 set ref 228 228 seg_ptr 006670 automatic pointer dcl 83 in procedure "wh" set ref 282* 283 285* 292* 333* 334 336* 355* 356 358* 371* 381* 485* 489* 494* 495* 506* seg_ptr parameter pointer dcl 455 in procedure "get_pathname" set ref 453 467* some_output 006650 automatic bit(1) dcl 80 set ref 140* 326 329* 389* 425* 431 505* some_segs 006651 automatic bit(1) dcl 80 set ref 329* 335* 357* 389* 431 substr builtin function dcl 135 ref 251 252 362 534 535 536 terminate 006652 automatic bit(1) dcl 80 set ref 281* 284* 302 309 try_initiated_segs 006653 automatic bit(1) dcl 80 set ref 230* 233* 331 type 007024 automatic fixed bin(2,0) dcl 461 in procedure "get_pathname" set ref 470* 471 type 006635 automatic fixed bin(2,0) dcl 78 in procedure "wh" set ref 376* 377 uid 52 004463 automatic bit(36) array level 2 packed unaligned dcl 65 set ref 397* 400 517* 520 uid_idx 006704 automatic fixed bin(17,0) dcl 87 set ref 399* 400* 519* 520* unique_chars_ 000114 constant entry external dcl 129 ref 488 unique_id 11 000100 automatic bit(36) level 2 packed unaligned dcl 2-1 set ref 397 400 517 520 unique_name 006525 automatic char(32) unaligned dcl 76 set ref 488* 489* 490* 491* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-33 E_ACCESS internal static bit(3) initial unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 M_ACCESS internal static bit(3) initial unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 REW_ACCESS internal static bit(3) initial unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS internal static bit(3) initial unaligned dcl 1-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS internal static bit(3) initial unaligned dcl 1-11 SA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-30 SMA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 S_ACCESS internal static bit(3) initial unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 W_ACCESS internal static bit(3) initial unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 directory_type internal static bit(2) initial dcl 2-1 link_type internal static bit(2) initial dcl 2-1 msf_type internal static bit(2) initial dcl 2-1 object_info_version_2 internal static fixed bin(17,0) initial dcl 3-60 segment_type internal static bit(2) initial dcl 2-1 NAMES DECLARED BY EXPLICIT CONTEXT. AF_BAD_OPT 000653 constant label dcl 183 ref 189 196 INITIATED 002315 constant label dcl 356 ref 382 MAIN_RETURN 003477 constant label dcl 439 ref 160 175 210 219 316 NEXT 003475 constant label dcl 437 ref 269 274 288 295 305 348 372 413 USAGE 000430 constant label dcl 158 ref 214 clean_up 003505 constant entry internal dcl 446 ref 163 439 find_entry_point 003712 constant entry internal dcl 481 ref 300 340 365 get_mode_letters 004465 constant entry internal dcl 528 ref 408 510 get_pathname 003522 constant entry internal dcl 453 ref 292 336 358 print_pathname 004161 constant entry internal dcl 503 ref 346 369 wh 000326 constant entry external dcl 21 where 000335 constant entry external dcl 21 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5224 5342 4614 5234 Length 5666 4614 116 310 407 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME wh 4026 external procedure is an external procedure. on unit on line 163 64 on unit clean_up 64 internal procedure is called by several nonquick procedures. get_pathname internal procedure shares stack frame of external procedure wh. find_entry_point internal procedure shares stack frame of external procedure wh. print_pathname internal procedure shares stack frame of external procedure wh. get_mode_letters internal procedure shares stack frame of external procedure wh. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME wh 000100 branch_status wh 000112 obj_info wh 000200 refnames wh 002700 search_rules wh 004463 search_dirs wh 006317 dn wh 006371 entry_point_name wh 006443 name wh 006515 en wh 006525 unique_name wh 006535 out_str wh 006635 type wh 006636 af_sw wh 006637 all_sw wh 006640 brief_sw wh 006641 long_sw wh 006642 all_entry_points wh 006643 all_segments wh 006644 entry_point wh 006645 inhibit_error wh 006646 printed_sw wh 006647 search_manually wh 006650 some_output wh 006651 some_segs wh 006652 terminate wh 006653 try_initiated_segs wh 006654 dir_found wh 006656 area_ptr wh 006660 arg_ptr wh 006662 entry_point_ptr wh 006664 names_ptr wh 006666 return_ptr wh 006670 seg_ptr wh 006672 fmode wh 006673 arg_count wh 006674 arg_len wh 006675 dir_count wh 006676 refname_count wh 006677 return_len wh 006700 argno wh 006701 dir_idx wh 006702 idx wh 006703 refname_idx wh 006704 uid_idx wh 006705 bit_count wh 006706 code wh 006710 complain wh 006714 get_arg wh 006742 cdn get_pathname 007014 cen get_pathname 007024 type get_pathname 007025 bc get_pathname 007052 amode get_mode_letters THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ent_var_desc call_ent_var call_ext_out_desc call_ext_out call_int_this call_int_other return_mac enable_op ext_entry int_entry op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ com_err_ cu_$af_arg_ptr cu_$af_return_arg cu_$arg_ptr expand_pathname_ get_definition_ get_system_free_area_ get_wdir_ hcs_$fs_get_mode hcs_$fs_get_path_name hcs_$fs_get_seg_ptr hcs_$get_search_rules hcs_$initiate hcs_$make_ptr hcs_$status_ hcs_$status_long hcs_$status_minf hcs_$status_mins hcs_$terminate_name hcs_$terminate_noname ioa_ ioa_$nnl ioa_$rsnnl object_info_$brief pathname_ unique_chars_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$dirseg error_table_$entlong error_table_$inconsistent error_table_$no_dir error_table_$no_s_permission error_table_$noentry error_table_$not_act_fnc CONSTANTS 004550 aa 000004000000 004551 aa 000000000000 004552 aa 600000000041 004553 aa 007636000000 004554 aa 600000000041 004555 aa 007641000000 004556 aa 000004000000 004557 aa 000000000000 004560 aa 600000000041 004561 aa 000103000000 004562 aa 600000000041 004563 aa 007365000000 004564 aa 000010000000 004565 aa 000010000000 004566 aa 600000000041 004567 aa 006670000000 004570 aa 600000000041 004571 aa 006317000000 004572 aa 600000000041 004573 aa 006515000000 004574 aa 600000000041 004575 aa 006706000000 004576 ta 000062000000 004577 aa 000000000000 004600 ta 000061000000 004601 aa 000000000000 004602 ta 000055000000 004603 aa 000000000000 004604 ta 000040000000 004605 aa 000000000000 004606 aa 077777000043 004607 aa 000001000000 000000 aa 167 150 145 162 wher 000001 aa 145 040 040 040 e 000002 aa 040 040 040 040 000003 aa 040 040 040 040 000004 aa 040 040 040 040 000005 aa 040 040 040 040 000006 aa 040 040 040 040 000007 aa 040 040 040 040 000010 aa 156 165 154 154 null 004610 aa 167 000 000 000 w 004611 aa 145 000 000 000 e 000011 aa 516000000005 000012 aa 524000000004 000013 aa 042 136 141 042 "^a" 000014 aa 524000000024 000015 aa 524000000037 000016 aa 404000000021 000017 aa 526077777777 000020 aa 524000000035 000021 aa 524000000055 000022 aa 524000000040 000023 aa 524000000025 004612 aa 060 000 000 000 0 000024 aa 524000000030 000025 aa 404000000002 000026 aa 404000000001 000027 aa 524000000047 000030 aa 514000000001 000031 aa 526000000400 000032 aa 524000000015 000033 aa 524000000250 000034 aa 524000000005 000035 aa 524000000000 000036 aa 524000000031 000037 aa 524000000002 000040 aa 404000000043 000041 aa 055 151 150 145 -ihe 000042 aa 055 163 155 000 -sm 000043 aa 055 145 160 000 -ep 000044 aa 055 142 146 000 -bf 000045 aa 055 154 147 000 -lg 000046 aa 526000000000 000047 aa 524000000064 004613 aa 055 141 000 000 -a 000050 aa 055 141 154 154 -all 000051 aa 404000000030 000052 aa 524000000056 000053 aa 524000000043 000054 aa 524000000044 000055 aa 526000000040 000056 aa 404000000005 000057 aa 530000000004 000060 aa 526000000017 000061 aa 526000000250 000062 aa 464000000000 000064 aa 136 141 044 136 ^a$^ 000065 aa 141 000 000 000 a 000066 aa 055 156 151 150 -nih 000067 aa 145 000 000 000 e 000070 aa 055 163 145 147 -seg 000071 aa 155 145 156 164 ment 000072 aa 055 146 151 154 -fil 000073 aa 145 000 000 000 e 000074 aa 055 142 162 151 -bri 000075 aa 145 146 000 000 ef 000076 aa 055 154 157 156 -lon 000077 aa 147 000 000 000 g 000100 aa 077777000043 000101 aa 000001000000 000102 aa 143 154 145 141 clea 000103 aa 156 165 160 000 nup 000104 aa 167 157 162 153 work 000105 aa 151 156 147 137 ing_ 000106 aa 144 151 162 000 dir 000107 aa 055 145 156 164 -ent 000110 aa 162 171 137 160 ry_p 000111 aa 157 151 156 164 oint 000112 aa 136 141 136 133 ^a^[ 000113 aa 044 136 141 136 $^a^ 000114 aa 073 136 163 136 ;^s^ 000115 aa 135 000 000 000 ] 000116 aa 162 145 146 145 refe 000117 aa 162 145 156 143 renc 000120 aa 151 156 147 137 ing_ 000121 aa 144 151 162 000 dir 000122 aa 055 151 156 150 -inh 000123 aa 151 142 151 164 ibit 000124 aa 137 145 162 162 _err 000125 aa 157 162 000 000 or 000126 aa 042 151 156 151 "ini 000127 aa 164 151 141 164 tiat 000130 aa 145 144 137 163 ed_s 000131 aa 145 147 155 145 egme 000132 aa 156 164 163 042 nts" 000133 aa 151 156 151 164 init 000134 aa 151 141 164 145 iate 000135 aa 144 137 163 145 d_se 000136 aa 147 155 145 156 gmen 000137 aa 164 163 000 000 ts 000140 aa 055 156 157 137 -no_ 000141 aa 151 156 150 151 inhi 000142 aa 142 151 164 137 bit_ 000143 aa 145 162 162 157 erro 000144 aa 162 000 000 000 r 000145 aa 123 145 147 155 Segm 000146 aa 145 156 164 040 ent 000147 aa 156 157 164 040 not 000150 aa 146 157 165 156 foun 000151 aa 144 056 040 136 d. ^ 000152 aa 141 000 000 000 a 000153 aa 136 141 040 050 ^a ( 000154 aa 136 141 051 040 ^a) 000155 aa 123 145 141 162 Sear 000156 aa 143 150 040 162 ch r 000157 aa 165 154 145 040 ule 000160 aa 042 136 141 042 "^a" 000161 aa 136 141 040 050 ^a ( 000162 aa 123 145 141 162 Sear 000163 aa 143 150 040 162 ch r 000164 aa 165 154 145 040 ule 000165 aa 042 136 141 042 "^a" 000166 aa 051 000 000 000 ) 000167 aa 136 141 044 136 ^a$^ 000170 aa 141 040 050 123 a (S 000171 aa 145 141 162 143 earc 000172 aa 150 040 162 165 h ru 000173 aa 154 145 040 042 le " 000174 aa 136 141 042 051 ^a") 000175 aa 055 163 145 147 -seg 000176 aa 155 145 156 164 ment 000177 aa 040 141 156 144 and 000200 aa 040 055 145 156 -en 000201 aa 164 162 171 137 try_ 000202 aa 160 157 151 156 poin 000203 aa 164 000 000 000 t 000204 aa 136 141 136 133 ^a^[ 000205 aa 044 136 141 136 $^a^ 000206 aa 073 136 163 136 ;^s^ 000207 aa 135 040 050 136 ] (^ 000210 aa 141 051 040 123 a) S 000211 aa 145 141 162 143 earc 000212 aa 150 040 162 165 h ru 000213 aa 154 145 040 000 le 000214 aa 105 156 164 162 Entr 000215 aa 171 040 160 157 y po 000216 aa 151 156 164 040 int 000217 aa 156 157 164 040 not 000220 aa 146 157 165 156 foun 000221 aa 144 056 040 040 d. 000222 aa 136 141 044 136 ^a$^ 000223 aa 141 000 000 000 a 000224 aa 125 163 141 147 Usag 000225 aa 145 072 040 040 e: 000226 aa 136 141 040 162 ^a r 000227 aa 145 146 156 141 efna 000230 aa 155 145 163 040 mes 000231 aa 173 055 143 157 {-co 000232 aa 156 164 162 157 ntro 000233 aa 154 137 141 162 l_ar 000234 aa 147 163 175 000 gs} 000235 aa 125 163 141 147 Usag 000236 aa 145 072 040 040 e: 000237 aa 133 136 141 040 [^a 000240 aa 162 145 146 156 refn 000241 aa 141 155 145 040 ame 000242 aa 173 055 143 157 {-co 000243 aa 156 164 162 157 ntro 000244 aa 154 137 141 162 l_ar 000245 aa 147 163 175 135 gs}] 000246 aa 136 141 044 136 ^a$^ 000247 aa 141 040 040 123 a S 000250 aa 145 141 162 143 earc 000251 aa 150 040 162 165 h ru 000252 aa 154 145 040 042 le " 000253 aa 151 156 151 164 init 000254 aa 151 141 164 145 iate 000255 aa 144 137 163 145 d_se 000256 aa 147 155 145 156 gmen 000257 aa 164 163 042 000 ts" 000260 aa 116 157 040 163 No s 000261 aa 164 141 164 165 tatu 000262 aa 163 040 160 145 s pe 000263 aa 162 155 151 163 rmis 000264 aa 163 151 157 156 sion 000265 aa 040 157 156 040 on 000266 aa 136 141 040 050 ^a ( 000267 aa 123 145 141 162 Sear 000270 aa 143 150 040 162 ch r 000271 aa 165 154 145 040 ule 000272 aa 042 136 141 042 "^a" 000273 aa 051 000 000 000 ) 000274 aa 124 157 157 040 Too 000275 aa 155 141 156 171 many 000276 aa 040 162 145 146 ref 000277 aa 145 162 145 156 eren 000300 aa 143 145 040 156 ce n 000301 aa 141 155 145 163 ames 000302 aa 040 163 160 145 spe 000303 aa 143 151 146 151 cifi 000304 aa 145 144 056 040 ed. 000305 aa 115 141 170 040 Max 000306 aa 151 163 040 136 is ^ 000307 aa 144 056 000 000 d. 000310 aa 103 157 156 164 Cont 000311 aa 162 157 154 040 rol 000312 aa 141 162 147 040 arg 000313 aa 156 157 164 040 not 000314 aa 141 154 154 157 allo 000315 aa 167 145 144 040 wed 000316 aa 146 157 162 040 for 000317 aa 164 150 145 040 the 000320 aa 141 143 164 151 acti 000321 aa 166 145 040 146 ve f 000322 aa 165 156 143 164 unct 000323 aa 151 157 156 056 ion. 000324 aa 040 040 136 141 ^a BEGIN PROCEDURE wh ENTRY TO wh STATEMENT 1 ON LINE 21 where: wh: procedure options (variable); 000325 da 000364240000 000326 aa 007700 6270 00 eax7 4032 000327 aa 7 00034 3521 20 epp2 pr7|28,* 000330 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000331 aa 000000000000 000332 aa 000000000000 000333 aa 000007 7100 04 tra 7,ic 000342 ENTRY TO where STATEMENT 1 ON LINE 21 where: wh: procedure options (variable); 000334 da 000367240000 000335 aa 007700 6270 00 eax7 4032 000336 aa 7 00034 3521 20 epp2 pr7|28,* 000337 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000340 aa 000000000000 000341 aa 000000000000 STATEMENT 1 ON LINE 139 all_sw, all_entry_points, all_segments, brief_sw = "0"b; 000342 aa 6 06637 4501 00 stz pr6|3487 all_sw 000343 aa 6 06642 4501 00 stz pr6|3490 all_entry_points 000344 aa 6 06643 4501 00 stz pr6|3491 all_segments 000345 aa 6 06640 4501 00 stz pr6|3488 brief_sw STATEMENT 1 ON LINE 140 inhibit_error, long_sw, search_manually, some_output = "0"b; 000346 aa 6 06645 4501 00 stz pr6|3493 inhibit_error 000347 aa 6 06641 4501 00 stz pr6|3489 long_sw 000350 aa 6 06647 4501 00 stz pr6|3495 search_manually 000351 aa 6 06650 4501 00 stz pr6|3496 some_output STATEMENT 1 ON LINE 141 names_ptr = null (); 000352 aa 777526 2370 04 ldaq -170,ic 000100 = 077777000043 000001000000 000353 aa 6 06664 7571 00 staq pr6|3508 names_ptr STATEMENT 1 ON LINE 142 area_ptr = get_system_free_area_ (); 000354 aa 6 06656 3521 00 epp2 pr6|3502 area_ptr 000355 aa 6 07056 2521 00 spri2 pr6|3630 000356 aa 6 07054 6211 00 eax1 pr6|3628 000357 aa 004000 4310 07 fld 2048,dl 000360 la 4 00046 3521 20 epp2 pr4|38,* get_system_free_area_ 000361 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 144 call cu_$af_return_arg (arg_count, return_ptr, return_len, code); 000362 aa 6 06673 3521 00 epp2 pr6|3515 arg_count 000363 aa 6 07062 2521 00 spri2 pr6|3634 000364 aa 6 06666 3521 00 epp2 pr6|3510 return_ptr 000365 aa 6 07064 2521 00 spri2 pr6|3636 000366 aa 6 06677 3521 00 epp2 pr6|3519 return_len 000367 aa 6 07066 2521 00 spri2 pr6|3638 000370 aa 6 06706 3521 00 epp2 pr6|3526 code 000371 aa 6 07070 2521 00 spri2 pr6|3640 000372 aa 6 07060 6211 00 eax1 pr6|3632 000373 aa 020000 4310 07 fld 8192,dl 000374 aa 6 00044 3701 20 epp4 pr6|36,* 000375 la 4 00036 3521 20 epp2 pr4|30,* cu_$af_return_arg 000376 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 145 if code = error_table_$not_act_fnc then do; 000377 aa 6 06706 2361 00 ldq pr6|3526 code 000400 aa 6 00044 3701 20 epp4 pr6|36,* 000401 la 4 00026 1161 20 cmpq pr4|22,* error_table_$not_act_fnc 000402 aa 000012 6010 04 tnz 10,ic 000414 STATEMENT 1 ON LINE 146 af_sw = "0"b; 000403 aa 6 06636 4501 00 stz pr6|3486 af_sw STATEMENT 1 ON LINE 147 complain = com_err_; 000404 la 4 00032 3521 20 epp2 pr4|26,* com_err_ 000405 aa 6 06710 2521 00 spri2 pr6|3528 complain 000406 aa 004200 2370 04 ldaq 2176,ic 004606 = 077777000043 000001000000 000407 aa 6 06712 7571 00 staq pr6|3530 complain STATEMENT 1 ON LINE 148 get_arg = cu_$arg_ptr; 000410 la 4 00040 3521 20 epp2 pr4|32,* cu_$arg_ptr 000411 aa 6 06714 2521 00 spri2 pr6|3532 get_arg 000412 aa 6 06716 7571 00 staq pr6|3534 get_arg STATEMENT 1 ON LINE 149 end; 000413 aa 000013 7100 04 tra 11,ic 000426 STATEMENT 1 ON LINE 150 else do; STATEMENT 1 ON LINE 151 af_sw = "1"b; 000414 aa 400000 2350 03 lda 131072,du 000415 aa 6 06636 7551 00 sta pr6|3486 af_sw STATEMENT 1 ON LINE 152 complain = active_fnc_err_; 000416 la 4 00030 3521 20 epp2 pr4|24,* active_fnc_err_ 000417 aa 6 06710 2521 00 spri2 pr6|3528 complain 000420 aa 004166 2370 04 ldaq 2166,ic 004606 = 077777000043 000001000000 000421 aa 6 06712 7571 00 staq pr6|3530 complain STATEMENT 1 ON LINE 153 get_arg = cu_$af_arg_ptr; 000422 la 4 00034 3521 20 epp2 pr4|28,* cu_$af_arg_ptr 000423 aa 6 06714 2521 00 spri2 pr6|3532 get_arg 000424 aa 6 06716 7571 00 staq pr6|3534 get_arg STATEMENT 1 ON LINE 154 return_arg = ""; 000425 aa 6 06666 4501 20 stz pr6|3510,* return_arg STATEMENT 1 ON LINE 155 end; STATEMENT 1 ON LINE 157 if arg_count = 0 then do; 000426 aa 6 06673 2361 00 ldq pr6|3515 arg_count 000427 aa 000065 6010 04 tnz 53,ic 000514 STATEMENT 1 ON LINE 158 USAGE: if af_sw then call active_fnc_err_ (0, WHOAMI, "Usage: [^a refname {-control_args}]", WHOAMI); 000430 aa 6 06636 2351 00 lda pr6|3486 af_sw 000431 aa 000032 6000 04 tze 26,ic 000463 000432 aa 6 07072 4501 00 stz pr6|3642 000433 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000434 aa 777602 00 0044 desc9a -126,36 000235 = 125163141147 000435 aa 6 07060 00 0044 desc9a pr6|3632,36 000436 aa 6 07072 3521 00 epp2 pr6|3642 000437 aa 6 07076 2521 00 spri2 pr6|3646 000440 aa 777340 3520 04 epp2 -288,ic 000000 = 167150145162 000441 aa 6 07100 2521 00 spri2 pr6|3648 000442 aa 6 07060 3521 00 epp2 pr6|3632 000443 aa 6 07102 2521 00 spri2 pr6|3650 000444 aa 777334 3520 04 epp2 -292,ic 000000 = 167150145162 000445 aa 6 07104 2521 00 spri2 pr6|3652 000446 aa 777410 3520 04 epp2 -248,ic 000056 = 404000000005 000447 aa 6 07106 2521 00 spri2 pr6|3654 000450 aa 777405 3520 04 epp2 -251,ic 000055 = 526000000040 000451 aa 6 07110 2521 00 spri2 pr6|3656 000452 aa 6 07114 2521 00 spri2 pr6|3660 000453 aa 777401 3520 04 epp2 -255,ic 000054 = 524000000044 000454 aa 6 07112 2521 00 spri2 pr6|3658 000455 aa 6 07074 6211 00 eax1 pr6|3644 000456 aa 020000 4310 07 fld 8192,dl 000457 aa 6 00044 3701 20 epp4 pr6|36,* 000460 la 4 00030 3521 20 epp2 pr4|24,* active_fnc_err_ 000461 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 000462 aa 003015 7100 04 tra 1549,ic 003477 STATEMENT 1 ON LINE 159 else call com_err_ (0, WHOAMI, "Usage: ^a refnames {-control_args}", WHOAMI); 000463 aa 6 07072 4501 00 stz pr6|3642 000464 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000465 aa 777540 00 0044 desc9a -160,36 000224 = 125163141147 000466 aa 6 07060 00 0044 desc9a pr6|3632,36 000467 aa 6 07072 3521 00 epp2 pr6|3642 000470 aa 6 07076 2521 00 spri2 pr6|3646 000471 aa 777307 3520 04 epp2 -313,ic 000000 = 167150145162 000472 aa 6 07100 2521 00 spri2 pr6|3648 000473 aa 6 07060 3521 00 epp2 pr6|3632 000474 aa 6 07102 2521 00 spri2 pr6|3650 000475 aa 777303 3520 04 epp2 -317,ic 000000 = 167150145162 000476 aa 6 07104 2521 00 spri2 pr6|3652 000477 aa 777357 3520 04 epp2 -273,ic 000056 = 404000000005 000500 aa 6 07106 2521 00 spri2 pr6|3654 000501 aa 777354 3520 04 epp2 -276,ic 000055 = 526000000040 000502 aa 6 07110 2521 00 spri2 pr6|3656 000503 aa 6 07114 2521 00 spri2 pr6|3660 000504 aa 777347 3520 04 epp2 -281,ic 000053 = 524000000043 000505 aa 6 07112 2521 00 spri2 pr6|3658 000506 aa 6 07074 6211 00 eax1 pr6|3644 000507 aa 020000 4310 07 fld 8192,dl 000510 aa 6 00044 3701 20 epp4 pr6|36,* 000511 la 4 00032 3521 20 epp2 pr4|26,* com_err_ 000512 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 160 goto MAIN_RETURN; 000513 aa 002764 7100 04 tra 1524,ic 003477 STATEMENT 1 ON LINE 161 end; STATEMENT 1 ON LINE 163 on condition (cleanup) call clean_up; 000514 aa 000007 7260 07 lxl6 7,dl 000515 aa 777365 3520 04 epp2 -267,ic 000102 = 143154145141 000516 aa 0 00717 7001 00 tsx0 pr0|463 enable_op 000517 aa 000004 7100 04 tra 4,ic 000523 000520 aa 006720000000 000521 aa 000015 7100 04 tra 13,ic 000536 BEGIN CONDITION cleanup.1 ENTRY TO cleanup.1 STATEMENT 1 ON LINE 163 on condition (cleanup) call clean_up; 000522 da 000375200000 000523 aa 000100 6270 00 eax7 64 000524 aa 7 00034 3521 20 epp2 pr7|28,* 000525 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000526 aa 000000000000 000527 aa 000000000000 000530 aa 000001 7270 07 lxl7 1,dl 000531 aa 6 00056 6211 00 eax1 pr6|46 000532 aa 000000 4310 07 fld 0,dl 000533 aa 002752 3520 04 epp2 1514,ic 003505 = 000100627000 000534 aa 0 00627 7001 00 tsx0 pr0|407 call_int_other 000535 aa 0 00631 7101 00 tra pr0|409 return_mac END CONDITION cleanup.1 STATEMENT 1 ON LINE 165 refname_count = 0; 000536 aa 6 06676 4501 00 stz pr6|3518 refname_count STATEMENT 1 ON LINE 167 do argno = 1 to arg_count; 000537 aa 6 06673 2361 00 ldq pr6|3515 arg_count 000540 aa 6 06726 7561 00 stq pr6|3542 000541 aa 000001 2360 07 ldq 1,dl 000542 aa 6 06700 7561 00 stq pr6|3520 argno 000543 aa 000000 0110 03 nop 0,du 000544 aa 6 06700 2361 00 ldq pr6|3520 argno 000545 aa 6 06726 1161 00 cmpq pr6|3542 000546 aa 000314 6054 04 tpnz 204,ic 001062 STATEMENT 1 ON LINE 168 call get_arg (argno, arg_ptr, arg_len, code); 000547 aa 6 06700 3521 00 epp2 pr6|3520 argno 000550 aa 6 07076 2521 00 spri2 pr6|3646 000551 aa 6 06660 3521 00 epp2 pr6|3504 arg_ptr 000552 aa 6 07100 2521 00 spri2 pr6|3648 000553 aa 6 06674 3521 00 epp2 pr6|3516 arg_len 000554 aa 6 07102 2521 00 spri2 pr6|3650 000555 aa 6 06706 3521 00 epp2 pr6|3526 code 000556 aa 6 07104 2521 00 spri2 pr6|3652 000557 aa 6 07074 6211 00 eax1 pr6|3644 000560 aa 020000 4310 07 fld 8192,dl 000561 aa 6 06714 3521 00 epp2 pr6|3532 get_arg 000562 aa 0 00617 7001 00 tsx0 pr0|399 call_ent_var STATEMENT 1 ON LINE 170 if char (arg, 1) ^= "-" then do; 000563 aa 6 07072 4501 00 stz pr6|3642 000564 aa 6 06660 3735 20 epp7 pr6|3504,* arg_ptr 000565 aa 6 06674 7271 00 lxl7 pr6|3516 arg_len 000566 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000567 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000570 aa 6 07072 00 0001 desc9a pr6|3642,1 000571 aa 6 07072 2351 00 lda pr6|3642 000572 aa 055000 1150 03 cmpa 23040,du 000573 aa 000046 6000 04 tze 38,ic 000641 STATEMENT 1 ON LINE 171 refname_count = refname_count+1; 000574 aa 6 06676 0541 00 aos pr6|3518 refname_count STATEMENT 1 ON LINE 172 if refname_count > hbound (refnames, 1) then do; 000575 aa 6 06676 2361 00 ldq pr6|3518 refname_count 000576 aa 000040 1160 07 cmpq 32,dl 000577 aa 000034 6044 04 tmoz 28,ic 000633 STATEMENT 1 ON LINE 173 call complain (0, WHOAMI, "Too many reference names specified. Max is ^d.", hbound (refnames, 1)); 000600 aa 6 07072 4501 00 stz pr6|3642 000601 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000602 aa 777473 00 0060 desc9a -197,48 000274 = 124157157040 000603 aa 6 07074 00 0060 desc9a pr6|3644,48 000604 aa 000040 2360 07 ldq 32,dl 000605 aa 6 07073 7561 00 stq pr6|3643 000606 aa 6 07072 3521 00 epp2 pr6|3642 000607 aa 6 07120 2521 00 spri2 pr6|3664 000610 aa 777170 3520 04 epp2 -392,ic 000000 = 167150145162 000611 aa 6 07122 2521 00 spri2 pr6|3666 000612 aa 6 07074 3521 00 epp2 pr6|3644 000613 aa 6 07124 2521 00 spri2 pr6|3668 000614 aa 6 07073 3521 00 epp2 pr6|3643 000615 aa 6 07126 2521 00 spri2 pr6|3670 000616 aa 777240 3520 04 epp2 -352,ic 000056 = 404000000005 000617 aa 6 07132 2521 00 spri2 pr6|3674 000620 aa 777235 3520 04 epp2 -355,ic 000055 = 526000000040 000621 aa 6 07134 2521 00 spri2 pr6|3676 000622 aa 777230 3520 04 epp2 -360,ic 000052 = 524000000056 000623 aa 6 07136 2521 00 spri2 pr6|3678 000624 aa 777225 3520 04 epp2 -363,ic 000051 = 404000000030 000625 aa 6 07140 2521 00 spri2 pr6|3680 000626 aa 6 07116 6211 00 eax1 pr6|3662 000627 aa 020000 4310 07 fld 8192,dl 000630 aa 6 06710 3521 00 epp2 pr6|3528 complain 000631 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 175 goto MAIN_RETURN; 000632 aa 002645 7100 04 tra 1445,ic 003477 STATEMENT 1 ON LINE 176 end; STATEMENT 1 ON LINE 178 refnames (refname_count) = arg; 000633 aa 000052 4020 07 mpy 42,dl 000634 aa 6 00126 3715 06 epp5 pr6|86,ql refnames 000635 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000636 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000637 aa 5 00000 00 0250 desc9a pr5|0,168 refnames STATEMENT 1 ON LINE 179 end; 000640 aa 000220 7100 04 tra 144,ic 001060 STATEMENT 1 ON LINE 181 else if (arg = "-all" | arg = "-a") then if af_sw then do; 000641 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000642 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000643 aa 777207 00 0004 desc9a -377,4 000050 = 055141154154 000644 aa 000005 6000 04 tze 5,ic 000651 000645 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000646 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000647 aa 003746 00 0002 desc9a 2022,2 004613 = 055141000000 000650 aa 000042 6010 04 tnz 34,ic 000712 000651 aa 6 06636 2351 00 lda pr6|3486 af_sw 000652 aa 000035 6000 04 tze 29,ic 000707 STATEMENT 1 ON LINE 183 AF_BAD_OPT: call complain (0, WHOAMI, "Control arg not allowed for the active function. ^a", arg); 000653 aa 6 06674 2361 00 ldq pr6|3516 arg_len 000654 aa 526000 2760 03 orq 175104,du 000655 aa 6 07073 7561 00 stq pr6|3643 000656 aa 6 07072 4501 00 stz pr6|3642 000657 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000660 aa 777431 00 0064 desc9a -231,52 000310 = 103157156164 000661 aa 6 07074 00 0064 desc9a pr6|3644,52 000662 aa 6 07072 3521 00 epp2 pr6|3642 000663 aa 6 07120 2521 00 spri2 pr6|3664 000664 aa 777114 3520 04 epp2 -436,ic 000000 = 167150145162 000665 aa 6 07122 2521 00 spri2 pr6|3666 000666 aa 6 07074 3521 00 epp2 pr6|3644 000667 aa 6 07124 2521 00 spri2 pr6|3668 000670 aa 6 06660 3521 20 epp2 pr6|3504,* arg 000671 aa 6 07126 2521 00 spri2 pr6|3670 000672 aa 777164 3520 04 epp2 -396,ic 000056 = 404000000005 000673 aa 6 07132 2521 00 spri2 pr6|3674 000674 aa 777161 3520 04 epp2 -399,ic 000055 = 526000000040 000675 aa 6 07134 2521 00 spri2 pr6|3676 000676 aa 777151 3520 04 epp2 -407,ic 000047 = 524000000064 000677 aa 6 07136 2521 00 spri2 pr6|3678 000700 aa 6 07073 3521 00 epp2 pr6|3643 000701 aa 6 07140 2521 00 spri2 pr6|3680 000702 aa 6 07116 6211 00 eax1 pr6|3662 000703 aa 020000 4310 07 fld 8192,dl 000704 aa 6 06710 3521 00 epp2 pr6|3528 complain 000705 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 185 return; 000706 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 186 end; STATEMENT 1 ON LINE 187 else all_sw = "1"b; 000707 aa 400000 2350 03 lda 131072,du 000710 aa 6 06637 7551 00 sta pr6|3487 all_sw 000711 aa 000147 7100 04 tra 103,ic 001060 STATEMENT 1 ON LINE 189 else if (arg = "-long" | arg = "-lg") then if af_sw then go to AF_BAD_OPT; 000712 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000713 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000714 aa 777164 00 0005 desc9a -396,5 000076 = 055154157156 000715 aa 000005 6000 04 tze 5,ic 000722 000716 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000717 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000720 aa 777127 00 0003 desc9a -425,3 000045 = 055154147000 000721 aa 000007 6010 04 tnz 7,ic 000730 000722 aa 6 06636 2351 00 lda pr6|3486 af_sw 000723 aa 777730 6010 04 tnz -40,ic 000653 STATEMENT 1 ON LINE 191 else do; STATEMENT 1 ON LINE 192 long_sw = "1"b; 000724 aa 400000 2350 03 lda 131072,du 000725 aa 6 06641 7551 00 sta pr6|3489 long_sw STATEMENT 1 ON LINE 193 brief_sw = "0"b; 000726 aa 6 06640 4501 00 stz pr6|3488 brief_sw STATEMENT 1 ON LINE 194 end; 000727 aa 000131 7100 04 tra 89,ic 001060 STATEMENT 1 ON LINE 196 else if (arg = "-brief" | arg = "-bf") then if af_sw then go to AF_BAD_OPT; 000730 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000731 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000732 aa 777144 00 0006 desc9a -412,6 000074 = 055142162151 000733 aa 000005 6000 04 tze 5,ic 000740 000734 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000735 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000736 aa 777110 00 0003 desc9a -440,3 000044 = 055142146000 000737 aa 000007 6010 04 tnz 7,ic 000746 000740 aa 6 06636 2351 00 lda pr6|3486 af_sw 000741 aa 777712 6010 04 tnz -54,ic 000653 STATEMENT 1 ON LINE 198 else do; STATEMENT 1 ON LINE 199 brief_sw = "1"b; 000742 aa 400000 2350 03 lda 131072,du 000743 aa 6 06640 7551 00 sta pr6|3488 brief_sw STATEMENT 1 ON LINE 200 long_sw = "0"b; 000744 aa 6 06641 4501 00 stz pr6|3489 long_sw STATEMENT 1 ON LINE 201 end; 000745 aa 000113 7100 04 tra 75,ic 001060 STATEMENT 1 ON LINE 203 else if (arg = "-entry_point") | (arg = "-ep") then all_entry_points = "1"b; 000746 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000747 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000750 aa 777141 00 0014 desc9a -415,12 000107 = 055145156164 000751 aa 000005 6000 04 tze 5,ic 000756 000752 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000753 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000754 aa 777071 00 0003 desc9a -455,3 000043 = 055145160000 000755 aa 000004 6010 04 tnz 4,ic 000761 000756 aa 400000 2350 03 lda 131072,du 000757 aa 6 06642 7551 00 sta pr6|3490 all_entry_points 000760 aa 000100 7100 04 tra 64,ic 001060 STATEMENT 1 ON LINE 204 else if (arg = "-file") | (arg = "-segment") | (arg = "-sm") then all_segments = "1"b; 000761 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000762 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000763 aa 777111 00 0005 desc9a -439,5 000072 = 055146151154 000764 aa 000011 6000 04 tze 9,ic 000775 000765 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000766 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000767 aa 777103 00 0010 desc9a -445,8 000070 = 055163145147 000770 aa 000005 6000 04 tze 5,ic 000775 000771 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000772 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 000773 aa 777051 00 0003 desc9a -471,3 000042 = 055163155000 000774 aa 000004 6010 04 tnz 4,ic 001000 000775 aa 400000 2350 03 lda 131072,du 000776 aa 6 06643 7551 00 sta pr6|3491 all_segments 000777 aa 000061 7100 04 tra 49,ic 001060 STATEMENT 1 ON LINE 206 else if (arg = "-inhibit_error") | (arg = "-ihe") then inhibit_error = "1"b; 001000 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001001 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001002 aa 777122 00 0016 desc9a -430,14 000122 = 055151156150 001003 aa 000005 6000 04 tze 5,ic 001010 001004 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001005 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001006 aa 777035 00 0004 desc9a -483,4 000041 = 055151150145 001007 aa 000004 6010 04 tnz 4,ic 001013 001010 aa 400000 2350 03 lda 131072,du 001011 aa 6 06645 7551 00 sta pr6|3493 inhibit_error 001012 aa 000046 7100 04 tra 38,ic 001060 STATEMENT 1 ON LINE 207 else if (arg = "-no_inhibit_error") | (arg = "-nihe") then inhibit_error = "0"b; 001013 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001014 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001015 aa 777125 00 0021 desc9a -427,17 000140 = 055156157137 001016 aa 000005 6000 04 tze 5,ic 001023 001017 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001020 aa 7 00000 00 0017 desc9a pr7|0,x7 arg 001021 aa 777047 00 0005 desc9a -473,5 000066 = 055156151150 001022 aa 000003 6010 04 tnz 3,ic 001025 001023 aa 6 06645 4501 00 stz pr6|3493 inhibit_error 001024 aa 000034 7100 04 tra 28,ic 001060 STATEMENT 1 ON LINE 208 else do; STATEMENT 1 ON LINE 209 call complain (error_table_$badopt, WHOAMI, "^a", arg); 001025 aa 6 06674 2361 00 ldq pr6|3516 arg_len 001026 aa 526000 2760 03 orq 175104,du 001027 aa 6 07073 7561 00 stq pr6|3643 001030 aa 136141 2350 03 lda 48225,du 001031 aa 6 07072 7551 00 sta pr6|3642 001032 aa 6 00044 3701 20 epp4 pr6|36,* 001033 la 4 00010 3521 20 epp2 pr4|8,* error_table_$badopt 001034 aa 6 07120 2521 00 spri2 pr6|3664 001035 aa 776743 3520 04 epp2 -541,ic 000000 = 167150145162 001036 aa 6 07122 2521 00 spri2 pr6|3666 001037 aa 6 07072 3521 00 epp2 pr6|3642 001040 aa 6 07124 2521 00 spri2 pr6|3668 001041 aa 7 00000 3521 00 epp2 pr7|0 arg 001042 aa 6 07126 2521 00 spri2 pr6|3670 001043 aa 776775 3520 04 epp2 -515,ic 000040 = 404000000043 001044 aa 6 07132 2521 00 spri2 pr6|3674 001045 aa 777010 3520 04 epp2 -504,ic 000055 = 526000000040 001046 aa 6 07134 2521 00 spri2 pr6|3676 001047 aa 776770 3520 04 epp2 -520,ic 000037 = 524000000002 001050 aa 6 07136 2521 00 spri2 pr6|3678 001051 aa 6 07073 3521 00 epp2 pr6|3643 001052 aa 6 07140 2521 00 spri2 pr6|3680 001053 aa 6 07116 6211 00 eax1 pr6|3662 001054 aa 020000 4310 07 fld 8192,dl 001055 aa 6 06710 3521 00 epp2 pr6|3528 complain 001056 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 210 goto MAIN_RETURN; 001057 aa 002420 7100 04 tra 1296,ic 003477 STATEMENT 1 ON LINE 211 end; STATEMENT 1 ON LINE 212 end; 001060 aa 6 06700 0541 00 aos pr6|3520 argno 001061 aa 777463 7100 04 tra -205,ic 000544 STATEMENT 1 ON LINE 214 if refname_count = 0 | (af_sw & refname_count > 1) then goto USAGE; 001062 aa 6 06676 2361 00 ldq pr6|3518 refname_count 001063 aa 777345 6000 04 tze -283,ic 000430 001064 aa 6 06636 2351 00 lda pr6|3486 af_sw 001065 aa 000003 6000 04 tze 3,ic 001070 001066 aa 000001 1160 07 cmpq 1,dl 001067 aa 777341 6054 04 tpnz -287,ic 000430 STATEMENT 1 ON LINE 217 if all_entry_points & all_segments then do; 001070 aa 6 06642 2351 00 lda pr6|3490 all_entry_points 001071 aa 000030 6000 04 tze 24,ic 001121 001072 aa 6 06643 2351 00 lda pr6|3491 all_segments 001073 aa 000026 6000 04 tze 22,ic 001121 STATEMENT 1 ON LINE 218 call complain (error_table_$inconsistent, WHOAMI, "-segment and -entry_point"); 001074 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001075 aa 777101 00 0034 desc9a -447,28 000175 = 055163145147 001076 aa 6 07060 00 0034 desc9a pr6|3632,28 001077 aa 6 00044 3701 20 epp4 pr6|36,* 001100 la 4 00012 3521 20 epp2 pr4|10,* error_table_$inconsistent 001101 aa 6 07076 2521 00 spri2 pr6|3646 001102 aa 776676 3520 04 epp2 -578,ic 000000 = 167150145162 001103 aa 6 07100 2521 00 spri2 pr6|3648 001104 aa 6 07060 3521 00 epp2 pr6|3632 001105 aa 6 07102 2521 00 spri2 pr6|3650 001106 aa 776732 3520 04 epp2 -550,ic 000040 = 404000000043 001107 aa 6 07106 2521 00 spri2 pr6|3654 001110 aa 776745 3520 04 epp2 -539,ic 000055 = 526000000040 001111 aa 6 07110 2521 00 spri2 pr6|3656 001112 aa 776724 3520 04 epp2 -556,ic 000036 = 524000000031 001113 aa 6 07112 2521 00 spri2 pr6|3658 001114 aa 6 07074 6211 00 eax1 pr6|3644 001115 aa 014000 4310 07 fld 6144,dl 001116 aa 6 06710 3521 00 epp2 pr6|3528 complain 001117 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 219 goto MAIN_RETURN; 001120 aa 002357 7100 04 tra 1263,ic 003477 STATEMENT 1 ON LINE 220 end; STATEMENT 1 ON LINE 222 if all_sw & ^brief_sw then long_sw = "1"b; 001121 aa 6 06637 2351 00 lda pr6|3487 all_sw 001122 aa 000005 6000 04 tze 5,ic 001127 001123 aa 6 06640 2351 00 lda pr6|3488 brief_sw 001124 aa 000003 6010 04 tnz 3,ic 001127 001125 aa 400000 2350 03 lda 131072,du 001126 aa 6 06641 7551 00 sta pr6|3489 long_sw STATEMENT 1 ON LINE 224 if long_sw | all_sw then do; 001127 aa 6 06641 2351 00 lda pr6|3489 long_sw 001130 aa 000003 6010 04 tnz 3,ic 001133 001131 aa 6 06637 2351 00 lda pr6|3487 all_sw 001132 aa 000077 6000 04 tze 63,ic 001231 STATEMENT 1 ON LINE 226 search_manually = "1"b; 001133 aa 400000 2350 03 lda 131072,du 001134 aa 6 06647 7551 00 sta pr6|3495 search_manually STATEMENT 1 ON LINE 228 call hcs_$get_search_rules (addr (search_rules)); 001135 aa 6 02700 3735 00 epp7 pr6|1472 search_rules 001136 aa 6 07142 6535 00 spri7 pr6|3682 001137 aa 6 07142 3521 00 epp2 pr6|3682 001140 aa 6 07056 2521 00 spri2 pr6|3630 001141 aa 6 07054 6211 00 eax1 pr6|3628 001142 aa 004000 4310 07 fld 2048,dl 001143 aa 6 00044 3701 20 epp4 pr6|36,* 001144 la 4 00056 3521 20 epp2 pr4|46,* hcs_$get_search_rules 001145 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 229 dir_count = 0; 001146 aa 6 06675 4501 00 stz pr6|3517 dir_count STATEMENT 1 ON LINE 230 try_initiated_segs = "0"b; 001147 aa 6 06653 4501 00 stz pr6|3499 try_initiated_segs STATEMENT 1 ON LINE 232 do idx = 1 to rule_count; 001150 aa 6 02700 2361 00 ldq pr6|1472 search_rules.rule_count 001151 aa 6 06727 7561 00 stq pr6|3543 001152 aa 000001 2360 07 ldq 1,dl 001153 aa 6 06702 7561 00 stq pr6|3522 idx 001154 aa 6 06702 2361 00 ldq pr6|3522 idx 001155 aa 6 06727 1161 00 cmpq pr6|3543 001156 aa 000053 6054 04 tpnz 43,ic 001231 STATEMENT 1 ON LINE 233 if rule (idx) = "initiated_segments" then try_initiated_segs = "1"b; 001157 aa 000052 4020 07 mpy 42,dl 001160 aa 6 02627 3735 06 epp7 pr6|1431,ql search_rules.rule 001161 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001162 aa 7 00000 00 0250 desc9a pr7|0,168 search_rules.rule 001163 aa 776752 00 0022 desc9a -534,18 000133 = 151156151164 001164 aa 6 07073 7561 00 stq pr6|3643 001165 aa 000004 6010 04 tnz 4,ic 001171 001166 aa 400000 2350 03 lda 131072,du 001167 aa 6 06653 7551 00 sta pr6|3499 try_initiated_segs 001170 aa 000037 7100 04 tra 31,ic 001227 STATEMENT 1 ON LINE 234 else if rule (idx) ^= "referencing_dir" then do; 001171 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001172 aa 7 00000 00 0250 desc9a pr7|0,168 search_rules.rule 001173 aa 776725 00 0017 desc9a -555,15 000116 = 162145146145 001174 aa 000033 6000 04 tze 27,ic 001227 STATEMENT 1 ON LINE 235 dir_count = dir_count + 1; 001175 aa 6 06675 0541 00 aos pr6|3517 dir_count STATEMENT 1 ON LINE 236 if rule (idx) = "working_dir" then dir (dir_count) = get_wdir_ (); 001176 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001177 aa 7 00000 00 0250 desc9a pr7|0,168 search_rules.rule 001200 aa 776706 00 0013 desc9a -570,11 000104 = 167157162153 001201 aa 000013 6010 04 tnz 11,ic 001214 001202 aa 6 06675 2361 00 ldq pr6|3517 dir_count 001203 aa 000054 4020 07 mpy 44,dl 001204 aa 6 04407 3521 06 epp2 pr6|2311,ql search_dirs.dir 001205 aa 6 07056 2521 00 spri2 pr6|3630 001206 aa 6 07054 6211 00 eax1 pr6|3628 001207 aa 004000 4310 07 fld 2048,dl 001210 aa 6 00044 3701 20 epp4 pr6|36,* 001211 la 4 00050 3521 20 epp2 pr4|40,* get_wdir_ 001212 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001213 aa 000007 7100 04 tra 7,ic 001222 STATEMENT 1 ON LINE 237 else dir (dir_count) = rule (idx); 001214 aa 6 06675 2361 00 ldq pr6|3517 dir_count 001215 aa 000054 4020 07 mpy 44,dl 001216 aa 6 04407 3715 06 epp5 pr6|2311,ql search_dirs.dir 001217 aa 000 100 100 500 mlr (pr),(pr),fill(000) 001220 aa 7 00000 00 0250 desc9a pr7|0,168 search_rules.rule 001221 aa 5 00000 00 0250 desc9a pr5|0,168 search_dirs.dir STATEMENT 1 ON LINE 238 rule_number (dir_count) = idx; 001222 aa 6 06675 2361 00 ldq pr6|3517 dir_count 001223 aa 000054 4020 07 mpy 44,dl 001224 aa 000000 6270 06 eax7 0,ql 001225 aa 6 06702 2361 00 ldq pr6|3522 idx 001226 aa 6 04462 7561 17 stq pr6|2354,7 search_dirs.rule_number STATEMENT 1 ON LINE 239 end; STATEMENT 1 ON LINE 240 end; 001227 aa 6 06702 0541 00 aos pr6|3522 idx 001230 aa 777724 7100 04 tra -44,ic 001154 STATEMENT 1 ON LINE 241 end; STATEMENT 1 ON LINE 245 do refname_idx = 1 to refname_count; 001231 aa 6 06676 2361 00 ldq pr6|3518 refname_count 001232 aa 6 06730 7561 00 stq pr6|3544 001233 aa 000001 2360 07 ldq 1,dl 001234 aa 6 06703 7561 00 stq pr6|3523 refname_idx 001235 aa 000000 0110 03 nop 0,du 001236 aa 6 06703 2361 00 ldq pr6|3523 refname_idx 001237 aa 6 06730 1161 00 cmpq pr6|3544 001240 aa 002237 6054 04 tpnz 1183,ic 003477 STATEMENT 1 ON LINE 247 name = refnames (refname_idx); 001241 aa 000052 4020 07 mpy 42,dl 001242 aa 6 00126 3735 06 epp7 pr6|86,ql refnames 001243 aa 000 100 100 500 mlr (pr),(pr),fill(000) 001244 aa 7 00000 00 0250 desc9a pr7|0,168 refnames 001245 aa 6 06443 00 0250 desc9a pr6|3363,168 name STATEMENT 1 ON LINE 249 idx = index (name, "$"); 001246 aa 000 003 124 500 scm (pr),(du),mask(000) 001247 aa 6 06443 00 0250 desc9a pr6|3363,168 name 001250 aa 044000 00 0001 desc9a 18432,1 001251 aa 6 00056 0001 00 arg pr6|46 001252 aa 6 00056 2361 00 ldq pr6|46 001253 aa 000002 6070 04 ttf 2,ic 001255 001254 aa 000001 3360 07 lcq 1,dl 001255 aa 000001 0760 07 adq 1,dl 001256 aa 6 06702 7561 00 stq pr6|3522 idx STATEMENT 1 ON LINE 250 if (idx ^= 0) & ^all_segments then do; 001257 aa 000027 6000 04 tze 23,ic 001306 001260 aa 6 06643 2351 00 lda pr6|3491 all_segments 001261 aa 000025 6010 04 tnz 21,ic 001306 STATEMENT 1 ON LINE 251 entry_point_name = substr (name, idx + 1); 001262 aa 000250 2360 07 ldq 168,dl 001263 aa 6 06702 1761 00 sbq pr6|3522 idx 001264 aa 6 06702 7271 00 lxl7 pr6|3522 idx 001265 aa 040 100 100 557 mlr (pr,rl,x7),(pr),fill(040) 001266 aa 6 06443 00 0006 desc9a pr6|3363,ql name 001267 aa 6 06371 00 0250 desc9a pr6|3321,168 entry_point_name STATEMENT 1 ON LINE 252 name = substr (name, 1, idx - 1); 001270 aa 6 06702 2361 00 ldq pr6|3522 idx 001271 aa 000001 1760 07 sbq 1,dl 001272 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001273 aa 6 06443 00 0006 desc9a pr6|3363,ql name 001274 aa 6 06443 00 0250 desc9a pr6|3363,168 name STATEMENT 1 ON LINE 253 if entry_point_name = "" then entry_point = "0"b; 001275 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001276 aa 6 06371 00 0250 desc9a pr6|3321,168 entry_point_name 001277 aa 003313 00 0000 desc9a 1739,0 004610 = 167000000000 001300 aa 000003 6010 04 tnz 3,ic 001303 001301 aa 6 06644 4501 00 stz pr6|3492 entry_point 001302 aa 000020 7100 04 tra 16,ic 001322 STATEMENT 1 ON LINE 254 else entry_point = "1"b; 001303 aa 400000 2350 03 lda 131072,du 001304 aa 6 06644 7551 00 sta pr6|3492 entry_point STATEMENT 1 ON LINE 255 end; 001305 aa 000015 7100 04 tra 13,ic 001322 STATEMENT 1 ON LINE 257 else if all_entry_points then do; 001306 aa 6 06642 2351 00 lda pr6|3490 all_entry_points 001307 aa 000007 6000 04 tze 7,ic 001316 STATEMENT 1 ON LINE 258 entry_point = "1"b; 001310 aa 400000 2350 03 lda 131072,du 001311 aa 6 06644 7551 00 sta pr6|3492 entry_point STATEMENT 1 ON LINE 259 entry_point_name = name; 001312 aa 000 100 100 500 mlr (pr),(pr),fill(000) 001313 aa 6 06443 00 0250 desc9a pr6|3363,168 name 001314 aa 6 06371 00 0250 desc9a pr6|3321,168 entry_point_name STATEMENT 1 ON LINE 260 end; 001315 aa 000005 7100 04 tra 5,ic 001322 STATEMENT 1 ON LINE 262 else do; STATEMENT 1 ON LINE 263 entry_point = "0"b; 001316 aa 6 06644 4501 00 stz pr6|3492 entry_point STATEMENT 1 ON LINE 264 entry_point_name = ""; 001317 aa 040 100 100 400 mlr (),(pr),fill(040) 001320 aa 000000 00 0000 desc9a 0,0 001321 aa 6 06371 00 0250 desc9a pr6|3321,168 entry_point_name STATEMENT 1 ON LINE 265 end; STATEMENT 1 ON LINE 267 if length (rtrim (name)) > 32 then do; 001322 aa 000 000 165 500 tctr (pr) 001323 aa 6 06443 00 0250 desc9a pr6|3363,168 name 001324 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 001325 aa 6 00056 0001 00 arg pr6|46 001326 aa 6 00056 2361 00 ldq pr6|46 001327 aa 0 00242 3761 00 anq pr0|162 = 000777777777 001330 aa 6 07073 7561 00 stq pr6|3643 001331 aa 000250 2360 07 ldq 168,dl 001332 aa 6 07073 1761 00 sbq pr6|3643 001333 aa 000040 1160 07 cmpq 32,dl 001334 aa 000031 6044 04 tmoz 25,ic 001365 STATEMENT 1 ON LINE 268 call complain (error_table_$entlong, WHOAMI, "^a", name); 001335 aa 136141 2350 03 lda 48225,du 001336 aa 6 07073 7551 00 sta pr6|3643 001337 aa 6 00044 3701 20 epp4 pr6|36,* 001340 la 4 00024 3521 20 epp2 pr4|20,* error_table_$entlong 001341 aa 6 07120 2521 00 spri2 pr6|3664 001342 aa 776436 3520 04 epp2 -738,ic 000000 = 167150145162 001343 aa 6 07122 2521 00 spri2 pr6|3666 001344 aa 6 07073 3521 00 epp2 pr6|3643 001345 aa 6 07124 2521 00 spri2 pr6|3668 001346 aa 6 06443 3521 00 epp2 pr6|3363 name 001347 aa 6 07126 2521 00 spri2 pr6|3670 001350 aa 776470 3520 04 epp2 -712,ic 000040 = 404000000043 001351 aa 6 07132 2521 00 spri2 pr6|3674 001352 aa 776503 3520 04 epp2 -701,ic 000055 = 526000000040 001353 aa 6 07134 2521 00 spri2 pr6|3676 001354 aa 776463 3520 04 epp2 -717,ic 000037 = 524000000002 001355 aa 6 07136 2521 00 spri2 pr6|3678 001356 aa 776503 3520 04 epp2 -701,ic 000061 = 526000000250 001357 aa 6 07140 2521 00 spri2 pr6|3680 001360 aa 6 07116 6211 00 eax1 pr6|3662 001361 aa 020000 4310 07 fld 8192,dl 001362 aa 6 06710 3521 00 epp2 pr6|3528 complain 001363 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 269 goto NEXT; 001364 aa 002111 7100 04 tra 1097,ic 003475 STATEMENT 1 ON LINE 270 end; STATEMENT 1 ON LINE 272 else if length (rtrim (entry_point_name)) > 32 then do; 001365 aa 000 000 165 500 tctr (pr) 001366 aa 6 06371 00 0250 desc9a pr6|3321,168 entry_point_name 001367 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 001370 aa 6 00056 0001 00 arg pr6|46 001371 aa 6 00056 2361 00 ldq pr6|46 001372 aa 0 00242 3761 00 anq pr0|162 = 000777777777 001373 aa 6 07073 7561 00 stq pr6|3643 001374 aa 000250 2360 07 ldq 168,dl 001375 aa 6 07073 1761 00 sbq pr6|3643 001376 aa 000040 1160 07 cmpq 32,dl 001377 aa 000031 6044 04 tmoz 25,ic 001430 STATEMENT 1 ON LINE 273 call complain (error_table_$entlong, WHOAMI, "^a", entry_point_name); 001400 aa 136141 2350 03 lda 48225,du 001401 aa 6 07073 7551 00 sta pr6|3643 001402 aa 6 00044 3701 20 epp4 pr6|36,* 001403 la 4 00024 3521 20 epp2 pr4|20,* error_table_$entlong 001404 aa 6 07120 2521 00 spri2 pr6|3664 001405 aa 776373 3520 04 epp2 -773,ic 000000 = 167150145162 001406 aa 6 07122 2521 00 spri2 pr6|3666 001407 aa 6 07073 3521 00 epp2 pr6|3643 001410 aa 6 07124 2521 00 spri2 pr6|3668 001411 aa 6 06371 3521 00 epp2 pr6|3321 entry_point_name 001412 aa 6 07126 2521 00 spri2 pr6|3670 001413 aa 776425 3520 04 epp2 -747,ic 000040 = 404000000043 001414 aa 6 07132 2521 00 spri2 pr6|3674 001415 aa 776440 3520 04 epp2 -736,ic 000055 = 526000000040 001416 aa 6 07134 2521 00 spri2 pr6|3676 001417 aa 776420 3520 04 epp2 -752,ic 000037 = 524000000002 001420 aa 6 07136 2521 00 spri2 pr6|3678 001421 aa 776440 3520 04 epp2 -736,ic 000061 = 526000000250 001422 aa 6 07140 2521 00 spri2 pr6|3680 001423 aa 6 07116 6211 00 eax1 pr6|3662 001424 aa 020000 4310 07 fld 8192,dl 001425 aa 6 06710 3521 00 epp2 pr6|3528 complain 001426 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 274 goto NEXT; 001427 aa 002046 7100 04 tra 1062,ic 003475 STATEMENT 1 ON LINE 275 end; STATEMENT 1 ON LINE 279 if ^search_manually then do; 001430 aa 6 06647 2351 00 lda pr6|3495 search_manually 001431 aa 000411 6010 04 tnz 265,ic 002042 STATEMENT 1 ON LINE 281 terminate = "0"b; 001432 aa 6 06652 4501 00 stz pr6|3498 terminate STATEMENT 1 ON LINE 282 call hcs_$fs_get_seg_ptr (name, seg_ptr, code); 001433 aa 6 06443 3521 00 epp2 pr6|3363 name 001434 aa 6 07076 2521 00 spri2 pr6|3646 001435 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 001436 aa 6 07100 2521 00 spri2 pr6|3648 001437 aa 6 06706 3521 00 epp2 pr6|3526 code 001440 aa 6 07102 2521 00 spri2 pr6|3650 001441 aa 776420 3520 04 epp2 -752,ic 000061 = 526000000250 001442 aa 6 07104 2521 00 spri2 pr6|3652 001443 aa 776417 3520 04 epp2 -753,ic 000062 = 464000000000 001444 aa 6 07106 2521 00 spri2 pr6|3654 001445 aa 776373 3520 04 epp2 -773,ic 000040 = 404000000043 001446 aa 6 07110 2521 00 spri2 pr6|3656 001447 aa 6 07074 6211 00 eax1 pr6|3644 001450 aa 014000 4310 07 fld 6144,dl 001451 aa 6 00044 3701 20 epp4 pr6|36,* 001452 la 4 00060 3521 20 epp2 pr4|48,* hcs_$fs_get_seg_ptr 001453 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 283 if seg_ptr = null then do; 001454 aa 6 06670 2371 00 ldaq pr6|3512 seg_ptr 001455 aa 776423 6770 04 eraq -749,ic 000100 = 077777000043 000001000000 001456 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001457 aa 000070 6010 04 tnz 56,ic 001547 STATEMENT 1 ON LINE 284 terminate = "1"b; 001460 aa 400000 2350 03 lda 131072,du 001461 aa 6 06652 7551 00 sta pr6|3498 terminate STATEMENT 1 ON LINE 285 call hcs_$make_ptr (null (), name, "", seg_ptr, code); 001462 aa 776416 3734 24 epp7 -754,ic* 001463 aa 6 07142 6535 00 spri7 pr6|3682 001464 aa 6 07142 3521 00 epp2 pr6|3682 001465 aa 6 07146 2521 00 spri2 pr6|3686 001466 aa 6 06443 3521 00 epp2 pr6|3363 name 001467 aa 6 07150 2521 00 spri2 pr6|3688 001470 aa 6 07073 3521 00 epp2 pr6|3643 001471 aa 6 07152 2521 00 spri2 pr6|3690 001472 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 001473 aa 6 07154 2521 00 spri2 pr6|3692 001474 aa 6 06706 3521 00 epp2 pr6|3526 code 001475 aa 6 07156 2521 00 spri2 pr6|3694 001476 aa 776364 3520 04 epp2 -780,ic 000062 = 464000000000 001477 aa 6 07160 2521 00 spri2 pr6|3696 001500 aa 6 07166 2521 00 spri2 pr6|3702 001501 aa 776360 3520 04 epp2 -784,ic 000061 = 526000000250 001502 aa 6 07162 2521 00 spri2 pr6|3698 001503 aa 776332 3520 04 epp2 -806,ic 000035 = 524000000000 001504 aa 6 07164 2521 00 spri2 pr6|3700 001505 aa 776333 3520 04 epp2 -805,ic 000040 = 404000000043 001506 aa 6 07170 2521 00 spri2 pr6|3704 001507 aa 6 07144 6211 00 eax1 pr6|3684 001510 aa 024000 4310 07 fld 10240,dl 001511 aa 6 00044 3701 20 epp4 pr6|36,* 001512 la 4 00064 3521 20 epp2 pr4|52,* hcs_$make_ptr 001513 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 286 if code ^= 0 then do; 001514 aa 6 06706 2361 00 ldq pr6|3526 code 001515 aa 000032 6000 04 tze 26,ic 001547 STATEMENT 1 ON LINE 287 if ^inhibit_error then call complain (code, WHOAMI, "^a", name); 001516 aa 6 06645 2351 00 lda pr6|3493 inhibit_error 001517 aa 001756 6010 04 tnz 1006,ic 003475 001520 aa 136141 2350 03 lda 48225,du 001521 aa 6 07073 7551 00 sta pr6|3643 001522 aa 6 06706 3521 00 epp2 pr6|3526 code 001523 aa 6 07120 2521 00 spri2 pr6|3664 001524 aa 776254 3520 04 epp2 -852,ic 000000 = 167150145162 001525 aa 6 07122 2521 00 spri2 pr6|3666 001526 aa 6 07073 3521 00 epp2 pr6|3643 001527 aa 6 07124 2521 00 spri2 pr6|3668 001530 aa 6 06443 3521 00 epp2 pr6|3363 name 001531 aa 6 07126 2521 00 spri2 pr6|3670 001532 aa 776306 3520 04 epp2 -826,ic 000040 = 404000000043 001533 aa 6 07132 2521 00 spri2 pr6|3674 001534 aa 776321 3520 04 epp2 -815,ic 000055 = 526000000040 001535 aa 6 07134 2521 00 spri2 pr6|3676 001536 aa 776301 3520 04 epp2 -831,ic 000037 = 524000000002 001537 aa 6 07136 2521 00 spri2 pr6|3678 001540 aa 776321 3520 04 epp2 -815,ic 000061 = 526000000250 001541 aa 6 07140 2521 00 spri2 pr6|3680 001542 aa 6 07116 6211 00 eax1 pr6|3662 001543 aa 020000 4310 07 fld 8192,dl 001544 aa 6 06710 3521 00 epp2 pr6|3528 complain 001545 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 288 goto NEXT; 001546 aa 001727 7100 04 tra 983,ic 003475 STATEMENT 1 ON LINE 289 end; STATEMENT 1 ON LINE 290 end; STATEMENT 1 ON LINE 292 call get_pathname (seg_ptr, dn, en, code); 001547 aa 003015 3520 04 epp2 1549,ic 004564 = 000010000000 001550 aa 2 00000 2351 00 lda pr2|0 001551 aa 001751 6700 04 tsp4 1001,ic 003522 STATEMENT 1 ON LINE 293 if code ^= 0 then do; 001552 aa 6 06706 2361 00 ldq pr6|3526 code 001553 aa 000030 6000 04 tze 24,ic 001603 STATEMENT 1 ON LINE 294 call complain (code, WHOAMI, "^a", name); 001554 aa 136141 2350 03 lda 48225,du 001555 aa 6 07073 7551 00 sta pr6|3643 001556 aa 6 06706 3521 00 epp2 pr6|3526 code 001557 aa 6 07120 2521 00 spri2 pr6|3664 001560 aa 776220 3520 04 epp2 -880,ic 000000 = 167150145162 001561 aa 6 07122 2521 00 spri2 pr6|3666 001562 aa 6 07073 3521 00 epp2 pr6|3643 001563 aa 6 07124 2521 00 spri2 pr6|3668 001564 aa 6 06443 3521 00 epp2 pr6|3363 name 001565 aa 6 07126 2521 00 spri2 pr6|3670 001566 aa 776252 3520 04 epp2 -854,ic 000040 = 404000000043 001567 aa 6 07132 2521 00 spri2 pr6|3674 001570 aa 776265 3520 04 epp2 -843,ic 000055 = 526000000040 001571 aa 6 07134 2521 00 spri2 pr6|3676 001572 aa 776245 3520 04 epp2 -859,ic 000037 = 524000000002 001573 aa 6 07136 2521 00 spri2 pr6|3678 001574 aa 776265 3520 04 epp2 -843,ic 000061 = 526000000250 001575 aa 6 07140 2521 00 spri2 pr6|3680 001576 aa 6 07116 6211 00 eax1 pr6|3662 001577 aa 020000 4310 07 fld 8192,dl 001600 aa 6 06710 3521 00 epp2 pr6|3528 complain 001601 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 295 goto NEXT; 001602 aa 001673 7100 04 tra 955,ic 003475 STATEMENT 1 ON LINE 296 end; STATEMENT 1 ON LINE 298 if entry_point then do; 001603 aa 6 06644 2351 00 lda pr6|3492 entry_point 001604 aa 400000 3150 03 cana 131072,du 001605 aa 000100 6000 04 tze 64,ic 001705 STATEMENT 1 ON LINE 300 call find_entry_point; 001606 aa 002104 6700 04 tsp4 1092,ic 003712 STATEMENT 1 ON LINE 302 if terminate then call hcs_$terminate_name (name, (0)); 001607 aa 6 06652 2351 00 lda pr6|3498 terminate 001610 aa 000017 6000 04 tze 15,ic 001627 001611 aa 6 07073 4501 00 stz pr6|3643 001612 aa 6 06443 3521 00 epp2 pr6|3363 name 001613 aa 6 07062 2521 00 spri2 pr6|3634 001614 aa 6 07073 3521 00 epp2 pr6|3643 001615 aa 6 07064 2521 00 spri2 pr6|3636 001616 aa 776243 3520 04 epp2 -861,ic 000061 = 526000000250 001617 aa 6 07066 2521 00 spri2 pr6|3638 001620 aa 776220 3520 04 epp2 -880,ic 000040 = 404000000043 001621 aa 6 07070 2521 00 spri2 pr6|3640 001622 aa 6 07060 6211 00 eax1 pr6|3632 001623 aa 010000 4310 07 fld 4096,dl 001624 aa 6 00044 3701 20 epp4 pr6|36,* 001625 la 4 00076 3521 20 epp2 pr4|62,* hcs_$terminate_name 001626 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 303 if code ^= 0 then do; 001627 aa 6 06706 2361 00 ldq pr6|3526 code 001630 aa 000074 6000 04 tze 60,ic 001724 STATEMENT 1 ON LINE 304 call complain (code, WHOAMI, "^a$^a", pathname_ (dn, en), entry_point_name); 001631 aa 776233 2370 04 ldaq -869,ic 000064 = 136141044136 141000000000 001632 aa 6 07142 7571 00 staq pr6|3682 001633 aa 6 06317 3521 00 epp2 pr6|3279 dn 001634 aa 6 07076 2521 00 spri2 pr6|3646 001635 aa 6 06515 3521 00 epp2 pr6|3405 en 001636 aa 6 07100 2521 00 spri2 pr6|3648 001637 aa 6 07172 3521 00 epp2 pr6|3706 001640 aa 6 07102 2521 00 spri2 pr6|3650 001641 aa 776220 3520 04 epp2 -880,ic 000061 = 526000000250 001642 aa 6 07104 2521 00 spri2 pr6|3652 001643 aa 6 07110 2521 00 spri2 pr6|3656 001644 aa 776211 3520 04 epp2 -887,ic 000055 = 526000000040 001645 aa 6 07106 2521 00 spri2 pr6|3654 001646 aa 6 07074 6211 00 eax1 pr6|3644 001647 aa 014000 4310 07 fld 6144,dl 001650 aa 6 00044 3701 20 epp4 pr6|36,* 001651 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 001652 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 001653 aa 6 06706 3521 00 epp2 pr6|3526 code 001654 aa 6 07246 2521 00 spri2 pr6|3750 001655 aa 776123 3520 04 epp2 -941,ic 000000 = 167150145162 001656 aa 6 07250 2521 00 spri2 pr6|3752 001657 aa 6 07142 3521 00 epp2 pr6|3682 001660 aa 6 07252 2521 00 spri2 pr6|3754 001661 aa 6 07172 3521 00 epp2 pr6|3706 001662 aa 6 07254 2521 00 spri2 pr6|3756 001663 aa 6 06371 3521 00 epp2 pr6|3321 entry_point_name 001664 aa 6 07256 2521 00 spri2 pr6|3758 001665 aa 776153 3520 04 epp2 -917,ic 000040 = 404000000043 001666 aa 6 07262 2521 00 spri2 pr6|3762 001667 aa 776166 3520 04 epp2 -906,ic 000055 = 526000000040 001670 aa 6 07264 2521 00 spri2 pr6|3764 001671 aa 776143 3520 04 epp2 -925,ic 000034 = 524000000005 001672 aa 6 07266 2521 00 spri2 pr6|3766 001673 aa 776140 3520 04 epp2 -928,ic 000033 = 524000000250 001674 aa 6 07270 2521 00 spri2 pr6|3768 001675 aa 776164 3520 04 epp2 -908,ic 000061 = 526000000250 001676 aa 6 07272 2521 00 spri2 pr6|3770 001677 aa 6 07244 6211 00 eax1 pr6|3748 001700 aa 024000 4310 07 fld 10240,dl 001701 aa 6 06710 3521 00 epp2 pr6|3528 complain 001702 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 305 goto NEXT; 001703 aa 001572 7100 04 tra 890,ic 003475 STATEMENT 1 ON LINE 306 end; STATEMENT 1 ON LINE 307 end; 001704 aa 000020 7100 04 tra 16,ic 001724 STATEMENT 1 ON LINE 309 else if terminate then call hcs_$terminate_name (name, code); 001705 aa 6 06652 2351 00 lda pr6|3498 terminate 001706 aa 000016 6000 04 tze 14,ic 001724 001707 aa 6 06443 3521 00 epp2 pr6|3363 name 001710 aa 6 07062 2521 00 spri2 pr6|3634 001711 aa 6 06706 3521 00 epp2 pr6|3526 code 001712 aa 6 07064 2521 00 spri2 pr6|3636 001713 aa 776146 3520 04 epp2 -922,ic 000061 = 526000000250 001714 aa 6 07066 2521 00 spri2 pr6|3638 001715 aa 776123 3520 04 epp2 -941,ic 000040 = 404000000043 001716 aa 6 07070 2521 00 spri2 pr6|3640 001717 aa 6 07060 6211 00 eax1 pr6|3632 001720 aa 010000 4310 07 fld 4096,dl 001721 aa 6 00044 3701 20 epp4 pr6|36,* 001722 la 4 00076 3521 20 epp2 pr4|62,* hcs_$terminate_name 001723 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 311 call ioa_$rsnnl ("^a^[$^a^;^s^]", out_str, (0), pathname_ (dn, en), entry_point, entry_point_name); 001724 aa 776166 2370 04 ldaq -906,ic 000112 = 136141136133 044136141136 001725 aa 6 07054 7571 00 staq pr6|3628 001726 aa 776166 2370 04 ldaq -906,ic 000114 = 073136163136 135000000000 001727 aa 6 07056 7571 00 staq pr6|3630 001730 aa 6 07073 4501 00 stz pr6|3643 001731 aa 6 06317 3521 00 epp2 pr6|3279 dn 001732 aa 6 07076 2521 00 spri2 pr6|3646 001733 aa 6 06515 3521 00 epp2 pr6|3405 en 001734 aa 6 07100 2521 00 spri2 pr6|3648 001735 aa 6 07172 3521 00 epp2 pr6|3706 001736 aa 6 07102 2521 00 spri2 pr6|3650 001737 aa 776122 3520 04 epp2 -942,ic 000061 = 526000000250 001740 aa 6 07104 2521 00 spri2 pr6|3652 001741 aa 6 07110 2521 00 spri2 pr6|3656 001742 aa 776113 3520 04 epp2 -949,ic 000055 = 526000000040 001743 aa 6 07106 2521 00 spri2 pr6|3654 001744 aa 6 07074 6211 00 eax1 pr6|3644 001745 aa 014000 4310 07 fld 6144,dl 001746 aa 6 00044 3701 20 epp4 pr6|36,* 001747 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 001750 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 001751 aa 6 07054 3521 00 epp2 pr6|3628 001752 aa 6 07276 2521 00 spri2 pr6|3774 001753 aa 6 06535 3521 00 epp2 pr6|3421 out_str 001754 aa 6 07300 2521 00 spri2 pr6|3776 001755 aa 6 07073 3521 00 epp2 pr6|3643 001756 aa 6 07302 2521 00 spri2 pr6|3778 001757 aa 6 07172 3521 00 epp2 pr6|3706 001760 aa 6 07304 2521 00 spri2 pr6|3780 001761 aa 6 06644 3521 00 epp2 pr6|3492 entry_point 001762 aa 6 07306 2521 00 spri2 pr6|3782 001763 aa 6 06371 3521 00 epp2 pr6|3321 entry_point_name 001764 aa 6 07310 2521 00 spri2 pr6|3784 001765 aa 776045 3520 04 epp2 -987,ic 000032 = 524000000015 001766 aa 6 07312 2521 00 spri2 pr6|3786 001767 aa 776042 3520 04 epp2 -990,ic 000031 = 526000000400 001770 aa 6 07314 2521 00 spri2 pr6|3788 001771 aa 776065 3520 04 epp2 -971,ic 000056 = 404000000005 001772 aa 6 07316 2521 00 spri2 pr6|3790 001773 aa 776040 3520 04 epp2 -992,ic 000033 = 524000000250 001774 aa 6 07320 2521 00 spri2 pr6|3792 001775 aa 776033 3520 04 epp2 -997,ic 000030 = 514000000001 001776 aa 6 07322 2521 00 spri2 pr6|3794 001777 aa 776062 3520 04 epp2 -974,ic 000061 = 526000000250 002000 aa 6 07324 2521 00 spri2 pr6|3796 002001 aa 6 07274 6211 00 eax1 pr6|3772 002002 aa 030000 4310 07 fld 12288,dl 002003 aa 6 00044 3701 20 epp4 pr6|36,* 002004 la 4 00104 3521 20 epp2 pr4|68,* ioa_$rsnnl 002005 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 314 if af_sw then do; 002006 aa 6 06636 2351 00 lda pr6|3486 af_sw 002007 aa 000013 6000 04 tze 11,ic 002022 STATEMENT 1 ON LINE 315 return_arg = out_str; 002010 aa 000400 2360 07 ldq 256,dl 002011 aa 6 06677 1161 00 cmpq pr6|3519 return_len 002012 aa 000002 6040 04 tmi 2,ic 002014 002013 aa 6 06677 2361 00 ldq pr6|3519 return_len 002014 aa 6 06666 7561 20 stq pr6|3510,* return_arg 002015 aa 6 06666 3735 20 epp7 pr6|3510,* return_ptr 002016 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 002017 aa 6 06535 00 0006 desc9a pr6|3421,ql out_str 002020 aa 7 00001 00 0006 desc9a pr7|1,ql return_arg STATEMENT 1 ON LINE 316 goto MAIN_RETURN; 002021 aa 001456 7100 04 tra 814,ic 003477 STATEMENT 1 ON LINE 317 end; STATEMENT 1 ON LINE 319 else call ioa_ ("^a", out_str); 002022 aa 136141 2350 03 lda 48225,du 002023 aa 6 07073 7551 00 sta pr6|3643 002024 aa 6 07073 3521 00 epp2 pr6|3643 002025 aa 6 07062 2521 00 spri2 pr6|3634 002026 aa 6 06535 3521 00 epp2 pr6|3421 out_str 002027 aa 6 07064 2521 00 spri2 pr6|3636 002030 aa 776007 3520 04 epp2 -1017,ic 000037 = 524000000002 002031 aa 6 07066 2521 00 spri2 pr6|3638 002032 aa 775777 3520 04 epp2 -1025,ic 000031 = 526000000400 002033 aa 6 07070 2521 00 spri2 pr6|3640 002034 aa 6 07060 6211 00 eax1 pr6|3632 002035 aa 010000 4310 07 fld 4096,dl 002036 aa 6 00044 3701 20 epp4 pr6|36,* 002037 la 4 00102 3521 20 epp2 pr4|66,* ioa_ 002040 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 320 end; 002041 aa 001434 7100 04 tra 796,ic 003475 STATEMENT 1 ON LINE 324 else do; STATEMENT 1 ON LINE 326 if (idx > 1) & some_output & all_sw then /* separate -all outputs by a blank line */ call ioa_ (""); 002042 aa 6 06702 2361 00 ldq pr6|3522 idx 002043 aa 000001 1160 07 cmpq 1,dl 002044 aa 000016 6044 04 tmoz 14,ic 002062 002045 aa 6 06650 2351 00 lda pr6|3496 some_output 002046 aa 000014 6000 04 tze 12,ic 002062 002047 aa 6 06637 2351 00 lda pr6|3487 all_sw 002050 aa 000012 6000 04 tze 10,ic 002062 002051 aa 6 07073 3521 00 epp2 pr6|3643 002052 aa 6 07062 2521 00 spri2 pr6|3634 002053 aa 775762 3520 04 epp2 -1038,ic 000035 = 524000000000 002054 aa 6 07064 2521 00 spri2 pr6|3636 002055 aa 6 07060 6211 00 eax1 pr6|3632 002056 aa 004000 4310 07 fld 2048,dl 002057 aa 6 00044 3701 20 epp4 pr6|36,* 002060 la 4 00102 3521 20 epp2 pr4|66,* ioa_ 002061 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 329 some_output, some_segs = "0"b; 002062 aa 6 06650 4501 00 stz pr6|3496 some_output 002063 aa 6 06651 4501 00 stz pr6|3497 some_segs STATEMENT 1 ON LINE 331 if try_initiated_segs then do; 002064 aa 6 06653 2351 00 lda pr6|3499 try_initiated_segs 002065 aa 000152 6000 04 tze 106,ic 002237 STATEMENT 1 ON LINE 332 dir_idx = 0; 002066 aa 6 06701 4501 00 stz pr6|3521 dir_idx STATEMENT 1 ON LINE 333 call hcs_$fs_get_seg_ptr (name, seg_ptr, code); 002067 aa 6 06443 3521 00 epp2 pr6|3363 name 002070 aa 6 07076 2521 00 spri2 pr6|3646 002071 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 002072 aa 6 07100 2521 00 spri2 pr6|3648 002073 aa 6 06706 3521 00 epp2 pr6|3526 code 002074 aa 6 07102 2521 00 spri2 pr6|3650 002075 aa 775764 3520 04 epp2 -1036,ic 000061 = 526000000250 002076 aa 6 07104 2521 00 spri2 pr6|3652 002077 aa 775763 3520 04 epp2 -1037,ic 000062 = 464000000000 002100 aa 6 07106 2521 00 spri2 pr6|3654 002101 aa 775737 3520 04 epp2 -1057,ic 000040 = 404000000043 002102 aa 6 07110 2521 00 spri2 pr6|3656 002103 aa 6 07074 6211 00 eax1 pr6|3644 002104 aa 014000 4310 07 fld 6144,dl 002105 aa 6 00044 3701 20 epp4 pr6|36,* 002106 la 4 00060 3521 20 epp2 pr4|48,* hcs_$fs_get_seg_ptr 002107 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 334 if seg_ptr ^= null () then do; 002110 aa 6 06670 2371 00 ldaq pr6|3512 seg_ptr 002111 aa 775767 6770 04 eraq -1033,ic 000100 = 077777000043 000001000000 002112 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 002113 aa 000124 6000 04 tze 84,ic 002237 STATEMENT 1 ON LINE 335 some_segs = "1"b; 002114 aa 400000 2350 03 lda 131072,du 002115 aa 6 06651 7551 00 sta pr6|3497 some_segs STATEMENT 1 ON LINE 336 call get_pathname (seg_ptr, dn, en, code); 002116 aa 002446 3520 04 epp2 1318,ic 004564 = 000010000000 002117 aa 2 00000 2351 00 lda pr2|0 002120 aa 001402 6700 04 tsp4 770,ic 003522 STATEMENT 1 ON LINE 337 if code ^= 0 then call complain (code, WHOAMI, "^a", name); 002121 aa 6 06706 2361 00 ldq pr6|3526 code 002122 aa 000030 6000 04 tze 24,ic 002152 002123 aa 136141 2350 03 lda 48225,du 002124 aa 6 07073 7551 00 sta pr6|3643 002125 aa 6 06706 3521 00 epp2 pr6|3526 code 002126 aa 6 07120 2521 00 spri2 pr6|3664 002127 aa 775651 3520 04 epp2 -1111,ic 000000 = 167150145162 002130 aa 6 07122 2521 00 spri2 pr6|3666 002131 aa 6 07073 3521 00 epp2 pr6|3643 002132 aa 6 07124 2521 00 spri2 pr6|3668 002133 aa 6 06443 3521 00 epp2 pr6|3363 name 002134 aa 6 07126 2521 00 spri2 pr6|3670 002135 aa 775703 3520 04 epp2 -1085,ic 000040 = 404000000043 002136 aa 6 07132 2521 00 spri2 pr6|3674 002137 aa 775716 3520 04 epp2 -1074,ic 000055 = 526000000040 002140 aa 6 07134 2521 00 spri2 pr6|3676 002141 aa 775676 3520 04 epp2 -1090,ic 000037 = 524000000002 002142 aa 6 07136 2521 00 spri2 pr6|3678 002143 aa 775716 3520 04 epp2 -1074,ic 000061 = 526000000250 002144 aa 6 07140 2521 00 spri2 pr6|3680 002145 aa 6 07116 6211 00 eax1 pr6|3662 002146 aa 020000 4310 07 fld 8192,dl 002147 aa 6 06710 3521 00 epp2 pr6|3528 complain 002150 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc 002151 aa 000066 7100 04 tra 54,ic 002237 STATEMENT 1 ON LINE 339 else do; STATEMENT 1 ON LINE 340 if entry_point then call find_entry_point (); 002152 aa 6 06644 2351 00 lda pr6|3492 entry_point 002153 aa 400000 3150 03 cana 131072,du 002154 aa 000002 6000 04 tze 2,ic 002156 002155 aa 001535 6700 04 tsp4 861,ic 003712 STATEMENT 1 ON LINE 342 if code ^= 0 then call complain (code, WHOAMI, "^a$^a Search rule ""initiated_segments""", pathname_ (dn, en), entry_point_name); 002156 aa 6 06706 2361 00 ldq pr6|3526 code 002157 aa 000055 6000 04 tze 45,ic 002234 002160 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002161 aa 776066 00 0050 desc9a -970,40 000246 = 136141044136 002162 aa 6 07060 00 0050 desc9a pr6|3632,40 002163 aa 6 06317 3521 00 epp2 pr6|3279 dn 002164 aa 6 07076 2521 00 spri2 pr6|3646 002165 aa 6 06515 3521 00 epp2 pr6|3405 en 002166 aa 6 07100 2521 00 spri2 pr6|3648 002167 aa 6 07172 3521 00 epp2 pr6|3706 002170 aa 6 07102 2521 00 spri2 pr6|3650 002171 aa 775670 3520 04 epp2 -1096,ic 000061 = 526000000250 002172 aa 6 07104 2521 00 spri2 pr6|3652 002173 aa 6 07110 2521 00 spri2 pr6|3656 002174 aa 775661 3520 04 epp2 -1103,ic 000055 = 526000000040 002175 aa 6 07106 2521 00 spri2 pr6|3654 002176 aa 6 07074 6211 00 eax1 pr6|3644 002177 aa 014000 4310 07 fld 6144,dl 002200 aa 6 00044 3701 20 epp4 pr6|36,* 002201 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 002202 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002203 aa 6 06706 3521 00 epp2 pr6|3526 code 002204 aa 6 07246 2521 00 spri2 pr6|3750 002205 aa 775573 3520 04 epp2 -1157,ic 000000 = 167150145162 002206 aa 6 07250 2521 00 spri2 pr6|3752 002207 aa 6 07060 3521 00 epp2 pr6|3632 002210 aa 6 07252 2521 00 spri2 pr6|3754 002211 aa 6 07172 3521 00 epp2 pr6|3706 002212 aa 6 07254 2521 00 spri2 pr6|3756 002213 aa 6 06371 3521 00 epp2 pr6|3321 entry_point_name 002214 aa 6 07256 2521 00 spri2 pr6|3758 002215 aa 775623 3520 04 epp2 -1133,ic 000040 = 404000000043 002216 aa 6 07262 2521 00 spri2 pr6|3762 002217 aa 775636 3520 04 epp2 -1122,ic 000055 = 526000000040 002220 aa 6 07264 2521 00 spri2 pr6|3764 002221 aa 775606 3520 04 epp2 -1146,ic 000027 = 524000000047 002222 aa 6 07266 2521 00 spri2 pr6|3766 002223 aa 775610 3520 04 epp2 -1144,ic 000033 = 524000000250 002224 aa 6 07270 2521 00 spri2 pr6|3768 002225 aa 775634 3520 04 epp2 -1124,ic 000061 = 526000000250 002226 aa 6 07272 2521 00 spri2 pr6|3770 002227 aa 6 07244 6211 00 eax1 pr6|3748 002230 aa 024000 4310 07 fld 10240,dl 002231 aa 6 06710 3521 00 epp2 pr6|3528 complain 002232 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc 002233 aa 000002 7100 04 tra 2,ic 002235 STATEMENT 1 ON LINE 346 else call print_pathname (); 002234 aa 001725 6700 04 tsp4 981,ic 004161 STATEMENT 1 ON LINE 348 if ^all_sw then go to NEXT; 002235 aa 6 06637 2351 00 lda pr6|3487 all_sw 002236 aa 001237 6000 04 tze 671,ic 003475 STATEMENT 1 ON LINE 349 end; STATEMENT 1 ON LINE 350 end; STATEMENT 1 ON LINE 351 end; STATEMENT 1 ON LINE 353 do dir_idx = 1 to dir_count; 002237 aa 6 06675 2361 00 ldq pr6|3517 dir_count 002240 aa 6 06731 7561 00 stq pr6|3545 002241 aa 000001 2360 07 ldq 1,dl 002242 aa 6 06701 7561 00 stq pr6|3521 dir_idx 002243 aa 000000 0110 03 nop 0,du 002244 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 002245 aa 6 06731 1161 00 cmpq pr6|3545 002246 aa 001132 6054 04 tpnz 602,ic 003400 STATEMENT 1 ON LINE 354 dir_found = "0"b; 002247 aa 6 06654 4501 00 stz pr6|3500 dir_found STATEMENT 1 ON LINE 355 call hcs_$initiate (dir (dir_idx), name, "", 0, 1, seg_ptr, code); 002250 aa 000054 4020 07 mpy 44,dl 002251 aa 6 07072 4501 00 stz pr6|3642 002252 aa 000000 6270 06 eax7 0,ql 002253 aa 000001 2360 07 ldq 1,dl 002254 aa 6 07326 7561 00 stq pr6|3798 002255 aa 6 04407 3521 17 epp2 pr6|2311,7 search_dirs.dir 002256 aa 6 07174 2521 00 spri2 pr6|3708 002257 aa 6 06443 3521 00 epp2 pr6|3363 name 002260 aa 6 07176 2521 00 spri2 pr6|3710 002261 aa 6 07073 3521 00 epp2 pr6|3643 002262 aa 6 07200 2521 00 spri2 pr6|3712 002263 aa 6 07072 3521 00 epp2 pr6|3642 002264 aa 6 07202 2521 00 spri2 pr6|3714 002265 aa 6 07326 3521 00 epp2 pr6|3798 002266 aa 6 07204 2521 00 spri2 pr6|3716 002267 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 002270 aa 6 07206 2521 00 spri2 pr6|3718 002271 aa 6 06706 3521 00 epp2 pr6|3526 code 002272 aa 6 07210 2521 00 spri2 pr6|3720 002273 aa 775566 3520 04 epp2 -1162,ic 000061 = 526000000250 002274 aa 6 07212 2521 00 spri2 pr6|3722 002275 aa 6 07214 2521 00 spri2 pr6|3724 002276 aa 775537 3520 04 epp2 -1185,ic 000035 = 524000000000 002277 aa 6 07216 2521 00 spri2 pr6|3726 002300 aa 775526 3520 04 epp2 -1194,ic 000026 = 404000000001 002301 aa 6 07220 2521 00 spri2 pr6|3728 002302 aa 775523 3520 04 epp2 -1197,ic 000025 = 404000000002 002303 aa 6 07222 2521 00 spri2 pr6|3730 002304 aa 775556 3520 04 epp2 -1170,ic 000062 = 464000000000 002305 aa 6 07224 2521 00 spri2 pr6|3732 002306 aa 775532 3520 04 epp2 -1190,ic 000040 = 404000000043 002307 aa 6 07226 2521 00 spri2 pr6|3734 002310 aa 6 07172 6211 00 eax1 pr6|3706 002311 aa 034000 4310 07 fld 14336,dl 002312 aa 6 00044 3701 20 epp4 pr6|36,* 002313 la 4 00062 3521 20 epp2 pr4|50,* hcs_$initiate 002314 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 356 INITIATED: if seg_ptr ^= null then do; 002315 aa 6 06670 2371 00 ldaq pr6|3512 seg_ptr 002316 aa 775562 6770 04 eraq -1166,ic 000100 = 077777000043 000001000000 002317 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 002320 aa 000131 6000 04 tze 89,ic 002451 STATEMENT 1 ON LINE 357 some_segs = "1"b; 002321 aa 400000 2350 03 lda 131072,du 002322 aa 6 06651 7551 00 sta pr6|3497 some_segs STATEMENT 1 ON LINE 358 call get_pathname (seg_ptr, dn, en, code); 002323 aa 002241 3520 04 epp2 1185,ic 004564 = 000010000000 002324 aa 2 00000 2351 00 lda pr2|0 002325 aa 001175 6700 04 tsp4 637,ic 003522 STATEMENT 1 ON LINE 359 if code ^= 0 then do; 002326 aa 6 06706 2361 00 ldq pr6|3526 code 002327 aa 000013 6000 04 tze 11,ic 002342 STATEMENT 1 ON LINE 360 code = 0; 002330 aa 6 06706 4501 00 stz pr6|3526 code STATEMENT 1 ON LINE 361 dn = dir (dir_idx); 002331 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 002332 aa 000054 4020 07 mpy 44,dl 002333 aa 6 04407 3735 06 epp7 pr6|2311,ql search_dirs.dir 002334 aa 000 100 100 500 mlr (pr),(pr),fill(000) 002335 aa 7 00000 00 0250 desc9a pr7|0,168 search_dirs.dir 002336 aa 6 06317 00 0250 desc9a pr6|3279,168 dn STATEMENT 1 ON LINE 362 en = substr (name, 1, 32); 002337 aa 000 100 100 500 mlr (pr),(pr),fill(000) 002340 aa 6 06443 00 0040 desc9a pr6|3363,32 name 002341 aa 6 06515 00 0040 desc9a pr6|3405,32 en STATEMENT 1 ON LINE 363 end; STATEMENT 1 ON LINE 365 if entry_point then call find_entry_point (); 002342 aa 6 06644 2351 00 lda pr6|3492 entry_point 002343 aa 400000 3150 03 cana 131072,du 002344 aa 000002 6000 04 tze 2,ic 002346 002345 aa 001345 6700 04 tsp4 741,ic 003712 STATEMENT 1 ON LINE 366 if code ^= 0 then call complain (code, WHOAMI, "^a$^a (Search rule ""^a"")", pathname_ (dn, en), entry_point_name, rule (rule_number (dir_idx))); 002346 aa 6 06706 2361 00 ldq pr6|3526 code 002347 aa 000064 6000 04 tze 52,ic 002433 002350 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002351 aa 775617 00 0030 desc9a -1137,24 000167 = 136141044136 002352 aa 6 07060 00 0030 desc9a pr6|3632,24 002353 aa 6 06317 3521 00 epp2 pr6|3279 dn 002354 aa 6 07076 2521 00 spri2 pr6|3646 002355 aa 6 06515 3521 00 epp2 pr6|3405 en 002356 aa 6 07100 2521 00 spri2 pr6|3648 002357 aa 6 07172 3521 00 epp2 pr6|3706 002360 aa 6 07102 2521 00 spri2 pr6|3650 002361 aa 775500 3520 04 epp2 -1216,ic 000061 = 526000000250 002362 aa 6 07104 2521 00 spri2 pr6|3652 002363 aa 6 07110 2521 00 spri2 pr6|3656 002364 aa 775471 3520 04 epp2 -1223,ic 000055 = 526000000040 002365 aa 6 07106 2521 00 spri2 pr6|3654 002366 aa 6 07074 6211 00 eax1 pr6|3644 002367 aa 014000 4310 07 fld 6144,dl 002370 aa 6 00044 3701 20 epp4 pr6|36,* 002371 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 002372 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002373 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 002374 aa 000054 4020 07 mpy 44,dl 002375 aa 6 04462 2361 06 ldq pr6|2354,ql search_dirs.rule_number 002376 aa 000052 4020 07 mpy 42,dl 002377 aa 6 06706 3521 00 epp2 pr6|3526 code 002400 aa 6 07332 2521 00 spri2 pr6|3802 002401 aa 775377 3520 04 epp2 -1281,ic 000000 = 167150145162 002402 aa 6 07334 2521 00 spri2 pr6|3804 002403 aa 6 07060 3521 00 epp2 pr6|3632 002404 aa 6 07336 2521 00 spri2 pr6|3806 002405 aa 6 07172 3521 00 epp2 pr6|3706 002406 aa 6 07340 2521 00 spri2 pr6|3808 002407 aa 6 06371 3521 00 epp2 pr6|3321 entry_point_name 002410 aa 6 07342 2521 00 spri2 pr6|3810 002411 aa 6 02627 3521 06 epp2 pr6|1431,ql search_rules.rule 002412 aa 6 07344 2521 00 spri2 pr6|3812 002413 aa 775425 3520 04 epp2 -1259,ic 000040 = 404000000043 002414 aa 6 07350 2521 00 spri2 pr6|3816 002415 aa 775440 3520 04 epp2 -1248,ic 000055 = 526000000040 002416 aa 6 07352 2521 00 spri2 pr6|3818 002417 aa 775405 3520 04 epp2 -1275,ic 000024 = 524000000030 002420 aa 6 07354 2521 00 spri2 pr6|3820 002421 aa 775412 3520 04 epp2 -1270,ic 000033 = 524000000250 002422 aa 6 07356 2521 00 spri2 pr6|3822 002423 aa 6 07362 2521 00 spri2 pr6|3826 002424 aa 775435 3520 04 epp2 -1251,ic 000061 = 526000000250 002425 aa 6 07360 2521 00 spri2 pr6|3824 002426 aa 6 07330 6211 00 eax1 pr6|3800 002427 aa 030000 4310 07 fld 12288,dl 002430 aa 6 06710 3521 00 epp2 pr6|3528 complain 002431 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc 002432 aa 000002 7100 04 tra 2,ic 002434 STATEMENT 1 ON LINE 369 else call print_pathname (); 002433 aa 001526 6700 04 tsp4 854,ic 004161 STATEMENT 1 ON LINE 371 call hcs_$terminate_noname (seg_ptr, (0)); 002434 aa 6 07326 4501 00 stz pr6|3798 002435 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 002436 aa 6 07062 2521 00 spri2 pr6|3634 002437 aa 6 07326 3521 00 epp2 pr6|3798 002440 aa 6 07064 2521 00 spri2 pr6|3636 002441 aa 6 07060 6211 00 eax1 pr6|3632 002442 aa 010000 4310 07 fld 4096,dl 002443 aa 6 00044 3701 20 epp4 pr6|36,* 002444 la 4 00100 3521 20 epp2 pr4|64,* hcs_$terminate_noname 002445 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 372 if ^all_sw then go to NEXT; 002446 aa 6 06637 2351 00 lda pr6|3487 all_sw 002447 aa 001026 6000 04 tze 534,ic 003475 STATEMENT 1 ON LINE 373 end; 002450 aa 000726 7100 04 tra 470,ic 003376 STATEMENT 1 ON LINE 375 else if code = error_table_$dirseg & ^dir_found then do; 002451 aa 6 06706 2361 00 ldq pr6|3526 code 002452 aa 6 00044 3701 20 epp4 pr6|36,* 002453 la 4 00014 1161 20 cmpq pr4|12,* error_table_$dirseg 002454 aa 000147 6010 04 tnz 103,ic 002623 002455 aa 6 06654 2351 00 lda pr6|3500 dir_found 002456 aa 000145 6010 04 tnz 101,ic 002623 STATEMENT 1 ON LINE 376 call hcs_$status_minf (dir (dir_idx), name, 1, type, bit_count, code); 002457 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 002460 aa 000054 4020 07 mpy 44,dl 002461 aa 000000 6270 06 eax7 0,ql 002462 aa 000001 2360 07 ldq 1,dl 002463 aa 6 07326 7561 00 stq pr6|3798 002464 aa 6 04407 3521 17 epp2 pr6|2311,7 search_dirs.dir 002465 aa 6 07276 2521 00 spri2 pr6|3774 002466 aa 6 06443 3521 00 epp2 pr6|3363 name 002467 aa 6 07300 2521 00 spri2 pr6|3776 002470 aa 6 07326 3521 00 epp2 pr6|3798 002471 aa 6 07302 2521 00 spri2 pr6|3778 002472 aa 6 06635 3521 00 epp2 pr6|3485 type 002473 aa 6 07304 2521 00 spri2 pr6|3780 002474 aa 6 06705 3521 00 epp2 pr6|3525 bit_count 002475 aa 6 07306 2521 00 spri2 pr6|3782 002476 aa 6 06706 3521 00 epp2 pr6|3526 code 002477 aa 6 07310 2521 00 spri2 pr6|3784 002500 aa 775361 3520 04 epp2 -1295,ic 000061 = 526000000250 002501 aa 6 07312 2521 00 spri2 pr6|3786 002502 aa 775357 3520 04 epp2 -1297,ic 000061 = 526000000250 002503 aa 6 07314 2521 00 spri2 pr6|3788 002504 aa 775322 3520 04 epp2 -1326,ic 000026 = 404000000001 002505 aa 6 07316 2521 00 spri2 pr6|3790 002506 aa 775317 3520 04 epp2 -1329,ic 000025 = 404000000002 002507 aa 6 07320 2521 00 spri2 pr6|3792 002510 aa 775341 3520 04 epp2 -1311,ic 000051 = 404000000030 002511 aa 6 07322 2521 00 spri2 pr6|3794 002512 aa 775326 3520 04 epp2 -1322,ic 000040 = 404000000043 002513 aa 6 07324 2521 00 spri2 pr6|3796 002514 aa 6 07274 6211 00 eax1 pr6|3772 002515 aa 030000 4310 07 fld 12288,dl 002516 la 4 00072 3521 20 epp2 pr4|58,* hcs_$status_minf 002517 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 377 if code = 0 & type = 2 & bit_count > 0 then do; 002520 aa 6 06706 2361 00 ldq pr6|3526 code 002521 aa 000655 6010 04 tnz 429,ic 003376 002522 aa 6 06635 2361 00 ldq pr6|3485 type 002523 aa 000002 1160 07 cmpq 2,dl 002524 aa 000652 6010 04 tnz 426,ic 003376 002525 aa 6 06705 2361 00 ldq pr6|3525 bit_count 002526 aa 000650 6044 04 tmoz 424,ic 003376 STATEMENT 1 ON LINE 378 dn = pathname_ (dir (dir_idx), name); 002527 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 002530 aa 000054 4020 07 mpy 44,dl 002531 aa 6 04407 3521 06 epp2 pr6|2311,ql search_dirs.dir 002532 aa 6 07076 2521 00 spri2 pr6|3646 002533 aa 6 06443 3521 00 epp2 pr6|3363 name 002534 aa 6 07100 2521 00 spri2 pr6|3648 002535 aa 6 06317 3521 00 epp2 pr6|3279 dn 002536 aa 6 07102 2521 00 spri2 pr6|3650 002537 aa 775322 3520 04 epp2 -1326,ic 000061 = 526000000250 002540 aa 6 07104 2521 00 spri2 pr6|3652 002541 aa 775320 3520 04 epp2 -1328,ic 000061 = 526000000250 002542 aa 6 07106 2521 00 spri2 pr6|3654 002543 aa 6 07110 2521 00 spri2 pr6|3656 002544 aa 6 07074 6211 00 eax1 pr6|3644 002545 aa 014000 4310 07 fld 6144,dl 002546 aa 6 00044 3701 20 epp4 pr6|36,* 002547 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 002550 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 379 en = "0"; 002551 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002552 aa 002041 00 0001 desc9a 1057,1 004612 = 060000000000 002553 aa 6 06515 00 0040 desc9a pr6|3405,32 en STATEMENT 1 ON LINE 380 dir_found = "1"b; 002554 aa 400000 2350 03 lda 131072,du 002555 aa 6 06654 7551 00 sta pr6|3500 dir_found STATEMENT 1 ON LINE 381 call hcs_$initiate (dn, en, "", 0, 0, seg_ptr, code); 002556 aa 6 07072 4501 00 stz pr6|3642 002557 aa 6 07073 4501 00 stz pr6|3643 002560 aa 6 06317 3521 00 epp2 pr6|3279 dn 002561 aa 6 07174 2521 00 spri2 pr6|3708 002562 aa 6 06515 3521 00 epp2 pr6|3405 en 002563 aa 6 07176 2521 00 spri2 pr6|3710 002564 aa 6 07326 3521 00 epp2 pr6|3798 002565 aa 6 07200 2521 00 spri2 pr6|3712 002566 aa 6 07072 3521 00 epp2 pr6|3642 002567 aa 6 07202 2521 00 spri2 pr6|3714 002570 aa 6 07073 3521 00 epp2 pr6|3643 002571 aa 6 07204 2521 00 spri2 pr6|3716 002572 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 002573 aa 6 07206 2521 00 spri2 pr6|3718 002574 aa 6 06706 3521 00 epp2 pr6|3526 code 002575 aa 6 07210 2521 00 spri2 pr6|3720 002576 aa 775263 3520 04 epp2 -1357,ic 000061 = 526000000250 002577 aa 6 07212 2521 00 spri2 pr6|3722 002600 aa 775255 3520 04 epp2 -1363,ic 000055 = 526000000040 002601 aa 6 07214 2521 00 spri2 pr6|3724 002602 aa 775233 3520 04 epp2 -1381,ic 000035 = 524000000000 002603 aa 6 07216 2521 00 spri2 pr6|3726 002604 aa 775222 3520 04 epp2 -1390,ic 000026 = 404000000001 002605 aa 6 07220 2521 00 spri2 pr6|3728 002606 aa 775217 3520 04 epp2 -1393,ic 000025 = 404000000002 002607 aa 6 07222 2521 00 spri2 pr6|3730 002610 aa 775252 3520 04 epp2 -1366,ic 000062 = 464000000000 002611 aa 6 07224 2521 00 spri2 pr6|3732 002612 aa 775226 3520 04 epp2 -1386,ic 000040 = 404000000043 002613 aa 6 07226 2521 00 spri2 pr6|3734 002614 aa 6 07172 6211 00 eax1 pr6|3706 002615 aa 034000 4310 07 fld 14336,dl 002616 aa 6 00044 3701 20 epp4 pr6|36,* 002617 la 4 00062 3521 20 epp2 pr4|50,* hcs_$initiate 002620 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 382 goto INITIATED; 002621 aa 777474 7100 04 tra -196,ic 002315 STATEMENT 1 ON LINE 383 end; STATEMENT 1 ON LINE 384 end; 002622 aa 000554 7100 04 tra 364,ic 003376 STATEMENT 1 ON LINE 386 else if code ^= error_table_$noentry & code ^= error_table_$no_dir & code ^= error_table_$dirseg then do; 002623 la 4 00022 1161 20 cmpq pr4|18,* error_table_$noentry 002624 aa 000552 6000 04 tze 362,ic 003376 002625 la 4 00016 1161 20 cmpq pr4|14,* error_table_$no_dir 002626 aa 000550 6000 04 tze 360,ic 003376 002627 la 4 00014 1161 20 cmpq pr4|12,* error_table_$dirseg 002630 aa 000546 6000 04 tze 358,ic 003376 STATEMENT 1 ON LINE 389 some_output, some_segs = "1"b; 002631 aa 400000 2350 03 lda 131072,du 002632 aa 6 06650 7551 00 sta pr6|3496 some_output 002633 aa 6 06651 7551 00 sta pr6|3497 some_segs STATEMENT 1 ON LINE 391 if entry_point then call complain (code, WHOAMI, "^a (Search rule ""^a"")", pathname_ (dir (dir_idx), name), rule (rule_number (dir_idx))); 002634 aa 6 06644 2351 00 lda pr6|3492 entry_point 002635 aa 400000 3150 03 cana 131072,du 002636 aa 000062 6000 04 tze 50,ic 002720 002637 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002640 aa 775322 00 0030 desc9a -1326,24 000161 = 136141040050 002641 aa 6 07060 00 0030 desc9a pr6|3632,24 002642 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 002643 aa 000054 4020 07 mpy 44,dl 002644 aa 6 04407 3521 06 epp2 pr6|2311,ql search_dirs.dir 002645 aa 6 07076 2521 00 spri2 pr6|3646 002646 aa 6 06443 3521 00 epp2 pr6|3363 name 002647 aa 6 07100 2521 00 spri2 pr6|3648 002650 aa 6 07172 3521 00 epp2 pr6|3706 002651 aa 6 07102 2521 00 spri2 pr6|3650 002652 aa 775207 3520 04 epp2 -1401,ic 000061 = 526000000250 002653 aa 6 07104 2521 00 spri2 pr6|3652 002654 aa 775205 3520 04 epp2 -1403,ic 000061 = 526000000250 002655 aa 6 07106 2521 00 spri2 pr6|3654 002656 aa 6 07110 2521 00 spri2 pr6|3656 002657 aa 6 07074 6211 00 eax1 pr6|3644 002660 aa 014000 4310 07 fld 6144,dl 002661 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 002662 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002663 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 002664 aa 000054 4020 07 mpy 44,dl 002665 aa 6 04462 2361 06 ldq pr6|2354,ql search_dirs.rule_number 002666 aa 000052 4020 07 mpy 42,dl 002667 aa 6 06706 3521 00 epp2 pr6|3526 code 002670 aa 6 07246 2521 00 spri2 pr6|3750 002671 aa 775107 3520 04 epp2 -1465,ic 000000 = 167150145162 002672 aa 6 07250 2521 00 spri2 pr6|3752 002673 aa 6 07060 3521 00 epp2 pr6|3632 002674 aa 6 07252 2521 00 spri2 pr6|3754 002675 aa 6 07172 3521 00 epp2 pr6|3706 002676 aa 6 07254 2521 00 spri2 pr6|3756 002677 aa 6 02627 3521 06 epp2 pr6|1431,ql search_rules.rule 002700 aa 6 07256 2521 00 spri2 pr6|3758 002701 aa 775137 3520 04 epp2 -1441,ic 000040 = 404000000043 002702 aa 6 07262 2521 00 spri2 pr6|3762 002703 aa 775152 3520 04 epp2 -1430,ic 000055 = 526000000040 002704 aa 6 07264 2521 00 spri2 pr6|3764 002705 aa 775116 3520 04 epp2 -1458,ic 000023 = 524000000025 002706 aa 6 07266 2521 00 spri2 pr6|3766 002707 aa 775124 3520 04 epp2 -1452,ic 000033 = 524000000250 002710 aa 6 07270 2521 00 spri2 pr6|3768 002711 aa 775122 3520 04 epp2 -1454,ic 000033 = 524000000250 002712 aa 6 07272 2521 00 spri2 pr6|3770 002713 aa 6 07244 6211 00 eax1 pr6|3748 002714 aa 024000 4310 07 fld 10240,dl 002715 aa 6 06710 3521 00 epp2 pr6|3528 complain 002716 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc 002717 aa 000457 7100 04 tra 303,ic 003376 STATEMENT 1 ON LINE 394 else do; STATEMENT 1 ON LINE 395 if brief_sw & all_sw then do; 002720 aa 6 06640 2351 00 lda pr6|3488 brief_sw 002721 aa 000140 6000 04 tze 96,ic 003061 002722 aa 6 06637 2351 00 lda pr6|3487 all_sw 002723 aa 000136 6000 04 tze 94,ic 003061 STATEMENT 1 ON LINE 396 call hcs_$status_long (dir (dir_idx), name, 1, addr (branch_status), null, code); 002724 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 002725 aa 000054 4020 07 mpy 44,dl 002726 aa 000000 6270 06 eax7 0,ql 002727 aa 000001 2360 07 ldq 1,dl 002730 aa 6 07073 7561 00 stq pr6|3643 002731 aa 6 00100 3735 00 epp7 pr6|64 branch_status 002732 aa 6 07142 6535 00 spri7 pr6|3682 002733 aa 775145 3714 24 epp5 -1435,ic* 002734 aa 6 07364 6515 00 spri5 pr6|3828 002735 aa 6 04407 3521 17 epp2 pr6|2311,7 search_dirs.dir 002736 aa 6 07276 2521 00 spri2 pr6|3774 002737 aa 6 06443 3521 00 epp2 pr6|3363 name 002740 aa 6 07300 2521 00 spri2 pr6|3776 002741 aa 6 07073 3521 00 epp2 pr6|3643 002742 aa 6 07302 2521 00 spri2 pr6|3778 002743 aa 6 07142 3521 00 epp2 pr6|3682 002744 aa 6 07304 2521 00 spri2 pr6|3780 002745 aa 6 07364 3521 00 epp2 pr6|3828 002746 aa 6 07306 2521 00 spri2 pr6|3782 002747 aa 6 06706 3521 00 epp2 pr6|3526 code 002750 aa 6 07310 2521 00 spri2 pr6|3784 002751 aa 775110 3520 04 epp2 -1464,ic 000061 = 526000000250 002752 aa 6 07312 2521 00 spri2 pr6|3786 002753 aa 775106 3520 04 epp2 -1466,ic 000061 = 526000000250 002754 aa 6 07314 2521 00 spri2 pr6|3788 002755 aa 775051 3520 04 epp2 -1495,ic 000026 = 404000000001 002756 aa 6 07316 2521 00 spri2 pr6|3790 002757 aa 775103 3520 04 epp2 -1469,ic 000062 = 464000000000 002760 aa 6 07320 2521 00 spri2 pr6|3792 002761 aa 6 07322 2521 00 spri2 pr6|3794 002762 aa 775056 3520 04 epp2 -1490,ic 000040 = 404000000043 002763 aa 6 07324 2521 00 spri2 pr6|3796 002764 aa 6 07274 6211 00 eax1 pr6|3772 002765 aa 030000 4310 07 fld 12288,dl 002766 la 4 00070 3521 20 epp2 pr4|56,* hcs_$status_long 002767 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 397 uid (dir_idx) = branch_status.unique_id; 002770 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 002771 aa 000054 4020 07 mpy 44,dl 002772 aa 6 00111 2351 00 lda pr6|73 branch_status.unique_id 002773 aa 6 04461 7551 06 sta pr6|2353,ql search_dirs.uid STATEMENT 1 ON LINE 398 printed_sw = "0"b; 002774 aa 6 06646 4501 00 stz pr6|3494 printed_sw STATEMENT 1 ON LINE 399 do uid_idx = 1 to dir_idx - 1; 002775 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 002776 aa 000001 1760 07 sbq 1,dl 002777 aa 6 06732 7561 00 stq pr6|3546 003000 aa 000001 2360 07 ldq 1,dl 003001 aa 6 06704 7561 00 stq pr6|3524 uid_idx 003002 aa 6 06704 2361 00 ldq pr6|3524 uid_idx 003003 aa 6 06732 1161 00 cmpq pr6|3546 003004 aa 000011 6054 04 tpnz 9,ic 003015 STATEMENT 1 ON LINE 400 if uid (uid_idx) = branch_status.unique_id then printed_sw = "1"b; 003005 aa 000054 4020 07 mpy 44,dl 003006 aa 6 04461 2351 06 lda pr6|2353,ql search_dirs.uid 003007 aa 6 00111 1151 00 cmpa pr6|73 branch_status.unique_id 003010 aa 000003 6010 04 tnz 3,ic 003013 003011 aa 400000 2350 03 lda 131072,du 003012 aa 6 06646 7551 00 sta pr6|3494 printed_sw STATEMENT 1 ON LINE 401 end; 003013 aa 6 06704 0541 00 aos pr6|3524 uid_idx 003014 aa 777766 7100 04 tra -10,ic 003002 STATEMENT 1 ON LINE 402 if ^printed_sw then call ioa_ ("^a", pathname_ (dir (dir_idx), name)); 003015 aa 6 06646 2351 00 lda pr6|3494 printed_sw 003016 aa 000360 6010 04 tnz 240,ic 003376 003017 aa 136141 2350 03 lda 48225,du 003020 aa 6 07073 7551 00 sta pr6|3643 003021 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 003022 aa 000054 4020 07 mpy 44,dl 003023 aa 6 04407 3521 06 epp2 pr6|2311,ql search_dirs.dir 003024 aa 6 07076 2521 00 spri2 pr6|3646 003025 aa 6 06443 3521 00 epp2 pr6|3363 name 003026 aa 6 07100 2521 00 spri2 pr6|3648 003027 aa 6 07172 3521 00 epp2 pr6|3706 003030 aa 6 07102 2521 00 spri2 pr6|3650 003031 aa 775030 3520 04 epp2 -1512,ic 000061 = 526000000250 003032 aa 6 07104 2521 00 spri2 pr6|3652 003033 aa 775026 3520 04 epp2 -1514,ic 000061 = 526000000250 003034 aa 6 07106 2521 00 spri2 pr6|3654 003035 aa 6 07110 2521 00 spri2 pr6|3656 003036 aa 6 07074 6211 00 eax1 pr6|3644 003037 aa 014000 4310 07 fld 6144,dl 003040 aa 6 00044 3701 20 epp4 pr6|36,* 003041 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 003042 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 003043 aa 6 07073 3521 00 epp2 pr6|3643 003044 aa 6 07062 2521 00 spri2 pr6|3634 003045 aa 6 07172 3521 00 epp2 pr6|3706 003046 aa 6 07064 2521 00 spri2 pr6|3636 003047 aa 774770 3520 04 epp2 -1544,ic 000037 = 524000000002 003050 aa 6 07066 2521 00 spri2 pr6|3638 003051 aa 774762 3520 04 epp2 -1550,ic 000033 = 524000000250 003052 aa 6 07070 2521 00 spri2 pr6|3640 003053 aa 6 07060 6211 00 eax1 pr6|3632 003054 aa 010000 4310 07 fld 4096,dl 003055 aa 6 00044 3701 20 epp4 pr6|36,* 003056 la 4 00102 3521 20 epp2 pr4|66,* ioa_ 003057 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 403 end; 003060 aa 000316 7100 04 tra 206,ic 003376 STATEMENT 1 ON LINE 404 else do; STATEMENT 1 ON LINE 405 call hcs_$status_ (dir (dir_idx), name, 1, addr (branch_status), area_ptr, code); 003061 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 003062 aa 000054 4020 07 mpy 44,dl 003063 aa 000000 6270 06 eax7 0,ql 003064 aa 000001 2360 07 ldq 1,dl 003065 aa 6 07073 7561 00 stq pr6|3643 003066 aa 6 00100 3735 00 epp7 pr6|64 branch_status 003067 aa 6 07364 6535 00 spri7 pr6|3828 003070 aa 6 04407 3521 17 epp2 pr6|2311,7 search_dirs.dir 003071 aa 6 07276 2521 00 spri2 pr6|3774 003072 aa 6 06443 3521 00 epp2 pr6|3363 name 003073 aa 6 07300 2521 00 spri2 pr6|3776 003074 aa 6 07073 3521 00 epp2 pr6|3643 003075 aa 6 07302 2521 00 spri2 pr6|3778 003076 aa 6 07364 3521 00 epp2 pr6|3828 003077 aa 6 07304 2521 00 spri2 pr6|3780 003100 aa 6 06656 3521 00 epp2 pr6|3502 area_ptr 003101 aa 6 07306 2521 00 spri2 pr6|3782 003102 aa 6 06706 3521 00 epp2 pr6|3526 code 003103 aa 6 07310 2521 00 spri2 pr6|3784 003104 aa 774755 3520 04 epp2 -1555,ic 000061 = 526000000250 003105 aa 6 07312 2521 00 spri2 pr6|3786 003106 aa 774753 3520 04 epp2 -1557,ic 000061 = 526000000250 003107 aa 6 07314 2521 00 spri2 pr6|3788 003110 aa 774716 3520 04 epp2 -1586,ic 000026 = 404000000001 003111 aa 6 07316 2521 00 spri2 pr6|3790 003112 aa 774750 3520 04 epp2 -1560,ic 000062 = 464000000000 003113 aa 6 07320 2521 00 spri2 pr6|3792 003114 aa 6 07322 2521 00 spri2 pr6|3794 003115 aa 774723 3520 04 epp2 -1581,ic 000040 = 404000000043 003116 aa 6 07324 2521 00 spri2 pr6|3796 003117 aa 6 07274 6211 00 eax1 pr6|3772 003120 aa 030000 4310 07 fld 12288,dl 003121 la 4 00066 3521 20 epp2 pr4|54,* hcs_$status_ 003122 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 406 if code = 0 then do; 003123 aa 6 06706 2361 00 ldq pr6|3526 code 003124 aa 000141 6010 04 tnz 97,ic 003265 STATEMENT 1 ON LINE 407 names_ptr = ptr (area_ptr, branch_status.names_rel_pointer); 003125 aa 6 00100 2351 00 lda pr6|64 branch_status.names_rel_pointer 003126 aa 000022 7350 00 als 18 003127 aa 6 06656 3521 20 epp2 pr6|3502,* area_ptr 003130 aa 000000 3120 01 eawp2 0,au 003131 aa 6 06664 2521 00 spri2 pr6|3508 names_ptr STATEMENT 1 ON LINE 408 if long_sw then call ioa_ ("^a (^a) Search rule ""^a""", pathname_ (dir (dir_idx), (names_ptr -> primary_name)), get_mode_letters (branch_status.mode), rule (rule_number (dir_idx))); 003132 aa 6 06641 2351 00 lda pr6|3489 long_sw 003133 aa 000066 6000 04 tze 54,ic 003221 003134 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003135 aa 775017 00 0030 desc9a -1521,24 000153 = 136141040050 003136 aa 6 07060 00 0030 desc9a pr6|3632,24 003137 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 003140 aa 000054 4020 07 mpy 44,dl 003141 aa 000 100 100 500 mlr (pr),(pr),fill(000) 003142 aa 2 00000 00 0040 desc9a pr2|0,32 primary_name 003143 aa 6 07074 00 0040 desc9a pr6|3644,32 003144 aa 6 04407 3521 06 epp2 pr6|2311,ql search_dirs.dir 003145 aa 6 07120 2521 00 spri2 pr6|3664 003146 aa 6 07074 3521 00 epp2 pr6|3644 003147 aa 6 07122 2521 00 spri2 pr6|3666 003150 aa 6 07172 3521 00 epp2 pr6|3706 003151 aa 6 07124 2521 00 spri2 pr6|3668 003152 aa 774707 3520 04 epp2 -1593,ic 000061 = 526000000250 003153 aa 6 07126 2521 00 spri2 pr6|3670 003154 aa 774646 3520 04 epp2 -1626,ic 000022 = 524000000040 003155 aa 6 07130 2521 00 spri2 pr6|3672 003156 aa 774703 3520 04 epp2 -1597,ic 000061 = 526000000250 003157 aa 6 07132 2521 00 spri2 pr6|3674 003160 aa 6 07116 6211 00 eax1 pr6|3662 003161 aa 014000 4310 07 fld 6144,dl 003162 aa 6 00044 3701 20 epp4 pr6|36,* 003163 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 003164 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 003165 aa 001371 3520 04 epp2 761,ic 004556 = 000004000000 003166 aa 001277 6700 04 tsp4 703,ic 004465 003167 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 003170 aa 000054 4020 07 mpy 44,dl 003171 aa 6 04462 2361 06 ldq pr6|2354,ql search_dirs.rule_number 003172 aa 000052 4020 07 mpy 42,dl 003173 aa 6 07060 3521 00 epp2 pr6|3632 003174 aa 6 07076 2521 00 spri2 pr6|3646 003175 aa 6 07172 3521 00 epp2 pr6|3706 003176 aa 6 07100 2521 00 spri2 pr6|3648 003177 aa 6 07365 3521 00 epp2 pr6|3829 003200 aa 6 07102 2521 00 spri2 pr6|3650 003201 aa 6 02627 3521 06 epp2 pr6|1431,ql search_rules.rule 003202 aa 6 07104 2521 00 spri2 pr6|3652 003203 aa 774621 3520 04 epp2 -1647,ic 000024 = 524000000030 003204 aa 6 07106 2521 00 spri2 pr6|3654 003205 aa 774626 3520 04 epp2 -1642,ic 000033 = 524000000250 003206 aa 6 07110 2521 00 spri2 pr6|3656 003207 aa 774650 3520 04 epp2 -1624,ic 000057 = 530000000004 003210 aa 6 07112 2521 00 spri2 pr6|3658 003211 aa 774622 3520 04 epp2 -1646,ic 000033 = 524000000250 003212 aa 6 07114 2521 00 spri2 pr6|3660 003213 aa 6 07074 6211 00 eax1 pr6|3644 003214 aa 020000 4310 07 fld 8192,dl 003215 aa 6 00044 3701 20 epp4 pr6|36,* 003216 la 4 00102 3521 20 epp2 pr4|66,* ioa_ 003217 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 003220 aa 000042 7100 04 tra 34,ic 003262 STATEMENT 1 ON LINE 411 else call ioa_ ("^a", pathname_ (dir (dir_idx), name)); 003221 aa 136141 2350 03 lda 48225,du 003222 aa 6 07073 7551 00 sta pr6|3643 003223 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 003224 aa 000054 4020 07 mpy 44,dl 003225 aa 6 04407 3521 06 epp2 pr6|2311,ql search_dirs.dir 003226 aa 6 07076 2521 00 spri2 pr6|3646 003227 aa 6 06443 3521 00 epp2 pr6|3363 name 003230 aa 6 07100 2521 00 spri2 pr6|3648 003231 aa 6 07172 3521 00 epp2 pr6|3706 003232 aa 6 07102 2521 00 spri2 pr6|3650 003233 aa 774626 3520 04 epp2 -1642,ic 000061 = 526000000250 003234 aa 6 07104 2521 00 spri2 pr6|3652 003235 aa 774624 3520 04 epp2 -1644,ic 000061 = 526000000250 003236 aa 6 07106 2521 00 spri2 pr6|3654 003237 aa 6 07110 2521 00 spri2 pr6|3656 003240 aa 6 07074 6211 00 eax1 pr6|3644 003241 aa 014000 4310 07 fld 6144,dl 003242 aa 6 00044 3701 20 epp4 pr6|36,* 003243 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 003244 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 003245 aa 6 07073 3521 00 epp2 pr6|3643 003246 aa 6 07062 2521 00 spri2 pr6|3634 003247 aa 6 07172 3521 00 epp2 pr6|3706 003250 aa 6 07064 2521 00 spri2 pr6|3636 003251 aa 774566 3520 04 epp2 -1674,ic 000037 = 524000000002 003252 aa 6 07066 2521 00 spri2 pr6|3638 003253 aa 774560 3520 04 epp2 -1680,ic 000033 = 524000000250 003254 aa 6 07070 2521 00 spri2 pr6|3640 003255 aa 6 07060 6211 00 eax1 pr6|3632 003256 aa 010000 4310 07 fld 4096,dl 003257 aa 6 00044 3701 20 epp4 pr6|36,* 003260 la 4 00102 3521 20 epp2 pr4|66,* ioa_ 003261 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 413 if ^all_sw then go to NEXT; 003262 aa 6 06637 2351 00 lda pr6|3487 all_sw 003263 aa 000212 6000 04 tze 138,ic 003475 STATEMENT 1 ON LINE 414 end; 003264 aa 000112 7100 04 tra 74,ic 003376 STATEMENT 1 ON LINE 416 else if code = error_table_$no_s_permission then call complain (0, WHOAMI, "No status permission on ^a (Search rule ""^a"")", dir (dir_idx), rule (rule_number (dir_idx))); 003265 aa 6 00044 3701 20 epp4 pr6|36,* 003266 la 4 00020 1161 20 cmpq pr4|16,* error_table_$no_s_permission 003267 aa 000043 6010 04 tnz 35,ic 003332 003270 aa 6 07073 4501 00 stz pr6|3643 003271 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003272 aa 774767 00 0060 desc9a -1545,48 000260 = 116157040163 003273 aa 6 07074 00 0060 desc9a pr6|3644,48 003274 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 003275 aa 000054 4020 07 mpy 44,dl 003276 aa 000000 6270 06 eax7 0,ql 003277 aa 6 04462 2361 06 ldq pr6|2354,ql search_dirs.rule_number 003300 aa 000052 4020 07 mpy 42,dl 003301 aa 6 07073 3521 00 epp2 pr6|3643 003302 aa 6 07246 2521 00 spri2 pr6|3750 003303 aa 774475 3520 04 epp2 -1731,ic 000000 = 167150145162 003304 aa 6 07250 2521 00 spri2 pr6|3752 003305 aa 6 07074 3521 00 epp2 pr6|3644 003306 aa 6 07252 2521 00 spri2 pr6|3754 003307 aa 6 04407 3521 17 epp2 pr6|2311,7 search_dirs.dir 003310 aa 6 07254 2521 00 spri2 pr6|3756 003311 aa 6 02627 3521 06 epp2 pr6|1431,ql search_rules.rule 003312 aa 6 07256 2521 00 spri2 pr6|3758 003313 aa 774543 3520 04 epp2 -1693,ic 000056 = 404000000005 003314 aa 6 07262 2521 00 spri2 pr6|3762 003315 aa 774540 3520 04 epp2 -1696,ic 000055 = 526000000040 003316 aa 6 07264 2521 00 spri2 pr6|3764 003317 aa 774502 3520 04 epp2 -1726,ic 000021 = 524000000055 003320 aa 6 07266 2521 00 spri2 pr6|3766 003321 aa 774540 3520 04 epp2 -1696,ic 000061 = 526000000250 003322 aa 6 07270 2521 00 spri2 pr6|3768 003323 aa 774510 3520 04 epp2 -1720,ic 000033 = 524000000250 003324 aa 6 07272 2521 00 spri2 pr6|3770 003325 aa 6 07244 6211 00 eax1 pr6|3748 003326 aa 024000 4310 07 fld 10240,dl 003327 aa 6 06710 3521 00 epp2 pr6|3528 complain 003330 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc 003331 aa 000045 7100 04 tra 37,ic 003376 STATEMENT 1 ON LINE 421 else if code ^= error_table_$noentry then call complain (code, WHOAMI, "^a (Search rule ""^a"")", dir (dir_idx), rule (rule_number (dir_idx))); 003332 la 4 00022 1161 20 cmpq pr4|18,* error_table_$noentry 003333 aa 000042 6000 04 tze 34,ic 003375 003334 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003335 aa 774625 00 0030 desc9a -1643,24 000161 = 136141040050 003336 aa 6 07060 00 0030 desc9a pr6|3632,24 003337 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 003340 aa 000054 4020 07 mpy 44,dl 003341 aa 000000 6270 06 eax7 0,ql 003342 aa 6 04462 2361 06 ldq pr6|2354,ql search_dirs.rule_number 003343 aa 000052 4020 07 mpy 42,dl 003344 aa 6 06706 3521 00 epp2 pr6|3526 code 003345 aa 6 07246 2521 00 spri2 pr6|3750 003346 aa 774432 3520 04 epp2 -1766,ic 000000 = 167150145162 003347 aa 6 07250 2521 00 spri2 pr6|3752 003350 aa 6 07060 3521 00 epp2 pr6|3632 003351 aa 6 07252 2521 00 spri2 pr6|3754 003352 aa 6 04407 3521 17 epp2 pr6|2311,7 search_dirs.dir 003353 aa 6 07254 2521 00 spri2 pr6|3756 003354 aa 6 02627 3521 06 epp2 pr6|1431,ql search_rules.rule 003355 aa 6 07256 2521 00 spri2 pr6|3758 003356 aa 774462 3520 04 epp2 -1742,ic 000040 = 404000000043 003357 aa 6 07262 2521 00 spri2 pr6|3762 003360 aa 774475 3520 04 epp2 -1731,ic 000055 = 526000000040 003361 aa 6 07264 2521 00 spri2 pr6|3764 003362 aa 774441 3520 04 epp2 -1759,ic 000023 = 524000000025 003363 aa 6 07266 2521 00 spri2 pr6|3766 003364 aa 774475 3520 04 epp2 -1731,ic 000061 = 526000000250 003365 aa 6 07270 2521 00 spri2 pr6|3768 003366 aa 774445 3520 04 epp2 -1755,ic 000033 = 524000000250 003367 aa 6 07272 2521 00 spri2 pr6|3770 003370 aa 6 07244 6211 00 eax1 pr6|3748 003371 aa 024000 4310 07 fld 10240,dl 003372 aa 6 06710 3521 00 epp2 pr6|3528 complain 003373 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc 003374 aa 000002 7100 04 tra 2,ic 003376 STATEMENT 1 ON LINE 425 else some_output = "0"b; 003375 aa 6 06650 4501 00 stz pr6|3496 some_output STATEMENT 1 ON LINE 426 end; STATEMENT 1 ON LINE 427 end; STATEMENT 1 ON LINE 428 end; STATEMENT 1 ON LINE 429 end; 003376 aa 6 06701 0541 00 aos pr6|3521 dir_idx 003377 aa 776645 7100 04 tra -603,ic 002244 STATEMENT 1 ON LINE 431 if ^some_output & ^inhibit_error then if entry_point & some_segs then call complain (0, WHOAMI, "Entry point not found. ^a$^a", name, entry_point_name); 003400 aa 6 06650 2351 00 lda pr6|3496 some_output 003401 aa 000074 6010 04 tnz 60,ic 003475 003402 aa 6 06645 2351 00 lda pr6|3493 inhibit_error 003403 aa 000072 6010 04 tnz 58,ic 003475 003404 aa 6 06644 2351 00 lda pr6|3492 entry_point 003405 aa 400000 3150 03 cana 131072,du 003406 aa 000037 6000 04 tze 31,ic 003445 003407 aa 6 06651 2351 00 lda pr6|3497 some_segs 003410 aa 000035 6000 04 tze 29,ic 003445 003411 aa 6 07073 4501 00 stz pr6|3643 003412 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003413 aa 774602 00 0040 desc9a -1662,32 000214 = 105156164162 003414 aa 6 07060 00 0040 desc9a pr6|3632,32 003415 aa 6 07073 3521 00 epp2 pr6|3643 003416 aa 6 07246 2521 00 spri2 pr6|3750 003417 aa 774361 3520 04 epp2 -1807,ic 000000 = 167150145162 003420 aa 6 07250 2521 00 spri2 pr6|3752 003421 aa 6 07060 3521 00 epp2 pr6|3632 003422 aa 6 07252 2521 00 spri2 pr6|3754 003423 aa 6 06443 3521 00 epp2 pr6|3363 name 003424 aa 6 07254 2521 00 spri2 pr6|3756 003425 aa 6 06371 3521 00 epp2 pr6|3321 entry_point_name 003426 aa 6 07256 2521 00 spri2 pr6|3758 003427 aa 774427 3520 04 epp2 -1769,ic 000056 = 404000000005 003430 aa 6 07262 2521 00 spri2 pr6|3762 003431 aa 774424 3520 04 epp2 -1772,ic 000055 = 526000000040 003432 aa 6 07264 2521 00 spri2 pr6|3764 003433 aa 774365 3520 04 epp2 -1803,ic 000020 = 524000000035 003434 aa 6 07266 2521 00 spri2 pr6|3766 003435 aa 774424 3520 04 epp2 -1772,ic 000061 = 526000000250 003436 aa 6 07270 2521 00 spri2 pr6|3768 003437 aa 6 07272 2521 00 spri2 pr6|3770 003440 aa 6 07244 6211 00 eax1 pr6|3748 003441 aa 024000 4310 07 fld 10240,dl 003442 aa 6 06710 3521 00 epp2 pr6|3528 complain 003443 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc 003444 aa 000031 7100 04 tra 25,ic 003475 STATEMENT 1 ON LINE 434 else call complain (0, WHOAMI, "Segment not found. ^a", name); 003445 aa 6 07073 4501 00 stz pr6|3643 003446 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003447 aa 774477 00 0030 desc9a -1729,24 000145 = 123145147155 003450 aa 6 07060 00 0030 desc9a pr6|3632,24 003451 aa 6 07073 3521 00 epp2 pr6|3643 003452 aa 6 07120 2521 00 spri2 pr6|3664 003453 aa 774325 3520 04 epp2 -1835,ic 000000 = 167150145162 003454 aa 6 07122 2521 00 spri2 pr6|3666 003455 aa 6 07060 3521 00 epp2 pr6|3632 003456 aa 6 07124 2521 00 spri2 pr6|3668 003457 aa 6 06443 3521 00 epp2 pr6|3363 name 003460 aa 6 07126 2521 00 spri2 pr6|3670 003461 aa 774375 3520 04 epp2 -1795,ic 000056 = 404000000005 003462 aa 6 07132 2521 00 spri2 pr6|3674 003463 aa 774372 3520 04 epp2 -1798,ic 000055 = 526000000040 003464 aa 6 07134 2521 00 spri2 pr6|3676 003465 aa 774336 3520 04 epp2 -1826,ic 000023 = 524000000025 003466 aa 6 07136 2521 00 spri2 pr6|3678 003467 aa 774372 3520 04 epp2 -1798,ic 000061 = 526000000250 003470 aa 6 07140 2521 00 spri2 pr6|3680 003471 aa 6 07116 6211 00 eax1 pr6|3662 003472 aa 020000 4310 07 fld 8192,dl 003473 aa 6 06710 3521 00 epp2 pr6|3528 complain 003474 aa 0 00616 7001 00 tsx0 pr0|398 call_ent_var_desc STATEMENT 1 ON LINE 436 end; STATEMENT 1 ON LINE 437 NEXT: end; 003475 aa 6 06703 0541 00 aos pr6|3523 refname_idx 003476 aa 775540 7100 04 tra -1184,ic 001236 STATEMENT 1 ON LINE 439 MAIN_RETURN: call clean_up; 003477 aa 6 00056 6211 00 eax1 pr6|46 003500 aa 000000 4310 07 fld 0,dl 003501 aa 000004 3520 04 epp2 4,ic 003505 = 000100627000 003502 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 441 return; 003503 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 542 end where; BEGIN PROCEDURE clean_up ENTRY TO clean_up STATEMENT 1 ON LINE 446 clean_up: proc; 003504 da 000403200000 003505 aa 000100 6270 00 eax7 64 003506 aa 7 00034 3521 20 epp2 pr7|28,* 003507 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 003510 aa 000000000000 003511 aa 000000000000 STATEMENT 1 ON LINE 448 if names_ptr ^= null then free names_ptr -> primary_name in (area); 003512 aa 6 00040 3735 20 epp7 pr6|32,* 003513 aa 7 06664 2371 00 ldaq pr7|3508 names_ptr 003514 aa 774364 6770 04 eraq -1804,ic 000100 = 077777000043 000001000000 003515 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003516 aa 000003 6000 04 tze 3,ic 003521 003517 aa 7 06664 3715 00 epp5 pr7|3508 names_ptr 003520 aa 0 01404 7001 00 tsx0 pr0|772 op_freen_ STATEMENT 1 ON LINE 450 end clean_up; 003521 aa 0 00631 7101 00 tra pr0|409 return_mac END PROCEDURE clean_up BEGIN PROCEDURE get_pathname ENTRY TO get_pathname STATEMENT 1 ON LINE 453 get_pathname: proc (seg_ptr, dn, en, code); 003522 aa 6 06734 6501 00 spri4 pr6|3548 003523 aa 6 06736 2521 00 spri2 pr6|3550 003524 aa 2 00002 3521 01 epp2 pr2|2,au 003525 aa 6 06740 2521 00 spri2 pr6|3552 003526 aa 2 00002 2361 20 ldq pr2|2,* 003527 aa 000002 6040 04 tmi 2,ic 003531 003530 aa 777777 3760 07 anq 262143,dl 003531 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003532 aa 6 07366 7561 00 stq pr6|3830 003533 aa 2 00004 2361 20 ldq pr2|4,* 003534 aa 000002 6040 04 tmi 2,ic 003536 003535 aa 777777 3760 07 anq 262143,dl 003536 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003537 aa 6 07367 7561 00 stq pr6|3831 STATEMENT 1 ON LINE 467 call hcs_$fs_get_path_name (seg_ptr, dn, (0), en, code); 003540 aa 6 07370 4501 00 stz pr6|3832 003541 aa 6 06736 3735 20 epp7 pr6|3550,* 003542 aa 7 00002 3521 20 epp2 pr7|2,* seg_ptr 003543 aa 6 07374 2521 00 spri2 pr6|3836 003544 aa 7 00004 3521 20 epp2 pr7|4,* dn 003545 aa 6 07376 2521 00 spri2 pr6|3838 003546 aa 6 07370 3521 00 epp2 pr6|3832 003547 aa 6 07400 2521 00 spri2 pr6|3840 003550 aa 7 00006 3521 20 epp2 pr7|6,* en 003551 aa 6 07402 2521 00 spri2 pr6|3842 003552 aa 7 00010 3521 20 epp2 pr7|8,* code 003553 aa 6 07404 2521 00 spri2 pr6|3844 003554 aa 774306 3520 04 epp2 -1850,ic 000062 = 464000000000 003555 aa 6 07406 2521 00 spri2 pr6|3846 003556 aa 6 06740 3715 20 epp5 pr6|3552,* 003557 aa 5 00002 3521 20 epp2 pr5|2,* 003560 aa 6 07410 2521 00 spri2 pr6|3848 003561 aa 774235 3520 04 epp2 -1891,ic 000016 = 404000000021 003562 aa 6 07412 2521 00 spri2 pr6|3850 003563 aa 5 00004 3521 20 epp2 pr5|4,* 003564 aa 6 07414 2521 00 spri2 pr6|3852 003565 aa 774253 3520 04 epp2 -1877,ic 000040 = 404000000043 003566 aa 6 07416 2521 00 spri2 pr6|3854 003567 aa 6 07372 6211 00 eax1 pr6|3834 003570 aa 024000 4310 07 fld 10240,dl 003571 aa 6 00044 3701 20 epp4 pr6|36,* 003572 la 4 00054 3521 20 epp2 pr4|44,* hcs_$fs_get_path_name 003573 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 468 if code ^= 0 then return; 003574 aa 6 06736 3735 20 epp7 pr6|3550,* 003575 aa 7 00010 2361 20 ldq pr7|8,* code 003576 aa 000002 6000 04 tze 2,ic 003600 003577 aa 6 06734 6101 00 rtcd pr6|3548 STATEMENT 1 ON LINE 470 call hcs_$status_minf (dn, "", 1, type, bc, code); 003600 aa 000001 2360 07 ldq 1,dl 003601 aa 6 07371 7561 00 stq pr6|3833 003602 aa 7 00004 3521 20 epp2 pr7|4,* dn 003603 aa 6 07422 2521 00 spri2 pr6|3858 003604 aa 6 07370 3521 00 epp2 pr6|3832 003605 aa 6 07424 2521 00 spri2 pr6|3860 003606 aa 6 07371 3521 00 epp2 pr6|3833 003607 aa 6 07426 2521 00 spri2 pr6|3862 003610 aa 6 07024 3521 00 epp2 pr6|3604 type 003611 aa 6 07430 2521 00 spri2 pr6|3864 003612 aa 6 07025 3521 00 epp2 pr6|3605 bc 003613 aa 6 07432 2521 00 spri2 pr6|3866 003614 aa 7 00010 3521 20 epp2 pr7|8,* code 003615 aa 6 07434 2521 00 spri2 pr6|3868 003616 aa 6 06740 3715 20 epp5 pr6|3552,* 003617 aa 5 00002 3521 20 epp2 pr5|2,* 003620 aa 6 07436 2521 00 spri2 pr6|3870 003621 aa 774214 3520 04 epp2 -1908,ic 000035 = 524000000000 003622 aa 6 07440 2521 00 spri2 pr6|3872 003623 aa 774203 3520 04 epp2 -1917,ic 000026 = 404000000001 003624 aa 6 07442 2521 00 spri2 pr6|3874 003625 aa 774200 3520 04 epp2 -1920,ic 000025 = 404000000002 003626 aa 6 07444 2521 00 spri2 pr6|3876 003627 aa 774222 3520 04 epp2 -1902,ic 000051 = 404000000030 003630 aa 6 07446 2521 00 spri2 pr6|3878 003631 aa 774207 3520 04 epp2 -1913,ic 000040 = 404000000043 003632 aa 6 07450 2521 00 spri2 pr6|3880 003633 aa 6 07420 6211 00 eax1 pr6|3856 003634 aa 030000 4310 07 fld 12288,dl 003635 aa 6 00044 3701 20 epp4 pr6|36,* 003636 la 4 00072 3521 20 epp2 pr4|58,* hcs_$status_minf 003637 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 471 if type = 2 & bc > 0 & code = 0 then do; 003640 aa 6 07024 2361 00 ldq pr6|3604 type 003641 aa 000002 1160 07 cmpq 2,dl 003642 aa 000047 6010 04 tnz 39,ic 003711 003643 aa 6 07025 2361 00 ldq pr6|3605 bc 003644 aa 000045 6044 04 tmoz 37,ic 003711 003645 aa 6 06736 3735 20 epp7 pr6|3550,* 003646 aa 7 00010 2361 20 ldq pr7|8,* code 003647 aa 000042 6010 04 tnz 34,ic 003711 STATEMENT 1 ON LINE 473 call expand_pathname_ (dn, cdn, cen, code); 003650 aa 7 00004 3521 20 epp2 pr7|4,* dn 003651 aa 6 07374 2521 00 spri2 pr6|3836 003652 aa 6 06742 3521 00 epp2 pr6|3554 cdn 003653 aa 6 07376 2521 00 spri2 pr6|3838 003654 aa 6 07014 3521 00 epp2 pr6|3596 cen 003655 aa 6 07400 2521 00 spri2 pr6|3840 003656 aa 7 00010 3521 20 epp2 pr7|8,* code 003657 aa 6 07402 2521 00 spri2 pr6|3842 003660 aa 6 06740 3715 20 epp5 pr6|3552,* 003661 aa 5 00002 3521 20 epp2 pr5|2,* 003662 aa 6 07404 2521 00 spri2 pr6|3844 003663 aa 774176 3520 04 epp2 -1922,ic 000061 = 526000000250 003664 aa 6 07406 2521 00 spri2 pr6|3846 003665 aa 774170 3520 04 epp2 -1928,ic 000055 = 526000000040 003666 aa 6 07410 2521 00 spri2 pr6|3848 003667 aa 774151 3520 04 epp2 -1943,ic 000040 = 404000000043 003670 aa 6 07412 2521 00 spri2 pr6|3850 003671 aa 6 07372 6211 00 eax1 pr6|3834 003672 aa 020000 4310 07 fld 8192,dl 003673 aa 6 00044 3701 20 epp4 pr6|36,* 003674 la 4 00042 3521 20 epp2 pr4|34,* expand_pathname_ 003675 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 474 dn = cdn; 003676 aa 6 06736 3735 20 epp7 pr6|3550,* 003677 aa 7 00004 3715 20 epp5 pr7|4,* 003700 aa 6 07366 2351 00 lda pr6|3830 003701 aa 040 140 100 500 mlr (pr),(pr,rl),fill(040) 003702 aa 6 06742 00 0250 desc9a pr6|3554,168 cdn 003703 aa 5 00000 00 0005 desc9a pr5|0,al dn STATEMENT 1 ON LINE 475 en = cen; 003704 aa 7 00006 3535 20 epp3 pr7|6,* 003705 aa 6 07367 2361 00 ldq pr6|3831 003706 aa 040 140 100 500 mlr (pr),(pr,rl),fill(040) 003707 aa 6 07014 00 0040 desc9a pr6|3596,32 cen 003710 aa 3 00000 00 0006 desc9a pr3|0,ql en STATEMENT 1 ON LINE 476 end; STATEMENT 1 ON LINE 478 end get_pathname; 003711 aa 6 06734 6101 00 rtcd pr6|3548 END PROCEDURE get_pathname BEGIN PROCEDURE find_entry_point ENTRY TO find_entry_point STATEMENT 1 ON LINE 481 find_entry_point: proc; 003712 aa 6 07026 6501 00 spri4 pr6|3606 STATEMENT 1 ON LINE 485 call hcs_$fs_get_mode (seg_ptr, fmode, code); 003713 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 003714 aa 6 07454 2521 00 spri2 pr6|3884 003715 aa 6 06672 3521 00 epp2 pr6|3514 fmode 003716 aa 6 07456 2521 00 spri2 pr6|3886 003717 aa 6 06706 3521 00 epp2 pr6|3526 code 003720 aa 6 07460 2521 00 spri2 pr6|3888 003721 aa 6 07452 6211 00 eax1 pr6|3882 003722 aa 014000 4310 07 fld 6144,dl 003723 aa 6 00044 3701 20 epp4 pr6|36,* 003724 la 4 00052 3521 20 epp2 pr4|42,* hcs_$fs_get_mode 003725 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 486 if fmode < R_ACCESS_BIN then do; 003726 aa 6 06672 2361 00 ldq pr6|3514 fmode 003727 aa 000010 1160 07 cmpq 8,dl 003730 aa 000137 6050 04 tpl 95,ic 004067 STATEMENT 1 ON LINE 488 unique_name = unique_chars_ ("0"b); 003731 aa 000000 2350 07 lda 0,dl 003732 aa 6 07462 7551 00 sta pr6|3890 003733 aa 6 07462 3521 00 epp2 pr6|3890 003734 aa 6 07466 2521 00 spri2 pr6|3894 003735 aa 6 07452 3521 00 epp2 pr6|3882 003736 aa 6 07470 2521 00 spri2 pr6|3896 003737 aa 774071 3520 04 epp2 -1991,ic 000030 = 514000000001 003740 aa 6 07472 2521 00 spri2 pr6|3898 003741 aa 774117 3520 04 epp2 -1969,ic 000060 = 526000000017 003742 aa 6 07474 2521 00 spri2 pr6|3900 003743 aa 6 07464 6211 00 eax1 pr6|3892 003744 aa 010000 4310 07 fld 4096,dl 003745 aa 6 00044 3701 20 epp4 pr6|36,* 003746 la 4 00114 3521 20 epp2 pr4|76,* unique_chars_ 003747 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 003750 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003751 aa 6 07452 00 0017 desc9a pr6|3882,15 003752 aa 6 06525 00 0040 desc9a pr6|3413,32 unique_name STATEMENT 1 ON LINE 489 call hcs_$initiate (dn, en, unique_name, 0, 1, seg_ptr, code); 003753 aa 6 07462 4501 00 stz pr6|3890 003754 aa 000001 2360 07 ldq 1,dl 003755 aa 6 07463 7561 00 stq pr6|3891 003756 aa 6 06317 3521 00 epp2 pr6|3279 dn 003757 aa 6 07500 2521 00 spri2 pr6|3904 003760 aa 6 06515 3521 00 epp2 pr6|3405 en 003761 aa 6 07502 2521 00 spri2 pr6|3906 003762 aa 6 06525 3521 00 epp2 pr6|3413 unique_name 003763 aa 6 07504 2521 00 spri2 pr6|3908 003764 aa 6 07462 3521 00 epp2 pr6|3890 003765 aa 6 07506 2521 00 spri2 pr6|3910 003766 aa 6 07463 3521 00 epp2 pr6|3891 003767 aa 6 07510 2521 00 spri2 pr6|3912 003770 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 003771 aa 6 07512 2521 00 spri2 pr6|3914 003772 aa 6 06706 3521 00 epp2 pr6|3526 code 003773 aa 6 07514 2521 00 spri2 pr6|3916 003774 aa 774065 3520 04 epp2 -1995,ic 000061 = 526000000250 003775 aa 6 07516 2521 00 spri2 pr6|3918 003776 aa 774057 3520 04 epp2 -2001,ic 000055 = 526000000040 003777 aa 6 07520 2521 00 spri2 pr6|3920 004000 aa 6 07522 2521 00 spri2 pr6|3922 004001 aa 774025 3520 04 epp2 -2027,ic 000026 = 404000000001 004002 aa 6 07524 2521 00 spri2 pr6|3924 004003 aa 774022 3520 04 epp2 -2030,ic 000025 = 404000000002 004004 aa 6 07526 2521 00 spri2 pr6|3926 004005 aa 774055 3520 04 epp2 -2003,ic 000062 = 464000000000 004006 aa 6 07530 2521 00 spri2 pr6|3928 004007 aa 774031 3520 04 epp2 -2023,ic 000040 = 404000000043 004010 aa 6 07532 2521 00 spri2 pr6|3930 004011 aa 6 07476 6211 00 eax1 pr6|3902 004012 aa 034000 4310 07 fld 14336,dl 004013 aa 6 00044 3701 20 epp4 pr6|36,* 004014 la 4 00062 3521 20 epp2 pr4|50,* hcs_$initiate 004015 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 490 call hcs_$make_ptr (null, unique_name, entry_point_name, entry_point_ptr, code); 004016 aa 774062 3734 24 epp7 -1998,ic* 004017 aa 6 07534 6535 00 spri7 pr6|3932 004020 aa 6 07534 3521 00 epp2 pr6|3932 004021 aa 6 07500 2521 00 spri2 pr6|3904 004022 aa 6 06525 3521 00 epp2 pr6|3413 unique_name 004023 aa 6 07502 2521 00 spri2 pr6|3906 004024 aa 6 06371 3521 00 epp2 pr6|3321 entry_point_name 004025 aa 6 07504 2521 00 spri2 pr6|3908 004026 aa 6 06662 3521 00 epp2 pr6|3506 entry_point_ptr 004027 aa 6 07506 2521 00 spri2 pr6|3910 004030 aa 6 06706 3521 00 epp2 pr6|3526 code 004031 aa 6 07510 2521 00 spri2 pr6|3912 004032 aa 774030 3520 04 epp2 -2024,ic 000062 = 464000000000 004033 aa 6 07512 2521 00 spri2 pr6|3914 004034 aa 6 07520 2521 00 spri2 pr6|3920 004035 aa 774020 3520 04 epp2 -2032,ic 000055 = 526000000040 004036 aa 6 07514 2521 00 spri2 pr6|3916 004037 aa 774022 3520 04 epp2 -2030,ic 000061 = 526000000250 004040 aa 6 07516 2521 00 spri2 pr6|3918 004041 aa 773777 3520 04 epp2 -2049,ic 000040 = 404000000043 004042 aa 6 07522 2521 00 spri2 pr6|3922 004043 aa 6 07476 6211 00 eax1 pr6|3902 004044 aa 024000 4310 07 fld 10240,dl 004045 aa 6 00044 3701 20 epp4 pr6|36,* 004046 la 4 00064 3521 20 epp2 pr4|52,* hcs_$make_ptr 004047 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 491 call hcs_$terminate_name (unique_name, 0); 004050 aa 6 07463 4501 00 stz pr6|3891 004051 aa 6 06525 3521 00 epp2 pr6|3413 unique_name 004052 aa 6 07466 2521 00 spri2 pr6|3894 004053 aa 6 07463 3521 00 epp2 pr6|3891 004054 aa 6 07470 2521 00 spri2 pr6|3896 004055 aa 774000 3520 04 epp2 -2048,ic 000055 = 526000000040 004056 aa 6 07472 2521 00 spri2 pr6|3898 004057 aa 773761 3520 04 epp2 -2063,ic 000040 = 404000000043 004060 aa 6 07474 2521 00 spri2 pr6|3900 004061 aa 6 07464 6211 00 eax1 pr6|3892 004062 aa 010000 4310 07 fld 4096,dl 004063 aa 6 00044 3701 20 epp4 pr6|36,* 004064 la 4 00076 3521 20 epp2 pr4|62,* hcs_$terminate_name 004065 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 492 end; 004066 aa 000072 7100 04 tra 58,ic 004160 STATEMENT 1 ON LINE 493 else do; STATEMENT 1 ON LINE 494 call hcs_$status_mins (seg_ptr, (0), bit_count, code); 004067 aa 6 07463 4501 00 stz pr6|3891 004070 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 004071 aa 6 07466 2521 00 spri2 pr6|3894 004072 aa 6 07463 3521 00 epp2 pr6|3891 004073 aa 6 07470 2521 00 spri2 pr6|3896 004074 aa 6 06705 3521 00 epp2 pr6|3525 bit_count 004075 aa 6 07472 2521 00 spri2 pr6|3898 004076 aa 6 06706 3521 00 epp2 pr6|3526 code 004077 aa 6 07474 2521 00 spri2 pr6|3900 004100 aa 6 07464 6211 00 eax1 pr6|3892 004101 aa 020000 4310 07 fld 8192,dl 004102 aa 6 00044 3701 20 epp4 pr6|36,* 004103 la 4 00074 3521 20 epp2 pr4|60,* hcs_$status_mins 004104 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 495 call object_info_$brief (seg_ptr, bit_count, addr (obj_info), code); 004105 aa 6 00112 3735 00 epp7 pr6|74 obj_info 004106 aa 6 07534 6535 00 spri7 pr6|3932 004107 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 004110 aa 6 07466 2521 00 spri2 pr6|3894 004111 aa 6 06705 3521 00 epp2 pr6|3525 bit_count 004112 aa 6 07470 2521 00 spri2 pr6|3896 004113 aa 6 07534 3521 00 epp2 pr6|3932 004114 aa 6 07472 2521 00 spri2 pr6|3898 004115 aa 6 06706 3521 00 epp2 pr6|3526 code 004116 aa 6 07474 2521 00 spri2 pr6|3900 004117 aa 6 07464 6211 00 eax1 pr6|3892 004120 aa 020000 4310 07 fld 8192,dl 004121 aa 6 00044 3701 20 epp4 pr6|36,* 004122 la 4 00110 3521 20 epp2 pr4|72,* object_info_$brief 004123 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 496 if code ^= 0 then return; 004124 aa 6 06706 2361 00 ldq pr6|3526 code 004125 aa 000002 6000 04 tze 2,ic 004127 004126 aa 6 07026 6101 00 rtcd pr6|3606 STATEMENT 1 ON LINE 497 call get_definition_ (obj_info.defp, name, entry_point_name, null, code); 004127 aa 773751 3734 24 epp7 -2071,ic* 004130 aa 6 07534 6535 00 spri7 pr6|3932 004131 aa 6 00116 3521 00 epp2 pr6|78 obj_info.defp 004132 aa 6 07500 2521 00 spri2 pr6|3904 004133 aa 6 06443 3521 00 epp2 pr6|3363 name 004134 aa 6 07502 2521 00 spri2 pr6|3906 004135 aa 6 06371 3521 00 epp2 pr6|3321 entry_point_name 004136 aa 6 07504 2521 00 spri2 pr6|3908 004137 aa 6 07534 3521 00 epp2 pr6|3932 004140 aa 6 07506 2521 00 spri2 pr6|3910 004141 aa 6 06706 3521 00 epp2 pr6|3526 code 004142 aa 6 07510 2521 00 spri2 pr6|3912 004143 aa 773717 3520 04 epp2 -2097,ic 000062 = 464000000000 004144 aa 6 07512 2521 00 spri2 pr6|3914 004145 aa 6 07520 2521 00 spri2 pr6|3920 004146 aa 773713 3520 04 epp2 -2101,ic 000061 = 526000000250 004147 aa 6 07514 2521 00 spri2 pr6|3916 004150 aa 6 07516 2521 00 spri2 pr6|3918 004151 aa 773667 3520 04 epp2 -2121,ic 000040 = 404000000043 004152 aa 6 07522 2521 00 spri2 pr6|3922 004153 aa 6 07476 6211 00 eax1 pr6|3902 004154 aa 024000 4310 07 fld 10240,dl 004155 aa 6 00044 3701 20 epp4 pr6|36,* 004156 la 4 00044 3521 20 epp2 pr4|36,* get_definition_ 004157 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 498 end; STATEMENT 1 ON LINE 500 end find_entry_point; 004160 aa 6 07026 6101 00 rtcd pr6|3606 END PROCEDURE find_entry_point BEGIN PROCEDURE print_pathname ENTRY TO print_pathname STATEMENT 1 ON LINE 503 print_pathname: proc; 004161 aa 6 07034 6501 00 spri4 pr6|3612 STATEMENT 1 ON LINE 505 some_output = "1"b; 004162 aa 400000 2350 03 lda 131072,du 004163 aa 6 06650 7551 00 sta pr6|3496 some_output STATEMENT 1 ON LINE 506 call hcs_$fs_get_mode (seg_ptr, fmode, code); 004164 aa 6 06670 3521 00 epp2 pr6|3512 seg_ptr 004165 aa 6 07540 2521 00 spri2 pr6|3936 004166 aa 6 06672 3521 00 epp2 pr6|3514 fmode 004167 aa 6 07542 2521 00 spri2 pr6|3938 004170 aa 6 06706 3521 00 epp2 pr6|3526 code 004171 aa 6 07544 2521 00 spri2 pr6|3940 004172 aa 6 07536 6211 00 eax1 pr6|3934 004173 aa 014000 4310 07 fld 6144,dl 004174 aa 6 00044 3701 20 epp4 pr6|36,* 004175 la 4 00052 3521 20 epp2 pr4|42,* hcs_$fs_get_mode 004176 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 507 if code ^= 0 then fmode = 0; 004177 aa 6 06706 2361 00 ldq pr6|3526 code 004200 aa 000002 6000 04 tze 2,ic 004202 004201 aa 6 06672 4501 00 stz pr6|3514 fmode STATEMENT 1 ON LINE 509 if long_sw then do; 004202 aa 6 06641 2351 00 lda pr6|3489 long_sw 004203 aa 000131 6000 04 tze 89,ic 004334 STATEMENT 1 ON LINE 510 call ioa_$nnl ("^a^[$^a^;^s^] (^a) Search rule ", pathname_ (dn, en), entry_point, entry_point_name, get_mode_letters (bit (fmode))); 004204 aa 000 100 100 404 mlr (ic),(pr),fill(000) 004205 aa 774000 00 0040 desc9a -2048,32 000204 = 136141136133 004206 aa 6 07536 00 0040 desc9a pr6|3934,32 004207 aa 6 06317 3521 00 epp2 pr6|3279 dn 004210 aa 6 07622 2521 00 spri2 pr6|3986 004211 aa 6 06515 3521 00 epp2 pr6|3405 en 004212 aa 6 07624 2521 00 spri2 pr6|3988 004213 aa 6 07546 3521 00 epp2 pr6|3942 004214 aa 6 07626 2521 00 spri2 pr6|3990 004215 aa 773644 3520 04 epp2 -2140,ic 000061 = 526000000250 004216 aa 6 07630 2521 00 spri2 pr6|3992 004217 aa 6 07634 2521 00 spri2 pr6|3996 004220 aa 773635 3520 04 epp2 -2147,ic 000055 = 526000000040 004221 aa 6 07632 2521 00 spri2 pr6|3994 004222 aa 6 07620 6211 00 eax1 pr6|3984 004223 aa 014000 4310 07 fld 6144,dl 004224 aa 6 00044 3701 20 epp4 pr6|36,* 004225 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 004226 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 004227 aa 6 06672 2351 00 lda pr6|3514 fmode 004230 aa 000002 6050 04 tpl 2,ic 004232 004231 aa 000000 5310 00 neg 0 004232 aa 000037 7350 00 als 31 004233 aa 6 07636 7551 00 sta pr6|3998 004234 aa 000314 3520 04 epp2 204,ic 004550 = 000004000000 004235 aa 000230 6700 04 tsp4 152,ic 004465 004236 aa 6 07536 3521 00 epp2 pr6|3934 004237 aa 6 07644 2521 00 spri2 pr6|4004 004240 aa 6 07546 3521 00 epp2 pr6|3942 004241 aa 6 07646 2521 00 spri2 pr6|4006 004242 aa 6 06644 3521 00 epp2 pr6|3492 entry_point 004243 aa 6 07650 2521 00 spri2 pr6|4008 004244 aa 6 06371 3521 00 epp2 pr6|3321 entry_point_name 004245 aa 6 07652 2521 00 spri2 pr6|4010 004246 aa 6 07641 3521 00 epp2 pr6|4001 004247 aa 6 07654 2521 00 spri2 pr6|4012 004250 aa 773545 3520 04 epp2 -2203,ic 000015 = 524000000037 004251 aa 6 07656 2521 00 spri2 pr6|4014 004252 aa 773561 3520 04 epp2 -2191,ic 000033 = 524000000250 004253 aa 6 07660 2521 00 spri2 pr6|4016 004254 aa 773554 3520 04 epp2 -2196,ic 000030 = 514000000001 004255 aa 6 07662 2521 00 spri2 pr6|4018 004256 aa 773603 3520 04 epp2 -2173,ic 000061 = 526000000250 004257 aa 6 07664 2521 00 spri2 pr6|4020 004260 aa 773577 3520 04 epp2 -2177,ic 000057 = 530000000004 004261 aa 6 07666 2521 00 spri2 pr6|4022 004262 aa 6 07642 6211 00 eax1 pr6|4002 004263 aa 024000 4310 07 fld 10240,dl 004264 aa 6 00044 3701 20 epp4 pr6|36,* 004265 la 4 00106 3521 20 epp2 pr4|70,* ioa_$nnl 004266 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 512 if dir_idx = 0 then call ioa_ ("""initiated_segments"""); 004267 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 004270 aa 000021 6010 04 tnz 17,ic 004311 004271 aa 773635 2370 04 ldaq -2147,ic 000126 = 042151156151 164151141164 004272 aa 6 07536 7571 00 staq pr6|3934 004273 aa 773635 2370 04 ldaq -2147,ic 000130 = 145144137163 145147155145 004274 aa 6 07540 7571 00 staq pr6|3936 004275 aa 773635 2350 04 lda -2147,ic 000132 = 156164163042 004276 aa 6 07542 7551 00 sta pr6|3938 004277 aa 6 07536 3521 00 epp2 pr6|3934 004300 aa 6 07622 2521 00 spri2 pr6|3986 004301 aa 773513 3520 04 epp2 -2229,ic 000014 = 524000000024 004302 aa 6 07624 2521 00 spri2 pr6|3988 004303 aa 6 07620 6211 00 eax1 pr6|3984 004304 aa 004000 4310 07 fld 2048,dl 004305 aa 6 00044 3701 20 epp4 pr6|36,* 004306 la 4 00102 3521 20 epp2 pr4|66,* ioa_ 004307 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 004310 aa 000154 7100 04 tra 108,ic 004464 STATEMENT 1 ON LINE 513 else call ioa_ ("""^a""", rule (rule_number (dir_idx))); 004311 aa 773502 2350 04 lda -2238,ic 000013 = 042136141042 004312 aa 6 07636 7551 00 sta pr6|3998 004313 aa 000054 4020 07 mpy 44,dl 004314 aa 6 04462 2361 06 ldq pr6|2354,ql search_dirs.rule_number 004315 aa 000052 4020 07 mpy 42,dl 004316 aa 6 07636 3521 00 epp2 pr6|3998 004317 aa 6 07622 2521 00 spri2 pr6|3986 004320 aa 6 02627 3521 06 epp2 pr6|1431,ql search_rules.rule 004321 aa 6 07624 2521 00 spri2 pr6|3988 004322 aa 773470 3520 04 epp2 -2248,ic 000012 = 524000000004 004323 aa 6 07626 2521 00 spri2 pr6|3990 004324 aa 773507 3520 04 epp2 -2233,ic 000033 = 524000000250 004325 aa 6 07630 2521 00 spri2 pr6|3992 004326 aa 6 07620 6211 00 eax1 pr6|3984 004327 aa 010000 4310 07 fld 4096,dl 004330 aa 6 00044 3701 20 epp4 pr6|36,* 004331 la 4 00102 3521 20 epp2 pr4|66,* ioa_ 004332 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 514 end; 004333 aa 000131 7100 04 tra 89,ic 004464 STATEMENT 1 ON LINE 515 else do; STATEMENT 1 ON LINE 516 call hcs_$status_long (dn, en, 1, addr (branch_status), null, code); 004334 aa 000001 2360 07 ldq 1,dl 004335 aa 6 07636 7561 00 stq pr6|3998 004336 aa 6 00100 3735 00 epp7 pr6|64 branch_status 004337 aa 6 07640 6535 00 spri7 pr6|4000 004340 aa 773540 3714 24 epp5 -2208,ic* 004341 aa 6 07670 6515 00 spri5 pr6|4024 004342 aa 6 06317 3521 00 epp2 pr6|3279 dn 004343 aa 6 07550 2521 00 spri2 pr6|3944 004344 aa 6 06515 3521 00 epp2 pr6|3405 en 004345 aa 6 07552 2521 00 spri2 pr6|3946 004346 aa 6 07636 3521 00 epp2 pr6|3998 004347 aa 6 07554 2521 00 spri2 pr6|3948 004350 aa 6 07640 3521 00 epp2 pr6|4000 004351 aa 6 07556 2521 00 spri2 pr6|3950 004352 aa 6 07670 3521 00 epp2 pr6|4024 004353 aa 6 07560 2521 00 spri2 pr6|3952 004354 aa 6 06706 3521 00 epp2 pr6|3526 code 004355 aa 6 07562 2521 00 spri2 pr6|3954 004356 aa 773503 3520 04 epp2 -2237,ic 000061 = 526000000250 004357 aa 6 07564 2521 00 spri2 pr6|3956 004360 aa 773475 3520 04 epp2 -2243,ic 000055 = 526000000040 004361 aa 6 07566 2521 00 spri2 pr6|3958 004362 aa 773444 3520 04 epp2 -2268,ic 000026 = 404000000001 004363 aa 6 07570 2521 00 spri2 pr6|3960 004364 aa 773476 3520 04 epp2 -2242,ic 000062 = 464000000000 004365 aa 6 07572 2521 00 spri2 pr6|3962 004366 aa 6 07574 2521 00 spri2 pr6|3964 004367 aa 773451 3520 04 epp2 -2263,ic 000040 = 404000000043 004370 aa 6 07576 2521 00 spri2 pr6|3966 004371 aa 6 07546 6211 00 eax1 pr6|3942 004372 aa 030000 4310 07 fld 12288,dl 004373 aa 6 00044 3701 20 epp4 pr6|36,* 004374 la 4 00070 3521 20 epp2 pr4|56,* hcs_$status_long 004375 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 517 uid (dir_idx) = branch_status.unique_id; 004376 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 004377 aa 000054 4020 07 mpy 44,dl 004400 aa 6 00111 2351 00 lda pr6|73 branch_status.unique_id 004401 aa 6 04461 7551 06 sta pr6|2353,ql search_dirs.uid STATEMENT 1 ON LINE 518 printed_sw = "0"b; 004402 aa 6 06646 4501 00 stz pr6|3494 printed_sw STATEMENT 1 ON LINE 519 do uid_idx = 1 to dir_idx-1; 004403 aa 6 06701 2361 00 ldq pr6|3521 dir_idx 004404 aa 000001 1760 07 sbq 1,dl 004405 aa 6 07042 7561 00 stq pr6|3618 004406 aa 000001 2360 07 ldq 1,dl 004407 aa 6 06704 7561 00 stq pr6|3524 uid_idx 004410 aa 6 06704 2361 00 ldq pr6|3524 uid_idx 004411 aa 6 07042 1161 00 cmpq pr6|3618 004412 aa 000011 6054 04 tpnz 9,ic 004423 STATEMENT 1 ON LINE 520 if uid (uid_idx) = branch_status.unique_id then printed_sw = "1"b; 004413 aa 000054 4020 07 mpy 44,dl 004414 aa 6 04461 2351 06 lda pr6|2353,ql search_dirs.uid 004415 aa 6 00111 1151 00 cmpa pr6|73 branch_status.unique_id 004416 aa 000003 6010 04 tnz 3,ic 004421 004417 aa 400000 2350 03 lda 131072,du 004420 aa 6 06646 7551 00 sta pr6|3494 printed_sw STATEMENT 1 ON LINE 521 end; 004421 aa 6 06704 0541 00 aos pr6|3524 uid_idx 004422 aa 777766 7100 04 tra -10,ic 004410 STATEMENT 1 ON LINE 522 if ^printed_sw then call ioa_ ("^a", pathname_ (dn, en)); 004423 aa 6 06646 2351 00 lda pr6|3494 printed_sw 004424 aa 000040 6010 04 tnz 32,ic 004464 004425 aa 136141 2350 03 lda 48225,du 004426 aa 6 07636 7551 00 sta pr6|3998 004427 aa 6 06317 3521 00 epp2 pr6|3279 dn 004430 aa 6 07622 2521 00 spri2 pr6|3986 004431 aa 6 06515 3521 00 epp2 pr6|3405 en 004432 aa 6 07624 2521 00 spri2 pr6|3988 004433 aa 6 07546 3521 00 epp2 pr6|3942 004434 aa 6 07626 2521 00 spri2 pr6|3990 004435 aa 773424 3520 04 epp2 -2284,ic 000061 = 526000000250 004436 aa 6 07630 2521 00 spri2 pr6|3992 004437 aa 6 07634 2521 00 spri2 pr6|3996 004440 aa 773415 3520 04 epp2 -2291,ic 000055 = 526000000040 004441 aa 6 07632 2521 00 spri2 pr6|3994 004442 aa 6 07620 6211 00 eax1 pr6|3984 004443 aa 014000 4310 07 fld 6144,dl 004444 aa 6 00044 3701 20 epp4 pr6|36,* 004445 la 4 00112 3521 20 epp2 pr4|74,* pathname_ 004446 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 004447 aa 6 07636 3521 00 epp2 pr6|3998 004450 aa 6 07622 2521 00 spri2 pr6|3986 004451 aa 6 07546 3521 00 epp2 pr6|3942 004452 aa 6 07624 2521 00 spri2 pr6|3988 004453 aa 773364 3520 04 epp2 -2316,ic 000037 = 524000000002 004454 aa 6 07626 2521 00 spri2 pr6|3990 004455 aa 773356 3520 04 epp2 -2322,ic 000033 = 524000000250 004456 aa 6 07630 2521 00 spri2 pr6|3992 004457 aa 6 07620 6211 00 eax1 pr6|3984 004460 aa 010000 4310 07 fld 4096,dl 004461 aa 6 00044 3701 20 epp4 pr6|36,* 004462 la 4 00102 3521 20 epp2 pr4|66,* ioa_ 004463 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 523 end; STATEMENT 1 ON LINE 525 end print_pathname; 004464 aa 6 07034 6101 00 rtcd pr6|3612 END PROCEDURE print_pathname BEGIN PROCEDURE get_mode_letters ENTRY TO get_mode_letters STATEMENT 1 ON LINE 528 get_mode_letters: proc (mode_bits) returns (char (4)varying); 004465 aa 6 07044 6501 00 spri4 pr6|3620 004466 aa 6 07046 2521 00 spri2 pr6|3622 STATEMENT 1 ON LINE 533 amode = ""; 004467 aa 6 07052 4501 00 stz pr6|3626 amode STATEMENT 1 ON LINE 534 if substr (mode_bits, 2, 1) ^= "0"b then amode = "r"; 004470 aa 2 00002 3735 20 epp7 pr2|2,* 004471 aa 000 000 066 500 cmpb (pr),(),fill(0) 004472 aa 7 00000 01 0001 descb pr7|0(1),1 mode_bits 004473 aa 000000 00 0000 descb 0,0 004474 aa 000005 6000 04 tze 5,ic 004501 004475 aa 162000 2350 03 lda 58368,du 004476 aa 6 07053 7551 00 sta pr6|3627 amode 004477 aa 000001 2360 07 ldq 1,dl 004500 aa 6 07052 7561 00 stq pr6|3626 amode STATEMENT 1 ON LINE 535 if substr (mode_bits, 3, 1) ^= "0"b then amode = amode||"e"; 004501 aa 000 000 066 500 cmpb (pr),(),fill(0) 004502 aa 7 00000 02 0001 descb pr7|0(2),1 mode_bits 004503 aa 000000 00 0000 descb 0,0 004504 aa 000010 6000 04 tze 8,ic 004514 004505 aa 6 07052 2361 00 ldq pr6|3626 amode 004506 aa 000004 1160 07 cmpq 4,dl 004507 aa 000005 6050 04 tpl 5,ic 004514 004510 aa 6 07052 0541 00 aos pr6|3626 amode 004511 aa 040 106 100 404 mlr (ic),(pr,ql),fill(040) 004512 aa 000100 00 0001 desc9a 64,1 004611 = 145000000000 004513 aa 6 07053 00 0001 desc9a pr6|3627,1 amode STATEMENT 1 ON LINE 536 if substr (mode_bits, 4, 1) ^= "0"b then amode = amode||"w"; 004514 aa 000 000 066 500 cmpb (pr),(),fill(0) 004515 aa 7 00000 03 0001 descb pr7|0(3),1 mode_bits 004516 aa 000000 00 0000 descb 0,0 004517 aa 000010 6000 04 tze 8,ic 004527 004520 aa 6 07052 2361 00 ldq pr6|3626 amode 004521 aa 000004 1160 07 cmpq 4,dl 004522 aa 000005 6050 04 tpl 5,ic 004527 004523 aa 6 07052 0541 00 aos pr6|3626 amode 004524 aa 040 106 100 404 mlr (ic),(pr,ql),fill(040) 004525 aa 000064 00 0001 desc9a 52,1 004610 = 167000000000 004526 aa 6 07053 00 0001 desc9a pr6|3627,1 amode STATEMENT 1 ON LINE 537 if amode = "" then amode = "null"; 004527 aa 6 07052 7271 00 lxl7 pr6|3626 amode 004530 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 004531 aa 6 07053 00 0017 desc9a pr6|3627,x7 amode 004532 aa 000060 00 0000 desc9a 48,0 004610 = 167000000000 004533 aa 000005 6010 04 tnz 5,ic 004540 004534 aa 773254 2350 04 lda -2388,ic 000010 = 156165154154 004535 aa 6 07053 7551 00 sta pr6|3627 amode 004536 aa 000004 2360 07 ldq 4,dl 004537 aa 6 07052 7561 00 stq pr6|3626 amode STATEMENT 1 ON LINE 538 return (amode); 004540 aa 6 07052 2361 00 ldq pr6|3626 amode 004541 aa 2 00004 3715 20 epp5 pr2|4,* 004542 aa 5 77777 7561 00 stq pr5|-1 004543 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 004544 aa 6 07053 00 0006 desc9a pr6|3627,ql amode 004545 aa 5 00000 00 0006 desc9a pr5|0,ql 004546 aa 6 07044 6101 00 rtcd pr6|3620 STATEMENT 1 ON LINE 540 end get_mode_letters; END PROCEDURE get_mode_letters END PROCEDURE wh ----------------------------------------------------------- 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