COMPILATION LISTING OF SEGMENT form_link_info_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 11/20/86 1202.8 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 /****^ HISTORY COMMENTS: 13* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 14* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1212): 15* Fixed to stop link analysis before reference trap structure. Now displays 16* first reference trap info in a convenient format. Now uses 17* object_link_dcls.incl.pl1. 18* END HISTORY COMMENTS */ 19 20 /* Form Link Info - subroutine to format object segment linkage information into printable file. 21* 22* Designed and Initially coded by Michael J. Spier, March 17, 1971 */ 23 /* modified 6/75 by M. Weaver to use version 2 object_info_ structure */ 24 /* modified 1/77 by S. Webber to sort entry names, use get_temp_segments_, and handle non-standard definitions */ 25 /* modified 8/77 by M. Weaver to check perprocess static attribute */ 26 /* modified 3/82 by M. Weaver to handle archive components */ 27 /* Modified: 28 July 1982 by G. Palter to fix bug which caused a null component name to appear when called with the old 28* format structure (eg: by create_data_segment_) */ 29 /* Changed to use interpret_link_info.incl.pl1 05/16/83 S. Herbst */ 30 /* modified 1/84 by M. Weaver to detect loop in definitions */ 31 /* modified 4/84 by M. Weaver to copy dates so they are even-word aligned */ 32 /* Modified JMAthane 11/24/84 to stop link analysis before first reference trap structure if any, 33*display first reference trap info if any, and use object_link_dcls.incl.pl1 */ 34 35 /* format: style3,^indnoniterdo */ 36 37 38 form_link_info_: 39 procedure (P_arg_ptr, code); 40 41 dcl P_arg_ptr ptr, 42 code fixed bin (35); 43 44 45 /* DECLARATION OF EXTERNAL ENTRIES */ 46 47 dcl date_time_ entry (fixed bin (71), char (*) aligned); 48 dcl (get_temp_segment_, release_temp_segment_) 49 entry (char (*), ptr, fixed bin (35)); 50 dcl decode_definition_ entry (ptr, ptr) returns (bit (1) aligned); 51 dcl decode_definition_$init 52 entry (ptr, fixed bin (24)); 53 dcl hcs_$fs_get_path_name 54 entry (ptr, char (*), fixed bin, char (*), fixed bin (35)); 55 dcl hcs_$status_mins entry (ptr, fixed bin, fixed bin (24), fixed bin (35)); 56 dcl interpret_link_$tptr 57 entry (ptr, ptr, ptr, fixed bin (35)); 58 dcl ( 59 ioa_$rs, 60 ioa_$rsnnl 61 ) entry options (variable); 62 dcl object_info_$long entry (ptr, fixed bin (24), ptr, fixed bin (35)); 63 dcl pathname_$component entry (char (*), char (*), char (*)) returns (char (194)); 64 65 dcl error_table_$bad_segment 66 external fixed bin (35); 67 68 /* DECLARATION OF AUTOMATIC STORAGE VARIABLES */ 69 70 dcl (junk, i, j, lng, lslng, l1, link_offset) 71 fixed bin; 72 dcl orel fixed bin (18); 73 dcl offset21 fixed bin (21); 74 dcl bitcount fixed bin (24); 75 dcl aligned_bin_date fixed bin (71); 76 dcl (counter, previous) fixed bin; 77 dcl total_def_counter fixed bin; 78 dcl (p, argp, objp, dp, lp, listp, first_dp, arg_ptr) 79 ptr; 80 dcl (sblkp, smp) ptr; 81 dcl attributes char (128) var; 82 dcl n fixed bin; 83 dcl severity fixed bin; 84 dcl alm_or_bcpl fixed bin; 85 dcl first_link bit (1) aligned; 86 dcl get_out bit (1) aligned; 87 dcl new_defblock fixed bin (1); 88 dcl sortp ptr; 89 dcl objname char (32); 90 dcl dirname char (168); 91 dcl wst char (256) aligned; 92 dcl date char (24) aligned; 93 dcl user char (40) aligned; 94 dcl address char (12) aligned; 95 dcl entry char (20) aligned; 96 dcl link_end fixed bin (18); 97 dcl fr_trap_ptr ptr; 98 99 dcl 1 dd aligned, 100 2 next_def ptr, 101 2 last_def ptr, 102 2 block_ptr ptr, 103 2 section char (4) aligned, 104 2 offset fixed bin, 105 2 entrypoint fixed bin, 106 2 defname char (32) aligned; 107 108 dcl 1 auto_form_link_info_args 109 aligned like form_link_info_args; 110 111 /* DECLARATION OF BUILTIN FUNCTIONS */ 112 113 dcl (addr, addrel, bin, char, divide, index, rel, substr, length, null, rtrim, unspec) 114 builtin; 115 116 /* DECLARATIONS OF STATIC STORAGE */ 117 118 dcl FT2 bit (6) aligned static options (constant) init ("100110"b); 119 dcl newline char (1) static init (" 120 "); 121 122 /* DECLARATION OF BASED STRUCTURES */ 123 124 dcl 1 sort (0:1) aligned based (sortp), 125 2 thread fixed bin, 126 2 def_info char (32), 127 2 section char (4), 128 2 offset fixed bin, 129 2 entrypoint fixed bin; 130 131 dcl 1 lsort (0:1) aligned based (sortp), 132 2 thread fixed bin, 133 2 link_address char (12), 134 2 link_info aligned like interpret_link_info; 135 136 dcl 1 args aligned based (argp), 137 2 obj_ptr ptr, 138 2 list_ptr ptr, 139 2 list_bc fixed bin, 140 2 hd_sw bit (1) unaligned, 141 2 ln_sw bit (1) unaligned, 142 2 et_sw bit (1) unaligned, 143 2 lk_sw bit (1) unaligned, 144 2 lg_sw bit (1) unaligned; 145 146 dcl listing char (131072) based (listp); 147 dcl string char (131071) based (p); 148 dcl based_fixed fixed bin based; 149 150 dcl cleanup condition; 151 152 declare 1 oi aligned like object_info; 153 154 /* \014 */ 155 arg_ptr, argp = P_arg_ptr; 156 if form_link_info_args.version ^= form_link_info_args_version_1 157 then do; /* old input structure; copy first */ 158 unspec (auto_form_link_info_args) = "0"b; 159 arg_ptr = addr (auto_form_link_info_args); 160 form_link_info_args.version = form_link_info_args_version_1; 161 form_link_info_args.list_bc = args.list_bc; 162 form_link_info_args.list_ptr = args.list_ptr; 163 form_link_info_args.obj_ptr = args.obj_ptr; 164 form_link_info_args.flags.hd_sw = args.hd_sw; 165 form_link_info_args.flags.ln_sw = args.ln_sw; 166 form_link_info_args.flags.et_sw = args.et_sw; 167 form_link_info_args.flags.lk_sw = args.lk_sw; 168 form_link_info_args.flags.lg_sw = args.lg_sw; 169 form_link_info_args.component_name = ""; 170 end; 171 172 objp = form_link_info_args.obj_ptr; 173 listp = form_link_info_args.list_ptr; 174 lslng = divide (form_link_info_args.list_bc, 9, 17, 0); 175 /* get size of list segment in characters */ 176 code = 0; /* preset error code */ 177 sortp = null; /* don't call release_temp_segments_ unnecessarily */ 178 179 call hcs_$fs_get_path_name (objp, dirname, lng, objname, code); 180 if code ^= 0 181 then return; 182 if form_link_info_args.flags.bc_sw 183 then bitcount = form_link_info_args.bit_count; 184 else do; 185 call hcs_$status_mins (objp, i, bitcount, code); 186 if code ^= 0 187 then return; 188 end; 189 190 oi.version_number = object_info_version_2; 191 call object_info_$long (objp, bitcount, addr (oi), code); 192 if code ^= 0 193 then return; 194 195 if ^oi.format.standard 196 then if ^oi.format.old_format 197 then do; 198 199 code = error_table_$bad_segment; 200 return; 201 202 end; 203 204 link_offset = bin (oi.linkp -> linkage_header.begin_links, 18); 205 206 if form_link_info_args.flags.lk_sw | form_link_info_args.flags.et_sw 207 then do; 208 sortp = null; 209 on cleanup call release_temp_segment_ ("form_link_info_", sortp, code); 210 call get_temp_segment_ ("form_link_info_", sortp, code); 211 end; 212 213 if form_link_info_args.flags.hd_sw 214 then do; /* print header information */ 215 if oi.format.old_format & ((oi.compiler = "alm ") | (oi.compiler = "bcpl ")) 216 then alm_or_bcpl = 1; 217 else alm_or_bcpl = 0; 218 call date_time_ (oi.compile_time, date); /* convert object creation time */ 219 user = " "; 220 if oi.format.standard 221 then do; /* standard, we can get user name */ 222 substr (user, 1, 2) = "by"; 223 substr (user, 4, 32) = oi.userid; 224 i = index (substr (user, 4, 34), " ") + 3; 225 substr (user, i, 1) = newline; 226 end; 227 offset21 = bin (oi.cvers.offset, 18) * 4 + 1 + alm_or_bcpl; 228 /* offset is from symb|0 */ 229 lng = bin (oi.cvers.length, 18); 230 call ioa_$rs ("^2/Object Segment ^a^/Created on ^a^/^ausing ^a^[^/with separate static^;^]", wst, l1, 231 pathname_$component (dirname, objname, (form_link_info_args.component_name)), date, user, 232 substr (oi.symbp -> string, offset21, lng), oi.format.separate_static); 233 call put_list; 234 235 /* Do the following for long-format output */ 236 237 if form_link_info_args.flags.lg_sw 238 then do; 239 severity = 0; 240 if ^oi.format.old_format 241 then do; 242 sblkp = addrel (oi.symbp, oi.symbp -> sb.area_ptr); 243 if rel (sblkp) 244 then if sblkp -> pl1_symbol_block.identifier = "pl1info" 245 then severity = sblkp -> pl1_symbol_block.greatest_severity; 246 end; 247 248 call ioa_$rs ("^/Translator:^-^a", wst, l1, oi.compiler); 249 call put_list; 250 251 offset21 = bin (oi.comment.offset, 18) * 4 + 1 + alm_or_bcpl; 252 lng = bin (oi.comment.length, 18); 253 call ioa_$rs ("Comment:^2-^a", wst, l1, substr (oi.symbp -> string, offset21, lng)); 254 call put_list; 255 256 if severity > 0 257 then do; 258 call ioa_$rs ("Severity:^2-^d", wst, l1, severity); 259 call put_list; 260 end; 261 262 if oi.source_map ^= 0 263 then do; 264 call ioa_$rs ("Source:", wst, l1); 265 call put_list; 266 smp = addrel (oi.symbp, oi.source_map); 267 do n = 1 to smp -> source_map.number; 268 offset21 = bin (smp -> source_map.map (n).pathname.offset, 18) * 4 + 1 + alm_or_bcpl; 269 lng = bin (smp -> source_map.map (n).pathname.size, 18); 270 unspec (aligned_bin_date) = unspec (smp -> source_map.map (n).dtm); 271 /* copy date to align properly */ 272 call date_time_ (aligned_bin_date, date); 273 call ioa_$rs (" ^26a ^a", wst, l1, date, substr (oi.symbp -> string, offset21, lng)); 274 call put_list; 275 end; 276 end; 277 278 if oi.entry_bound ^= 0 279 then do; 280 call ioa_$rs ("Entry Bound^-^d", wst, l1, oi.entry_bound); 281 call put_list; 282 end; 283 284 if oi.text_boundary ^= 2 285 then do; 286 call ioa_$rs ("Text Boundary^-^d", wst, l1, oi.text_boundary); 287 call put_list; 288 end; 289 290 if oi.static_boundary ^= 2 291 then do; 292 call ioa_$rs ("Static Boundary^-^d", wst, l1, oi.static_boundary); 293 call put_list; 294 end; 295 296 attributes = ""; 297 if oi.format.old_format 298 then attributes = attributes || "old_format, "; 299 if oi.format.bound 300 then attributes = attributes || "bound, "; 301 if oi.format.relocatable 302 then attributes = attributes || "relocatable, "; 303 if oi.format.procedure 304 then attributes = attributes || "procedure, "; 305 if oi.format.standard 306 then attributes = attributes || "standard, "; 307 if oi.format.gate 308 then attributes = attributes || "gate, "; 309 if oi.format.separate_static 310 then attributes = attributes || "separate_static, "; 311 if oi.format.perprocess_static 312 then attributes = attributes || "perprocess_static, "; 313 if oi.format.links_in_text 314 then attributes = attributes || "links_in_text, "; 315 lng = length (attributes) - 2; 316 if lng > 1 317 then attributes = substr (attributes, 1, lng); 318 call ioa_$rs ("Attributes:^-^a", wst, l1, attributes); 319 call put_list; 320 321 end; 322 end; 323 if form_link_info_args.flags.ln_sw 324 then do; /* print length information */ 325 orel = bin (rel (objp), 18); /* Find offset of object (eg, for component of archive) */ 326 call ioa_$rs ("^/^8xObject Text Defs Link Symb Static^/Start^9o^8o^8o^8o^8o^8o", wst, l1, 327 orel, bin (rel (oi.textp), 18) - orel, bin (rel (oi.defp), 18) - orel, 328 bin (rel (oi.linkp), 18) - orel, bin (rel (oi.symbp), 18) - orel, bin (rel (oi.statp), 18) - orel); 329 call put_list; 330 call ioa_$rs ("Length ^6o ^6o ^6o ^6o ^6o ^6o", wst, l1, divide (bitcount, 36, 17, 0), oi.tlng, 331 oi.dlng, oi.llng, oi.slng, oi.ilng); 332 call put_list; 333 end; 334 335 if form_link_info_args.flags.et_sw 336 then do; /* we want defs info */ 337 first_dp = oi.defp; 338 if oi.format.standard 339 then first_dp = addrel (oi.defp, first_dp -> definition.forward); 340 /* skip def section header */ 341 total_def_counter = 0; /* set loop detection counter */ 342 counter = 0; /* reset counter */ 343 do dp = first_dp repeat addrel (oi.defp, dp -> definition.forward) while (dp -> based_fixed ^= 0); 344 if ^dp -> definition.ignore 345 then counter = counter + 1; /* count defs that aren't ignored */ 346 total_def_counter = total_def_counter + 1; 347 if total_def_counter > 8000 348 then do; 349 call put_nl; 350 wst = "Cannot display definitions because of a loop."; 351 l1 = length (rtrim (wst)); 352 call put_list; 353 call put_nl; 354 call put_nl; 355 go to print_links; /* continue processing */ 356 end; 357 end; 358 359 call ioa_$rs ("^2/^d Definitions:^/", wst, l1, counter); 360 call put_list; 361 362 call decode_definition_$init (objp, bitcount); 363 dd.next_def = objp; /* initialize definition search */ 364 new_defblock = 1b; 365 get_out = "0"b; 366 367 if decode_definition_ (dd.next_def, addr (dd)) 368 then goto print_links; 369 class_3: 370 if dd.section = "segn" 371 then do while ("1"b); 372 373 call put_nl; 374 if dd.next_def ^= dd.block_ptr 375 then address = "segnames:"; 376 else address = "segname:"; 377 378 wst = char (address, 12) || dd.defname; 379 l1 = length (rtrim (wst)); 380 call put_list; 381 call put_nl; 382 383 if decode_definition_ (dd.next_def, addr (dd)) 384 then goto print_links; 385 do while (dd.section = "segn"); 386 wst = (12)" " || dd.defname; 387 l1 = length (rtrim (wst)); 388 call put_list; 389 call put_nl; 390 if decode_definition_ (dd.next_def, addr (dd)) 391 then goto print_links; 392 end; 393 call put_nl; 394 395 /* Now we've processed all segnames, do entroes... */ 396 397 sort (0).thread = 0; 398 sort (0).def_info = ""; 399 400 /* now search and sort within this class 3 list */ 401 402 do j = 1 by 1; 403 sort (j).def_info = dd.defname; 404 sort (j).section = dd.section; 405 sort (j).offset = dd.offset; 406 sort (j).entrypoint = dd.entrypoint; 407 408 /* now sort */ 409 410 previous, i = 0; 411 merge_defs: 412 if sort (j).def_info <= sort (i).def_info 413 then do; 414 sort (previous).thread = j; 415 sort (j).thread = i; 416 end; 417 else if sort (i).thread = 0 418 then do; 419 sort (j).thread = 0; 420 sort (i).thread = j; 421 end; 422 else do; 423 previous = i; 424 i = sort (i).thread; 425 goto merge_defs; 426 end; 427 if decode_definition_ (dd.next_def, addr (dd)) 428 then do; 429 get_out = "1"b; 430 goto print_defs; 431 end; 432 if dd.section = "segn" 433 then goto print_defs; 434 end; 435 436 /* Now output the defs for this class 3 loop */ 437 438 print_defs: 439 do i = sort (0).thread repeat sort (i).thread while (i ^= 0); 440 call ioa_$rsnnl ("^a|^o", address, junk, sort (i).section, sort (i).offset); 441 if sort (i).entrypoint ^= 0 442 then entry = "Entrypoint"; 443 else entry = ""; 444 wst = char (address, 16) || char (sort (i).def_info, 32) || entry; 445 l1 = length (rtrim (wst)); 446 call put_list; 447 call put_nl; 448 end; 449 if get_out 450 then goto print_links; 451 452 end; 453 454 else do while ("1"b); /* no segname defs; just loop and print */ 455 if dd.entrypoint ^= 0 456 then entry = "Entrypoint"; 457 else entry = ""; 458 call ioa_$rsnnl ("^a|^o", address, junk, dd.section, dd.offset); 459 wst = char (address, 16) || char (dd.defname, 32) || entry; 460 l1 = length (rtrim (wst)); 461 call put_list; 462 call put_nl; 463 if decode_definition_ (dd.next_def, addr (dd)) 464 then goto print_links; 465 end; 466 467 end; 468 469 470 print_links: 471 if form_link_info_args.flags.lk_sw 472 then do; /* link info wanted */ 473 474 475 /* Now print out linkage information */ 476 477 if oi.linkp -> first_ref_relp = 0 478 then link_end = oi.llng; 479 else link_end = bin (oi.linkp -> first_ref_relp, 18); 480 counter = 0; /* reset link counter */ 481 do j = link_offset to link_end - 1 by 2; /* first count number of links */ 482 p = addrel (oi.linkp, j); /* ptr to tentative link */ 483 if p -> object_link.tag = FT2 & p -> object_link.mbz2 = "0"b 484 then counter = counter + 1; 485 end; 486 j = 0; /* reset j */ 487 if counter > 0 488 then do; 489 490 lsort (0).thread = 0; /* initialize sort table */ 491 lsort (0).segment_name = " "; /* ... */ 492 493 do link_offset = link_offset to link_end - 1 by 2; 494 /* don't bother if no links */ 495 p = addrel (oi.linkp, link_offset); 496 if (p -> object_link.tag = FT2) & (p -> object_link.mbz2 = "0"b) 497 then do; 498 j = j + 1; /* count the links */ 499 if addrel (p, p -> object_link.header_relp) ^= oi.linkp 500 then lsort (j).segment_name = "***invalid link"; 501 /* link does not point to its header */ 502 else do; 503 lsort (j).link_info.version = INTERPRET_LINK_INFO_VERSION_1; 504 call interpret_link_$tptr (addr (lsort (j).link_info), p, objp, code); 505 if code ^= 0 506 then do; 507 lsort (j).segment_name = "***invalid link"; 508 code = 0; 509 end; 510 else if lsort (j).segment_name = substr (lsort (j).entry_point_name, 2, 32) 511 then if lsort (j).expression = " " 512 then if lsort (j).modifier = " " 513 then lsort (j).entry_point_name = " "; 514 end; 515 call ioa_$rsnnl ("link|^o", lsort (j).link_address, i, link_offset); 516 previous, i = 0; 517 merge_in: 518 if lsort (j).segment_name <= lsort (i).segment_name 519 then do; 520 lsort (previous).thread = j; 521 lsort (j).thread = i; 522 end; 523 else if lsort (i).thread = 0 524 then do; 525 lsort (j).thread = 0; 526 lsort (i).thread = j; 527 end; 528 else do; 529 previous = i; 530 i = lsort (i).thread; 531 goto merge_in; 532 end; 533 end; 534 end; 535 do i = lsort (0).thread repeat lsort (i).thread while (i ^= 0); 536 if first_link ^= "1"b 537 then do; /* no header for links */ 538 call ioa_$rs ("^2/^d Links:^/", wst, l1, counter); 539 call put_list; 540 first_link = "1"b; 541 end; 542 lp = addr (lsort (i).link_info); /* ptr to link to be printed */ 543 call ioa_$rs ("^12a^a^a^a^a^a", wst, l1, lsort (i).link_address, lsort (i).segment_name, 544 lsort (i).entry_point_name, lsort (i).expression, lsort (i).modifier, lsort (i).trap); 545 call put_list; 546 end; 547 if oi.linkp -> first_ref_relp ^= 0 548 then do; 549 call ioa_$rs ("^2/First reference trap:^/", wst, l1); 550 call put_list; 551 fr_trap_ptr = addrel (oi.linkp, oi.linkp -> first_ref_relp); 552 do j = 1 to fr_trap_ptr -> n_traps; 553 call ioa_$rs ("call ^o, ^[no arg^;arg ^o^]", wst, l1, fr_trap_ptr -> call_relp (j), 554 fr_trap_ptr -> info_relp (j) = 0, fr_trap_ptr -> info_relp (j)); 555 call put_list; 556 end; 557 end; 558 end; 559 else do; 560 call ioa_$rs ("^2/No Links.", wst, l1); 561 call put_list; 562 end; 563 564 end; 565 call ioa_$rs ("^2/", wst, l1); 566 call put_list; 567 568 if P_arg_ptr -> form_link_info_args.version = form_link_info_args_version_1 569 then form_link_info_args.list_bc = lslng * 9; 570 else args.list_bc = lslng * 9; 571 if sortp ^= null 572 then call release_temp_segment_ ("form_link_info_", sortp, code); 573 574 return; 575 576 put_list: 577 proc; /* to place formatted output in caller's listing */ 578 579 substr (listing, lslng + 1, l1) = substr (wst, 1, l1); 580 /* copy string into listing */ 581 lslng = lslng + l1; 582 583 return; 584 585 end put_list; 586 587 put_nl: 588 proc; 589 590 substr (listing, lslng + 1, 1) = newline; 591 lslng = lslng + 1; 592 return; 593 594 end put_nl; /* \014 */ 595 1 1 /* begin include file -- form_link_info_args.incl.pl1 */ 1 2 /* coded July 8, 1981 and March 2, 1982 by Melanie Weaver */ 1 3 1 4 dcl 1 form_link_info_args aligned based (arg_ptr), 1 5 2 version fixed bin, 1 6 2 list_bc fixed bin, /* bit count of the output segment */ 1 7 2 list_ptr ptr, /* pointer to the output segment */ 1 8 2 obj_ptr ptr, /* pointer to the object segment */ 1 9 2 flags aligned, 1 10 3 hd_sw bit (1) unaligned, /* header option */ 1 11 3 ln_sw bit (1) unaligned, /* length option */ 1 12 3 et_sw bit (1) unaligned, /* entry option */ 1 13 3 lk_sw bit (1) unaligned, /* link option */ 1 14 3 lg_sw bit (1) unaligned, /* long option */ 1 15 3 bc_sw bit (1) unaligned, /* bit_count field is valid */ 1 16 3 cn_sw bit (1) unaligned, /* component name is given */ 1 17 3 pad bit (29) unaligned, 1 18 2 bit_count fixed bin (24), /* bit count of object segment */ 1 19 2 component_name char (32) aligned; /* name of component in archive */ 1 20 1 21 dcl form_link_info_args_version_1 fixed bin static options (constant) init (1); 1 22 1 23 /* end include file -- form_link_info_args.incl.pl1 */ 596 597 2 1 /* BEGIN INCLUDE FILE interpret_link_info.incl.pl1 */ 2 2 2 3 /* Written 05/12/83 by S. Herbst */ 2 4 2 5 dcl 1 interpret_link_info aligned based (interpret_link_info_ptr), 2 6 2 version char (8), 2 7 2 segment_name char (32) aligned, 2 8 2 entry_point_name char (260) aligned, 2 9 2 expression char (8) aligned, 2 10 2 modifier char (4) aligned, 2 11 2 trap char (48) aligned; 2 12 2 13 dcl INTERPRET_LINK_INFO_VERSION_1 char (8) int static options (constant) init ("ILI 1.0"); 2 14 2 15 dcl interpret_link_info_ptr ptr; 2 16 2 17 /* END INCLUDE FILE interpret_link_info.incl.pl1 */ 598 599 3 1 /* BEGIN INCLUDE FILE object_link_dcls.incl.pl1 BIM 1981 from linkdcl */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(86-05-02,Elhard), approve(86-05-02,MCR7391), 3 6* audit(86-11-18,Schroth), install(86-11-20,MR12.0-1222): 3 7* Modified to add partial_link structure for an object MSF partially snapped 3 8* link. 3 9* 2) change(86-11-13,DGHowe), approve(86-11-13,MCR7391), audit(86-11-13,Zwick), 3 10* install(86-11-20,MR12.0-1222): 3 11* Added a declaration of FAULT_TAG_1, FAULT_TAG_2 and FAULT_TAG_3. 3 12* END HISTORY COMMENTS */ 3 13 3 14 3 15 /* format: style3 */ 3 16 /* everything you ever wanted in a linkage section */ 3 17 3 18 /* 3 19* Last Modified (Date and Reason): 3 20* 15 Nov 1971 by C Garman 3 21* 6/75 by M.Weaver to add virgin_linkage_header declaration 3 22* 6/75 by S.Webber to comment existing structures better 3 23* 9/77 by M. Weaver to add run_depth to link 3 24* 7/81 by B. Margulies for firstref structure, unsigned fixed bins. 3 25* 3/83 by M. Weaver to add flags overlaying def_ptr 3 26**/ 3 27 3 28 declare 1 object_link based aligned, /* link pair in linkage section */ 3 29 2 header_relp fixed bin (17) unal, /* rel pointer to beginning of linkage, always negative */ 3 30 2 ringno fixed bin (3) unsigned unal, /* MBZ */ 3 31 2 mbz bit (6) unal, 3 32 2 run_depth fixed bin (2) unal, /* run unit depth, filled when link is snapped */ 3 33 2 tag bit (6) unal, /* fault tag. 46(8) if not snapped, 43(8) if snapped */ 3 34 2 expression_relp fixed bin (18) unsigned unal, /* pointer (rel to defs) of expression word */ 3 35 2 mbz2 bit (12) unal, 3 36 2 modifier bit (6) unal; /* modifier to be left in snapped link */ 3 37 3 38 declare 1 partial_link based aligned, /* partially snapped link */ 3 39 2 type fixed bin (3) unsigned unal, /* target section of link */ 3 40 2 component fixed bin (15) unsigned unal, /* target component index */ 3 41 2 mbz1 bit (12) unal, 3 42 2 tag bit (6) unal, /* fault tag 3 47(8), ITS 43(8) if snapped */ 3 43 3 44 2 offset fixed bin (18) unsigned unal, /* word offset of link */ 3 45 2 mbz2 bit (3) unal, 3 46 2 bit_offset fixed bin (6) unsigned unal, /* bit offset (in practice, always 0) */ 3 47 2 mbz3 bit (3) unal, 3 48 2 modifier bit (6) unal; /* modifier to be left in snapped link */ 3 49 3 50 declare 1 linkage_header based aligned, /* linkage block header */ 3 51 2 def_ptr ptr, /* pointer to definition section */ 3 52 2 symbol_ptr ptr unal, /* pointer to symbol section in object segment */ 3 53 2 original_linkage_ptr 3 54 ptr unal, /* pointer to linkage section in object segment */ 3 55 2 unused bit (72), 3 56 2 stats, 3 57 3 begin_links fixed bin (18) unsigned unal, /* offset (rel to this section) of first link */ 3 58 3 block_length fixed bin (18) unsigned unal, /* number of words in this linkage section */ 3 59 3 segment_number 3 60 fixed bin (18) unsigned unal, /* text segment number associated with this section */ 3 61 3 static_length fixed bin (18) unsigned unal; /* number of words of static for this segment */ 3 62 3 63 declare 1 linkage_header_flags 3 64 aligned based, /* overlay of def_ptr for flags */ 3 65 2 pad1 bit (28) unaligned, /* flags are in first word */ 3 66 2 static_vlas bit (1) unaligned, /* static section "owns" some LA/VLA segments */ 3 67 2 perprocess_static 3 68 bit (1) unaligned, /* 1 copy of static section is shared among all tasks/run units */ 3 69 2 pad2 bit (6) unaligned; 3 70 3 71 declare 1 virgin_linkage_header 3 72 aligned based, /* template for linkage header in object segment */ 3 73 2 pad bit (30) unaligned, /* is filled in by linker */ 3 74 2 defs_in_link bit (6) unaligned, /* =o20 if defs in linkage (nonstandard) */ 3 75 2 def_offset fixed bin (18) unsigned unaligned, 3 76 /* offset of definition section */ 3 77 2 first_ref_relp fixed bin (18) unsigned unaligned, 3 78 /* offset of trap-at-first-reference offset array */ 3 79 2 filled_in_later bit (144), 3 80 2 link_begin fixed bin (18) unsigned unaligned, 3 81 /* offset of first link */ 3 82 2 linkage_section_lng 3 83 fixed bin (18) unsigned unaligned, 3 84 /* length of linkage section */ 3 85 2 segno_pad fixed bin (18) unsigned unaligned, 3 86 /* will be segment number of copied linkage */ 3 87 2 static_length fixed bin (18) unsigned unaligned; 3 88 /* length of static section */ 3 89 3 90 declare 1 fr_traps based aligned, /* First Reference Trap Procedures */ 3 91 2 decl_vers fixed bin, /* version of this struc, value=1, ABS reloc */ 3 92 2 n_traps fixed bin, /* number of traps on this segment, ABS */ 3 93 2 trap_array (n_fr_traps refer (fr_traps.n_traps)) aligned, 3 94 3 call_relp fixed bin (18) unsigned unaligned, 3 95 /* LINK18, offset of link defining procedure to call */ 3 96 3 info_relp fixed bin (18) unsigned unaligned; 3 97 /* LINK18, offser of link defining argument list for trap proc */ 3 98 3 99 declare FR_TRAPS_VERSION_1 init (1) fixed bin internal static options (constant); 3 100 declare FAULT_TAG_1 bit(6) unaligned init ("40"b3) static options (constant); 3 101 declare FAULT_TAG_2 bit(6) unaligned init ("46"b3) static options (constant); 3 102 declare FAULT_TAG_3 bit(6) unaligned init ("47"b3) static options (constant); 3 103 3 104 /* END INCLUDE FILE object_link_dcls.incl.pl1 */ 600 601 4 1 /* BEGIN INCLUDE FILE definition.incl.pl1 */ 4 2 4 3 4 4 4 5 /****^ HISTORY COMMENTS: 4 6* 1) change(86-05-02,Elhard), approve(86-05-02,MCR7391), 4 7* audit(86-07-18,DGHowe), install(86-11-20,MR12.0-1222): 4 8* Modified to add indirect bit to definition flags. 4 9* END HISTORY COMMENTS */ 4 10 4 11 4 12 dcl 1 definition aligned based, 4 13 2 forward unal bit(18), /* offset of next def */ 4 14 2 backward unal bit(18), /* offset of previous def */ 4 15 2 value unal bit(18), 4 16 2 flags unal, 4 17 3 new bit(1), 4 18 3 ignore bit(1), 4 19 3 entry bit(1), 4 20 3 retain bit(1), 4 21 3 argcount bit(1), 4 22 3 descriptors bit(1), 4 23 3 indirect bit(1), 4 24 3 unused bit(8), 4 25 2 class unal bit(3), 4 26 2 symbol unal bit(18), /* offset of ACC for symbol */ 4 27 2 segname unal bit(18); /* offset of segname def */ 4 28 4 29 /* END INCLUDE FILE definition.incl.pl1 */ 602 603 5 1 /* BEGIN INCLUDE FILE ... object_info.incl.pl1 5 2*coded February 8, 1972 by Michael J. Spier */ 5 3 /* modified May 26, 1972 by M. Weaver */ 5 4 /* modified 15 April, 1975 by M. Weaver */ 5 5 5 6 declare 1 object_info aligned based, /* structure containing object info based, returned by object_info_ */ 5 7 2 version_number fixed bin, /* version number of current structure format (=2) */ 5 8 2 textp pointer, /* pointer to beginning of text section */ 5 9 2 defp pointer, /* pointer to beginning of definition section */ 5 10 2 linkp pointer, /* pointer to beginning of linkage section */ 5 11 2 statp pointer, /* pointer to beginning of static section */ 5 12 2 symbp pointer, /* pointer to beginning of symbol section */ 5 13 2 bmapp pointer, /* pointer to beginning of break map (may be null) */ 5 14 2 tlng fixed bin, /* length in words of text section */ 5 15 2 dlng fixed bin, /* length in words of definition section */ 5 16 2 llng fixed bin, /* length in words of linkage section */ 5 17 2 ilng fixed bin, /* length in words of static section */ 5 18 2 slng fixed bin, /* length in words of symbol section */ 5 19 2 blng fixed bin, /* length in words of break map */ 5 20 2 format, /* word containing bit flags about object type */ 5 21 3 old_format bit(1) unaligned, /* on if segment isn't in new format, i.e. has old style object map */ 5 22 3 bound bit(1) unaligned, /* on if segment is bound */ 5 23 3 relocatable bit(1) unaligned, /* on if seg has relocation info in its first symbol block */ 5 24 3 procedure bit(1) unaligned, /* on if segment is an executable object program */ 5 25 3 standard bit(1) unaligned, /* on if seg is in standard format (more than just standard map) */ 5 26 3 gate bit(1) unaligned, /* on if segment is a gate */ 5 27 3 separate_static bit(1) unaligned, /* on if static not in linkage */ 5 28 3 links_in_text bit(1) unaligned, /* on if there are threaded links in text */ 5 29 3 perprocess_static bit (1) unaligned, /* on if static is not to be per run unit */ 5 30 3 pad bit(27) unaligned, 5 31 2 entry_bound fixed bin, /* entry bound if segment is a gate */ 5 32 2 textlinkp pointer, /* ptr to first link in text */ 5 33 5 34 /* LIMIT OF BRIEF STRUCTURE */ 5 35 5 36 2 compiler char(8) aligned, /* name of processor which generated segment */ 5 37 2 compile_time fixed bin(71), /* clock reading of date/time object was generated */ 5 38 2 userid char(32) aligned, /* standard Multics id of creator of object segment */ 5 39 2 cvers aligned, /* generator version name in printable char string form */ 5 40 3 offset bit(18) unaligned, /* offset of name in words relative to base of symbol section */ 5 41 3 length bit(18) unaligned, /* length of name in characters */ 5 42 2 comment aligned, /* printable comment concerning generator or generation of segment */ 5 43 3 offset bit(18) unaligned, /* offset of comment in words relative to base of symbol section */ 5 44 3 length bit(18) unaligned, /* length of comment in characters */ 5 45 2 source_map fixed bin, /* offset, relative to base of symbol section, of source map structure */ 5 46 5 47 /* LIMIT OF DISPLAY STRUCTURE */ 5 48 5 49 2 rel_text pointer, /* pointer to text section relocation info */ 5 50 2 rel_def pointer, /* pointer to definition section relocation info */ 5 51 2 rel_link pointer, /* pointer to linkage section relocation info */ 5 52 2 rel_static pointer, /* pointer to static section relocation info */ 5 53 2 rel_symbol pointer, /* pointer to symbol section relocation info */ 5 54 2 text_boundary fixed bin, /* specifies mod of text section base boundary */ 5 55 2 static_boundary fixed bin, /* specifies mod of internal static base boundary */ 5 56 /* currently not used by system */ 5 57 2 default_truncate fixed bin, /* offset rel to symbp for binder to automatically trunc. symb sect. */ 5 58 2 optional_truncate fixed bin; /* offset rel to symbp for binder to optionally trunc. symb sect. */ 5 59 5 60 declare object_info_version_2 fixed bin int static init(2); 5 61 5 62 /* END INCLUDE FILE ... object_info.incl.pl1 */ 604 6 1 /* BEGIN INCLUDE FILE ... source_map.incl.pl1 */ 6 2 6 3 dcl 1 source_map aligned based, 6 4 2 version fixed bin, 6 5 2 number fixed bin, 6 6 2 map(n refer(source_map.number)) aligned, 6 7 3 pathname unaligned, 6 8 4 offset bit(18), 6 9 4 size bit(18), 6 10 3 uid bit(36), 6 11 3 dtm fixed bin(71); 6 12 6 13 /* END INCLUDE FILE ... source_map.incl.pl1 */ 605 7 1 /* BEGIN INCLUDE SEGMENT ... symbol_block.incl.pl1 7 2*coded February 8, 1972 by Michael J. Spier */ 7 3 7 4 /* last modified may 3, 1972 by M. Weaver */ 7 5 7 6 declare 1 sb aligned based(sblkp), /* structure describing a standard symbol block */ 7 7 2 decl_vers fixed bin, /* version number of current structure format */ 7 8 2 identifier char(8) aligned, /* symbolic code to define purpose of this symb block */ 7 9 2 gen_version_number fixed bin, /* positive integer designating version of object generator */ 7 10 2 gen_creation_time fixed bin(71), /* clock reading of date/time generator was created */ 7 11 2 obj_creation_time fixed bin(71), /* clock reading of date/time object was generated */ 7 12 2 generator char(8) aligned, /* name of processor which generated segment */ 7 13 2 gen_name_offset bit(18) unaligned, /* offset of generator name in words rel to base of symbol block */ 7 14 2 gen_name_length bit(18) unaligned, /* length of printable generator version name in characters */ 7 15 2 uid_offset bit(18) unaligned, /* offset of creator id in words rel to base of symbol block */ 7 16 2 uid_length bit(18) unaligned, /* length of standard Multics id of object creator in characters */ 7 17 2 comment_offset bit(18) unaligned, /* offset of comment in words relative to base of symbol block */ 7 18 2 comment_length bit(18) unaligned, /* length of printable generator comment in characters */ 7 19 2 tbound bit(18) unaligned, /* specifies mod of text section base boundary */ 7 20 2 stat_bound bit(18) unaligned, /* specifies mod of internal static base boundary */ 7 21 2 source_map bit(18) unaligned, /* offset relative to base of symbol block of source map structure */ 7 22 2 area_ptr bit(18) unaligned, /* offset of block info in words relative to base of symbol block */ 7 23 2 symb_base bit(18) unaligned, /* back pointer (rel to base of symb block) to base of symb section */ 7 24 2 block_size bit(18) unaligned, /* size in words of entire symbol block */ 7 25 2 next_block bit(18) unaligned, /* if ^= "0"b, is thread (rel to base of symb section) to next symb block */ 7 26 2 rel_text bit(18) unaligned, /* offset rel to base of symbol block of text sect relocation info */ 7 27 2 rel_def bit(18) unaligned, /* offset rel to base of symb block of def section relocation info */ 7 28 2 rel_link bit(18) unaligned, /* offset rel to base of symb block of link sect relocation info */ 7 29 2 rel_symb bit(18) unaligned, /* offset rel to base of symb block of symb sect relocation info */ 7 30 2 default_truncate bit(18) unaligned, /* offset RTBOSB for binder to automatically trunc. symb sect. */ 7 31 2 optional_truncate bit(18) unaligned; /* offset RTBOSB for binder to optionally truncate symb section */ 7 32 7 33 /* END INCLUDE SEGMENT ... symbol_block.incl.pl1 */ 606 8 1 dcl 1 pl1_symbol_block aligned based, 8 2 2 version fixed bin, 8 3 2 identifier char(8), /* must be "pl1info" */ 8 4 2 flags, 8 5 3 profile bit(1) unal, 8 6 3 table bit(1) unal, 8 7 3 map bit(1) unal, 8 8 3 flow bit(1) unal, 8 9 3 io bit(1) unal, 8 10 3 table_removed bit(1) unal, 8 11 3 long_profile bit(1) unal, 8 12 3 pad bit(29) unal, 8 13 2 greatest_severity fixed bin, 8 14 2 root unal bit(18), 8 15 2 profile unal bit(18), 8 16 2 map unal, 8 17 3 first bit(18), 8 18 3 last bit(18), 8 19 2 segname unaligned, 8 20 3 offset bit(18), 8 21 3 size bit(18); 607 608 609 end form_link_info_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/20/86 1145.0 form_link_info_.pl1 >special_ldd>install>MR12.0-1222>form_link_info_.pl1 596 1 04/26/82 1150.1 form_link_info_args.incl.pl1 >ldd>include>form_link_info_args.incl.pl1 598 2 06/06/83 0917.4 interpret_link_info.incl.pl1 >ldd>include>interpret_link_info.incl.pl1 600 3 11/20/86 1035.4 object_link_dcls.incl.pl1 >special_ldd>install>MR12.0-1222>object_link_dcls.incl.pl1 602 4 11/20/86 1035.2 definition.incl.pl1 >special_ldd>install>MR12.0-1222>definition.incl.pl1 604 5 08/05/77 1022.5 object_info.incl.pl1 >ldd>include>object_info.incl.pl1 605 6 11/26/79 1320.6 source_map.incl.pl1 >ldd>include>source_map.incl.pl1 606 7 05/06/74 1752.6 symbol_block.incl.pl1 >ldd>include>symbol_block.incl.pl1 607 8 03/10/77 1345.4 pl1_symbol_block.incl.pl1 >ldd>include>pl1_symbol_block.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. FT2 constant bit(6) initial dcl 118 ref 483 496 INTERPRET_LINK_INFO_VERSION_1 000000 constant char(8) initial unaligned dcl 2-13 ref 503 P_arg_ptr parameter pointer dcl 41 ref 38 155 568 addr builtin function dcl 113 ref 159 191 191 367 367 383 383 390 390 427 427 463 463 504 504 542 addrel builtin function dcl 113 ref 242 266 338 357 482 495 499 551 address 000420 automatic char(12) dcl 94 set ref 374* 376* 378 440* 444 458* 459 aligned_bin_date 000112 automatic fixed bin(71,0) dcl 75 set ref 270* 272* alm_or_bcpl 000207 automatic fixed bin(17,0) dcl 84 set ref 215* 217* 227 251 268 area_ptr 16(18) based bit(18) level 2 packed unaligned dcl 7-6 ref 242 arg_ptr 000136 automatic pointer dcl 78 set ref 155* 156 159* 160 161 162 163 164 165 166 167 168 169 172 173 174 182 182 206 206 213 230 230 237 323 335 470 568 argp 000122 automatic pointer dcl 78 set ref 155* 161 162 163 164 165 166 167 168 570 args based structure level 1 dcl 136 attributes 000144 automatic varying char(128) dcl 81 set ref 296* 297* 297 299* 299 301* 301 303* 303 305* 305 307* 307 309* 309 311* 311 313* 313 315 316* 316 318* auto_form_link_info_args 000456 automatic structure level 1 dcl 108 set ref 158* 159 based_fixed based fixed bin(17,0) dcl 148 ref 343 bc_sw 6(05) based bit(1) level 3 packed unaligned dcl 1-4 ref 182 begin_links 6 based fixed bin(18,0) level 3 packed unsigned unaligned dcl 3-50 ref 204 bin builtin function dcl 113 ref 204 227 229 251 252 268 269 325 326 326 326 326 326 479 bit_count 7 based fixed bin(24,0) level 2 dcl 1-4 ref 182 bitcount 000111 automatic fixed bin(24,0) dcl 74 set ref 182* 185* 191* 330 330 362* block_ptr 4 000434 automatic pointer level 2 dcl 99 set ref 374 bound 24(01) 000504 automatic bit(1) level 3 packed unaligned dcl 152 set ref 299 call_relp 2 based fixed bin(18,0) array level 3 packed unsigned unaligned dcl 3-90 set ref 553* char builtin function dcl 113 ref 378 444 444 459 459 cleanup 000476 stack reference condition dcl 150 ref 209 code parameter fixed bin(35,0) dcl 41 set ref 38 176* 179* 180 185* 186 191* 192 199* 209* 210* 504* 505 508* 571* comment 45 000504 automatic structure level 2 dcl 152 compile_time 32 000504 automatic fixed bin(71,0) level 2 dcl 152 set ref 218* compiler 30 000504 automatic char(8) level 2 dcl 152 set ref 215 215 248* component_name 10 based char(32) level 2 dcl 1-4 set ref 169* 230 230 counter 000114 automatic fixed bin(17,0) dcl 76 set ref 342* 344* 344 359* 480* 483* 483 487 538* cvers 44 000504 automatic structure level 2 dcl 152 date 000400 automatic char(24) dcl 92 set ref 218* 230* 272* 273* date_time_ 000010 constant entry external dcl 47 ref 218 272 dd 000434 automatic structure level 1 dcl 99 set ref 367 367 383 383 390 390 427 427 463 463 decode_definition_ 000016 constant entry external dcl 50 ref 367 383 390 427 463 decode_definition_$init 000020 constant entry external dcl 51 ref 362 def_info 1 based char(32) array level 2 dcl 124 set ref 398* 403* 411 411 444 definition based structure level 1 dcl 4-12 defname 11 000434 automatic char(32) level 2 dcl 99 set ref 378 386 403 459 defp 4 000504 automatic pointer level 2 dcl 152 set ref 326 337 338 357 dirname 000226 automatic char(168) unaligned dcl 90 set ref 179* 230* 230* divide builtin function dcl 113 ref 174 330 330 dlng 17 000504 automatic fixed bin(17,0) level 2 dcl 152 set ref 330* dp 000126 automatic pointer dcl 78 set ref 343* 343* 344* 357 dtm 4 based fixed bin(71,0) array level 3 dcl 6-3 ref 270 entry 000423 automatic char(20) dcl 95 set ref 441* 443* 444 455* 457* 459 entry_bound 25 000504 automatic fixed bin(17,0) level 2 dcl 152 set ref 278 280* entry_point_name 16 based char(260) array level 3 dcl 131 set ref 510 510* 543* entrypoint 10 000434 automatic fixed bin(17,0) level 2 in structure "dd" dcl 99 in procedure "form_link_info_" set ref 406 455 entrypoint 13 based fixed bin(17,0) array level 2 in structure "sort" dcl 124 in procedure "form_link_info_" set ref 406* 441 error_table_$bad_segment 000040 external static fixed bin(35,0) dcl 65 ref 199 et_sw 6(02) based bit(1) level 3 in structure "form_link_info_args" packed unaligned dcl 1-4 in procedure "form_link_info_" set ref 166* 206 335 et_sw 5(02) based bit(1) level 2 in structure "args" packed unaligned dcl 136 in procedure "form_link_info_" ref 166 expression 117 based char(8) array level 3 dcl 131 set ref 510 543* first_dp 000134 automatic pointer dcl 78 set ref 337* 338* 338 343 first_link 000210 automatic bit(1) dcl 85 set ref 536 540* first_ref_relp 1(18) based fixed bin(18,0) level 2 packed unsigned unaligned dcl 3-71 ref 477 479 547 551 flags 1(18) based structure level 2 in structure "definition" packed unaligned dcl 4-12 in procedure "form_link_info_" flags 6 based structure level 2 in structure "form_link_info_args" dcl 1-4 in procedure "form_link_info_" form_link_info_args based structure level 1 dcl 1-4 form_link_info_args_version_1 constant fixed bin(17,0) initial dcl 1-21 ref 156 160 568 format 24 000504 automatic structure level 2 dcl 152 forward based bit(18) level 2 packed unaligned dcl 4-12 ref 338 357 fr_trap_ptr 000432 automatic pointer dcl 97 set ref 551* 552 553 553 553 fr_traps based structure level 1 dcl 3-90 gate 24(05) 000504 automatic bit(1) level 3 packed unaligned dcl 152 set ref 307 get_out 000211 automatic bit(1) dcl 86 set ref 365* 429* 449 get_temp_segment_ 000012 constant entry external dcl 48 ref 210 greatest_severity 4 based fixed bin(17,0) level 2 dcl 8-1 ref 243 hcs_$fs_get_path_name 000022 constant entry external dcl 53 ref 179 hcs_$status_mins 000024 constant entry external dcl 55 ref 185 hd_sw 6 based bit(1) level 3 in structure "form_link_info_args" packed unaligned dcl 1-4 in procedure "form_link_info_" set ref 164* 213 hd_sw 5 based bit(1) level 2 in structure "args" packed unaligned dcl 136 in procedure "form_link_info_" ref 164 header_relp based fixed bin(17,0) level 2 packed unaligned dcl 3-28 ref 499 i 000101 automatic fixed bin(17,0) dcl 70 set ref 185* 224* 225 410* 411 415 417 420 423 424* 424 438* 438* 440 440 441 444* 448 515* 516* 517 521 523 526 529 530* 530 535* 535* 542 543 543 543 543 543 543* 546 identifier 1 based char(8) level 2 dcl 8-1 ref 243 ignore 1(19) based bit(1) level 3 packed unaligned dcl 4-12 ref 344 ilng 21 000504 automatic fixed bin(17,0) level 2 dcl 152 set ref 330* index builtin function dcl 113 ref 224 info_relp 2(18) based fixed bin(18,0) array level 3 packed unsigned unaligned dcl 3-90 set ref 553 553* interpret_link_$tptr 000026 constant entry external dcl 56 ref 504 interpret_link_info based structure level 1 dcl 2-5 ioa_$rs 000030 constant entry external dcl 58 ref 230 248 253 258 264 273 280 286 292 318 326 330 359 538 543 549 553 560 565 ioa_$rsnnl 000032 constant entry external dcl 58 ref 440 458 515 j 000102 automatic fixed bin(17,0) dcl 70 set ref 402* 403 404 405 406 411 414 415 419 420* 481* 482* 486* 498* 498 499 503 504 504 507 510 510 510 510 510 515 517 520 521 525 526 552* 553 553 553* junk 000100 automatic fixed bin(17,0) dcl 70 set ref 440* 458* l1 000105 automatic fixed bin(17,0) dcl 70 set ref 230* 248* 253* 258* 264* 273* 280* 286* 292* 318* 326* 330* 351* 359* 379* 387* 445* 460* 538* 543* 549* 553* 560* 565* 579 579 581 length builtin function dcl 113 in procedure "form_link_info_" ref 315 351 379 387 445 460 length 45(18) 000504 automatic bit(18) level 3 in structure "oi" packed unaligned dcl 152 in procedure "form_link_info_" set ref 252 length 44(18) 000504 automatic bit(18) level 3 in structure "oi" packed unaligned dcl 152 in procedure "form_link_info_" set ref 229 lg_sw 6(04) based bit(1) level 3 in structure "form_link_info_args" packed unaligned dcl 1-4 in procedure "form_link_info_" set ref 168* 237 lg_sw 5(04) based bit(1) level 2 in structure "args" packed unaligned dcl 136 in procedure "form_link_info_" ref 168 link_address 1 based char(12) array level 2 dcl 131 set ref 515* 543* link_end 000430 automatic fixed bin(18,0) dcl 96 set ref 477* 479* 481 493 link_info 4 based structure array level 2 dcl 131 set ref 504 504 542 link_offset 000106 automatic fixed bin(17,0) dcl 70 set ref 204* 481 493* 493* 495 515* linkage_header based structure level 1 dcl 3-50 linkp 6 000504 automatic pointer level 2 dcl 152 set ref 204 326 477 479 482 495 499 547 551 551 links_in_text 24(07) 000504 automatic bit(1) level 3 packed unaligned dcl 152 set ref 313 list_bc 4 based fixed bin(17,0) level 2 in structure "args" dcl 136 in procedure "form_link_info_" set ref 161 570* list_bc 1 based fixed bin(17,0) level 2 in structure "form_link_info_args" dcl 1-4 in procedure "form_link_info_" set ref 161* 174 568* list_ptr 2 based pointer level 2 in structure "form_link_info_args" dcl 1-4 in procedure "form_link_info_" set ref 162* 173 list_ptr 2 based pointer level 2 in structure "args" dcl 136 in procedure "form_link_info_" ref 162 listing based char(131072) unaligned dcl 146 set ref 579* 590* listp 000132 automatic pointer dcl 78 set ref 173* 579 590 lk_sw 5(03) based bit(1) level 2 in structure "args" packed unaligned dcl 136 in procedure "form_link_info_" ref 167 lk_sw 6(03) based bit(1) level 3 in structure "form_link_info_args" packed unaligned dcl 1-4 in procedure "form_link_info_" set ref 167* 206 470 llng 20 000504 automatic fixed bin(17,0) level 2 dcl 152 set ref 330* 477 ln_sw 6(01) based bit(1) level 3 in structure "form_link_info_args" packed unaligned dcl 1-4 in procedure "form_link_info_" set ref 165* 323 ln_sw 5(01) based bit(1) level 2 in structure "args" packed unaligned dcl 136 in procedure "form_link_info_" ref 165 lng 000103 automatic fixed bin(17,0) dcl 70 set ref 179* 229* 230 230 252* 253 253 269* 273 273 315* 316 316 lp 000130 automatic pointer dcl 78 set ref 542* lslng 000104 automatic fixed bin(17,0) dcl 70 set ref 174* 568 570 579 581* 581 590 591* 591 lsort based structure array level 1 dcl 131 map 2 based structure array level 2 dcl 6-3 mbz2 1(18) based bit(12) level 2 packed unaligned dcl 3-28 ref 483 496 modifier 121 based char(4) array level 3 dcl 131 set ref 510 543* n 000205 automatic fixed bin(17,0) dcl 82 set ref 267* 268 269 270* n_traps 1 based fixed bin(17,0) level 2 dcl 3-90 ref 552 new_defblock 000212 automatic fixed bin(1,0) dcl 87 set ref 364* newline constant char(1) initial unaligned dcl 119 ref 225 590 next_def 000434 automatic pointer level 2 dcl 99 set ref 363* 367* 374 383* 390* 427* 463* null builtin function dcl 113 ref 177 208 571 number 1 based fixed bin(17,0) level 2 dcl 6-3 ref 267 obj_ptr 4 based pointer level 2 in structure "form_link_info_args" dcl 1-4 in procedure "form_link_info_" set ref 163* 172 obj_ptr based pointer level 2 in structure "args" dcl 136 in procedure "form_link_info_" ref 163 object_info based structure level 1 dcl 5-6 object_info_$long 000034 constant entry external dcl 62 ref 191 object_info_version_2 constant fixed bin(17,0) initial dcl 5-60 ref 190 object_link based structure level 1 dcl 3-28 objname 000216 automatic char(32) unaligned dcl 89 set ref 179* 230* 230* objp 000124 automatic pointer dcl 78 set ref 172* 179* 185* 191* 325 362* 363 504* offset 2 based bit(18) array level 4 in structure "source_map" packed unaligned dcl 6-3 in procedure "form_link_info_" ref 268 offset 44 000504 automatic bit(18) level 3 in structure "oi" packed unaligned dcl 152 in procedure "form_link_info_" set ref 227 offset 12 based fixed bin(17,0) array level 2 in structure "sort" dcl 124 in procedure "form_link_info_" set ref 405* 440* offset 45 000504 automatic bit(18) level 3 in structure "oi" packed unaligned dcl 152 in procedure "form_link_info_" set ref 251 offset 7 000434 automatic fixed bin(17,0) level 2 in structure "dd" dcl 99 in procedure "form_link_info_" set ref 405 458* offset21 000110 automatic fixed bin(21,0) dcl 73 set ref 227* 230 230 251* 253 253 268* 273 273 oi 000504 automatic structure level 1 dcl 152 set ref 191 191 old_format 24 000504 automatic bit(1) level 3 packed unaligned dcl 152 set ref 195 215 240 297 orel 000107 automatic fixed bin(18,0) dcl 72 set ref 325* 326* 326 326 326 326 326 p 000120 automatic pointer dcl 78 set ref 482* 483 483 495* 496 496 499 499 504* pathname 2 based structure array level 3 packed unaligned dcl 6-3 pathname_$component 000036 constant entry external dcl 63 ref 230 230 perprocess_static 24(08) 000504 automatic bit(1) level 3 packed unaligned dcl 152 set ref 311 pl1_symbol_block based structure level 1 dcl 8-1 previous 000115 automatic fixed bin(17,0) dcl 76 set ref 410* 414 423* 516* 520 529* procedure 24(03) 000504 automatic bit(1) level 3 packed unaligned dcl 152 set ref 303 rel builtin function dcl 113 ref 243 325 326 326 326 326 326 release_temp_segment_ 000014 constant entry external dcl 48 ref 209 571 relocatable 24(02) 000504 automatic bit(1) level 3 packed unaligned dcl 152 set ref 301 rtrim builtin function dcl 113 ref 351 379 387 445 460 sb based structure level 1 dcl 7-6 sblkp 000140 automatic pointer dcl 80 set ref 242* 243 243 243 section 11 based char(4) array level 2 in structure "sort" dcl 124 in procedure "form_link_info_" set ref 404* 440* section 6 000434 automatic char(4) level 2 in structure "dd" dcl 99 in procedure "form_link_info_" set ref 369 385 404 432 458* segment_name 6 based char(32) array level 3 dcl 131 set ref 491* 499* 507* 510 517 517 543* separate_static 24(06) 000504 automatic bit(1) level 3 packed unaligned dcl 152 set ref 230* 309 severity 000206 automatic fixed bin(17,0) dcl 83 set ref 239* 243* 256 258* size 2(18) based bit(18) array level 4 packed unaligned dcl 6-3 ref 269 slng 22 000504 automatic fixed bin(17,0) level 2 dcl 152 set ref 330* smp 000142 automatic pointer dcl 80 set ref 266* 267 268 269 270 sort based structure array level 1 dcl 124 sortp 000214 automatic pointer dcl 88 set ref 177* 208* 209* 210* 397 398 403 404 405 406 411 411 414 415 417 419 420 424 438 440 440 441 444 448 490 491 499 503 504 504 507 510 510 510 510 510 515 517 517 520 521 523 525 526 530 535 542 543 543 543 543 543 543 546 571 571* source_map 46 000504 automatic fixed bin(17,0) level 2 in structure "oi" dcl 152 in procedure "form_link_info_" set ref 262 266 source_map based structure level 1 dcl 6-3 in procedure "form_link_info_" standard 24(04) 000504 automatic bit(1) level 3 packed unaligned dcl 152 set ref 195 220 305 338 static_boundary 63 000504 automatic fixed bin(17,0) level 2 dcl 152 set ref 290 292* statp 10 000504 automatic pointer level 2 dcl 152 set ref 326 stats 6 based structure level 2 dcl 3-50 string based char(131071) unaligned dcl 147 ref 230 230 253 253 273 273 substr builtin function dcl 113 set ref 222* 223* 224 225* 230 230 253 253 273 273 316 510 579* 579 590* symbp 12 000504 automatic pointer level 2 dcl 152 set ref 230 230 242 242 253 253 266 273 273 326 tag 0(30) based bit(6) level 2 packed unaligned dcl 3-28 ref 483 496 text_boundary 62 000504 automatic fixed bin(17,0) level 2 dcl 152 set ref 284 286* textp 2 000504 automatic pointer level 2 dcl 152 set ref 326 thread based fixed bin(17,0) array level 2 in structure "sort" dcl 124 in procedure "form_link_info_" set ref 397* 414* 415* 417 419* 420* 424 438 448 thread based fixed bin(17,0) array level 2 in structure "lsort" dcl 131 in procedure "form_link_info_" set ref 490* 520* 521* 523 525* 526* 530 535 546 tlng 16 000504 automatic fixed bin(17,0) level 2 dcl 152 set ref 330* total_def_counter 000116 automatic fixed bin(17,0) dcl 77 set ref 341* 346* 346 347 trap 122 based char(48) array level 3 dcl 131 set ref 543* trap_array 2 based structure array level 2 dcl 3-90 unspec builtin function dcl 113 set ref 158* 270* 270 user 000406 automatic char(40) dcl 93 set ref 219* 222* 223* 224 225* 230* userid 34 000504 automatic char(32) level 2 dcl 152 set ref 223 version based fixed bin(17,0) level 2 in structure "form_link_info_args" dcl 1-4 in procedure "form_link_info_" set ref 156 160* 568 version 4 based char(8) array level 3 in structure "lsort" dcl 131 in procedure "form_link_info_" set ref 503* version_number 000504 automatic fixed bin(17,0) level 2 dcl 152 set ref 190* virgin_linkage_header based structure level 1 dcl 3-71 wst 000300 automatic char(256) dcl 91 set ref 230* 248* 253* 258* 264* 273* 280* 286* 292* 318* 326* 330* 350* 351 359* 378* 379 386* 387 444* 445 459* 460 538* 543* 549* 553* 560* 565* 579 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. FAULT_TAG_1 internal static bit(6) initial unaligned dcl 3-100 FAULT_TAG_2 internal static bit(6) initial unaligned dcl 3-101 FAULT_TAG_3 internal static bit(6) initial unaligned dcl 3-102 FR_TRAPS_VERSION_1 internal static fixed bin(17,0) initial dcl 3-99 interpret_link_info_ptr automatic pointer dcl 2-15 linkage_header_flags based structure level 1 dcl 3-63 partial_link based structure level 1 dcl 3-38 NAMES DECLARED BY EXPLICIT CONTEXT. class_3 002371 constant label dcl 369 form_link_info_ 000352 constant entry external dcl 38 merge_defs 002565 constant label dcl 411 ref 425 merge_in 003407 constant label dcl 517 ref 531 print_defs 002662 constant label dcl 438 ref 430 432 print_links 003135 constant label dcl 470 ref 355 367 383 390 449 463 put_list 004072 constant entry internal dcl 576 ref 233 249 254 259 265 274 281 287 293 319 329 332 352 360 380 388 446 461 539 545 550 555 561 566 put_nl 004104 constant entry internal dcl 587 ref 349 353 354 373 381 389 393 447 462 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4316 4360 4117 4326 Length 4760 4117 42 363 177 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME form_link_info_ 540 external procedure is an external procedure. on unit on line 209 82 on unit put_list internal procedure shares stack frame of external procedure form_link_info_. put_nl internal procedure shares stack frame of external procedure form_link_info_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME form_link_info_ 000100 junk form_link_info_ 000101 i form_link_info_ 000102 j form_link_info_ 000103 lng form_link_info_ 000104 lslng form_link_info_ 000105 l1 form_link_info_ 000106 link_offset form_link_info_ 000107 orel form_link_info_ 000110 offset21 form_link_info_ 000111 bitcount form_link_info_ 000112 aligned_bin_date form_link_info_ 000114 counter form_link_info_ 000115 previous form_link_info_ 000116 total_def_counter form_link_info_ 000120 p form_link_info_ 000122 argp form_link_info_ 000124 objp form_link_info_ 000126 dp form_link_info_ 000130 lp form_link_info_ 000132 listp form_link_info_ 000134 first_dp form_link_info_ 000136 arg_ptr form_link_info_ 000140 sblkp form_link_info_ 000142 smp form_link_info_ 000144 attributes form_link_info_ 000205 n form_link_info_ 000206 severity form_link_info_ 000207 alm_or_bcpl form_link_info_ 000210 first_link form_link_info_ 000211 get_out form_link_info_ 000212 new_defblock form_link_info_ 000214 sortp form_link_info_ 000216 objname form_link_info_ 000226 dirname form_link_info_ 000300 wst form_link_info_ 000400 date form_link_info_ 000406 user form_link_info_ 000420 address form_link_info_ 000423 entry form_link_info_ 000430 link_end form_link_info_ 000432 fr_trap_ptr form_link_info_ 000434 dd form_link_info_ 000456 auto_form_link_info_args form_link_info_ 000504 oi form_link_info_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac enable_op shorten_stack ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. date_time_ decode_definition_ decode_definition_$init get_temp_segment_ hcs_$fs_get_path_name hcs_$status_mins interpret_link_$tptr ioa_$rs ioa_$rsnnl object_info_$long pathname_$component release_temp_segment_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_segment CONSTANTS 000000 aa 111 114 111 040 ILI 000001 aa 061 056 060 040 1.0 000002 aa 524000000003 000003 aa 136 062 057 000 ^2/ 000004 aa 606000000022 000005 aa 524000000033 000006 aa 524000000032 000007 aa 524000000060 000010 aa 524000000404 000011 aa 524000000004 000012 aa 524000000014 000013 aa 524000000005 000014 aa 163 145 147 156 segn 000015 aa 524000000024 000016 aa 524000000044 000017 aa 404000000023 000020 aa 404000000022 000021 aa 524000000114 000022 aa 530000000200 000023 aa 524000000023 000024 aa 524000000013 000025 aa 524000000007 000026 aa 524000000016 000027 aa 524000000015 000030 aa 524000000010 000031 aa 524000000021 000032 aa 516000000001 000033 aa 524000000000 000034 aa 524000000050 000035 aa 524000000302 000036 aa 524000000040 000037 aa 524000000400 000040 aa 524000000113 000041 aa 524000000030 000042 aa 410000000107 000043 aa 524000000017 000044 aa 526000000040 000045 aa 404000000021 000046 aa 526000000250 000047 aa 526000000302 000050 aa 514000000001 000051 aa 404000000043 000052 aa 464000000000 000054 aa 154 151 156 153 link 000055 aa 174 136 157 000 |^o 000056 aa 136 141 174 136 ^a|^ 000057 aa 157 000 000 000 o 000060 aa 163 145 147 156 segn 000061 aa 141 155 145 072 ame: 000062 aa 147 141 164 145 gate 000063 aa 054 040 000 000 , 000064 aa 142 157 165 156 boun 000065 aa 144 054 040 000 d, 000066 aa 123 157 165 162 Sour 000067 aa 143 145 072 000 ce: 000070 aa 160 154 061 151 pl1i 000071 aa 156 146 157 000 nfo 000072 aa 142 143 160 154 bcpl 000073 aa 040 040 040 040 000074 aa 141 154 155 040 alm 000075 aa 040 040 040 040 000076 aa 077777000043 000077 aa 000001000000 000100 aa 143 154 145 141 clea 000101 aa 156 165 160 000 nup 000102 aa 136 062 057 116 ^2/N 000103 aa 157 040 114 151 o Li 000104 aa 156 153 163 056 nks. 000105 aa 105 156 164 162 Entr 000106 aa 171 160 157 151 ypoi 000107 aa 156 164 000 000 nt 004114 aa 040 040 040 040 004115 aa 040 040 040 040 004116 aa 040 040 040 040 000110 aa 163 145 147 156 segn 000111 aa 141 155 145 163 ames 000112 aa 072 000 000 000 : 000113 aa 163 164 141 156 stan 000114 aa 144 141 162 144 dard 000115 aa 054 040 000 000 , 000116 aa 160 162 157 143 proc 000117 aa 145 144 165 162 edur 000120 aa 145 054 040 000 e, 000121 aa 157 154 144 137 old_ 000122 aa 146 157 162 155 form 000123 aa 141 164 054 040 at, 000124 aa 040 040 040 136 ^ 000125 aa 062 066 141 040 26a 000126 aa 040 136 141 000 ^a 000127 aa 136 061 062 141 ^12a 000130 aa 136 141 136 141 ^a^a 000131 aa 136 141 136 141 ^a^a 000132 aa 136 141 000 000 ^a 000133 aa 136 062 057 136 ^2/^ 000134 aa 144 040 114 151 d Li 000135 aa 156 153 163 072 nks: 000136 aa 136 057 000 000 ^/ 000137 aa 052 052 052 151 ***i 000140 aa 156 166 141 154 nval 000141 aa 151 144 040 154 id l 000142 aa 151 156 153 000 ink 000143 aa 101 164 164 162 Attr 000144 aa 151 142 165 164 ibut 000145 aa 145 163 072 136 es:^ 000146 aa 055 136 141 000 -^a 000147 aa 154 151 156 153 link 000150 aa 163 137 151 156 s_in 000151 aa 137 164 145 170 _tex 000152 aa 164 054 040 000 t, 000153 aa 162 145 154 157 relo 000154 aa 143 141 164 141 cata 000155 aa 142 154 145 054 ble, 000156 aa 040 000 000 000 000157 aa 105 156 164 162 Entr 000160 aa 171 040 102 157 y Bo 000161 aa 165 156 144 136 und^ 000162 aa 055 136 144 000 -^d 000163 aa 123 145 166 145 Seve 000164 aa 162 151 164 171 rity 000165 aa 072 136 062 055 :^2- 000166 aa 136 144 000 000 ^d 000167 aa 103 157 155 155 Comm 000170 aa 145 156 164 072 ent: 000171 aa 136 062 055 136 ^2-^ 000172 aa 141 000 000 000 a 000173 aa 146 157 162 155 form 000174 aa 137 154 151 156 _lin 000175 aa 153 137 151 156 k_in 000176 aa 146 157 137 000 fo_ 000177 aa 136 062 057 136 ^2/^ 000200 aa 144 040 104 145 d De 000201 aa 146 151 156 151 fini 000202 aa 164 151 157 156 tion 000203 aa 163 072 136 057 s:^/ 000204 aa 160 145 162 160 perp 000205 aa 162 157 143 145 roce 000206 aa 163 163 137 163 ss_s 000207 aa 164 141 164 151 tati 000210 aa 143 054 040 000 c, 000211 aa 163 145 160 141 sepa 000212 aa 162 141 164 145 rate 000213 aa 137 163 164 141 _sta 000214 aa 164 151 143 054 tic, 000215 aa 040 000 000 000 000216 aa 123 164 141 164 Stat 000217 aa 151 143 040 102 ic B 000220 aa 157 165 156 144 ound 000221 aa 141 162 171 136 ary^ 000222 aa 055 136 144 000 -^d 000223 aa 124 145 170 164 Text 000224 aa 040 102 157 165 Bou 000225 aa 156 144 141 162 ndar 000226 aa 171 136 055 136 y^-^ 000227 aa 144 000 000 000 d 000230 aa 136 057 124 162 ^/Tr 000231 aa 141 156 163 154 ansl 000232 aa 141 164 157 162 ator 000233 aa 072 136 055 136 :^-^ 000234 aa 141 000 000 000 a 000235 aa 143 141 154 154 call 000236 aa 040 136 157 054 ^o, 000237 aa 040 136 133 156 ^[n 000240 aa 157 040 141 162 o ar 000241 aa 147 136 073 141 g^;a 000242 aa 162 147 040 136 rg ^ 000243 aa 157 136 135 000 o^] 000244 aa 136 062 057 106 ^2/F 000245 aa 151 162 163 164 irst 000246 aa 040 162 145 146 ref 000247 aa 145 162 145 156 eren 000250 aa 143 145 040 164 ce t 000251 aa 162 141 160 072 rap: 000252 aa 136 057 000 000 ^/ 000253 aa 114 145 156 147 Leng 000254 aa 164 150 040 040 th 000255 aa 136 066 157 040 ^6o 000256 aa 040 136 066 157 ^6o 000257 aa 040 040 136 066 ^6 000260 aa 157 040 040 136 o ^ 000261 aa 066 157 040 040 6o 000262 aa 136 066 157 040 ^6o 000263 aa 040 136 066 157 ^6o 000264 aa 103 141 156 156 Cann 000265 aa 157 164 040 144 ot d 000266 aa 151 163 160 154 ispl 000267 aa 141 171 040 144 ay d 000270 aa 145 146 151 156 efin 000271 aa 151 164 151 157 itio 000272 aa 156 163 040 142 ns b 000273 aa 145 143 141 165 ecau 000274 aa 163 145 040 157 se o 000275 aa 146 040 141 040 f a 000276 aa 154 157 157 160 loop 000277 aa 056 000 000 000 . 000300 aa 136 057 136 070 ^/^8 000301 aa 170 117 142 152 xObj 000302 aa 145 143 164 040 ect 000303 aa 040 040 040 124 T 000304 aa 145 170 164 040 ext 000305 aa 040 040 040 104 D 000306 aa 145 146 163 040 efs 000307 aa 040 040 040 114 L 000310 aa 151 156 153 040 ink 000311 aa 040 040 040 123 S 000312 aa 171 155 142 040 ymb 000313 aa 040 123 164 141 Sta 000314 aa 164 151 143 136 tic^ 000315 aa 057 123 164 141 /Sta 000316 aa 162 164 136 071 rt^9 000317 aa 157 136 070 157 o^8o 000320 aa 136 070 157 136 ^8o^ 000321 aa 070 157 136 070 8o^8 000322 aa 157 136 070 157 o^8o 000323 aa 136 062 057 117 ^2/O 000324 aa 142 152 145 143 bjec 000325 aa 164 040 123 145 t Se 000326 aa 147 155 145 156 gmen 000327 aa 164 040 136 141 t ^a 000330 aa 136 057 103 162 ^/Cr 000331 aa 145 141 164 145 eate 000332 aa 144 040 157 156 d on 000333 aa 040 136 141 136 ^a^ 000334 aa 057 136 141 165 /^au 000335 aa 163 151 156 147 sing 000336 aa 040 136 141 136 ^a^ 000337 aa 133 136 057 167 [^/w 000340 aa 151 164 150 040 ith 000341 aa 163 145 160 141 sepa 000342 aa 162 141 164 145 rate 000343 aa 040 163 164 141 sta 000344 aa 164 151 143 136 tic^ 000345 aa 073 136 135 000 ;^] BEGIN PROCEDURE form_link_info_ ENTRY TO form_link_info_ STATEMENT 1 ON LINE 38 form_link_info_: procedure (P_arg_ptr, code); 000346 at 000002000052 000347 ta 000051000000 000350 ta 000346000000 000351 da 000165300000 000352 aa 001040 6270 00 eax7 544 000353 aa 7 00034 3521 20 epp2 pr7|28,* 000354 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000355 aa 000004000000 000356 aa 000000000000 STATEMENT 1 ON LINE 155 arg_ptr, argp = P_arg_ptr; 000357 aa 6 00032 3735 20 epp7 pr6|26,* 000360 aa 7 00002 3715 20 epp5 pr7|2,* P_arg_ptr 000361 aa 5 00000 3715 20 epp5 pr5|0,* P_arg_ptr 000362 aa 6 00136 6515 00 spri5 pr6|94 arg_ptr 000363 aa 6 00122 6515 00 spri5 pr6|82 argp STATEMENT 1 ON LINE 156 if form_link_info_args.version ^= form_link_info_args_version_1 then do; 000364 aa 6 00136 2361 20 ldq pr6|94,* form_link_info_args.version 000365 aa 000001 1160 07 cmpq 1,dl 000366 aa 000045 6000 04 tze 37,ic 000433 STATEMENT 1 ON LINE 158 unspec (auto_form_link_info_args) = "0"b; 000367 aa 000 100 100 400 mlr (),(pr),fill(000) 000370 aa 000000 00 0000 desc9a 0,0 000371 aa 6 00456 00 0100 desc9a pr6|302,64 STATEMENT 1 ON LINE 159 arg_ptr = addr (auto_form_link_info_args); 000372 aa 6 00456 3535 00 epp3 pr6|302 auto_form_link_info_args 000373 aa 6 00136 2535 00 spri3 pr6|94 arg_ptr STATEMENT 1 ON LINE 160 form_link_info_args.version = form_link_info_args_version_1; 000374 aa 000001 2360 07 ldq 1,dl 000375 aa 3 00000 7561 00 stq pr3|0 form_link_info_args.version STATEMENT 1 ON LINE 161 form_link_info_args.list_bc = args.list_bc; 000376 aa 5 00004 2361 00 ldq pr5|4 args.list_bc 000377 aa 3 00001 7561 00 stq pr3|1 form_link_info_args.list_bc STATEMENT 1 ON LINE 162 form_link_info_args.list_ptr = args.list_ptr; 000400 aa 5 00002 3515 20 epp1 pr5|2,* args.list_ptr 000401 aa 3 00002 2515 00 spri1 pr3|2 form_link_info_args.list_ptr STATEMENT 1 ON LINE 163 form_link_info_args.obj_ptr = args.obj_ptr; 000402 aa 5 00000 3515 20 epp1 pr5|0,* args.obj_ptr 000403 aa 3 00004 2515 00 spri1 pr3|4 form_link_info_args.obj_ptr STATEMENT 1 ON LINE 164 form_link_info_args.flags.hd_sw = args.hd_sw; 000404 aa 5 00005 2351 00 lda pr5|5 args.hd_sw 000405 aa 3 00006 6751 00 era pr3|6 form_link_info_args.hd_sw 000406 aa 0 00002 3751 00 ana pr0|2 = 400000000000 000407 aa 3 00006 6551 00 ersa pr3|6 form_link_info_args.hd_sw STATEMENT 1 ON LINE 165 form_link_info_args.flags.ln_sw = args.ln_sw; 000410 aa 5 00005 2351 00 lda pr5|5 args.ln_sw 000411 aa 3 00006 6751 00 era pr3|6 form_link_info_args.ln_sw 000412 aa 200000 3750 03 ana 65536,du 000413 aa 3 00006 6551 00 ersa pr3|6 form_link_info_args.ln_sw STATEMENT 1 ON LINE 166 form_link_info_args.flags.et_sw = args.et_sw; 000414 aa 5 00005 2351 00 lda pr5|5 args.et_sw 000415 aa 3 00006 6751 00 era pr3|6 form_link_info_args.et_sw 000416 aa 100000 3750 03 ana 32768,du 000417 aa 3 00006 6551 00 ersa pr3|6 form_link_info_args.et_sw STATEMENT 1 ON LINE 167 form_link_info_args.flags.lk_sw = args.lk_sw; 000420 aa 5 00005 2351 00 lda pr5|5 args.lk_sw 000421 aa 3 00006 6751 00 era pr3|6 form_link_info_args.lk_sw 000422 aa 040000 3750 03 ana 16384,du 000423 aa 3 00006 6551 00 ersa pr3|6 form_link_info_args.lk_sw STATEMENT 1 ON LINE 168 form_link_info_args.flags.lg_sw = args.lg_sw; 000424 aa 5 00005 2351 00 lda pr5|5 args.lg_sw 000425 aa 3 00006 6751 00 era pr3|6 form_link_info_args.lg_sw 000426 aa 020000 3750 03 ana 8192,du 000427 aa 3 00006 6551 00 ersa pr3|6 form_link_info_args.lg_sw STATEMENT 1 ON LINE 169 form_link_info_args.component_name = ""; 000430 aa 040 100 100 400 mlr (),(pr),fill(040) 000431 aa 000000 00 0000 desc9a 0,0 000432 aa 3 00010 00 0040 desc9a pr3|8,32 form_link_info_args.component_name STATEMENT 1 ON LINE 170 end; STATEMENT 1 ON LINE 172 objp = form_link_info_args.obj_ptr; 000433 aa 6 00136 3535 20 epp3 pr6|94,* arg_ptr 000434 aa 3 00004 3535 20 epp3 pr3|4,* form_link_info_args.obj_ptr 000435 aa 6 00124 2535 00 spri3 pr6|84 objp STATEMENT 1 ON LINE 173 listp = form_link_info_args.list_ptr; 000436 aa 6 00136 3515 20 epp1 pr6|94,* arg_ptr 000437 aa 1 00002 3515 20 epp1 pr1|2,* form_link_info_args.list_ptr 000440 aa 6 00132 2515 00 spri1 pr6|90 listp STATEMENT 1 ON LINE 174 lslng = divide (form_link_info_args.list_bc, 9, 17, 0); 000441 aa 6 00136 3715 20 epp5 pr6|94,* arg_ptr 000442 aa 5 00001 2361 00 ldq pr5|1 form_link_info_args.list_bc 000443 aa 000011 5060 07 div 9,dl 000444 aa 6 00104 7561 00 stq pr6|68 lslng STATEMENT 1 ON LINE 176 code = 0; 000445 aa 7 00004 4501 20 stz pr7|4,* code STATEMENT 1 ON LINE 177 sortp = null; 000446 aa 777430 2370 04 ldaq -232,ic 000076 = 077777000043 000001000000 000447 aa 6 00214 7571 00 staq pr6|140 sortp STATEMENT 1 ON LINE 179 call hcs_$fs_get_path_name (objp, dirname, lng, objname, code); 000450 aa 6 00124 3521 00 epp2 pr6|84 objp 000451 aa 6 00616 2521 00 spri2 pr6|398 000452 aa 6 00226 3521 00 epp2 pr6|150 dirname 000453 aa 6 00620 2521 00 spri2 pr6|400 000454 aa 6 00103 3521 00 epp2 pr6|67 lng 000455 aa 6 00622 2521 00 spri2 pr6|402 000456 aa 6 00216 3521 00 epp2 pr6|142 objname 000457 aa 6 00624 2521 00 spri2 pr6|404 000460 aa 7 00004 3521 20 epp2 pr7|4,* code 000461 aa 6 00626 2521 00 spri2 pr6|406 000462 aa 777370 3520 04 epp2 -264,ic 000052 = 464000000000 000463 aa 6 00630 2521 00 spri2 pr6|408 000464 aa 777362 3520 04 epp2 -270,ic 000046 = 526000000250 000465 aa 6 00632 2521 00 spri2 pr6|410 000466 aa 777357 3520 04 epp2 -273,ic 000045 = 404000000021 000467 aa 6 00634 2521 00 spri2 pr6|412 000470 aa 777354 3520 04 epp2 -276,ic 000044 = 526000000040 000471 aa 6 00636 2521 00 spri2 pr6|414 000472 aa 777357 3520 04 epp2 -273,ic 000051 = 404000000043 000473 aa 6 00640 2521 00 spri2 pr6|416 000474 aa 6 00614 6211 00 eax1 pr6|396 000475 aa 024000 4310 07 fld 10240,dl 000476 la 4 00022 3521 20 epp2 pr4|18,* hcs_$fs_get_path_name 000477 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 180 if code ^= 0 then return; 000500 aa 6 00032 3735 20 epp7 pr6|26,* 000501 aa 7 00004 2361 20 ldq pr7|4,* code 000502 aa 0 00631 6011 00 tnz pr0|409 return_mac STATEMENT 1 ON LINE 182 if form_link_info_args.flags.bc_sw then bitcount = form_link_info_args.bit_count; 000503 aa 6 00136 3715 20 epp5 pr6|94,* arg_ptr 000504 aa 5 00006 2351 00 lda pr5|6 form_link_info_args.bc_sw 000505 aa 010000 3150 03 cana 4096,du 000506 aa 000004 6000 04 tze 4,ic 000512 000507 aa 5 00007 2361 00 ldq pr5|7 form_link_info_args.bit_count 000510 aa 6 00111 7561 00 stq pr6|73 bitcount 000511 aa 000021 7100 04 tra 17,ic 000532 STATEMENT 1 ON LINE 184 else do; STATEMENT 1 ON LINE 185 call hcs_$status_mins (objp, i, bitcount, code); 000512 aa 6 00124 3521 00 epp2 pr6|84 objp 000513 aa 6 00616 2521 00 spri2 pr6|398 000514 aa 6 00101 3521 00 epp2 pr6|65 i 000515 aa 6 00620 2521 00 spri2 pr6|400 000516 aa 6 00111 3521 00 epp2 pr6|73 bitcount 000517 aa 6 00622 2521 00 spri2 pr6|402 000520 aa 7 00004 3521 20 epp2 pr7|4,* code 000521 aa 6 00624 2521 00 spri2 pr6|404 000522 aa 6 00614 6211 00 eax1 pr6|396 000523 aa 020000 4310 07 fld 8192,dl 000524 aa 6 00044 3701 20 epp4 pr6|36,* 000525 la 4 00024 3521 20 epp2 pr4|20,* hcs_$status_mins 000526 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 186 if code ^= 0 then return; 000527 aa 6 00032 3735 20 epp7 pr6|26,* 000530 aa 7 00004 2361 20 ldq pr7|4,* code 000531 aa 0 00631 6011 00 tnz pr0|409 return_mac STATEMENT 1 ON LINE 188 end; STATEMENT 1 ON LINE 190 oi.version_number = object_info_version_2; 000532 aa 000002 2360 07 ldq 2,dl 000533 aa 6 00504 7561 00 stq pr6|324 oi.version_number STATEMENT 1 ON LINE 191 call object_info_$long (objp, bitcount, addr (oi), code); 000534 aa 6 00504 3715 00 epp5 pr6|324 oi 000535 aa 6 00612 6515 00 spri5 pr6|394 000536 aa 6 00124 3521 00 epp2 pr6|84 objp 000537 aa 6 00616 2521 00 spri2 pr6|398 000540 aa 6 00111 3521 00 epp2 pr6|73 bitcount 000541 aa 6 00620 2521 00 spri2 pr6|400 000542 aa 6 00612 3521 00 epp2 pr6|394 000543 aa 6 00622 2521 00 spri2 pr6|402 000544 aa 7 00004 3521 20 epp2 pr7|4,* code 000545 aa 6 00624 2521 00 spri2 pr6|404 000546 aa 6 00614 6211 00 eax1 pr6|396 000547 aa 020000 4310 07 fld 8192,dl 000550 aa 6 00044 3701 20 epp4 pr6|36,* 000551 la 4 00034 3521 20 epp2 pr4|28,* object_info_$long 000552 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 192 if code ^= 0 then return; 000553 aa 6 00032 3735 20 epp7 pr6|26,* 000554 aa 7 00004 2361 20 ldq pr7|4,* code 000555 aa 0 00631 6011 00 tnz pr0|409 return_mac STATEMENT 1 ON LINE 195 if ^oi.format.standard then if ^oi.format.old_format then do; 000556 aa 6 00530 2351 00 lda pr6|344 oi.standard 000557 aa 020000 3150 03 cana 8192,du 000560 aa 000010 6010 04 tnz 8,ic 000570 000561 aa 6 00530 2351 00 lda pr6|344 oi.old_format 000562 aa 400000 3150 03 cana 131072,du 000563 aa 000005 6010 04 tnz 5,ic 000570 STATEMENT 1 ON LINE 199 code = error_table_$bad_segment; 000564 aa 6 00044 3701 20 epp4 pr6|36,* 000565 la 4 00040 2361 20 ldq pr4|32,* error_table_$bad_segment 000566 aa 7 00004 7561 20 stq pr7|4,* code STATEMENT 1 ON LINE 200 return; 000567 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 202 end; STATEMENT 1 ON LINE 204 link_offset = bin (oi.linkp -> linkage_header.begin_links, 18); 000570 aa 6 00512 3715 20 epp5 pr6|330,* oi.linkp 000571 aa 5 00006 2351 00 lda pr5|6 linkage_header.begin_links 000572 aa 000066 7730 00 lrl 54 000573 aa 6 00106 7561 00 stq pr6|70 link_offset STATEMENT 1 ON LINE 206 if form_link_info_args.flags.lk_sw | form_link_info_args.flags.et_sw then do; 000574 aa 6 00136 3535 20 epp3 pr6|94,* arg_ptr 000575 aa 3 00006 2351 00 lda pr3|6 form_link_info_args.et_sw 000576 aa 140000 3150 03 cana 49152,du 000577 aa 000100 6000 04 tze 64,ic 000677 STATEMENT 1 ON LINE 208 sortp = null; 000600 aa 777276 2370 04 ldaq -322,ic 000076 = 077777000043 000001000000 000601 aa 6 00214 7571 00 staq pr6|140 sortp STATEMENT 1 ON LINE 209 on cleanup call release_temp_segment_ ("form_link_info_", sortp, code); 000602 aa 000007 7260 07 lxl6 7,dl 000603 aa 777275 3520 04 epp2 -323,ic 000100 = 143154145141 000604 aa 0 00717 7001 00 tsx0 pr0|463 enable_op 000605 aa 000004 7100 04 tra 4,ic 000611 000606 aa 000476000000 000607 aa 000040 7100 04 tra 32,ic 000647 BEGIN CONDITION cleanup.1 ENTRY TO cleanup.1 STATEMENT 1 ON LINE 209 on cleanup call release_temp_segment_ ("form_link_info_", sortp, code); 000610 da 000173200000 000611 aa 000140 6270 00 eax7 96 000612 aa 7 00034 3521 20 epp2 pr7|28,* 000613 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000614 aa 000000000000 000615 aa 000000000000 000616 aa 777355 2350 04 lda -275,ic 000173 = 146157162155 000617 aa 777355 2360 04 ldq -275,ic 000174 = 137154151156 000620 aa 6 00100 7571 00 staq pr6|64 000621 aa 777354 2350 04 lda -276,ic 000175 = 153137151156 000622 aa 777354 2360 04 ldq -276,ic 000176 = 146157137000 000623 aa 6 00102 7571 00 staq pr6|66 000624 aa 6 00100 3521 00 epp2 pr6|64 000625 aa 6 00106 2521 00 spri2 pr6|70 000626 aa 6 00040 3735 20 epp7 pr6|32,* 000627 aa 7 00214 3521 00 epp2 pr7|140 sortp 000630 aa 6 00110 2521 00 spri2 pr6|72 000631 aa 7 00032 3715 20 epp5 pr7|26,* 000632 aa 5 00004 3521 20 epp2 pr5|4,* code 000633 aa 6 00112 2521 00 spri2 pr6|74 000634 aa 777207 3520 04 epp2 -377,ic 000043 = 524000000017 000635 aa 6 00114 2521 00 spri2 pr6|76 000636 aa 777214 3520 04 epp2 -372,ic 000052 = 464000000000 000637 aa 6 00116 2521 00 spri2 pr6|78 000640 aa 777211 3520 04 epp2 -375,ic 000051 = 404000000043 000641 aa 6 00120 2521 00 spri2 pr6|80 000642 aa 6 00104 6211 00 eax1 pr6|68 000643 aa 014000 4310 07 fld 6144,dl 000644 la 4 00014 3521 20 epp2 pr4|12,* release_temp_segment_ 000645 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 000646 aa 0 00631 7101 00 tra pr0|409 return_mac END CONDITION cleanup.1 STATEMENT 1 ON LINE 210 call get_temp_segment_ ("form_link_info_", sortp, code); 000647 aa 777324 2350 04 lda -300,ic 000173 = 146157162155 000650 aa 777324 2360 04 ldq -300,ic 000174 = 137154151156 000651 aa 6 00614 7571 00 staq pr6|396 000652 aa 777323 2350 04 lda -301,ic 000175 = 153137151156 000653 aa 777323 2360 04 ldq -301,ic 000176 = 146157137000 000654 aa 6 00616 7571 00 staq pr6|398 000655 aa 6 00614 3521 00 epp2 pr6|396 000656 aa 6 00644 2521 00 spri2 pr6|420 000657 aa 6 00214 3521 00 epp2 pr6|140 sortp 000660 aa 6 00646 2521 00 spri2 pr6|422 000661 aa 6 00032 3735 20 epp7 pr6|26,* 000662 aa 7 00004 3521 20 epp2 pr7|4,* code 000663 aa 6 00650 2521 00 spri2 pr6|424 000664 aa 777157 3520 04 epp2 -401,ic 000043 = 524000000017 000665 aa 6 00652 2521 00 spri2 pr6|426 000666 aa 777164 3520 04 epp2 -396,ic 000052 = 464000000000 000667 aa 6 00654 2521 00 spri2 pr6|428 000670 aa 777161 3520 04 epp2 -399,ic 000051 = 404000000043 000671 aa 6 00656 2521 00 spri2 pr6|430 000672 aa 6 00642 6211 00 eax1 pr6|418 000673 aa 014000 4310 07 fld 6144,dl 000674 aa 6 00044 3701 20 epp4 pr6|36,* 000675 la 4 00012 3521 20 epp2 pr4|10,* get_temp_segment_ 000676 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 211 end; STATEMENT 1 ON LINE 213 if form_link_info_args.flags.hd_sw then do; 000677 aa 6 00136 3735 20 epp7 pr6|94,* arg_ptr 000700 aa 7 00006 2351 00 lda pr7|6 form_link_info_args.hd_sw 000701 aa 400000 3150 03 cana 131072,du 000702 aa 001136 6000 04 tze 606,ic 002040 STATEMENT 1 ON LINE 215 if oi.format.old_format & ((oi.compiler = "alm ") | (oi.compiler = "bcpl ")) then alm_or_bcpl = 1; 000703 aa 6 00530 2351 00 lda pr6|344 oi.old_format 000704 aa 400000 3150 03 cana 131072,du 000705 aa 000011 6000 04 tze 9,ic 000716 000706 aa 6 00534 2371 00 ldaq pr6|348 oi.compiler 000707 aa 777165 1170 04 cmpaq -395,ic 000074 = 141154155040 040040040040 000710 aa 000003 6000 04 tze 3,ic 000713 000711 aa 777161 1170 04 cmpaq -399,ic 000072 = 142143160154 040040040040 000712 aa 000004 6010 04 tnz 4,ic 000716 000713 aa 000001 2360 07 ldq 1,dl 000714 aa 6 00207 7561 00 stq pr6|135 alm_or_bcpl 000715 aa 000002 7100 04 tra 2,ic 000717 STATEMENT 1 ON LINE 217 else alm_or_bcpl = 0; 000716 aa 6 00207 4501 00 stz pr6|135 alm_or_bcpl STATEMENT 1 ON LINE 218 call date_time_ (oi.compile_time, date); 000717 aa 6 00536 3521 00 epp2 pr6|350 oi.compile_time 000720 aa 6 00644 2521 00 spri2 pr6|420 000721 aa 6 00400 3521 00 epp2 pr6|256 date 000722 aa 6 00646 2521 00 spri2 pr6|422 000723 aa 777117 3520 04 epp2 -433,ic 000042 = 410000000107 000724 aa 6 00650 2521 00 spri2 pr6|424 000725 aa 777114 3520 04 epp2 -436,ic 000041 = 524000000030 000726 aa 6 00652 2521 00 spri2 pr6|426 000727 aa 6 00642 6211 00 eax1 pr6|418 000730 aa 010000 4310 07 fld 4096,dl 000731 aa 6 00044 3701 20 epp4 pr6|36,* 000732 la 4 00010 3521 20 epp2 pr4|8,* date_time_ 000733 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 219 user = " "; 000734 aa 040 100 100 400 mlr (),(pr),fill(040) 000735 aa 000000 00 0000 desc9a 0,0 000736 aa 6 00406 00 0050 desc9a pr6|262,40 user STATEMENT 1 ON LINE 220 if oi.format.standard then do; 000737 aa 6 00530 2351 00 lda pr6|344 oi.standard 000740 aa 020000 3150 03 cana 8192,du 000741 aa 000022 6000 04 tze 18,ic 000763 STATEMENT 1 ON LINE 222 substr (user, 1, 2) = "by"; 000742 aa 142171 2350 03 lda 50297,du 000743 aa 6 00406 5511 60 stba pr6|262,60 user STATEMENT 1 ON LINE 223 substr (user, 4, 32) = oi.userid; 000744 aa 040 100 100 500 mlr (pr),(pr),fill(040) 000745 aa 6 00540 00 0040 desc9a pr6|352,32 oi.userid 000746 aa 6 00406 60 0040 desc9a pr6|262(3),32 user STATEMENT 1 ON LINE 224 i = index (substr (user, 4, 34), " ") + 3; 000747 aa 000 003 124 500 scm (pr),(du),mask(000) 000750 aa 6 00406 60 0042 desc9a pr6|262(3),34 user 000751 aa 040000 00 0001 desc9a 16384,1 000752 aa 6 00056 0001 00 arg pr6|46 000753 aa 6 00056 2361 00 ldq pr6|46 000754 aa 000002 6070 04 ttf 2,ic 000756 000755 aa 000001 3360 07 lcq 1,dl 000756 aa 000004 0760 07 adq 4,dl 000757 aa 6 00101 7561 00 stq pr6|65 i STATEMENT 1 ON LINE 225 substr (user, i, 1) = newline; 000760 aa 012 106 100 400 mlr (),(pr,ql),fill(012) 000761 aa 000000 00 0000 desc9a 0,0 000762 aa 6 00405 60 0001 desc9a pr6|261(3),1 user STATEMENT 1 ON LINE 226 end; STATEMENT 1 ON LINE 227 offset21 = bin (oi.cvers.offset, 18) * 4 + 1 + alm_or_bcpl; 000763 aa 6 00550 2351 00 lda pr6|360 oi.offset 000764 aa 000066 7730 00 lrl 54 000765 aa 000002 7360 00 qls 2 000766 aa 000001 0760 07 adq 1,dl 000767 aa 6 00207 0761 00 adq pr6|135 alm_or_bcpl 000770 aa 6 00110 7561 00 stq pr6|72 offset21 STATEMENT 1 ON LINE 229 lng = bin (oi.cvers.length, 18); 000771 aa 6 00550 2361 00 ldq pr6|360 oi.length 000772 aa 0 00374 3771 00 anaq pr0|252 = 000000000000 000000777777 000773 aa 6 00103 7561 00 stq pr6|67 lng STATEMENT 1 ON LINE 230 call ioa_$rs ("^2/Object Segment ^a^/Created on ^a^/^ausing ^a^[^/with separate static^;^]", wst, l1, pathname_$component (dirname, objname, (form_link_info_args.component_name)), date, user, substr (oi.symbp -> string, offset21, lng), oi.format.separate_static); 000774 aa 524000 2760 03 orq 174080,du 000775 aa 6 00660 7561 00 stq pr6|432 000776 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000777 aa 777325 00 0114 desc9a -299,76 000323 = 136062057117 001000 aa 6 00614 00 0114 desc9a pr6|396,76 001001 aa 6 00136 3735 20 epp7 pr6|94,* arg_ptr 001002 aa 000 100 100 500 mlr (pr),(pr),fill(000) 001003 aa 7 00010 00 0040 desc9a pr7|8,32 form_link_info_args.component_name 001004 aa 6 00642 00 0040 desc9a pr6|418,32 001005 aa 6 00226 3521 00 epp2 pr6|150 dirname 001006 aa 6 00746 2521 00 spri2 pr6|486 001007 aa 6 00216 3521 00 epp2 pr6|142 objname 001010 aa 6 00750 2521 00 spri2 pr6|488 001011 aa 6 00642 3521 00 epp2 pr6|418 001012 aa 6 00752 2521 00 spri2 pr6|490 001013 aa 6 00662 3521 00 epp2 pr6|434 001014 aa 6 00754 2521 00 spri2 pr6|492 001015 aa 777031 3520 04 epp2 -487,ic 000046 = 526000000250 001016 aa 6 00756 2521 00 spri2 pr6|494 001017 aa 777025 3520 04 epp2 -491,ic 000044 = 526000000040 001020 aa 6 00760 2521 00 spri2 pr6|496 001021 aa 777015 3520 04 epp2 -499,ic 000036 = 524000000040 001022 aa 6 00762 2521 00 spri2 pr6|498 001023 aa 777024 3520 04 epp2 -492,ic 000047 = 526000000302 001024 aa 6 00764 2521 00 spri2 pr6|500 001025 aa 6 00744 6211 00 eax1 pr6|484 001026 aa 020000 4310 07 fld 8192,dl 001027 aa 6 00044 3701 20 epp4 pr6|36,* 001030 la 4 00036 3521 20 epp2 pr4|30,* pathname_$component 001031 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 001032 aa 6 00103 2361 00 ldq pr6|67 lng 001033 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 001034 aa 6 01004 2521 00 spri2 pr6|516 001035 aa 6 00110 2351 00 lda pr6|72 offset21 001036 aa 6 00516 3735 20 epp7 pr6|334,* oi.symbp 001037 aa 040 140 100 545 mlr (pr,rl,al),(pr,rl),fill(040) 001040 aa 7 77777 60 0006 desc9a pr7|-1(3),ql string 001041 aa 2 00000 00 0006 desc9a pr2|0,ql 001042 aa 6 00614 3521 00 epp2 pr6|396 001043 aa 6 00770 2521 00 spri2 pr6|504 001044 aa 6 00300 3521 00 epp2 pr6|192 wst 001045 aa 6 00772 2521 00 spri2 pr6|506 001046 aa 6 00105 3521 00 epp2 pr6|69 l1 001047 aa 6 00774 2521 00 spri2 pr6|508 001050 aa 6 00662 3521 00 epp2 pr6|434 001051 aa 6 00776 2521 00 spri2 pr6|510 001052 aa 6 00400 3521 00 epp2 pr6|256 date 001053 aa 6 01000 2521 00 spri2 pr6|512 001054 aa 6 00406 3521 00 epp2 pr6|262 user 001055 aa 6 01002 2521 00 spri2 pr6|514 001056 aa 000006 7270 07 lxl7 6,dl 001057 aa 6 00530 3521 00 epp2 pr6|344 oi.separate_static 001060 aa 2 00000 5035 17 abd pr2|0,7 001061 aa 6 01006 2521 00 spri2 pr6|518 001062 aa 776756 3520 04 epp2 -530,ic 000040 = 524000000113 001063 aa 6 01010 2521 00 spri2 pr6|520 001064 aa 776753 3520 04 epp2 -533,ic 000037 = 524000000400 001065 aa 6 01012 2521 00 spri2 pr6|522 001066 aa 776757 3520 04 epp2 -529,ic 000045 = 404000000021 001067 aa 6 01014 2521 00 spri2 pr6|524 001070 aa 776745 3520 04 epp2 -539,ic 000035 = 524000000302 001071 aa 6 01016 2521 00 spri2 pr6|526 001072 aa 776747 3520 04 epp2 -537,ic 000041 = 524000000030 001073 aa 6 01020 2521 00 spri2 pr6|528 001074 aa 776740 3520 04 epp2 -544,ic 000034 = 524000000050 001075 aa 6 01022 2521 00 spri2 pr6|530 001076 aa 6 00660 3521 00 epp2 pr6|432 001077 aa 6 01024 2521 00 spri2 pr6|532 001100 aa 776732 3520 04 epp2 -550,ic 000032 = 516000000001 001101 aa 6 01026 2521 00 spri2 pr6|534 001102 aa 6 00766 6211 00 eax1 pr6|502 001103 aa 040000 4310 07 fld 16384,dl 001104 aa 6 00044 3701 20 epp4 pr6|36,* 001105 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 001106 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 233 call put_list; 001107 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001110 aa 002762 6700 04 tsp4 1522,ic 004072 STATEMENT 1 ON LINE 237 if form_link_info_args.flags.lg_sw then do; 001111 aa 6 00136 3735 20 epp7 pr6|94,* arg_ptr 001112 aa 7 00006 2351 00 lda pr7|6 form_link_info_args.lg_sw 001113 aa 020000 3150 03 cana 8192,du 001114 aa 000724 6000 04 tze 468,ic 002040 STATEMENT 1 ON LINE 239 severity = 0; 001115 aa 6 00206 4501 00 stz pr6|134 severity STATEMENT 1 ON LINE 240 if ^oi.format.old_format then do; 001116 aa 6 00530 2351 00 lda pr6|344 oi.old_format 001117 aa 400000 3150 03 cana 131072,du 001120 aa 000021 6010 04 tnz 17,ic 001141 STATEMENT 1 ON LINE 242 sblkp = addrel (oi.symbp, oi.symbp -> sb.area_ptr); 001121 aa 6 00516 3715 20 epp5 pr6|334,* oi.symbp 001122 aa 5 00016 2351 00 lda pr5|14 sb.area_ptr 001123 aa 000022 7350 00 als 18 001124 aa 5 00000 3521 01 epp2 pr5|0,au 001125 aa 000000 0520 03 adwp2 0,du 001126 aa 6 00140 2521 00 spri2 pr6|96 sblkp STATEMENT 1 ON LINE 243 if rel (sblkp) then if sblkp -> pl1_symbol_block.identifier = "pl1info" then severity = sblkp -> pl1_symbol_block.greatest_severity; 001127 aa 2 00000 6351 00 eaa pr2|0 sblkp 001130 aa 000011 6000 04 tze 9,ic 001141 001131 aa 776737 2370 04 ldaq -545,ic 000070 = 160154061151 156146157000 001132 aa 0 00456 2771 00 oraq pr0|302 = 000000000000 000000000040 001133 aa 2 00001 1151 00 cmpa pr2|1 pl1_symbol_block.identifier 001134 aa 000002 6010 04 tnz 2,ic 001136 001135 aa 2 00002 1161 00 cmpq pr2|2 pl1_symbol_block.identifier 001136 aa 000003 6010 04 tnz 3,ic 001141 001137 aa 2 00004 2361 00 ldq pr2|4 pl1_symbol_block.greatest_severity 001140 aa 6 00206 7561 00 stq pr6|134 severity STATEMENT 1 ON LINE 246 end; STATEMENT 1 ON LINE 248 call ioa_$rs ("^/Translator:^-^a", wst, l1, oi.compiler); 001141 aa 777067 2370 04 ldaq -457,ic 000230 = 136057124162 141156163154 001142 aa 6 00642 7571 00 staq pr6|418 001143 aa 777067 2370 04 ldaq -457,ic 000232 = 141164157162 072136055136 001144 aa 6 00644 7571 00 staq pr6|420 001145 aa 141000 2350 03 lda 49664,du 001146 aa 6 00646 7551 00 sta pr6|422 001147 aa 6 00642 3521 00 epp2 pr6|418 001150 aa 6 00746 2521 00 spri2 pr6|486 001151 aa 6 00300 3521 00 epp2 pr6|192 wst 001152 aa 6 00750 2521 00 spri2 pr6|488 001153 aa 6 00105 3521 00 epp2 pr6|69 l1 001154 aa 6 00752 2521 00 spri2 pr6|490 001155 aa 6 00534 3521 00 epp2 pr6|348 oi.compiler 001156 aa 6 00754 2521 00 spri2 pr6|492 001157 aa 776652 3520 04 epp2 -598,ic 000031 = 524000000021 001160 aa 6 00756 2521 00 spri2 pr6|494 001161 aa 776656 3520 04 epp2 -594,ic 000037 = 524000000400 001162 aa 6 00760 2521 00 spri2 pr6|496 001163 aa 776662 3520 04 epp2 -590,ic 000045 = 404000000021 001164 aa 6 00762 2521 00 spri2 pr6|498 001165 aa 776643 3520 04 epp2 -605,ic 000030 = 524000000010 001166 aa 6 00764 2521 00 spri2 pr6|500 001167 aa 6 00744 6211 00 eax1 pr6|484 001170 aa 020000 4310 07 fld 8192,dl 001171 aa 6 00044 3701 20 epp4 pr6|36,* 001172 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 001173 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 249 call put_list; 001174 aa 002676 6700 04 tsp4 1470,ic 004072 STATEMENT 1 ON LINE 251 offset21 = bin (oi.comment.offset, 18) * 4 + 1 + alm_or_bcpl; 001175 aa 6 00551 2351 00 lda pr6|361 oi.offset 001176 aa 000066 7730 00 lrl 54 001177 aa 000002 7360 00 qls 2 001200 aa 000001 0760 07 adq 1,dl 001201 aa 6 00207 0761 00 adq pr6|135 alm_or_bcpl 001202 aa 6 00110 7561 00 stq pr6|72 offset21 STATEMENT 1 ON LINE 252 lng = bin (oi.comment.length, 18); 001203 aa 6 00551 2361 00 ldq pr6|361 oi.length 001204 aa 0 00374 3771 00 anaq pr0|252 = 000000000000 000000777777 001205 aa 6 00103 7561 00 stq pr6|67 lng STATEMENT 1 ON LINE 253 call ioa_$rs ("Comment:^2-^a", wst, l1, substr (oi.symbp -> string, offset21, lng)); 001206 aa 524000 2760 03 orq 174080,du 001207 aa 6 00660 7561 00 stq pr6|432 001210 aa 776757 2350 04 lda -529,ic 000167 = 103157155155 001211 aa 776757 2360 04 ldq -529,ic 000170 = 145156164072 001212 aa 6 00642 7571 00 staq pr6|418 001213 aa 776756 2350 04 lda -530,ic 000171 = 136062055136 001214 aa 141000 2360 03 ldq 49664,du 001215 aa 6 00644 7571 00 staq pr6|420 001216 aa 6 00103 2361 00 ldq pr6|67 lng 001217 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 001220 aa 6 00754 2521 00 spri2 pr6|492 001221 aa 6 00110 2351 00 lda pr6|72 offset21 001222 aa 6 00516 3735 20 epp7 pr6|334,* oi.symbp 001223 aa 040 140 100 545 mlr (pr,rl,al),(pr,rl),fill(040) 001224 aa 7 77777 60 0006 desc9a pr7|-1(3),ql string 001225 aa 2 00000 00 0006 desc9a pr2|0,ql 001226 aa 6 00642 3521 00 epp2 pr6|418 001227 aa 6 00746 2521 00 spri2 pr6|486 001230 aa 6 00300 3521 00 epp2 pr6|192 wst 001231 aa 6 00750 2521 00 spri2 pr6|488 001232 aa 6 00105 3521 00 epp2 pr6|69 l1 001233 aa 6 00752 2521 00 spri2 pr6|490 001234 aa 776573 3520 04 epp2 -645,ic 000027 = 524000000015 001235 aa 6 00756 2521 00 spri2 pr6|494 001236 aa 776601 3520 04 epp2 -639,ic 000037 = 524000000400 001237 aa 6 00760 2521 00 spri2 pr6|496 001240 aa 776605 3520 04 epp2 -635,ic 000045 = 404000000021 001241 aa 6 00762 2521 00 spri2 pr6|498 001242 aa 6 00660 3521 00 epp2 pr6|432 001243 aa 6 00764 2521 00 spri2 pr6|500 001244 aa 6 00744 6211 00 eax1 pr6|484 001245 aa 020000 4310 07 fld 8192,dl 001246 aa 6 00044 3701 20 epp4 pr6|36,* 001247 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 001250 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 254 call put_list; 001251 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001252 aa 002620 6700 04 tsp4 1424,ic 004072 STATEMENT 1 ON LINE 256 if severity > 0 then do; 001253 aa 6 00206 2361 00 ldq pr6|134 severity 001254 aa 000034 6044 04 tmoz 28,ic 001310 STATEMENT 1 ON LINE 258 call ioa_$rs ("Severity:^2-^d", wst, l1, severity); 001255 aa 776706 2350 04 lda -570,ic 000163 = 123145166145 001256 aa 776706 2360 04 ldq -570,ic 000164 = 162151164171 001257 aa 6 00642 7571 00 staq pr6|418 001260 aa 776705 2350 04 lda -571,ic 000165 = 072136062055 001261 aa 136144 2360 03 ldq 48228,du 001262 aa 6 00644 7571 00 staq pr6|420 001263 aa 6 00642 3521 00 epp2 pr6|418 001264 aa 6 00746 2521 00 spri2 pr6|486 001265 aa 6 00300 3521 00 epp2 pr6|192 wst 001266 aa 6 00750 2521 00 spri2 pr6|488 001267 aa 6 00105 3521 00 epp2 pr6|69 l1 001270 aa 6 00752 2521 00 spri2 pr6|490 001271 aa 6 00206 3521 00 epp2 pr6|134 severity 001272 aa 6 00754 2521 00 spri2 pr6|492 001273 aa 776533 3520 04 epp2 -677,ic 000026 = 524000000016 001274 aa 6 00756 2521 00 spri2 pr6|494 001275 aa 776542 3520 04 epp2 -670,ic 000037 = 524000000400 001276 aa 6 00760 2521 00 spri2 pr6|496 001277 aa 776546 3520 04 epp2 -666,ic 000045 = 404000000021 001300 aa 6 00762 2521 00 spri2 pr6|498 001301 aa 6 00764 2521 00 spri2 pr6|500 001302 aa 6 00744 6211 00 eax1 pr6|484 001303 aa 020000 4310 07 fld 8192,dl 001304 aa 6 00044 3701 20 epp4 pr6|36,* 001305 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 001306 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 259 call put_list; 001307 aa 002563 6700 04 tsp4 1395,ic 004072 STATEMENT 1 ON LINE 260 end; STATEMENT 1 ON LINE 262 if oi.source_map ^= 0 then do; 001310 aa 6 00552 2361 00 ldq pr6|362 oi.source_map 001311 aa 000146 6000 04 tze 102,ic 001457 STATEMENT 1 ON LINE 264 call ioa_$rs ("Source:", wst, l1); 001312 aa 776554 2370 04 ldaq -660,ic 000066 = 123157165162 143145072000 001313 aa 6 00612 7571 00 staq pr6|394 001314 aa 6 00612 3521 00 epp2 pr6|394 001315 aa 6 00644 2521 00 spri2 pr6|420 001316 aa 6 00300 3521 00 epp2 pr6|192 wst 001317 aa 6 00646 2521 00 spri2 pr6|422 001320 aa 6 00105 3521 00 epp2 pr6|69 l1 001321 aa 6 00650 2521 00 spri2 pr6|424 001322 aa 776503 3520 04 epp2 -701,ic 000025 = 524000000007 001323 aa 6 00652 2521 00 spri2 pr6|426 001324 aa 776513 3520 04 epp2 -693,ic 000037 = 524000000400 001325 aa 6 00654 2521 00 spri2 pr6|428 001326 aa 776517 3520 04 epp2 -689,ic 000045 = 404000000021 001327 aa 6 00656 2521 00 spri2 pr6|430 001330 aa 6 00642 6211 00 eax1 pr6|418 001331 aa 014000 4310 07 fld 6144,dl 001332 aa 6 00044 3701 20 epp4 pr6|36,* 001333 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 001334 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 265 call put_list; 001335 aa 002535 6700 04 tsp4 1373,ic 004072 STATEMENT 1 ON LINE 266 smp = addrel (oi.symbp, oi.source_map); 001336 aa 6 00552 2361 00 ldq pr6|362 oi.source_map 001337 aa 6 00516 3521 66 epp2 pr6|334,*ql oi.symbp 001340 aa 000000 0520 03 adwp2 0,du 001341 aa 6 00142 2521 00 spri2 pr6|98 smp STATEMENT 1 ON LINE 267 do n = 1 to smp -> source_map.number; 001342 aa 2 00001 2361 00 ldq pr2|1 source_map.number 001343 aa 6 00572 7561 00 stq pr6|378 001344 aa 000001 2360 07 ldq 1,dl 001345 aa 6 00205 7561 00 stq pr6|133 n 001346 aa 6 00205 2361 00 ldq pr6|133 n 001347 aa 6 00572 1161 00 cmpq pr6|378 001350 aa 000107 6054 04 tpnz 71,ic 001457 STATEMENT 1 ON LINE 268 offset21 = bin (smp -> source_map.map (n).pathname.offset, 18) * 4 + 1 + alm_or_bcpl; 001351 aa 000002 7360 00 qls 2 001352 aa 6 00142 3735 20 epp7 pr6|98,* smp 001353 aa 7 77776 2351 06 lda pr7|-2,ql source_map.offset 001354 aa 000000 6270 06 eax7 0,ql 001355 aa 000066 7730 00 lrl 54 001356 aa 000002 7360 00 qls 2 001357 aa 000001 0760 07 adq 1,dl 001360 aa 6 00207 0761 00 adq pr6|135 alm_or_bcpl 001361 aa 6 00110 7561 00 stq pr6|72 offset21 STATEMENT 1 ON LINE 269 lng = bin (smp -> source_map.map (n).pathname.size, 18); 001362 aa 7 77776 2361 17 ldq pr7|-2,7 source_map.size 001363 aa 0 00374 3771 00 anaq pr0|252 = 000000000000 000000777777 001364 aa 6 00103 7561 00 stq pr6|67 lng STATEMENT 1 ON LINE 270 unspec (aligned_bin_date) = unspec (smp -> source_map.map (n).dtm); 001365 aa 7 00000 2351 17 lda pr7|0,7 001366 aa 7 00001 2361 17 ldq pr7|1,7 001367 aa 6 00112 7571 00 staq pr6|74 STATEMENT 1 ON LINE 272 call date_time_ (aligned_bin_date, date); 001370 aa 6 00112 3521 00 epp2 pr6|74 aligned_bin_date 001371 aa 6 00644 2521 00 spri2 pr6|420 001372 aa 6 00400 3521 00 epp2 pr6|256 date 001373 aa 6 00646 2521 00 spri2 pr6|422 001374 aa 776446 3520 04 epp2 -730,ic 000042 = 410000000107 001375 aa 6 00650 2521 00 spri2 pr6|424 001376 aa 776443 3520 04 epp2 -733,ic 000041 = 524000000030 001377 aa 6 00652 2521 00 spri2 pr6|426 001400 aa 6 00642 6211 00 eax1 pr6|418 001401 aa 010000 4310 07 fld 4096,dl 001402 aa 6 00044 3701 20 epp4 pr6|36,* 001403 la 4 00010 3521 20 epp2 pr4|8,* date_time_ 001404 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 273 call ioa_$rs (" ^26a ^a", wst, l1, date, substr (oi.symbp -> string, offset21, lng)); 001405 aa 6 00103 2361 00 ldq pr6|67 lng 001406 aa 524000 2760 03 orq 174080,du 001407 aa 6 00660 7561 00 stq pr6|432 001410 aa 776514 2370 04 ldaq -692,ic 000124 = 040040040136 062066141040 001411 aa 6 00642 7571 00 staq pr6|418 001412 aa 776514 2350 04 lda -692,ic 000126 = 040136141000 001413 aa 6 00644 7551 00 sta pr6|420 001414 aa 6 00103 2361 00 ldq pr6|67 lng 001415 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 001416 aa 6 00626 2521 00 spri2 pr6|406 001417 aa 6 00110 2351 00 lda pr6|72 offset21 001420 aa 6 00516 3735 20 epp7 pr6|334,* oi.symbp 001421 aa 040 140 100 545 mlr (pr,rl,al),(pr,rl),fill(040) 001422 aa 7 77777 60 0006 desc9a pr7|-1(3),ql string 001423 aa 2 00000 00 0006 desc9a pr2|0,ql 001424 aa 6 00642 3521 00 epp2 pr6|418 001425 aa 6 00616 2521 00 spri2 pr6|398 001426 aa 6 00300 3521 00 epp2 pr6|192 wst 001427 aa 6 00620 2521 00 spri2 pr6|400 001430 aa 6 00105 3521 00 epp2 pr6|69 l1 001431 aa 6 00622 2521 00 spri2 pr6|402 001432 aa 6 00400 3521 00 epp2 pr6|256 date 001433 aa 6 00624 2521 00 spri2 pr6|404 001434 aa 776370 3520 04 epp2 -776,ic 000024 = 524000000013 001435 aa 6 00630 2521 00 spri2 pr6|408 001436 aa 776401 3520 04 epp2 -767,ic 000037 = 524000000400 001437 aa 6 00632 2521 00 spri2 pr6|410 001440 aa 776405 3520 04 epp2 -763,ic 000045 = 404000000021 001441 aa 6 00634 2521 00 spri2 pr6|412 001442 aa 776377 3520 04 epp2 -769,ic 000041 = 524000000030 001443 aa 6 00636 2521 00 spri2 pr6|414 001444 aa 6 00660 3521 00 epp2 pr6|432 001445 aa 6 00640 2521 00 spri2 pr6|416 001446 aa 6 00614 6211 00 eax1 pr6|396 001447 aa 024000 4310 07 fld 10240,dl 001450 aa 6 00044 3701 20 epp4 pr6|36,* 001451 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 001452 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 274 call put_list; 001453 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001454 aa 002416 6700 04 tsp4 1294,ic 004072 STATEMENT 1 ON LINE 275 end; 001455 aa 6 00205 0541 00 aos pr6|133 n 001456 aa 777670 7100 04 tra -72,ic 001346 STATEMENT 1 ON LINE 276 end; STATEMENT 1 ON LINE 278 if oi.entry_bound ^= 0 then do; 001457 aa 6 00531 2361 00 ldq pr6|345 oi.entry_bound 001460 aa 000034 6000 04 tze 28,ic 001514 STATEMENT 1 ON LINE 280 call ioa_$rs ("Entry Bound^-^d", wst, l1, oi.entry_bound); 001461 aa 776476 2350 04 lda -706,ic 000157 = 105156164162 001462 aa 776476 2360 04 ldq -706,ic 000160 = 171040102157 001463 aa 6 00642 7571 00 staq pr6|418 001464 aa 776475 2350 04 lda -707,ic 000161 = 165156144136 001465 aa 776475 2360 04 ldq -707,ic 000162 = 055136144000 001466 aa 6 00644 7571 00 staq pr6|420 001467 aa 6 00642 3521 00 epp2 pr6|418 001470 aa 6 00746 2521 00 spri2 pr6|486 001471 aa 6 00300 3521 00 epp2 pr6|192 wst 001472 aa 6 00750 2521 00 spri2 pr6|488 001473 aa 6 00105 3521 00 epp2 pr6|69 l1 001474 aa 6 00752 2521 00 spri2 pr6|490 001475 aa 6 00531 3521 00 epp2 pr6|345 oi.entry_bound 001476 aa 6 00754 2521 00 spri2 pr6|492 001477 aa 776344 3520 04 epp2 -796,ic 000043 = 524000000017 001500 aa 6 00756 2521 00 spri2 pr6|494 001501 aa 776336 3520 04 epp2 -802,ic 000037 = 524000000400 001502 aa 6 00760 2521 00 spri2 pr6|496 001503 aa 776342 3520 04 epp2 -798,ic 000045 = 404000000021 001504 aa 6 00762 2521 00 spri2 pr6|498 001505 aa 6 00764 2521 00 spri2 pr6|500 001506 aa 6 00744 6211 00 eax1 pr6|484 001507 aa 020000 4310 07 fld 8192,dl 001510 aa 6 00044 3701 20 epp4 pr6|36,* 001511 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 001512 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 281 call put_list; 001513 aa 002357 6700 04 tsp4 1263,ic 004072 STATEMENT 1 ON LINE 282 end; STATEMENT 1 ON LINE 284 if oi.text_boundary ^= 2 then do; 001514 aa 6 00566 2361 00 ldq pr6|374 oi.text_boundary 001515 aa 000002 1160 07 cmpq 2,dl 001516 aa 000031 6000 04 tze 25,ic 001547 STATEMENT 1 ON LINE 286 call ioa_$rs ("Text Boundary^-^d", wst, l1, oi.text_boundary); 001517 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001520 aa 776504 00 0024 desc9a -700,20 000223 = 124145170164 001521 aa 6 00642 00 0024 desc9a pr6|418,20 001522 aa 6 00642 3521 00 epp2 pr6|418 001523 aa 6 00746 2521 00 spri2 pr6|486 001524 aa 6 00300 3521 00 epp2 pr6|192 wst 001525 aa 6 00750 2521 00 spri2 pr6|488 001526 aa 6 00105 3521 00 epp2 pr6|69 l1 001527 aa 6 00752 2521 00 spri2 pr6|490 001530 aa 6 00566 3521 00 epp2 pr6|374 oi.text_boundary 001531 aa 6 00754 2521 00 spri2 pr6|492 001532 aa 776277 3520 04 epp2 -833,ic 000031 = 524000000021 001533 aa 6 00756 2521 00 spri2 pr6|494 001534 aa 776303 3520 04 epp2 -829,ic 000037 = 524000000400 001535 aa 6 00760 2521 00 spri2 pr6|496 001536 aa 776307 3520 04 epp2 -825,ic 000045 = 404000000021 001537 aa 6 00762 2521 00 spri2 pr6|498 001540 aa 6 00764 2521 00 spri2 pr6|500 001541 aa 6 00744 6211 00 eax1 pr6|484 001542 aa 020000 4310 07 fld 8192,dl 001543 aa 6 00044 3701 20 epp4 pr6|36,* 001544 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 001545 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 287 call put_list; 001546 aa 002324 6700 04 tsp4 1236,ic 004072 STATEMENT 1 ON LINE 288 end; STATEMENT 1 ON LINE 290 if oi.static_boundary ^= 2 then do; 001547 aa 6 00567 2361 00 ldq pr6|375 oi.static_boundary 001550 aa 000002 1160 07 cmpq 2,dl 001551 aa 000034 6000 04 tze 28,ic 001605 STATEMENT 1 ON LINE 292 call ioa_$rs ("Static Boundary^-^d", wst, l1, oi.static_boundary); 001552 aa 776444 2370 04 ldaq -732,ic 000216 = 123164141164 151143040102 001553 aa 6 00642 7571 00 staq pr6|418 001554 aa 776444 2370 04 ldaq -732,ic 000220 = 157165156144 141162171136 001555 aa 6 00644 7571 00 staq pr6|420 001556 aa 776444 2350 04 lda -732,ic 000222 = 055136144000 001557 aa 6 00646 7551 00 sta pr6|422 001560 aa 6 00642 3521 00 epp2 pr6|418 001561 aa 6 00746 2521 00 spri2 pr6|486 001562 aa 6 00300 3521 00 epp2 pr6|192 wst 001563 aa 6 00750 2521 00 spri2 pr6|488 001564 aa 6 00105 3521 00 epp2 pr6|69 l1 001565 aa 6 00752 2521 00 spri2 pr6|490 001566 aa 6 00567 3521 00 epp2 pr6|375 oi.static_boundary 001567 aa 6 00754 2521 00 spri2 pr6|492 001570 aa 776233 3520 04 epp2 -869,ic 000023 = 524000000023 001571 aa 6 00756 2521 00 spri2 pr6|494 001572 aa 776245 3520 04 epp2 -859,ic 000037 = 524000000400 001573 aa 6 00760 2521 00 spri2 pr6|496 001574 aa 776251 3520 04 epp2 -855,ic 000045 = 404000000021 001575 aa 6 00762 2521 00 spri2 pr6|498 001576 aa 6 00764 2521 00 spri2 pr6|500 001577 aa 6 00744 6211 00 eax1 pr6|484 001600 aa 020000 4310 07 fld 8192,dl 001601 aa 6 00044 3701 20 epp4 pr6|36,* 001602 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 001603 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 293 call put_list; 001604 aa 002266 6700 04 tsp4 1206,ic 004072 STATEMENT 1 ON LINE 294 end; STATEMENT 1 ON LINE 296 attributes = ""; 001605 aa 6 00144 4501 00 stz pr6|100 attributes STATEMENT 1 ON LINE 297 if oi.format.old_format then attributes = attributes || "old_format, "; 001606 aa 6 00530 2351 00 lda pr6|344 oi.old_format 001607 aa 400000 3150 03 cana 131072,du 001610 aa 000013 6000 04 tze 11,ic 001623 001611 aa 000200 2360 07 ldq 128,dl 001612 aa 6 00144 1761 00 sbq pr6|100 attributes 001613 aa 000014 1160 07 cmpq 12,dl 001614 aa 000002 6040 04 tmi 2,ic 001616 001615 aa 000014 2360 07 ldq 12,dl 001616 aa 6 00144 7271 00 lxl7 pr6|100 attributes 001617 aa 6 00144 0561 00 asq pr6|100 attributes 001620 aa 040 157 100 444 mlr (rl,ic),(pr,rl,x7),fill(040) 001621 aa 776301 00 0006 desc9a -831,ql 000121 = 157154144137 001622 aa 6 00145 00 0006 desc9a pr6|101,ql attributes STATEMENT 1 ON LINE 299 if oi.format.bound then attributes = attributes || "bound, "; 001623 aa 6 00530 2351 00 lda pr6|344 oi.bound 001624 aa 200000 3150 03 cana 65536,du 001625 aa 000013 6000 04 tze 11,ic 001640 001626 aa 000200 2360 07 ldq 128,dl 001627 aa 6 00144 1761 00 sbq pr6|100 attributes 001630 aa 000007 1160 07 cmpq 7,dl 001631 aa 000002 6040 04 tmi 2,ic 001633 001632 aa 000007 2360 07 ldq 7,dl 001633 aa 6 00144 7271 00 lxl7 pr6|100 attributes 001634 aa 6 00144 0561 00 asq pr6|100 attributes 001635 aa 040 157 100 444 mlr (rl,ic),(pr,rl,x7),fill(040) 001636 aa 776227 00 0006 desc9a -873,ql 000064 = 142157165156 001637 aa 6 00145 00 0006 desc9a pr6|101,ql attributes STATEMENT 1 ON LINE 301 if oi.format.relocatable then attributes = attributes || "relocatable, "; 001640 aa 6 00530 2351 00 lda pr6|344 oi.relocatable 001641 aa 100000 3150 03 cana 32768,du 001642 aa 000013 6000 04 tze 11,ic 001655 001643 aa 000200 2360 07 ldq 128,dl 001644 aa 6 00144 1761 00 sbq pr6|100 attributes 001645 aa 000015 1160 07 cmpq 13,dl 001646 aa 000002 6040 04 tmi 2,ic 001650 001647 aa 000015 2360 07 ldq 13,dl 001650 aa 6 00144 7271 00 lxl7 pr6|100 attributes 001651 aa 6 00144 0561 00 asq pr6|100 attributes 001652 aa 040 157 100 444 mlr (rl,ic),(pr,rl,x7),fill(040) 001653 aa 776301 00 0006 desc9a -831,ql 000153 = 162145154157 001654 aa 6 00145 00 0006 desc9a pr6|101,ql attributes STATEMENT 1 ON LINE 303 if oi.format.procedure then attributes = attributes || "procedure, "; 001655 aa 6 00530 2351 00 lda pr6|344 oi.procedure 001656 aa 040000 3150 03 cana 16384,du 001657 aa 000013 6000 04 tze 11,ic 001672 001660 aa 000200 2360 07 ldq 128,dl 001661 aa 6 00144 1761 00 sbq pr6|100 attributes 001662 aa 000013 1160 07 cmpq 11,dl 001663 aa 000002 6040 04 tmi 2,ic 001665 001664 aa 000013 2360 07 ldq 11,dl 001665 aa 6 00144 7271 00 lxl7 pr6|100 attributes 001666 aa 6 00144 0561 00 asq pr6|100 attributes 001667 aa 040 157 100 444 mlr (rl,ic),(pr,rl,x7),fill(040) 001670 aa 776227 00 0006 desc9a -873,ql 000116 = 160162157143 001671 aa 6 00145 00 0006 desc9a pr6|101,ql attributes STATEMENT 1 ON LINE 305 if oi.format.standard then attributes = attributes || "standard, "; 001672 aa 6 00530 2351 00 lda pr6|344 oi.standard 001673 aa 020000 3150 03 cana 8192,du 001674 aa 000013 6000 04 tze 11,ic 001707 001675 aa 000200 2360 07 ldq 128,dl 001676 aa 6 00144 1761 00 sbq pr6|100 attributes 001677 aa 000012 1160 07 cmpq 10,dl 001700 aa 000002 6040 04 tmi 2,ic 001702 001701 aa 000012 2360 07 ldq 10,dl 001702 aa 6 00144 7271 00 lxl7 pr6|100 attributes 001703 aa 6 00144 0561 00 asq pr6|100 attributes 001704 aa 040 157 100 444 mlr (rl,ic),(pr,rl,x7),fill(040) 001705 aa 776207 00 0006 desc9a -889,ql 000113 = 163164141156 001706 aa 6 00145 00 0006 desc9a pr6|101,ql attributes STATEMENT 1 ON LINE 307 if oi.format.gate then attributes = attributes || "gate, "; 001707 aa 6 00530 2351 00 lda pr6|344 oi.gate 001710 aa 010000 3150 03 cana 4096,du 001711 aa 000013 6000 04 tze 11,ic 001724 001712 aa 000200 2360 07 ldq 128,dl 001713 aa 6 00144 1761 00 sbq pr6|100 attributes 001714 aa 000006 1160 07 cmpq 6,dl 001715 aa 000002 6040 04 tmi 2,ic 001717 001716 aa 000006 2360 07 ldq 6,dl 001717 aa 6 00144 7271 00 lxl7 pr6|100 attributes 001720 aa 6 00144 0561 00 asq pr6|100 attributes 001721 aa 040 157 100 444 mlr (rl,ic),(pr,rl,x7),fill(040) 001722 aa 776141 00 0006 desc9a -927,ql 000062 = 147141164145 001723 aa 6 00145 00 0006 desc9a pr6|101,ql attributes STATEMENT 1 ON LINE 309 if oi.format.separate_static then attributes = attributes || "separate_static, "; 001724 aa 6 00530 2351 00 lda pr6|344 oi.separate_static 001725 aa 004000 3150 03 cana 2048,du 001726 aa 000013 6000 04 tze 11,ic 001741 001727 aa 000200 2360 07 ldq 128,dl 001730 aa 6 00144 1761 00 sbq pr6|100 attributes 001731 aa 000021 1160 07 cmpq 17,dl 001732 aa 000002 6040 04 tmi 2,ic 001734 001733 aa 000021 2360 07 ldq 17,dl 001734 aa 6 00144 7271 00 lxl7 pr6|100 attributes 001735 aa 6 00144 0561 00 asq pr6|100 attributes 001736 aa 040 157 100 444 mlr (rl,ic),(pr,rl,x7),fill(040) 001737 aa 776253 00 0006 desc9a -853,ql 000211 = 163145160141 001740 aa 6 00145 00 0006 desc9a pr6|101,ql attributes STATEMENT 1 ON LINE 311 if oi.format.perprocess_static then attributes = attributes || "perprocess_static, "; 001741 aa 6 00530 2351 00 lda pr6|344 oi.perprocess_static 001742 aa 001000 3150 03 cana 512,du 001743 aa 000013 6000 04 tze 11,ic 001756 001744 aa 000200 2360 07 ldq 128,dl 001745 aa 6 00144 1761 00 sbq pr6|100 attributes 001746 aa 000023 1160 07 cmpq 19,dl 001747 aa 000002 6040 04 tmi 2,ic 001751 001750 aa 000023 2360 07 ldq 19,dl 001751 aa 6 00144 7271 00 lxl7 pr6|100 attributes 001752 aa 6 00144 0561 00 asq pr6|100 attributes 001753 aa 040 157 100 444 mlr (rl,ic),(pr,rl,x7),fill(040) 001754 aa 776231 00 0006 desc9a -871,ql 000204 = 160145162160 001755 aa 6 00145 00 0006 desc9a pr6|101,ql attributes STATEMENT 1 ON LINE 313 if oi.format.links_in_text then attributes = attributes || "links_in_text, "; 001756 aa 6 00530 2351 00 lda pr6|344 oi.links_in_text 001757 aa 002000 3150 03 cana 1024,du 001760 aa 000013 6000 04 tze 11,ic 001773 001761 aa 000200 2360 07 ldq 128,dl 001762 aa 6 00144 1761 00 sbq pr6|100 attributes 001763 aa 000017 1160 07 cmpq 15,dl 001764 aa 000002 6040 04 tmi 2,ic 001766 001765 aa 000017 2360 07 ldq 15,dl 001766 aa 6 00144 7271 00 lxl7 pr6|100 attributes 001767 aa 6 00144 0561 00 asq pr6|100 attributes 001770 aa 040 157 100 444 mlr (rl,ic),(pr,rl,x7),fill(040) 001771 aa 776157 00 0006 desc9a -913,ql 000147 = 154151156153 001772 aa 6 00145 00 0006 desc9a pr6|101,ql attributes STATEMENT 1 ON LINE 315 lng = length (attributes) - 2; 001773 aa 6 00144 2361 00 ldq pr6|100 attributes 001774 aa 000002 1760 07 sbq 2,dl 001775 aa 6 00103 7561 00 stq pr6|67 lng STATEMENT 1 ON LINE 316 if lng > 1 then attributes = substr (attributes, 1, lng); 001776 aa 000001 1160 07 cmpq 1,dl 001777 aa 000005 6044 04 tmoz 5,ic 002004 002000 aa 000200 1160 07 cmpq 128,dl 002001 aa 000002 6040 04 tmi 2,ic 002003 002002 aa 000200 2360 07 ldq 128,dl 002003 aa 6 00144 7561 00 stq pr6|100 attributes STATEMENT 1 ON LINE 318 call ioa_$rs ("Attributes:^-^a", wst, l1, attributes); 002004 aa 776137 2350 04 lda -929,ic 000143 = 101164164162 002005 aa 776137 2360 04 ldq -929,ic 000144 = 151142165164 002006 aa 6 00642 7571 00 staq pr6|418 002007 aa 776136 2350 04 lda -930,ic 000145 = 145163072136 002010 aa 776136 2360 04 ldq -930,ic 000146 = 055136141000 002011 aa 6 00644 7571 00 staq pr6|420 002012 aa 6 00642 3521 00 epp2 pr6|418 002013 aa 6 00746 2521 00 spri2 pr6|486 002014 aa 6 00300 3521 00 epp2 pr6|192 wst 002015 aa 6 00750 2521 00 spri2 pr6|488 002016 aa 6 00105 3521 00 epp2 pr6|69 l1 002017 aa 6 00752 2521 00 spri2 pr6|490 002020 aa 6 00145 3521 00 epp2 pr6|101 attributes 002021 aa 6 00754 2521 00 spri2 pr6|492 002022 aa 776021 3520 04 epp2 -1007,ic 000043 = 524000000017 002023 aa 6 00756 2521 00 spri2 pr6|494 002024 aa 776013 3520 04 epp2 -1013,ic 000037 = 524000000400 002025 aa 6 00760 2521 00 spri2 pr6|496 002026 aa 776017 3520 04 epp2 -1009,ic 000045 = 404000000021 002027 aa 6 00762 2521 00 spri2 pr6|498 002030 aa 775772 3520 04 epp2 -1030,ic 000022 = 530000000200 002031 aa 6 00764 2521 00 spri2 pr6|500 002032 aa 6 00744 6211 00 eax1 pr6|484 002033 aa 020000 4310 07 fld 8192,dl 002034 aa 6 00044 3701 20 epp4 pr6|36,* 002035 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 002036 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 319 call put_list; 002037 aa 002033 6700 04 tsp4 1051,ic 004072 STATEMENT 1 ON LINE 321 end; STATEMENT 1 ON LINE 322 end; STATEMENT 1 ON LINE 323 if form_link_info_args.flags.ln_sw then do; 002040 aa 6 00136 3735 20 epp7 pr6|94,* arg_ptr 002041 aa 7 00006 2351 00 lda pr7|6 form_link_info_args.ln_sw 002042 aa 200000 3150 03 cana 65536,du 002043 aa 000153 6000 04 tze 107,ic 002216 STATEMENT 1 ON LINE 325 orel = bin (rel (objp), 18); 002044 aa 6 00124 6351 20 eaa pr6|84,* objp 002045 aa 000066 7730 00 lrl 54 002046 aa 6 00107 7561 00 stq pr6|71 orel STATEMENT 1 ON LINE 326 call ioa_$rs ("^/^8xObject Text Defs Link Symb Static^/Start^9o^8o^8o^8o^8o^8o", wst, l1, orel, bin (rel (oi.textp), 18) - orel, bin (rel (oi.defp), 18) - orel, bin (rel (oi.linkp), 18) - orel, bin (rel (oi.symbp), 18) - orel, bin (rel (oi.statp), 18) - orel); 002047 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002050 aa 776231 00 0114 desc9a -871,76 000300 = 136057136070 002051 aa 6 00614 00 0114 desc9a pr6|396,76 002052 aa 6 00506 6351 20 eaa pr6|326,* oi.textp 002053 aa 000066 7730 00 lrl 54 002054 aa 6 00107 1761 00 sbq pr6|71 orel 002055 aa 6 00660 7561 00 stq pr6|432 002056 aa 6 00510 6351 20 eaa pr6|328,* oi.defp 002057 aa 000066 7730 00 lrl 54 002060 aa 6 00107 1761 00 sbq pr6|71 orel 002061 aa 6 00743 7561 00 stq pr6|483 002062 aa 6 00512 6351 20 eaa pr6|330,* oi.linkp 002063 aa 000066 7730 00 lrl 54 002064 aa 6 00107 1761 00 sbq pr6|71 orel 002065 aa 6 00661 7561 00 stq pr6|433 002066 aa 6 00516 6351 20 eaa pr6|334,* oi.symbp 002067 aa 000066 7730 00 lrl 54 002070 aa 6 00107 1761 00 sbq pr6|71 orel 002071 aa 6 01030 7561 00 stq pr6|536 002072 aa 6 00514 6351 20 eaa pr6|332,* oi.statp 002073 aa 000066 7730 00 lrl 54 002074 aa 6 00107 1761 00 sbq pr6|71 orel 002075 aa 6 01031 7561 00 stq pr6|537 002076 aa 6 00614 3521 00 epp2 pr6|396 002077 aa 6 00664 2521 00 spri2 pr6|436 002100 aa 6 00300 3521 00 epp2 pr6|192 wst 002101 aa 6 00666 2521 00 spri2 pr6|438 002102 aa 6 00105 3521 00 epp2 pr6|69 l1 002103 aa 6 00670 2521 00 spri2 pr6|440 002104 aa 6 00107 3521 00 epp2 pr6|71 orel 002105 aa 6 00672 2521 00 spri2 pr6|442 002106 aa 6 00660 3521 00 epp2 pr6|432 002107 aa 6 00674 2521 00 spri2 pr6|444 002110 aa 6 00743 3521 00 epp2 pr6|483 002111 aa 6 00676 2521 00 spri2 pr6|446 002112 aa 6 00661 3521 00 epp2 pr6|433 002113 aa 6 00700 2521 00 spri2 pr6|448 002114 aa 6 01030 3521 00 epp2 pr6|536 002115 aa 6 00702 2521 00 spri2 pr6|450 002116 aa 6 01031 3521 00 epp2 pr6|537 002117 aa 6 00704 2521 00 spri2 pr6|452 002120 aa 775701 3520 04 epp2 -1087,ic 000021 = 524000000114 002121 aa 6 00706 2521 00 spri2 pr6|454 002122 aa 775715 3520 04 epp2 -1075,ic 000037 = 524000000400 002123 aa 6 00710 2521 00 spri2 pr6|456 002124 aa 775721 3520 04 epp2 -1071,ic 000045 = 404000000021 002125 aa 6 00712 2521 00 spri2 pr6|458 002126 aa 775672 3520 04 epp2 -1094,ic 000020 = 404000000022 002127 aa 6 00714 2521 00 spri2 pr6|460 002130 aa 775667 3520 04 epp2 -1097,ic 000017 = 404000000023 002131 aa 6 00716 2521 00 spri2 pr6|462 002132 aa 6 00720 2521 00 spri2 pr6|464 002133 aa 6 00722 2521 00 spri2 pr6|466 002134 aa 6 00724 2521 00 spri2 pr6|468 002135 aa 6 00726 2521 00 spri2 pr6|470 002136 aa 6 00662 6211 00 eax1 pr6|434 002137 aa 044000 4310 07 fld 18432,dl 002140 aa 6 00044 3701 20 epp4 pr6|36,* 002141 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 002142 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 329 call put_list; 002143 aa 001727 6700 04 tsp4 983,ic 004072 STATEMENT 1 ON LINE 330 call ioa_$rs ("Length ^6o ^6o ^6o ^6o ^6o ^6o", wst, l1, divide (bitcount, 36, 17, 0), oi.tlng, oi.dlng, oi.llng, oi.slng, oi.ilng); 002144 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002145 aa 776107 00 0044 desc9a -953,36 000253 = 114145156147 002146 aa 6 00642 00 0044 desc9a pr6|418,36 002147 aa 6 00111 2361 00 ldq pr6|73 bitcount 002150 aa 000044 5060 07 div 36,dl 002151 aa 6 01031 7561 00 stq pr6|537 002152 aa 6 00642 3521 00 epp2 pr6|418 002153 aa 6 00664 2521 00 spri2 pr6|436 002154 aa 6 00300 3521 00 epp2 pr6|192 wst 002155 aa 6 00666 2521 00 spri2 pr6|438 002156 aa 6 00105 3521 00 epp2 pr6|69 l1 002157 aa 6 00670 2521 00 spri2 pr6|440 002160 aa 6 01031 3521 00 epp2 pr6|537 002161 aa 6 00672 2521 00 spri2 pr6|442 002162 aa 6 00522 3521 00 epp2 pr6|338 oi.tlng 002163 aa 6 00674 2521 00 spri2 pr6|444 002164 aa 6 00523 3521 00 epp2 pr6|339 oi.dlng 002165 aa 6 00676 2521 00 spri2 pr6|446 002166 aa 6 00524 3521 00 epp2 pr6|340 oi.llng 002167 aa 6 00700 2521 00 spri2 pr6|448 002170 aa 6 00526 3521 00 epp2 pr6|342 oi.slng 002171 aa 6 00702 2521 00 spri2 pr6|450 002172 aa 6 00525 3521 00 epp2 pr6|341 oi.ilng 002173 aa 6 00704 2521 00 spri2 pr6|452 002174 aa 775622 3520 04 epp2 -1134,ic 000016 = 524000000044 002175 aa 6 00706 2521 00 spri2 pr6|454 002176 aa 775641 3520 04 epp2 -1119,ic 000037 = 524000000400 002177 aa 6 00710 2521 00 spri2 pr6|456 002200 aa 775645 3520 04 epp2 -1115,ic 000045 = 404000000021 002201 aa 6 00712 2521 00 spri2 pr6|458 002202 aa 6 00714 2521 00 spri2 pr6|460 002203 aa 6 00716 2521 00 spri2 pr6|462 002204 aa 6 00720 2521 00 spri2 pr6|464 002205 aa 6 00722 2521 00 spri2 pr6|466 002206 aa 6 00724 2521 00 spri2 pr6|468 002207 aa 6 00726 2521 00 spri2 pr6|470 002210 aa 6 00662 6211 00 eax1 pr6|434 002211 aa 044000 4310 07 fld 18432,dl 002212 aa 6 00044 3701 20 epp4 pr6|36,* 002213 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 002214 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 332 call put_list; 002215 aa 001655 6700 04 tsp4 941,ic 004072 STATEMENT 1 ON LINE 333 end; STATEMENT 1 ON LINE 335 if form_link_info_args.flags.et_sw then do; 002216 aa 6 00136 3735 20 epp7 pr6|94,* arg_ptr 002217 aa 7 00006 2351 00 lda pr7|6 form_link_info_args.et_sw 002220 aa 100000 3150 03 cana 32768,du 002221 aa 000714 6000 04 tze 460,ic 003135 STATEMENT 1 ON LINE 337 first_dp = oi.defp; 002222 aa 6 00510 3715 20 epp5 pr6|328,* oi.defp 002223 aa 6 00134 6515 00 spri5 pr6|92 first_dp STATEMENT 1 ON LINE 338 if oi.format.standard then first_dp = addrel (oi.defp, first_dp -> definition.forward); 002224 aa 6 00530 2351 00 lda pr6|344 oi.standard 002225 aa 020000 3150 03 cana 8192,du 002226 aa 000006 6000 04 tze 6,ic 002234 002227 aa 6 00134 2351 20 lda pr6|92,* definition.forward 002230 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 002231 aa 5 00000 3521 01 epp2 pr5|0,au 002232 aa 000000 0520 03 adwp2 0,du 002233 aa 6 00134 2521 00 spri2 pr6|92 first_dp STATEMENT 1 ON LINE 341 total_def_counter = 0; 002234 aa 6 00116 4501 00 stz pr6|78 total_def_counter STATEMENT 1 ON LINE 342 counter = 0; 002235 aa 6 00114 4501 00 stz pr6|76 counter STATEMENT 1 ON LINE 343 do dp = first_dp repeat addrel (oi.defp, dp -> definition.forward) while (dp -> based_fixed ^= 0); 002236 aa 6 00134 3535 20 epp3 pr6|92,* first_dp 002237 aa 6 00126 2535 00 spri3 pr6|86 dp 002240 aa 6 00126 2361 20 ldq pr6|86,* based_fixed 002241 aa 000042 6000 04 tze 34,ic 002303 STATEMENT 1 ON LINE 344 if ^dp -> definition.ignore then counter = counter + 1; 002242 aa 6 00126 3735 20 epp7 pr6|86,* dp 002243 aa 7 00001 2351 00 lda pr7|1 definition.ignore 002244 aa 200000 3150 07 cana 65536,dl 002245 aa 000002 6010 04 tnz 2,ic 002247 002246 aa 6 00114 0541 00 aos pr6|76 counter STATEMENT 1 ON LINE 346 total_def_counter = total_def_counter + 1; 002247 aa 6 00116 0541 00 aos pr6|78 total_def_counter STATEMENT 1 ON LINE 347 if total_def_counter > 8000 then do; 002250 aa 6 00116 2361 00 ldq pr6|78 total_def_counter 002251 aa 017500 1160 07 cmpq 8000,dl 002252 aa 000023 6044 04 tmoz 19,ic 002275 STATEMENT 1 ON LINE 349 call put_nl; 002253 aa 001631 6700 04 tsp4 921,ic 004104 STATEMENT 1 ON LINE 350 wst = "Cannot display definitions because of a loop."; 002254 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002255 aa 776010 00 0055 desc9a -1016,45 000264 = 103141156156 002256 aa 6 00300 00 0400 desc9a pr6|192,256 wst STATEMENT 1 ON LINE 351 l1 = length (rtrim (wst)); 002257 aa 000 000 165 500 tctr (pr) 002260 aa 6 00300 00 0400 desc9a pr6|192,256 wst 002261 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002262 aa 6 00056 0001 00 arg pr6|46 002263 aa 6 00056 2361 00 ldq pr6|46 002264 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002265 aa 6 01031 7561 00 stq pr6|537 002266 aa 000400 2360 07 ldq 256,dl 002267 aa 6 01031 1761 00 sbq pr6|537 002270 aa 6 00105 7561 00 stq pr6|69 l1 STATEMENT 1 ON LINE 352 call put_list; 002271 aa 001601 6700 04 tsp4 897,ic 004072 STATEMENT 1 ON LINE 353 call put_nl; 002272 aa 001612 6700 04 tsp4 906,ic 004104 STATEMENT 1 ON LINE 354 call put_nl; 002273 aa 001611 6700 04 tsp4 905,ic 004104 STATEMENT 1 ON LINE 355 go to print_links; 002274 aa 000641 7100 04 tra 417,ic 003135 STATEMENT 1 ON LINE 356 end; STATEMENT 1 ON LINE 357 end; 002275 aa 7 00000 2351 00 lda pr7|0 definition.forward 002276 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 002277 aa 6 00510 3521 61 epp2 pr6|328,*au oi.defp 002300 aa 000000 0520 03 adwp2 0,du 002301 aa 6 00126 2521 00 spri2 pr6|86 dp 002302 aa 777736 7100 04 tra -34,ic 002240 STATEMENT 1 ON LINE 359 call ioa_$rs ("^2/^d Definitions:^/", wst, l1, counter); 002303 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002304 aa 775674 00 0024 desc9a -1092,20 000177 = 136062057136 002305 aa 6 00642 00 0024 desc9a pr6|418,20 002306 aa 6 00642 3521 00 epp2 pr6|418 002307 aa 6 00746 2521 00 spri2 pr6|486 002310 aa 6 00300 3521 00 epp2 pr6|192 wst 002311 aa 6 00750 2521 00 spri2 pr6|488 002312 aa 6 00105 3521 00 epp2 pr6|69 l1 002313 aa 6 00752 2521 00 spri2 pr6|490 002314 aa 6 00114 3521 00 epp2 pr6|76 counter 002315 aa 6 00754 2521 00 spri2 pr6|492 002316 aa 775477 3520 04 epp2 -1217,ic 000015 = 524000000024 002317 aa 6 00756 2521 00 spri2 pr6|494 002320 aa 775517 3520 04 epp2 -1201,ic 000037 = 524000000400 002321 aa 6 00760 2521 00 spri2 pr6|496 002322 aa 775523 3520 04 epp2 -1197,ic 000045 = 404000000021 002323 aa 6 00762 2521 00 spri2 pr6|498 002324 aa 6 00764 2521 00 spri2 pr6|500 002325 aa 6 00744 6211 00 eax1 pr6|484 002326 aa 020000 4310 07 fld 8192,dl 002327 aa 6 00044 3701 20 epp4 pr6|36,* 002330 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 002331 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 360 call put_list; 002332 aa 001540 6700 04 tsp4 864,ic 004072 STATEMENT 1 ON LINE 362 call decode_definition_$init (objp, bitcount); 002333 aa 6 00124 3521 00 epp2 pr6|84 objp 002334 aa 6 00644 2521 00 spri2 pr6|420 002335 aa 6 00111 3521 00 epp2 pr6|73 bitcount 002336 aa 6 00646 2521 00 spri2 pr6|422 002337 aa 6 00642 6211 00 eax1 pr6|418 002340 aa 010000 4310 07 fld 4096,dl 002341 aa 6 00044 3701 20 epp4 pr6|36,* 002342 la 4 00020 3521 20 epp2 pr4|16,* decode_definition_$init 002343 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 363 dd.next_def = objp; 002344 aa 6 00124 3735 20 epp7 pr6|84,* objp 002345 aa 6 00434 6535 00 spri7 pr6|284 dd.next_def STATEMENT 1 ON LINE 364 new_defblock = 1b; 002346 aa 000001 2360 07 ldq 1,dl 002347 aa 6 00212 7561 00 stq pr6|138 new_defblock STATEMENT 1 ON LINE 365 get_out = "0"b; 002350 aa 6 00211 4501 00 stz pr6|137 get_out STATEMENT 1 ON LINE 367 if decode_definition_ (dd.next_def, addr (dd)) then goto print_links; 002351 aa 6 00434 3715 00 epp5 pr6|284 dd 002352 aa 6 00612 6515 00 spri5 pr6|394 002353 aa 6 00434 3521 00 epp2 pr6|284 dd.next_def 002354 aa 6 00644 2521 00 spri2 pr6|420 002355 aa 6 00612 3521 00 epp2 pr6|394 002356 aa 6 00646 2521 00 spri2 pr6|422 002357 aa 6 01031 3521 00 epp2 pr6|537 002360 aa 6 00650 2521 00 spri2 pr6|424 002361 aa 6 00642 6211 00 eax1 pr6|418 002362 aa 014000 4310 07 fld 6144,dl 002363 aa 6 00044 3701 20 epp4 pr6|36,* 002364 la 4 00016 3521 20 epp2 pr4|14,* decode_definition_ 002365 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002366 aa 6 01031 2351 00 lda pr6|537 002367 aa 400000 3150 03 cana 131072,du 002370 aa 000545 6010 04 tnz 357,ic 003135 STATEMENT 1 ON LINE 369 class_3: if dd.section = "segn" then do while ("1"b); 002371 aa 6 00442 2351 00 lda pr6|290 dd.section 002372 aa 775422 1150 04 cmpa -1262,ic 000014 = 163145147156 002373 aa 000417 6010 04 tnz 271,ic 003012 STATEMENT 1 ON LINE 373 call put_nl; 002374 aa 001510 6700 04 tsp4 840,ic 004104 STATEMENT 1 ON LINE 374 if dd.next_def ^= dd.block_ptr then address = "segnames:"; 002375 aa 6 00434 2371 00 ldaq pr6|284 dd.next_def 002376 aa 6 00440 6771 00 eraq pr6|288 dd.block_ptr 002377 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 002400 aa 000005 6000 04 tze 5,ic 002405 002401 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002402 aa 775507 00 0011 desc9a -1209,9 000110 = 163145147156 002403 aa 6 00420 00 0014 desc9a pr6|272,12 address 002404 aa 000004 7100 04 tra 4,ic 002410 STATEMENT 1 ON LINE 376 else address = "segname:"; 002405 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002406 aa 775453 00 0010 desc9a -1237,8 000060 = 163145147156 002407 aa 6 00420 00 0014 desc9a pr6|272,12 address STATEMENT 1 ON LINE 378 wst = char (address, 12) || dd.defname; 002410 aa 000054 2360 07 ldq 44,dl 002411 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 002412 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002413 aa 6 00420 00 0014 desc9a pr6|272,12 address 002414 aa 2 00000 00 0014 desc9a pr2|0,12 002415 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002416 aa 6 00445 00 0040 desc9a pr6|293,32 dd.defname 002417 aa 2 00003 00 0040 desc9a pr2|3,32 002420 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002421 aa 2 00000 00 0054 desc9a pr2|0,44 002422 aa 6 00300 00 0400 desc9a pr6|192,256 wst STATEMENT 1 ON LINE 379 l1 = length (rtrim (wst)); 002423 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002424 aa 000 000 165 500 tctr (pr) 002425 aa 6 00300 00 0400 desc9a pr6|192,256 wst 002426 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002427 aa 6 00056 0001 00 arg pr6|46 002430 aa 6 00056 2361 00 ldq pr6|46 002431 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002432 aa 6 01031 7561 00 stq pr6|537 002433 aa 000400 2360 07 ldq 256,dl 002434 aa 6 01031 1761 00 sbq pr6|537 002435 aa 6 00105 7561 00 stq pr6|69 l1 STATEMENT 1 ON LINE 380 call put_list; 002436 aa 001434 6700 04 tsp4 796,ic 004072 STATEMENT 1 ON LINE 381 call put_nl; 002437 aa 001445 6700 04 tsp4 805,ic 004104 STATEMENT 1 ON LINE 383 if decode_definition_ (dd.next_def, addr (dd)) then goto print_links; 002440 aa 6 00434 3735 00 epp7 pr6|284 dd 002441 aa 6 00612 6535 00 spri7 pr6|394 002442 aa 6 00434 3521 00 epp2 pr6|284 dd.next_def 002443 aa 6 00644 2521 00 spri2 pr6|420 002444 aa 6 00612 3521 00 epp2 pr6|394 002445 aa 6 00646 2521 00 spri2 pr6|422 002446 aa 6 01031 3521 00 epp2 pr6|537 002447 aa 6 00650 2521 00 spri2 pr6|424 002450 aa 6 00642 6211 00 eax1 pr6|418 002451 aa 014000 4310 07 fld 6144,dl 002452 aa 6 00044 3701 20 epp4 pr6|36,* 002453 la 4 00016 3521 20 epp2 pr4|14,* decode_definition_ 002454 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002455 aa 6 01031 2351 00 lda pr6|537 002456 aa 400000 3150 03 cana 131072,du 002457 aa 000456 6010 04 tnz 302,ic 003135 STATEMENT 1 ON LINE 385 do while (dd.section = "segn"); 002460 aa 6 00442 2351 00 lda pr6|290 dd.section 002461 aa 775333 1150 04 cmpa -1317,ic 000014 = 163145147156 002462 aa 000052 6010 04 tnz 42,ic 002534 STATEMENT 1 ON LINE 386 wst = (12)" " || dd.defname; 002463 aa 000054 2360 07 ldq 44,dl 002464 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 002465 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002466 aa 001427 00 0014 desc9a 791,12 004114 = 040040040040 002467 aa 2 00000 00 0014 desc9a pr2|0,12 002470 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002471 aa 6 00445 00 0040 desc9a pr6|293,32 dd.defname 002472 aa 2 00003 00 0040 desc9a pr2|3,32 002473 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002474 aa 2 00000 00 0054 desc9a pr2|0,44 002475 aa 6 00300 00 0400 desc9a pr6|192,256 wst STATEMENT 1 ON LINE 387 l1 = length (rtrim (wst)); 002476 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002477 aa 000 000 165 500 tctr (pr) 002500 aa 6 00300 00 0400 desc9a pr6|192,256 wst 002501 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002502 aa 6 00056 0001 00 arg pr6|46 002503 aa 6 00056 2361 00 ldq pr6|46 002504 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002505 aa 6 01031 7561 00 stq pr6|537 002506 aa 000400 2360 07 ldq 256,dl 002507 aa 6 01031 1761 00 sbq pr6|537 002510 aa 6 00105 7561 00 stq pr6|69 l1 STATEMENT 1 ON LINE 388 call put_list; 002511 aa 001361 6700 04 tsp4 753,ic 004072 STATEMENT 1 ON LINE 389 call put_nl; 002512 aa 001372 6700 04 tsp4 762,ic 004104 STATEMENT 1 ON LINE 390 if decode_definition_ (dd.next_def, addr (dd)) then goto print_links; 002513 aa 6 00434 3735 00 epp7 pr6|284 dd 002514 aa 6 00612 6535 00 spri7 pr6|394 002515 aa 6 00434 3521 00 epp2 pr6|284 dd.next_def 002516 aa 6 00644 2521 00 spri2 pr6|420 002517 aa 6 00612 3521 00 epp2 pr6|394 002520 aa 6 00646 2521 00 spri2 pr6|422 002521 aa 6 01031 3521 00 epp2 pr6|537 002522 aa 6 00650 2521 00 spri2 pr6|424 002523 aa 6 00642 6211 00 eax1 pr6|418 002524 aa 014000 4310 07 fld 6144,dl 002525 aa 6 00044 3701 20 epp4 pr6|36,* 002526 la 4 00016 3521 20 epp2 pr4|14,* decode_definition_ 002527 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002530 aa 6 01031 2351 00 lda pr6|537 002531 aa 400000 3150 03 cana 131072,du 002532 aa 000403 6010 04 tnz 259,ic 003135 STATEMENT 1 ON LINE 392 end; 002533 aa 777725 7100 04 tra -43,ic 002460 STATEMENT 1 ON LINE 393 call put_nl; 002534 aa 001350 6700 04 tsp4 744,ic 004104 STATEMENT 1 ON LINE 397 sort (0).thread = 0; 002535 aa 6 00214 4501 20 stz pr6|140,* sort.thread STATEMENT 1 ON LINE 398 sort (0).def_info = ""; 002536 aa 6 00214 3735 20 epp7 pr6|140,* sortp 002537 aa 040 100 100 400 mlr (),(pr),fill(040) 002540 aa 000000 00 0000 desc9a 0,0 002541 aa 7 00001 00 0040 desc9a pr7|1,32 sort.def_info STATEMENT 1 ON LINE 402 do j = 1 by 1; 002542 aa 000001 2360 07 ldq 1,dl 002543 aa 6 00102 7561 00 stq pr6|66 j STATEMENT 1 ON LINE 403 sort (j).def_info = dd.defname; 002544 aa 6 00102 2361 00 ldq pr6|66 j 002545 aa 000014 4020 07 mpy 12,dl 002546 aa 6 00214 3735 20 epp7 pr6|140,* sortp 002547 aa 7 00001 3735 06 epp7 pr7|1,ql sort.def_info 002550 aa 000 100 100 500 mlr (pr),(pr),fill(000) 002551 aa 6 00445 00 0040 desc9a pr6|293,32 dd.defname 002552 aa 7 00000 00 0040 desc9a pr7|0,32 sort.def_info STATEMENT 1 ON LINE 404 sort (j).section = dd.section; 002553 aa 6 00442 2351 00 lda pr6|290 dd.section 002554 aa 6 00214 3715 20 epp5 pr6|140,* sortp 002555 aa 5 00011 7551 06 sta pr5|9,ql sort.section STATEMENT 1 ON LINE 405 sort (j).offset = dd.offset; 002556 aa 000000 6270 06 eax7 0,ql 002557 aa 6 00443 2361 00 ldq pr6|291 dd.offset 002560 aa 5 00012 7561 17 stq pr5|10,7 sort.offset STATEMENT 1 ON LINE 406 sort (j).entrypoint = dd.entrypoint; 002561 aa 6 00444 2361 00 ldq pr6|292 dd.entrypoint 002562 aa 5 00013 7561 17 stq pr5|11,7 sort.entrypoint STATEMENT 1 ON LINE 410 previous, i = 0; 002563 aa 6 00115 4501 00 stz pr6|77 previous 002564 aa 6 00101 4501 00 stz pr6|65 i STATEMENT 1 ON LINE 411 merge_defs: if sort (j).def_info <= sort (i).def_info then do; 002565 aa 6 00102 2361 00 ldq pr6|66 j 002566 aa 000014 4020 07 mpy 12,dl 002567 aa 000000 6270 06 eax7 0,ql 002570 aa 6 00101 2361 00 ldq pr6|65 i 002571 aa 000014 4020 07 mpy 12,dl 002572 aa 6 00214 3735 20 epp7 pr6|140,* sortp 002573 aa 7 00001 3735 17 epp7 pr7|1,7 sort.def_info 002574 aa 6 00214 3715 20 epp5 pr6|140,* sortp 002575 aa 5 00001 3715 06 epp5 pr5|1,ql sort.def_info 002576 aa 040 100 106 500 cmpc (pr),(pr),fill(040) 002577 aa 7 00000 00 0040 desc9a pr7|0,32 sort.def_info 002600 aa 5 00000 00 0040 desc9a pr5|0,32 sort.def_info 002601 aa 6 01031 7561 00 stq pr6|537 002602 aa 6 01030 7471 00 stx7 pr6|536 002603 aa 000002 6000 04 tze 2,ic 002605 002604 aa 000011 6030 04 trc 9,ic 002615 STATEMENT 1 ON LINE 414 sort (previous).thread = j; 002605 aa 6 00115 2361 00 ldq pr6|77 previous 002606 aa 000014 4020 07 mpy 12,dl 002607 aa 000000 6260 06 eax6 0,ql 002610 aa 6 00102 2361 00 ldq pr6|66 j 002611 aa 6 00214 7561 76 stq pr6|140,*6 sort.thread STATEMENT 1 ON LINE 415 sort (j).thread = i; 002612 aa 6 00101 2361 00 ldq pr6|65 i 002613 aa 6 00214 7561 77 stq pr6|140,*7 sort.thread STATEMENT 1 ON LINE 416 end; 002614 aa 000016 7100 04 tra 14,ic 002632 STATEMENT 1 ON LINE 417 else if sort (i).thread = 0 then do; 002615 aa 6 00214 2361 66 ldq pr6|140,*ql sort.thread 002616 aa 000006 6010 04 tnz 6,ic 002624 STATEMENT 1 ON LINE 419 sort (j).thread = 0; 002617 aa 6 00214 4501 77 stz pr6|140,*7 sort.thread STATEMENT 1 ON LINE 420 sort (i).thread = j; 002620 aa 6 00102 2361 00 ldq pr6|66 j 002621 aa 6 01031 7261 00 lxl6 pr6|537 002622 aa 6 00214 7561 76 stq pr6|140,*6 sort.thread STATEMENT 1 ON LINE 421 end; 002623 aa 000007 7100 04 tra 7,ic 002632 STATEMENT 1 ON LINE 422 else do; STATEMENT 1 ON LINE 423 previous = i; 002624 aa 6 00101 2361 00 ldq pr6|65 i 002625 aa 6 00115 7561 00 stq pr6|77 previous STATEMENT 1 ON LINE 424 i = sort (i).thread; 002626 aa 6 01031 7261 00 lxl6 pr6|537 002627 aa 6 00214 2361 76 ldq pr6|140,*6 sort.thread 002630 aa 6 00101 7561 00 stq pr6|65 i STATEMENT 1 ON LINE 425 goto merge_defs; 002631 aa 777734 7100 04 tra -36,ic 002565 STATEMENT 1 ON LINE 426 end; STATEMENT 1 ON LINE 427 if decode_definition_ (dd.next_def, addr (dd)) then do; 002632 aa 6 00434 3535 00 epp3 pr6|284 dd 002633 aa 6 00612 2535 00 spri3 pr6|394 002634 aa 6 00434 3521 00 epp2 pr6|284 dd.next_def 002635 aa 6 00644 2521 00 spri2 pr6|420 002636 aa 6 00612 3521 00 epp2 pr6|394 002637 aa 6 00646 2521 00 spri2 pr6|422 002640 aa 6 01031 3521 00 epp2 pr6|537 002641 aa 6 00650 2521 00 spri2 pr6|424 002642 aa 6 00642 6211 00 eax1 pr6|418 002643 aa 014000 4310 07 fld 6144,dl 002644 aa 6 00044 3701 20 epp4 pr6|36,* 002645 la 4 00016 3521 20 epp2 pr4|14,* decode_definition_ 002646 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002647 aa 6 01031 2351 00 lda pr6|537 002650 aa 400000 3150 03 cana 131072,du 002651 aa 000004 6000 04 tze 4,ic 002655 STATEMENT 1 ON LINE 429 get_out = "1"b; 002652 aa 400000 2350 03 lda 131072,du 002653 aa 6 00211 7551 00 sta pr6|137 get_out STATEMENT 1 ON LINE 430 goto print_defs; 002654 aa 000006 7100 04 tra 6,ic 002662 STATEMENT 1 ON LINE 431 end; STATEMENT 1 ON LINE 432 if dd.section = "segn" then goto print_defs; 002655 aa 6 00442 2351 00 lda pr6|290 dd.section 002656 aa 775136 1150 04 cmpa -1442,ic 000014 = 163145147156 002657 aa 000003 6000 04 tze 3,ic 002662 STATEMENT 1 ON LINE 434 end; 002660 aa 6 00102 0541 00 aos pr6|66 j 002661 aa 777663 7100 04 tra -77,ic 002544 STATEMENT 1 ON LINE 438 print_defs: do i = sort (0).thread repeat sort (i).thread while (i ^= 0); 002662 aa 6 00214 2361 20 ldq pr6|140,* sort.thread 002663 aa 6 00101 7561 00 stq pr6|65 i 002664 aa 6 00101 2361 00 ldq pr6|65 i 002665 aa 000121 6000 04 tze 81,ic 003006 STATEMENT 1 ON LINE 440 call ioa_$rsnnl ("^a|^o", address, junk, sort (i).section, sort (i).offset); 002666 aa 775170 2370 04 ldaq -1416,ic 000056 = 136141174136 157000000000 002667 aa 6 00612 7571 00 staq pr6|394 002670 aa 6 00101 2361 00 ldq pr6|65 i 002671 aa 000014 4020 07 mpy 12,dl 002672 aa 6 00612 3521 00 epp2 pr6|394 002673 aa 6 00616 2521 00 spri2 pr6|398 002674 aa 6 00420 3521 00 epp2 pr6|272 address 002675 aa 6 00620 2521 00 spri2 pr6|400 002676 aa 6 00100 3521 00 epp2 pr6|64 junk 002677 aa 6 00622 2521 00 spri2 pr6|402 002700 aa 6 00214 3735 20 epp7 pr6|140,* sortp 002701 aa 7 00011 3521 06 epp2 pr7|9,ql sort.section 002702 aa 6 00624 2521 00 spri2 pr6|404 002703 aa 7 00012 3521 06 epp2 pr7|10,ql sort.offset 002704 aa 6 00626 2521 00 spri2 pr6|406 002705 aa 775106 3520 04 epp2 -1466,ic 000013 = 524000000005 002706 aa 6 00630 2521 00 spri2 pr6|408 002707 aa 775103 3520 04 epp2 -1469,ic 000012 = 524000000014 002710 aa 6 00632 2521 00 spri2 pr6|410 002711 aa 775134 3520 04 epp2 -1444,ic 000045 = 404000000021 002712 aa 6 00634 2521 00 spri2 pr6|412 002713 aa 6 00640 2521 00 spri2 pr6|416 002714 aa 775075 3520 04 epp2 -1475,ic 000011 = 524000000004 002715 aa 6 00636 2521 00 spri2 pr6|414 002716 aa 6 00614 6211 00 eax1 pr6|396 002717 aa 024000 4310 07 fld 10240,dl 002720 aa 6 00044 3701 20 epp4 pr6|36,* 002721 la 4 00032 3521 20 epp2 pr4|26,* ioa_$rsnnl 002722 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 441 if sort (i).entrypoint ^= 0 then entry = "Entrypoint"; 002723 aa 6 00101 2361 00 ldq pr6|65 i 002724 aa 000014 4020 07 mpy 12,dl 002725 aa 6 00214 3735 20 epp7 pr6|140,* sortp 002726 aa 6 01031 7561 00 stq pr6|537 002727 aa 7 00013 2361 06 ldq pr7|11,ql sort.entrypoint 002730 aa 000005 6000 04 tze 5,ic 002735 002731 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002732 aa 775154 00 0012 desc9a -1428,10 000105 = 105156164162 002733 aa 6 00423 00 0024 desc9a pr6|275,20 entry 002734 aa 000004 7100 04 tra 4,ic 002740 STATEMENT 1 ON LINE 443 else entry = ""; 002735 aa 040 100 100 400 mlr (),(pr),fill(040) 002736 aa 000000 00 0000 desc9a 0,0 002737 aa 6 00423 00 0024 desc9a pr6|275,20 entry STATEMENT 1 ON LINE 444 wst = char (address, 16) || char (sort (i).def_info, 32) || entry; 002740 aa 000020 2360 07 ldq 16,dl 002741 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 002742 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002743 aa 6 00420 00 0014 desc9a pr6|272,12 address 002744 aa 2 00000 00 0020 desc9a pr2|0,16 002745 aa 000060 2360 07 ldq 48,dl 002746 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 002747 aa 6 01031 7271 00 lxl7 pr6|537 002750 aa 7 00001 3715 17 epp5 pr7|1,7 sort.def_info 002751 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002752 aa 5 00000 00 0040 desc9a pr5|0,32 sort.def_info 002753 aa 2 00004 00 0040 desc9a pr2|4,32 002754 aa 000104 2360 07 ldq 68,dl 002755 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 002756 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002757 aa 6 00423 00 0024 desc9a pr6|275,20 entry 002760 aa 2 00014 00 0024 desc9a pr2|12,20 002761 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002762 aa 2 00000 00 0104 desc9a pr2|0,68 002763 aa 6 00300 00 0400 desc9a pr6|192,256 wst STATEMENT 1 ON LINE 445 l1 = length (rtrim (wst)); 002764 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002765 aa 000 000 165 500 tctr (pr) 002766 aa 6 00300 00 0400 desc9a pr6|192,256 wst 002767 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002770 aa 6 00056 0001 00 arg pr6|46 002771 aa 6 00056 2361 00 ldq pr6|46 002772 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002773 aa 6 01031 7561 00 stq pr6|537 002774 aa 000400 2360 07 ldq 256,dl 002775 aa 6 01031 1761 00 sbq pr6|537 002776 aa 6 00105 7561 00 stq pr6|69 l1 STATEMENT 1 ON LINE 446 call put_list; 002777 aa 001073 6700 04 tsp4 571,ic 004072 STATEMENT 1 ON LINE 447 call put_nl; 003000 aa 001104 6700 04 tsp4 580,ic 004104 STATEMENT 1 ON LINE 448 end; 003001 aa 6 00101 2361 00 ldq pr6|65 i 003002 aa 000014 4020 07 mpy 12,dl 003003 aa 6 00214 2361 66 ldq pr6|140,*ql sort.thread 003004 aa 6 00101 7561 00 stq pr6|65 i 003005 aa 777657 7100 04 tra -81,ic 002664 STATEMENT 1 ON LINE 449 if get_out then goto print_links; 003006 aa 6 00211 2351 00 lda pr6|137 get_out 003007 aa 000126 6010 04 tnz 86,ic 003135 STATEMENT 1 ON LINE 452 end; 003010 aa 777364 7100 04 tra -268,ic 002374 003011 aa 000124 7100 04 tra 84,ic 003135 STATEMENT 1 ON LINE 454 else do while ("1"b); STATEMENT 1 ON LINE 455 if dd.entrypoint ^= 0 then entry = "Entrypoint"; 003012 aa 6 00444 2361 00 ldq pr6|292 dd.entrypoint 003013 aa 000005 6000 04 tze 5,ic 003020 003014 aa 040 100 100 404 mlr (ic),(pr),fill(040) 003015 aa 775071 00 0012 desc9a -1479,10 000105 = 105156164162 003016 aa 6 00423 00 0024 desc9a pr6|275,20 entry 003017 aa 000004 7100 04 tra 4,ic 003023 STATEMENT 1 ON LINE 457 else entry = ""; 003020 aa 040 100 100 400 mlr (),(pr),fill(040) 003021 aa 000000 00 0000 desc9a 0,0 003022 aa 6 00423 00 0024 desc9a pr6|275,20 entry STATEMENT 1 ON LINE 458 call ioa_$rsnnl ("^a|^o", address, junk, dd.section, dd.offset); 003023 aa 775033 2370 04 ldaq -1509,ic 000056 = 136141174136 157000000000 003024 aa 6 00612 7571 00 staq pr6|394 003025 aa 6 00612 3521 00 epp2 pr6|394 003026 aa 6 00616 2521 00 spri2 pr6|398 003027 aa 6 00420 3521 00 epp2 pr6|272 address 003030 aa 6 00620 2521 00 spri2 pr6|400 003031 aa 6 00100 3521 00 epp2 pr6|64 junk 003032 aa 6 00622 2521 00 spri2 pr6|402 003033 aa 6 00442 3521 00 epp2 pr6|290 dd.section 003034 aa 6 00624 2521 00 spri2 pr6|404 003035 aa 6 00443 3521 00 epp2 pr6|291 dd.offset 003036 aa 6 00626 2521 00 spri2 pr6|406 003037 aa 774754 3520 04 epp2 -1556,ic 000013 = 524000000005 003040 aa 6 00630 2521 00 spri2 pr6|408 003041 aa 774751 3520 04 epp2 -1559,ic 000012 = 524000000014 003042 aa 6 00632 2521 00 spri2 pr6|410 003043 aa 775002 3520 04 epp2 -1534,ic 000045 = 404000000021 003044 aa 6 00634 2521 00 spri2 pr6|412 003045 aa 6 00640 2521 00 spri2 pr6|416 003046 aa 774743 3520 04 epp2 -1565,ic 000011 = 524000000004 003047 aa 6 00636 2521 00 spri2 pr6|414 003050 aa 6 00614 6211 00 eax1 pr6|396 003051 aa 024000 4310 07 fld 10240,dl 003052 aa 6 00044 3701 20 epp4 pr6|36,* 003053 la 4 00032 3521 20 epp2 pr4|26,* ioa_$rsnnl 003054 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 459 wst = char (address, 16) || char (dd.defname, 32) || entry; 003055 aa 000020 2360 07 ldq 16,dl 003056 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 003057 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003060 aa 6 00420 00 0014 desc9a pr6|272,12 address 003061 aa 2 00000 00 0020 desc9a pr2|0,16 003062 aa 000060 2360 07 ldq 48,dl 003063 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 003064 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003065 aa 6 00445 00 0040 desc9a pr6|293,32 dd.defname 003066 aa 2 00004 00 0040 desc9a pr2|4,32 003067 aa 000104 2360 07 ldq 68,dl 003070 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 003071 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003072 aa 6 00423 00 0024 desc9a pr6|275,20 entry 003073 aa 2 00014 00 0024 desc9a pr2|12,20 003074 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003075 aa 2 00000 00 0104 desc9a pr2|0,68 003076 aa 6 00300 00 0400 desc9a pr6|192,256 wst STATEMENT 1 ON LINE 460 l1 = length (rtrim (wst)); 003077 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 003100 aa 000 000 165 500 tctr (pr) 003101 aa 6 00300 00 0400 desc9a pr6|192,256 wst 003102 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 003103 aa 6 00056 0001 00 arg pr6|46 003104 aa 6 00056 2361 00 ldq pr6|46 003105 aa 0 00242 3761 00 anq pr0|162 = 000777777777 003106 aa 6 01031 7561 00 stq pr6|537 003107 aa 000400 2360 07 ldq 256,dl 003110 aa 6 01031 1761 00 sbq pr6|537 003111 aa 6 00105 7561 00 stq pr6|69 l1 STATEMENT 1 ON LINE 461 call put_list; 003112 aa 000760 6700 04 tsp4 496,ic 004072 STATEMENT 1 ON LINE 462 call put_nl; 003113 aa 000771 6700 04 tsp4 505,ic 004104 STATEMENT 1 ON LINE 463 if decode_definition_ (dd.next_def, addr (dd)) then goto print_links; 003114 aa 6 00434 3735 00 epp7 pr6|284 dd 003115 aa 6 00612 6535 00 spri7 pr6|394 003116 aa 6 00434 3521 00 epp2 pr6|284 dd.next_def 003117 aa 6 00644 2521 00 spri2 pr6|420 003120 aa 6 00612 3521 00 epp2 pr6|394 003121 aa 6 00646 2521 00 spri2 pr6|422 003122 aa 6 01031 3521 00 epp2 pr6|537 003123 aa 6 00650 2521 00 spri2 pr6|424 003124 aa 6 00642 6211 00 eax1 pr6|418 003125 aa 014000 4310 07 fld 6144,dl 003126 aa 6 00044 3701 20 epp4 pr6|36,* 003127 la 4 00016 3521 20 epp2 pr4|14,* decode_definition_ 003130 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 003131 aa 6 01031 2351 00 lda pr6|537 003132 aa 400000 3150 03 cana 131072,du 003133 aa 000002 6010 04 tnz 2,ic 003135 STATEMENT 1 ON LINE 465 end; 003134 aa 777656 7100 04 tra -82,ic 003012 STATEMENT 1 ON LINE 467 end; STATEMENT 1 ON LINE 470 print_links: if form_link_info_args.flags.lk_sw then do; 003135 aa 6 00136 3735 20 epp7 pr6|94,* arg_ptr 003136 aa 7 00006 2351 00 lda pr7|6 form_link_info_args.lk_sw 003137 aa 040000 3150 03 cana 16384,du 003140 aa 000634 6000 04 tze 412,ic 003774 STATEMENT 1 ON LINE 477 if oi.linkp -> first_ref_relp = 0 then link_end = oi.llng; 003141 aa 6 00512 3715 20 epp5 pr6|330,* oi.linkp 003142 aa 5 00001 2361 00 ldq pr5|1 virgin_linkage_header.first_ref_relp 003143 aa 0 00374 3771 00 anaq pr0|252 = 000000000000 000000777777 003144 aa 6 01031 7561 00 stq pr6|537 virgin_linkage_header.first_ref_relp 003145 aa 000004 6010 04 tnz 4,ic 003151 003146 aa 6 00524 2361 00 ldq pr6|340 oi.llng 003147 aa 6 00430 7561 00 stq pr6|280 link_end 003150 aa 000002 7100 04 tra 2,ic 003152 STATEMENT 1 ON LINE 479 else link_end = bin (oi.linkp -> first_ref_relp, 18); 003151 aa 6 00430 7561 00 stq pr6|280 link_end STATEMENT 1 ON LINE 480 counter = 0; 003152 aa 6 00114 4501 00 stz pr6|76 counter STATEMENT 1 ON LINE 481 do j = link_offset to link_end - 1 by 2; 003153 aa 000001 1760 07 sbq 1,dl 003154 aa 6 00573 7561 00 stq pr6|379 003155 aa 6 00106 2361 00 ldq pr6|70 link_offset 003156 aa 6 00102 7561 00 stq pr6|66 j 003157 aa 000000 0110 03 nop 0,du 003160 aa 6 00102 2361 00 ldq pr6|66 j 003161 aa 6 00573 1161 00 cmpq pr6|379 003162 aa 000017 6054 04 tpnz 15,ic 003201 STATEMENT 1 ON LINE 482 p = addrel (oi.linkp, j); 003163 aa 6 00512 3521 66 epp2 pr6|330,*ql oi.linkp 003164 aa 000000 0520 03 adwp2 0,du 003165 aa 6 00120 2521 00 spri2 pr6|80 p STATEMENT 1 ON LINE 483 if p -> object_link.tag = FT2 & p -> object_link.mbz2 = "0"b then counter = counter + 1; 003166 aa 2 00000 2351 00 lda pr2|0 object_link.tag 003167 aa 000036 7350 00 als 30 003170 aa 460000 1150 03 cmpa 155648,du 003171 aa 000005 6010 04 tnz 5,ic 003176 003172 aa 2 00001 2351 00 lda pr2|1 object_link.mbz2 003173 aa 777700 3150 07 cana 262080,dl 003174 aa 000002 6010 04 tnz 2,ic 003176 003175 aa 6 00114 0541 00 aos pr6|76 counter STATEMENT 1 ON LINE 485 end; 003176 aa 000002 2360 07 ldq 2,dl 003177 aa 6 00102 0561 00 asq pr6|66 j 003200 aa 777760 7100 04 tra -16,ic 003160 STATEMENT 1 ON LINE 486 j = 0; 003201 aa 6 00102 4501 00 stz pr6|66 j STATEMENT 1 ON LINE 487 if counter > 0 then do; 003202 aa 6 00114 2361 00 ldq pr6|76 counter 003203 aa 000543 6044 04 tmoz 355,ic 003746 STATEMENT 1 ON LINE 490 lsort (0).thread = 0; 003204 aa 6 00214 4501 20 stz pr6|140,* lsort.thread STATEMENT 1 ON LINE 491 lsort (0).segment_name = " "; 003205 aa 6 00214 3735 20 epp7 pr6|140,* sortp 003206 aa 040 100 100 400 mlr (),(pr),fill(040) 003207 aa 000000 00 0000 desc9a 0,0 003210 aa 7 00006 00 0040 desc9a pr7|6,32 lsort.segment_name STATEMENT 1 ON LINE 493 do link_offset = link_offset to link_end - 1 by 2; 003211 aa 6 00430 2361 00 ldq pr6|280 link_end 003212 aa 000001 1760 07 sbq 1,dl 003213 aa 6 00574 7561 00 stq pr6|380 003214 aa 6 00106 2361 00 ldq pr6|70 link_offset 003215 aa 6 00106 7561 00 stq pr6|70 link_offset 003216 aa 6 00106 2361 00 ldq pr6|70 link_offset 003217 aa 6 00574 1161 00 cmpq pr6|380 003220 aa 000237 6054 04 tpnz 159,ic 003457 STATEMENT 1 ON LINE 495 p = addrel (oi.linkp, link_offset); 003221 aa 6 00512 3521 66 epp2 pr6|330,*ql oi.linkp 003222 aa 000000 0520 03 adwp2 0,du 003223 aa 6 00120 2521 00 spri2 pr6|80 p STATEMENT 1 ON LINE 496 if (p -> object_link.tag = FT2) & (p -> object_link.mbz2 = "0"b) then do; 003224 aa 2 00000 2351 00 lda pr2|0 object_link.tag 003225 aa 000036 7350 00 als 30 003226 aa 460000 1150 03 cmpa 155648,du 003227 aa 000225 6010 04 tnz 149,ic 003454 003230 aa 2 00001 2351 00 lda pr2|1 object_link.mbz2 003231 aa 777700 3150 07 cana 262080,dl 003232 aa 000222 6010 04 tnz 146,ic 003454 STATEMENT 1 ON LINE 498 j = j + 1; 003233 aa 6 00102 0541 00 aos pr6|66 j STATEMENT 1 ON LINE 499 if addrel (p, p -> object_link.header_relp) ^= oi.linkp then lsort (j).segment_name = "***invalid link"; 003234 aa 2 00000 2351 00 lda pr2|0 object_link.header_relp 003235 aa 000066 7330 00 lrs 54 003236 aa 2 00000 3515 06 epp1 pr2|0,ql 003237 aa 000000 0510 03 adwp1 0,du 003240 aa 6 00612 2515 00 spri1 pr6|394 003241 aa 6 00612 2371 00 ldaq pr6|394 003242 aa 6 00512 6771 00 eraq pr6|330 oi.linkp 003243 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003244 aa 000011 6000 04 tze 9,ic 003255 003245 aa 6 00102 2361 00 ldq pr6|66 j 003246 aa 000136 4020 07 mpy 94,dl 003247 aa 6 00214 3735 20 epp7 pr6|140,* sortp 003250 aa 7 00006 3735 06 epp7 pr7|6,ql lsort.segment_name 003251 aa 040 100 100 404 mlr (ic),(pr),fill(040) 003252 aa 774666 00 0017 desc9a -1610,15 000137 = 052052052151 003253 aa 7 00000 00 0040 desc9a pr7|0,32 lsort.segment_name 003254 aa 000100 7100 04 tra 64,ic 003354 STATEMENT 1 ON LINE 502 else do; STATEMENT 1 ON LINE 503 lsort (j).link_info.version = INTERPRET_LINK_INFO_VERSION_1; 003255 aa 6 00102 2361 00 ldq pr6|66 j 003256 aa 000136 4020 07 mpy 94,dl 003257 aa 000000 6270 06 eax7 0,ql 003260 aa 774520 2370 04 ldaq -1712,ic 000000 = 111114111040 061056060040 003261 aa 6 00214 3735 20 epp7 pr6|140,* sortp 003262 aa 7 00004 7551 17 sta pr7|4,7 lsort.version 003263 aa 7 00005 7561 17 stq pr7|5,7 lsort.version STATEMENT 1 ON LINE 504 call interpret_link_$tptr (addr (lsort (j).link_info), p, objp, code); 003264 aa 7 00004 3715 17 epp5 pr7|4,7 lsort.link_info 003265 aa 6 01032 6515 00 spri5 pr6|538 003266 aa 6 01032 3521 00 epp2 pr6|538 003267 aa 6 00644 2521 00 spri2 pr6|420 003270 aa 6 00120 3521 00 epp2 pr6|80 p 003271 aa 6 00646 2521 00 spri2 pr6|422 003272 aa 6 00124 3521 00 epp2 pr6|84 objp 003273 aa 6 00650 2521 00 spri2 pr6|424 003274 aa 6 00032 3535 20 epp3 pr6|26,* 003275 aa 3 00004 3521 20 epp2 pr3|4,* code 003276 aa 6 00652 2521 00 spri2 pr6|426 003277 aa 6 00642 6211 00 eax1 pr6|418 003300 aa 020000 4310 07 fld 8192,dl 003301 aa 6 00044 3701 20 epp4 pr6|36,* 003302 la 4 00026 3521 20 epp2 pr4|22,* interpret_link_$tptr 003303 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 505 if code ^= 0 then do; 003304 aa 6 00032 3735 20 epp7 pr6|26,* 003305 aa 7 00004 2361 20 ldq pr7|4,* code 003306 aa 000012 6000 04 tze 10,ic 003320 STATEMENT 1 ON LINE 507 lsort (j).segment_name = "***invalid link"; 003307 aa 6 00102 2361 00 ldq pr6|66 j 003310 aa 000136 4020 07 mpy 94,dl 003311 aa 6 00214 3715 20 epp5 pr6|140,* sortp 003312 aa 5 00006 3715 06 epp5 pr5|6,ql lsort.segment_name 003313 aa 040 100 100 404 mlr (ic),(pr),fill(040) 003314 aa 774624 00 0017 desc9a -1644,15 000137 = 052052052151 003315 aa 5 00000 00 0040 desc9a pr5|0,32 lsort.segment_name STATEMENT 1 ON LINE 508 code = 0; 003316 aa 7 00004 4501 20 stz pr7|4,* code STATEMENT 1 ON LINE 509 end; 003317 aa 000035 7100 04 tra 29,ic 003354 STATEMENT 1 ON LINE 510 else if lsort (j).segment_name = substr (lsort (j).entry_point_name, 2, 32) then if lsort (j).expression = " " then if lsort (j).modifier = " " then lsort (j).entry_point_name = " "; 003320 aa 6 00102 2361 00 ldq pr6|66 j 003321 aa 000136 4020 07 mpy 94,dl 003322 aa 000000 6270 06 eax7 0,ql 003323 aa 000002 7360 00 qls 2 003324 aa 6 00214 3715 20 epp5 pr6|140,* sortp 003325 aa 5 00006 3715 17 epp5 pr5|6,7 lsort.segment_name 003326 aa 6 00214 3535 20 epp3 pr6|140,* sortp 003327 aa 040 106 106 500 cmpc (pr),(pr,ql),fill(040) 003330 aa 5 00000 00 0040 desc9a pr5|0,32 lsort.segment_name 003331 aa 3 00016 20 0040 desc9a pr3|14(1),32 lsort.entry_point_name 003332 aa 6 01031 7471 00 stx7 pr6|537 003333 aa 000021 6010 04 tnz 17,ic 003354 003334 aa 040000 2350 03 lda 16384,du 003335 aa 0 00022 3771 00 anaq pr0|18 = 777000000000 000000000000 003336 aa 0 00442 2771 00 oraq pr0|290 = 000040040040 040040040040 003337 aa 3 00117 1151 17 cmpa pr3|79,7 lsort.expression 003340 aa 000002 6010 04 tnz 2,ic 003342 003341 aa 3 00120 1161 17 cmpq pr3|80,7 lsort.expression 003342 aa 000012 6010 04 tnz 10,ic 003354 003343 aa 040000 2350 03 lda 16384,du 003344 aa 0 00442 2771 00 oraq pr0|290 = 000040040040 040040040040 003345 aa 0 00110 3771 00 anaq pr0|72 = 777777777777 000000000000 003346 aa 3 00121 1151 17 cmpa pr3|81,7 lsort.modifier 003347 aa 000005 6010 04 tnz 5,ic 003354 003350 aa 3 00016 3515 17 epp1 pr3|14,7 lsort.entry_point_name 003351 aa 040 100 100 400 mlr (),(pr),fill(040) 003352 aa 000000 00 0000 desc9a 0,0 003353 aa 1 00000 00 0404 desc9a pr1|0,260 lsort.entry_point_name STATEMENT 1 ON LINE 514 end; STATEMENT 1 ON LINE 515 call ioa_$rsnnl ("link|^o", lsort (j).link_address, i, link_offset); 003354 aa 774500 2370 04 ldaq -1728,ic 000054 = 154151156153 174136157000 003355 aa 6 01032 7571 00 staq pr6|538 003356 aa 6 00102 2361 00 ldq pr6|66 j 003357 aa 000136 4020 07 mpy 94,dl 003360 aa 6 01032 3521 00 epp2 pr6|538 003361 aa 6 00746 2521 00 spri2 pr6|486 003362 aa 6 00214 3735 20 epp7 pr6|140,* sortp 003363 aa 7 00001 3521 06 epp2 pr7|1,ql lsort.link_address 003364 aa 6 00750 2521 00 spri2 pr6|488 003365 aa 6 00101 3521 00 epp2 pr6|65 i 003366 aa 6 00752 2521 00 spri2 pr6|490 003367 aa 6 00106 3521 00 epp2 pr6|70 link_offset 003370 aa 6 00754 2521 00 spri2 pr6|492 003371 aa 774434 3520 04 epp2 -1764,ic 000025 = 524000000007 003372 aa 6 00756 2521 00 spri2 pr6|494 003373 aa 774417 3520 04 epp2 -1777,ic 000012 = 524000000014 003374 aa 6 00760 2521 00 spri2 pr6|496 003375 aa 774450 3520 04 epp2 -1752,ic 000045 = 404000000021 003376 aa 6 00762 2521 00 spri2 pr6|498 003377 aa 6 00764 2521 00 spri2 pr6|500 003400 aa 6 00744 6211 00 eax1 pr6|484 003401 aa 020000 4310 07 fld 8192,dl 003402 aa 6 00044 3701 20 epp4 pr6|36,* 003403 la 4 00032 3521 20 epp2 pr4|26,* ioa_$rsnnl 003404 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 516 previous, i = 0; 003405 aa 6 00115 4501 00 stz pr6|77 previous 003406 aa 6 00101 4501 00 stz pr6|65 i STATEMENT 1 ON LINE 517 merge_in: if lsort (j).segment_name <= lsort (i).segment_name then do; 003407 aa 6 00102 2361 00 ldq pr6|66 j 003410 aa 000136 4020 07 mpy 94,dl 003411 aa 000000 6270 06 eax7 0,ql 003412 aa 6 00101 2361 00 ldq pr6|65 i 003413 aa 000136 4020 07 mpy 94,dl 003414 aa 6 00214 3735 20 epp7 pr6|140,* sortp 003415 aa 7 00006 3735 17 epp7 pr7|6,7 lsort.segment_name 003416 aa 6 00214 3715 20 epp5 pr6|140,* sortp 003417 aa 5 00006 3715 06 epp5 pr5|6,ql lsort.segment_name 003420 aa 040 100 106 500 cmpc (pr),(pr),fill(040) 003421 aa 7 00000 00 0040 desc9a pr7|0,32 lsort.segment_name 003422 aa 5 00000 00 0040 desc9a pr5|0,32 lsort.segment_name 003423 aa 6 01031 7561 00 stq pr6|537 003424 aa 6 01030 7471 00 stx7 pr6|536 003425 aa 000002 6000 04 tze 2,ic 003427 003426 aa 000011 6030 04 trc 9,ic 003437 STATEMENT 1 ON LINE 520 lsort (previous).thread = j; 003427 aa 6 00115 2361 00 ldq pr6|77 previous 003430 aa 000136 4020 07 mpy 94,dl 003431 aa 000000 6260 06 eax6 0,ql 003432 aa 6 00102 2361 00 ldq pr6|66 j 003433 aa 6 00214 7561 76 stq pr6|140,*6 lsort.thread STATEMENT 1 ON LINE 521 lsort (j).thread = i; 003434 aa 6 00101 2361 00 ldq pr6|65 i 003435 aa 6 00214 7561 77 stq pr6|140,*7 lsort.thread STATEMENT 1 ON LINE 522 end; 003436 aa 000016 7100 04 tra 14,ic 003454 STATEMENT 1 ON LINE 523 else if lsort (i).thread = 0 then do; 003437 aa 6 00214 2361 66 ldq pr6|140,*ql lsort.thread 003440 aa 000006 6010 04 tnz 6,ic 003446 STATEMENT 1 ON LINE 525 lsort (j).thread = 0; 003441 aa 6 00214 4501 77 stz pr6|140,*7 lsort.thread STATEMENT 1 ON LINE 526 lsort (i).thread = j; 003442 aa 6 00102 2361 00 ldq pr6|66 j 003443 aa 6 01031 7261 00 lxl6 pr6|537 003444 aa 6 00214 7561 76 stq pr6|140,*6 lsort.thread STATEMENT 1 ON LINE 527 end; 003445 aa 000007 7100 04 tra 7,ic 003454 STATEMENT 1 ON LINE 528 else do; STATEMENT 1 ON LINE 529 previous = i; 003446 aa 6 00101 2361 00 ldq pr6|65 i 003447 aa 6 00115 7561 00 stq pr6|77 previous STATEMENT 1 ON LINE 530 i = lsort (i).thread; 003450 aa 6 01031 7261 00 lxl6 pr6|537 003451 aa 6 00214 2361 76 ldq pr6|140,*6 lsort.thread 003452 aa 6 00101 7561 00 stq pr6|65 i STATEMENT 1 ON LINE 531 goto merge_in; 003453 aa 777734 7100 04 tra -36,ic 003407 STATEMENT 1 ON LINE 532 end; STATEMENT 1 ON LINE 533 end; STATEMENT 1 ON LINE 534 end; 003454 aa 000002 2360 07 ldq 2,dl 003455 aa 6 00106 0561 00 asq pr6|70 link_offset 003456 aa 777540 7100 04 tra -160,ic 003216 STATEMENT 1 ON LINE 535 do i = lsort (0).thread repeat lsort (i).thread while (i ^= 0); 003457 aa 6 00214 2361 20 ldq pr6|140,* lsort.thread 003460 aa 6 00101 7561 00 stq pr6|65 i 003461 aa 000000 0110 03 nop 0,du 003462 aa 6 00101 2361 00 ldq pr6|65 i 003463 aa 000135 6000 04 tze 93,ic 003620 STATEMENT 1 ON LINE 536 if first_link ^= "1"b then do; 003464 aa 6 00210 2351 00 lda pr6|136 first_link 003465 aa 400000 1150 03 cmpa 131072,du 003466 aa 000036 6000 04 tze 30,ic 003524 STATEMENT 1 ON LINE 538 call ioa_$rs ("^2/^d Links:^/", wst, l1, counter); 003467 aa 774444 2350 04 lda -1756,ic 000133 = 136062057136 003470 aa 774444 2360 04 ldq -1756,ic 000134 = 144040114151 003471 aa 6 00642 7571 00 staq pr6|418 003472 aa 774443 2350 04 lda -1757,ic 000135 = 156153163072 003473 aa 136057 2360 03 ldq 48175,du 003474 aa 6 00644 7571 00 staq pr6|420 003475 aa 6 00642 3521 00 epp2 pr6|418 003476 aa 6 00746 2521 00 spri2 pr6|486 003477 aa 6 00300 3521 00 epp2 pr6|192 wst 003500 aa 6 00750 2521 00 spri2 pr6|488 003501 aa 6 00105 3521 00 epp2 pr6|69 l1 003502 aa 6 00752 2521 00 spri2 pr6|490 003503 aa 6 00114 3521 00 epp2 pr6|76 counter 003504 aa 6 00754 2521 00 spri2 pr6|492 003505 aa 774321 3520 04 epp2 -1839,ic 000026 = 524000000016 003506 aa 6 00756 2521 00 spri2 pr6|494 003507 aa 774330 3520 04 epp2 -1832,ic 000037 = 524000000400 003510 aa 6 00760 2521 00 spri2 pr6|496 003511 aa 774334 3520 04 epp2 -1828,ic 000045 = 404000000021 003512 aa 6 00762 2521 00 spri2 pr6|498 003513 aa 6 00764 2521 00 spri2 pr6|500 003514 aa 6 00744 6211 00 eax1 pr6|484 003515 aa 020000 4310 07 fld 8192,dl 003516 aa 6 00044 3701 20 epp4 pr6|36,* 003517 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 003520 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 539 call put_list; 003521 aa 000351 6700 04 tsp4 233,ic 004072 STATEMENT 1 ON LINE 540 first_link = "1"b; 003522 aa 400000 2350 03 lda 131072,du 003523 aa 6 00210 7551 00 sta pr6|136 first_link STATEMENT 1 ON LINE 541 end; STATEMENT 1 ON LINE 542 lp = addr (lsort (i).link_info); 003524 aa 6 00101 2361 00 ldq pr6|65 i 003525 aa 000136 4020 07 mpy 94,dl 003526 aa 6 00214 3735 20 epp7 pr6|140,* sortp 003527 aa 7 00004 3735 06 epp7 pr7|4,ql lsort.link_info 003530 aa 6 00130 6535 00 spri7 pr6|88 lp STATEMENT 1 ON LINE 543 call ioa_$rs ("^12a^a^a^a^a^a", wst, l1, lsort (i).link_address, lsort (i).segment_name, lsort (i).entry_point_name, lsort (i).expression, lsort (i).modifier, lsort (i).trap); 003531 aa 000000 6270 06 eax7 0,ql 003532 aa 774375 2350 04 lda -1795,ic 000127 = 136061062141 003533 aa 774375 2360 04 ldq -1795,ic 000130 = 136141136141 003534 aa 6 00642 7571 00 staq pr6|418 003535 aa 774374 2350 04 lda -1796,ic 000131 = 136141136141 003536 aa 136141 2360 03 ldq 48225,du 003537 aa 6 00644 7571 00 staq pr6|420 003540 aa 6 00642 3521 00 epp2 pr6|418 003541 aa 6 00664 2521 00 spri2 pr6|436 003542 aa 6 00300 3521 00 epp2 pr6|192 wst 003543 aa 6 00666 2521 00 spri2 pr6|438 003544 aa 6 00105 3521 00 epp2 pr6|69 l1 003545 aa 6 00670 2521 00 spri2 pr6|440 003546 aa 6 00214 3715 20 epp5 pr6|140,* sortp 003547 aa 5 00001 3521 17 epp2 pr5|1,7 lsort.link_address 003550 aa 6 00672 2521 00 spri2 pr6|442 003551 aa 5 00006 3521 17 epp2 pr5|6,7 lsort.segment_name 003552 aa 6 00674 2521 00 spri2 pr6|444 003553 aa 5 00016 3521 17 epp2 pr5|14,7 lsort.entry_point_name 003554 aa 6 00676 2521 00 spri2 pr6|446 003555 aa 5 00117 3521 17 epp2 pr5|79,7 lsort.expression 003556 aa 6 00700 2521 00 spri2 pr6|448 003557 aa 5 00121 3521 17 epp2 pr5|81,7 lsort.modifier 003560 aa 6 00702 2521 00 spri2 pr6|450 003561 aa 5 00122 3521 17 epp2 pr5|82,7 lsort.trap 003562 aa 6 00704 2521 00 spri2 pr6|452 003563 aa 774243 3520 04 epp2 -1885,ic 000026 = 524000000016 003564 aa 6 00706 2521 00 spri2 pr6|454 003565 aa 774252 3520 04 epp2 -1878,ic 000037 = 524000000400 003566 aa 6 00710 2521 00 spri2 pr6|456 003567 aa 774256 3520 04 epp2 -1874,ic 000045 = 404000000021 003570 aa 6 00712 2521 00 spri2 pr6|458 003571 aa 774221 3520 04 epp2 -1903,ic 000012 = 524000000014 003572 aa 6 00714 2521 00 spri2 pr6|460 003573 aa 774243 3520 04 epp2 -1885,ic 000036 = 524000000040 003574 aa 6 00716 2521 00 spri2 pr6|462 003575 aa 774213 3520 04 epp2 -1909,ic 000010 = 524000000404 003576 aa 6 00720 2521 00 spri2 pr6|464 003577 aa 774231 3520 04 epp2 -1895,ic 000030 = 524000000010 003600 aa 6 00722 2521 00 spri2 pr6|466 003601 aa 774210 3520 04 epp2 -1912,ic 000011 = 524000000004 003602 aa 6 00724 2521 00 spri2 pr6|468 003603 aa 774204 3520 04 epp2 -1916,ic 000007 = 524000000060 003604 aa 6 00726 2521 00 spri2 pr6|470 003605 aa 6 00662 6211 00 eax1 pr6|434 003606 aa 044000 4310 07 fld 18432,dl 003607 aa 6 00044 3701 20 epp4 pr6|36,* 003610 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 003611 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 545 call put_list; 003612 aa 000260 6700 04 tsp4 176,ic 004072 STATEMENT 1 ON LINE 546 end; 003613 aa 6 00101 2361 00 ldq pr6|65 i 003614 aa 000136 4020 07 mpy 94,dl 003615 aa 6 00214 2361 66 ldq pr6|140,*ql lsort.thread 003616 aa 6 00101 7561 00 stq pr6|65 i 003617 aa 777643 7100 04 tra -93,ic 003462 STATEMENT 1 ON LINE 547 if oi.linkp -> first_ref_relp ^= 0 then do; 003620 aa 6 00512 3735 20 epp7 pr6|330,* oi.linkp 003621 aa 7 00001 2361 00 ldq pr7|1 virgin_linkage_header.first_ref_relp 003622 aa 0 00374 3771 00 anaq pr0|252 = 000000000000 000000777777 003623 aa 000151 6000 04 tze 105,ic 003774 STATEMENT 1 ON LINE 549 call ioa_$rs ("^2/First reference trap:^/", wst, l1); 003624 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003625 aa 774420 00 0034 desc9a -1776,28 000244 = 136062057106 003626 aa 6 00642 00 0034 desc9a pr6|418,28 003627 aa 6 00642 3521 00 epp2 pr6|418 003630 aa 6 00746 2521 00 spri2 pr6|486 003631 aa 6 00300 3521 00 epp2 pr6|192 wst 003632 aa 6 00750 2521 00 spri2 pr6|488 003633 aa 6 00105 3521 00 epp2 pr6|69 l1 003634 aa 6 00752 2521 00 spri2 pr6|490 003635 aa 774151 3520 04 epp2 -1943,ic 000006 = 524000000032 003636 aa 6 00754 2521 00 spri2 pr6|492 003637 aa 774200 3520 04 epp2 -1920,ic 000037 = 524000000400 003640 aa 6 00756 2521 00 spri2 pr6|494 003641 aa 774204 3520 04 epp2 -1916,ic 000045 = 404000000021 003642 aa 6 00760 2521 00 spri2 pr6|496 003643 aa 6 00744 6211 00 eax1 pr6|484 003644 aa 014000 4310 07 fld 6144,dl 003645 aa 6 00044 3701 20 epp4 pr6|36,* 003646 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 003647 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 550 call put_list; 003650 aa 000222 6700 04 tsp4 146,ic 004072 STATEMENT 1 ON LINE 551 fr_trap_ptr = addrel (oi.linkp, oi.linkp -> first_ref_relp); 003651 aa 6 00512 3735 20 epp7 pr6|330,* oi.linkp 003652 aa 7 00001 2361 00 ldq pr7|1 virgin_linkage_header.first_ref_relp 003653 aa 0 00374 3771 00 anaq pr0|252 = 000000000000 000000777777 003654 aa 7 00000 3521 06 epp2 pr7|0,ql 003655 aa 000000 0520 03 adwp2 0,du 003656 aa 6 00432 2521 00 spri2 pr6|282 fr_trap_ptr STATEMENT 1 ON LINE 552 do j = 1 to fr_trap_ptr -> n_traps; 003657 aa 2 00001 2361 00 ldq pr2|1 fr_traps.n_traps 003660 aa 6 00575 7561 00 stq pr6|381 003661 aa 000001 2360 07 ldq 1,dl 003662 aa 6 00102 7561 00 stq pr6|66 j 003663 aa 000000 0110 03 nop 0,du 003664 aa 6 00102 2361 00 ldq pr6|66 j 003665 aa 6 00575 1161 00 cmpq pr6|381 003666 aa 000106 6054 04 tpnz 70,ic 003774 STATEMENT 1 ON LINE 553 call ioa_$rs ("call ^o, ^[no arg^;arg ^o^]", wst, l1, fr_trap_ptr -> call_relp (j), fr_trap_ptr -> info_relp (j) = 0, fr_trap_ptr -> info_relp (j)); 003667 aa 774115 2360 04 ldq -1971,ic 000004 = 606000000022 003670 aa 6 01031 7561 00 stq pr6|537 003671 aa 6 01030 7561 00 stq pr6|536 003672 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003673 aa 774343 00 0034 desc9a -1821,28 000235 = 143141154154 003674 aa 6 00642 00 0034 desc9a pr6|418,28 003675 aa 6 00102 7271 00 lxl7 pr6|66 j 003676 aa 6 00432 3735 20 epp7 pr6|282,* fr_trap_ptr 003677 aa 7 00001 2361 17 ldq pr7|1,7 fr_traps.info_relp 003700 aa 0 00374 3771 00 anaq pr0|252 = 000000000000 000000777777 003701 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 003702 aa 6 00661 7551 00 sta pr6|433 003703 aa 6 00642 3521 00 epp2 pr6|418 003704 aa 6 00770 2521 00 spri2 pr6|504 003705 aa 6 00300 3521 00 epp2 pr6|192 wst 003706 aa 6 00772 2521 00 spri2 pr6|506 003707 aa 6 00105 3521 00 epp2 pr6|69 l1 003710 aa 6 00774 2521 00 spri2 pr6|508 003711 aa 7 00001 3521 17 epp2 pr7|1,7 fr_traps.call_relp 003712 aa 6 00776 2521 00 spri2 pr6|510 003713 aa 6 00661 3521 00 epp2 pr6|433 003714 aa 6 01000 2521 00 spri2 pr6|512 003715 aa 7 00001 3521 17 epp2 pr7|1,7 fr_traps.info_relp 003716 aa 000022 7260 07 lxl6 18,dl 003717 aa 2 00000 5035 16 abd pr2|0,6 003720 aa 6 01002 2521 00 spri2 pr6|514 003721 aa 774064 3520 04 epp2 -1996,ic 000005 = 524000000033 003722 aa 6 01004 2521 00 spri2 pr6|516 003723 aa 774114 3520 04 epp2 -1972,ic 000037 = 524000000400 003724 aa 6 01006 2521 00 spri2 pr6|518 003725 aa 774120 3520 04 epp2 -1968,ic 000045 = 404000000021 003726 aa 6 01010 2521 00 spri2 pr6|520 003727 aa 6 01031 3521 00 epp2 pr6|537 003730 aa 6 01012 2521 00 spri2 pr6|522 003731 aa 774117 3520 04 epp2 -1969,ic 000050 = 514000000001 003732 aa 6 01014 2521 00 spri2 pr6|524 003733 aa 6 01030 3521 00 epp2 pr6|536 003734 aa 6 01016 2521 00 spri2 pr6|526 003735 aa 6 00766 6211 00 eax1 pr6|502 003736 aa 030000 4310 07 fld 12288,dl 003737 aa 6 00044 3701 20 epp4 pr6|36,* 003740 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 003741 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 555 call put_list; 003742 aa 000130 6700 04 tsp4 88,ic 004072 STATEMENT 1 ON LINE 556 end; 003743 aa 6 00102 0541 00 aos pr6|66 j 003744 aa 777720 7100 04 tra -48,ic 003664 STATEMENT 1 ON LINE 557 end; STATEMENT 1 ON LINE 558 end; 003745 aa 000027 7100 04 tra 23,ic 003774 STATEMENT 1 ON LINE 559 else do; STATEMENT 1 ON LINE 560 call ioa_$rs ("^2/No Links.", wst, l1); 003746 aa 774134 2370 04 ldaq -1956,ic 000102 = 136062057116 157040114151 003747 aa 6 00642 7571 00 staq pr6|418 003750 aa 774134 2350 04 lda -1956,ic 000104 = 156153163056 003751 aa 6 00644 7551 00 sta pr6|420 003752 aa 6 00642 3521 00 epp2 pr6|418 003753 aa 6 00746 2521 00 spri2 pr6|486 003754 aa 6 00300 3521 00 epp2 pr6|192 wst 003755 aa 6 00750 2521 00 spri2 pr6|488 003756 aa 6 00105 3521 00 epp2 pr6|69 l1 003757 aa 6 00752 2521 00 spri2 pr6|490 003760 aa 774032 3520 04 epp2 -2022,ic 000012 = 524000000014 003761 aa 6 00754 2521 00 spri2 pr6|492 003762 aa 774055 3520 04 epp2 -2003,ic 000037 = 524000000400 003763 aa 6 00756 2521 00 spri2 pr6|494 003764 aa 774061 3520 04 epp2 -1999,ic 000045 = 404000000021 003765 aa 6 00760 2521 00 spri2 pr6|496 003766 aa 6 00744 6211 00 eax1 pr6|484 003767 aa 014000 4310 07 fld 6144,dl 003770 aa 6 00044 3701 20 epp4 pr6|36,* 003771 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 003772 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 561 call put_list; 003773 aa 000077 6700 04 tsp4 63,ic 004072 STATEMENT 1 ON LINE 562 end; STATEMENT 1 ON LINE 564 end; STATEMENT 1 ON LINE 565 call ioa_$rs ("^2/", wst, l1); 003774 aa 774007 2350 04 lda -2041,ic 000003 = 136062057000 003775 aa 6 01031 7551 00 sta pr6|537 003776 aa 6 01031 3521 00 epp2 pr6|537 003777 aa 6 00644 2521 00 spri2 pr6|420 004000 aa 6 00300 3521 00 epp2 pr6|192 wst 004001 aa 6 00646 2521 00 spri2 pr6|422 004002 aa 6 00105 3521 00 epp2 pr6|69 l1 004003 aa 6 00650 2521 00 spri2 pr6|424 004004 aa 773776 3520 04 epp2 -2050,ic 000002 = 524000000003 004005 aa 6 00652 2521 00 spri2 pr6|426 004006 aa 774031 3520 04 epp2 -2023,ic 000037 = 524000000400 004007 aa 6 00654 2521 00 spri2 pr6|428 004010 aa 774035 3520 04 epp2 -2019,ic 000045 = 404000000021 004011 aa 6 00656 2521 00 spri2 pr6|430 004012 aa 6 00642 6211 00 eax1 pr6|418 004013 aa 014000 4310 07 fld 6144,dl 004014 aa 6 00044 3701 20 epp4 pr6|36,* 004015 la 4 00030 3521 20 epp2 pr4|24,* ioa_$rs 004016 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 566 call put_list; 004017 aa 000053 6700 04 tsp4 43,ic 004072 STATEMENT 1 ON LINE 568 if P_arg_ptr -> form_link_info_args.version = form_link_info_args_version_1 then form_link_info_args.list_bc = lslng * 9; 004020 aa 6 00032 3735 20 epp7 pr6|26,* 004021 aa 7 00002 3715 20 epp5 pr7|2,* P_arg_ptr 004022 aa 5 00000 2361 20 ldq pr5|0,* form_link_info_args.version 004023 aa 000001 1160 07 cmpq 1,dl 004024 aa 000006 6010 04 tnz 6,ic 004032 004025 aa 6 00104 2361 00 ldq pr6|68 lslng 004026 aa 000011 4020 07 mpy 9,dl 004027 aa 6 00136 3535 20 epp3 pr6|94,* arg_ptr 004030 aa 3 00001 7561 00 stq pr3|1 form_link_info_args.list_bc 004031 aa 000005 7100 04 tra 5,ic 004036 STATEMENT 1 ON LINE 570 else args.list_bc = lslng * 9; 004032 aa 6 00104 2361 00 ldq pr6|68 lslng 004033 aa 000011 4020 07 mpy 9,dl 004034 aa 6 00122 3535 20 epp3 pr6|82,* argp 004035 aa 3 00004 7561 00 stq pr3|4 args.list_bc STATEMENT 1 ON LINE 571 if sortp ^= null then call release_temp_segment_ ("form_link_info_", sortp, code); 004036 aa 6 00214 2371 00 ldaq pr6|140 sortp 004037 aa 774037 6770 04 eraq -2017,ic 000076 = 077777000043 000001000000 004040 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 004041 aa 000030 6000 04 tze 24,ic 004071 004042 aa 774131 2350 04 lda -1959,ic 000173 = 146157162155 004043 aa 774131 2360 04 ldq -1959,ic 000174 = 137154151156 004044 aa 6 00642 7571 00 staq pr6|418 004045 aa 774130 2350 04 lda -1960,ic 000175 = 153137151156 004046 aa 774130 2360 04 ldq -1960,ic 000176 = 146157137000 004047 aa 6 00644 7571 00 staq pr6|420 004050 aa 6 00642 3521 00 epp2 pr6|418 004051 aa 6 00746 2521 00 spri2 pr6|486 004052 aa 6 00214 3521 00 epp2 pr6|140 sortp 004053 aa 6 00750 2521 00 spri2 pr6|488 004054 aa 7 00004 3521 20 epp2 pr7|4,* code 004055 aa 6 00752 2521 00 spri2 pr6|490 004056 aa 773765 3520 04 epp2 -2059,ic 000043 = 524000000017 004057 aa 6 00754 2521 00 spri2 pr6|492 004060 aa 773772 3520 04 epp2 -2054,ic 000052 = 464000000000 004061 aa 6 00756 2521 00 spri2 pr6|494 004062 aa 773767 3520 04 epp2 -2057,ic 000051 = 404000000043 004063 aa 6 00760 2521 00 spri2 pr6|496 004064 aa 6 00744 6211 00 eax1 pr6|484 004065 aa 014000 4310 07 fld 6144,dl 004066 aa 6 00044 3701 20 epp4 pr6|36,* 004067 la 4 00014 3521 20 epp2 pr4|12,* release_temp_segment_ 004070 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 574 return; 004071 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 609 end form_link_info_; BEGIN PROCEDURE put_list ENTRY TO put_list STATEMENT 1 ON LINE 576 put_list: proc; 004072 aa 6 00576 6501 00 spri4 pr6|382 STATEMENT 1 ON LINE 579 substr (listing, lslng + 1, l1) = substr (wst, 1, l1); 004073 aa 6 00104 7271 00 lxl7 pr6|68 lslng 004074 aa 6 00132 3735 20 epp7 pr6|90,* listp 004075 aa 6 00105 7261 00 lxl6 pr6|69 l1 004076 aa 040 157 100 540 mlr (pr,rl),(pr,rl,x7),fill(040) 004077 aa 6 00300 00 0016 desc9a pr6|192,x6 wst 004100 aa 7 00000 00 0016 desc9a pr7|0,x6 listing STATEMENT 1 ON LINE 581 lslng = lslng + l1; 004101 aa 6 00105 2361 00 ldq pr6|69 l1 004102 aa 6 00104 0561 00 asq pr6|68 lslng STATEMENT 1 ON LINE 583 return; 004103 aa 6 00576 6101 00 rtcd pr6|382 STATEMENT 1 ON LINE 585 end put_list; END PROCEDURE put_list BEGIN PROCEDURE put_nl ENTRY TO put_nl STATEMENT 1 ON LINE 587 put_nl: proc; 004104 aa 6 00604 6501 00 spri4 pr6|388 STATEMENT 1 ON LINE 590 substr (listing, lslng + 1, 1) = newline; 004105 aa 6 00104 7271 00 lxl7 pr6|68 lslng 004106 aa 6 00132 3735 20 epp7 pr6|90,* listp 004107 aa 012 117 100 400 mlr (),(pr,x7),fill(012) 004110 aa 000000 00 0000 desc9a 0,0 004111 aa 7 00000 00 0001 desc9a pr7|0,1 listing STATEMENT 1 ON LINE 591 lslng = lslng + 1; 004112 aa 6 00104 0541 00 aos pr6|68 lslng STATEMENT 1 ON LINE 592 return; 004113 aa 6 00604 6101 00 rtcd pr6|388 STATEMENT 1 ON LINE 594 end put_nl; END PROCEDURE put_nl END PROCEDURE form_link_info_ ----------------------------------------------------------- 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