COMPILATION LISTING OF SEGMENT azm_stack_trace_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/24/88 1434.5 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 6* * * 7* *********************************************************** */ 8 9 10 11 /****^ HISTORY COMMENTS: 12* 1) change(86-12-10,DGHowe), approve(86-12-10,MCR7595), 13* audit(87-01-07,JRGray), install(87-01-09,MR12.0-1267): 14* Changed to use include file arg_list.incl.pl1 and to check the mbz in 15* command_name_arglist rather than the pad2 field in arg_list for zero. 16* 2) change(86-12-15,Parisek), approve(87-07-09,MCR7746), 17* audit(87-07-23,Fawcett), install(87-07-28,MR12.1-1049): 18* Eliminate "garbage" in argument displays because of bad pointer offset 19* values, and look at proper arg list structure when call_type is 20* Envptr_supplied_call_type. 21* 3) change(87-06-29,Parisek), approve(87-07-09,MCR7746), 22* audit(87-07-23,Fawcett), install(87-07-28,MR12.1-1049): 23* Increased the string size of bound_comp_name from 64 chars to 128 chars 24* since some pathnames exceed 64 chars. 25* END HISTORY COMMENTS */ 26 27 azm_stack_trace_: 28 proc (P_caller, P_sci_ptr, P_amu_info_ptr, P_stack_ptr, P_fwd_sw, P_arg_sw, P_long_sw, P_force_sw, P_for_number, P_code); 29 30 /* Modified 12/1/83 by B. Braun to not call interpret_ptr_ to obtain info for the ARGs of a stack frame. This 31*is because interpret_ptr_ references the current process and not the FDUMP, So we call amu_$get_name instead. 32* Modified Sept 1984 by R. A. Fawcett to remove displaying args when looking for an entry 33* also remove warning messages from frame_args_ and look for argumnet data via "hunt" so that 34* the object code can be found . 35* Modified Jan 21 1985 by B. Braun to add a P_caller to all entries. 36**/ 37 38 39 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend,ifthendo,ifthen,^thendo */ 40 /* Parameters */ 41 42 dcl (P_amu_info_ptr, P_sci_ptr, P_stack_ptr, P_entry_ptr) ptr; 43 dcl (P_fwd_sw, P_arg_sw, P_long_sw, P_force_sw) bit (1); 44 dcl P_for_number fixed bin; 45 dcl P_code fixed bin (35); 46 dcl P_ring_zero bit (1); /* Automatic */ 47 dcl P_caller char(*); 48 49 dcl temp_ptr ptr init (null); 50 dcl entry_name char (36) init (""); 51 dcl (pxss_ptr, page_ptr) ptr init (null); 52 dcl wire_ptr ptr init (null ()); 53 dcl frame_number fixed bin init (0); 54 dcl search_entry_ptr ptr init (null); 55 dcl temp_proc_hold fixed bin init (0); 56 dcl (stop, no_arg_ptr, not_first) bit (1) init ("0"b); 57 dcl stack_frames_fwd fixed bin init (0); 58 dcl stack_frames_rev fixed bin init (0); 59 dcl number_mcs fixed bin init (0); 60 dcl next_frame_mc bit (1); 61 dcl check_err_sw bit (1) init ("0"b); 62 dcl for_number fixed bin init (0); 63 dcl number_of_valid_stacks fixed bin init (0); 64 dcl code fixed bin (35) init (0); 65 dcl (offset, first) fixed bin (18) init (0); 66 dcl stack_offset fixed bin (18) init (0); 67 dcl segno fixed bin init (0); 68 dcl bound_comp_name char (128) init (""); 69 dcl based_regs (8) fixed bin (35) based; 70 dcl data_buf_ptr ptr init (null); 71 dcl (fwd_sw, arg_sw, long_sw, force_sw, error_rev, error_fwd, pg_err) bit (1) init ("0"b); 72 dcl (save_prev_sp, save_next_sp) ptr init (null); 73 dcl (last_found_fwd_sp, last_found_rev_sp) ptr init (null); 74 dcl stack_ptr ptr init (null); 75 dcl 1 temp_trans like translation; 76 dcl frames_array_fwd (stack_frames_fwd) ptr based (frames_fwd_ptr); 77 dcl frames_array_rev (stack_frames_rev) ptr based (frames_rev_ptr); 78 dcl frames_fwd_ptr ptr init (null); 79 dcl frames_rev_ptr ptr init (null); 80 dcl temp_word bit (36) aligned init ("0"b); 81 dcl temp_desc fixed bin (35) init (0); 82 dcl temp_entry_ptr ptr init (null); 83 dcl (temp_arg_ptr, temp_desc_ptr) ptr init (null); 84 dcl 1 page_err_regs, 85 2 pg_ptr (0:7) ptr, 86 2 ou_regs (8) fixed bin (35); 87 dcl sys_info$max_seg_size fixed bin (35) ext static; 88 dcl max_stack_size fixed bin (18); 89 dcl fwd_bound_sw bit (1) init ("0"b); 90 dcl max_words fixed bin (18) init (0); 91 dcl argp ptr init (null); 92 dcl ap ptr init (null); /* ptr to arglist. */ 93 dcl strp ptr init (null); 94 dcl tp ptr init (null); 95 dcl xdesc (64) ptr; 96 dcl tdesc (64) ptr; 97 dcl t_args_p (0:128) ptr; 98 dcl arg_list_length fixed bin (18) init (0); 99 dcl (i, j, jd, k) fixed bin init (0); 100 dcl (min_arg, max_arg, type, xtype) fixed bin init (0); 101 dcl (no_args, no_desc, strl, ndims, scale) fixed bin init (0); 102 dcl (xstrl, xndims, xscale, xnargs, tnargs) fixed bin init (0); 103 dcl c75 char (75) aligned init (""); 104 dcl (ttype, xttype) char (40) init (""); 105 dcl ascii_representation char (132) varying init (""); 106 107 dcl (packed, xpacked) bit (1) aligned init ("0"b); 108 dcl begin_block_entries (2) bit (36) aligned internal static options (constant) 109 init ("000614272100"b3 /* tsp2 pr0|614 */, "001376272100"b3 /* tsp2 pr0|1376 */); 110 111 dcl 1 its_ptr aligned like its; 112 113 dcl ptr_array (0:10) ptr based (argp); 114 dcl packptr ptr based unaligned; 115 dcl fword (4) fixed bin (35) based (argp); 116 dcl bcs char (100) based (argp); 117 dcl char_string char (strl) based (argp); 118 dcl based_bit bit (36) aligned based; 119 dcl bit_string bit (strl) based (argp); 120 dcl 1 label_variable based (argp) aligned, 121 2 ptr ptr, 122 2 stack ptr; 123 124 dcl 1 temp_arg, 125 2 var_pad fixed bin, /* placed here so args can start on mod 2 bound */ 126 2 var_length fixed bin, /* if desc type is varing */ 127 2 a_buf (50) fixed bin (71); /* save 100 words for translation of arg */ 128 dcl log_seg_ptr ptr; 129 dcl log_mess_len fixed bin (21); 130 dcl log_mess char (log_mess_len) based (log_seg_ptr); 131 dcl LEGAL char (96) int static 132 init 133 /* Printables except PAD, but with BS */ ( 134 " !""#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"); 135 136 dcl ( 137 amu_et_$not_implemented, 138 amu_et_$no_translation, 139 amu_et_$looping_problem, 140 error_table_$action_not_performed, 141 error_table_$seg_not_found, 142 amu_et_$invalid_segno, 143 amu_et_$entry_not_found, 144 amu_et_$no_valid_stacks, 145 amu_et_$not_stack_seg, 146 amu_et_$end_ptr_oob 147 ) fixed bin (35) ext static; 148 149 dcl ( 150 ioa_, 151 ioa_$nnl, 152 ioa_$rsnnl 153 ) entry () options (variable); 154 dcl condition_ entry (char (*), entry); 155 dcl get_entry_arg_descs_ entry (ptr, fixed bin, (*) ptr, fixed bin (35)); 156 dcl decode_descriptor_ entry (ptr, fixed bin, fixed bin, bit (1) aligned, fixed bin, fixed bin, fixed bin); 157 dcl sci_ptr ptr; 158 dcl arithmetic_to_ascii_ entry (ptr, fixed bin, bit (1) aligned, fixed bin, fixed bin, char (132) varying); 159 dcl amu_$definition_set_prn entry (ptr, char (*), fixed bin, fixed bin (18), fixed bin (35)); 160 dcl amu_$definition_ptr entry (ptr, char (*), char (*), fixed bin (35)) returns (ptr); 161 dcl azm_syserr_$returns_string entry (ptr, ptr, fixed bin, fixed bin (35), ptr, fixed bin (21), fixed bin (35)); 162 dcl azm_ret_x7_stack_$pxss entry (fixed bin, fixed bin, fixed bin); 163 dcl azm_ret_x7_stack_$page entry (fixed bin, fixed bin, fixed bin); 164 dcl amu_$return_val_per_process entry (ptr, fixed bin) returns (bit (1)); 165 dcl amu_$fdump_mpt_change_idx entry (ptr, fixed bin); 166 dcl amu_$error_for_caller entry () options (variable); 167 dcl amu_$print_dump_oct entry (ptr, fixed bin (18), fixed bin (18)); 168 dcl amu_$get_name entry (ptr, ptr) returns (char (*)); 169 dcl amu_$get_name_no_comp entry (ptr, ptr) returns (char (*)); 170 dcl amu_$translate_get entry (ptr, fixed bin, ptr, fixed bin (35)); 171 dcl amu_$translate_force_add entry (ptr, ptr, fixed bin, fixed bin (35)); 172 dcl amu_$fdump_translate_to_temp_seg entry (ptr, ptr, ptr, fixed bin (35)); 173 dcl ssu_$get_temp_segment entry (ptr, char(*), ptr); 174 dcl ssu_$print_message entry() options(variable); 175 dcl ssu_$release_temp_segment entry (ptr, ptr); 176 dcl amu_$do_translation_by_ptr entry (ptr, ptr, fixed bin (18), ptr, fixed bin (35)); 177 dcl amu_$do_translation_hunt_ptr entry (ptr, ptr, ptr, fixed bin (35)); 178 dcl amu_$do_translation_hunt entry (ptr, fixed bin, ptr, fixed bin (18), fixed bin (18), fixed bin (35)); 179 dcl amu_$definition_set_from entry (ptr, char (*), ptr, fixed bin (35)); 180 dcl azm_display_mc_ entry (ptr, ptr, ptr, ptr, fixed bin (35)); 181 dcl azm_display_mc_$regs_only entry (ptr, ptr, ptr, ptr, fixed bin (35)); 182 dcl (addr, addrel, baseno, baseptr, index, hbound, lbound, 183 min, null, pointer, substr, fixed, max, rel, rtrim, verify, unspec) builtin; 184 dcl (cleanup, fault_tag_1) condition; 185 186 187 entry_name = "azm_stack_trace"; 188 sci_ptr = P_sci_ptr; 189 for_number = P_for_number; 190 frames_fwd_ptr = null (); 191 frames_rev_ptr = null (); 192 amu_info_ptr = P_amu_info_ptr; 193 stack_ptr = P_stack_ptr; 194 fwd_sw = P_fwd_sw; 195 force_sw = P_force_sw; 196 arg_sw = P_arg_sw; 197 long_sw = P_long_sw; 198 199 on condition(cleanup) begin; 200 if frames_fwd_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, frames_fwd_ptr); 201 if frames_rev_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, frames_rev_ptr); 202 end; 203 204 call get_stack; 205 if code ^= 0 then goto ERROR; 206 if stack_offset = 0 then do; 207 sp = pointer (sb, fixed (rel (stack_header.stack_begin_ptr), 18)); 208 if fixed (rel (sp), 18) >= fixed (rel (stack_header.stack_end_ptr), 18) then do; 209 if ^force_sw then do; 210 P_stack_ptr = stack_header.stack_end_ptr; 211 code = amu_et_$no_valid_stacks; 212 goto ERROR; 213 end; 214 else fwd_sw = "1"b; 215 end; 216 end; 217 else do; 218 sp = pointer (sb, stack_offset); /* use the offset the user gave us */ 219 force_sw = "1"b; 220 end; 221 222 error_rev, error_fwd = "0"b; 223 stack_frames_fwd, stack_frames_rev = 0; 224 call CHECK_THREAD; 225 if code ^= 0 then goto ERROR; 226 if fwd_sw then 227 sp = frames_array_fwd (1); 228 else sp = frames_array_rev (1); 229 stop = "0"b; 230 231 if ^fwd_sw & error_rev & ^force_sw then do; 232 call ioa_ ("Trace will be Forward."); 233 fwd_sw = "1"b; 234 end; 235 PRINT_STACK: 236 on fault_tag_1 begin; 237 call ssu_$print_message (sci_ptr,0,"fault_tag_1 cannot continue"); 238 P_code,code = 0; 239 goto NORMAL_RETURN; 240 end; 241 242 call ioa_ ("^/^[Forward^;Reverse^] trace of ^a (Seg ^o)", fwd_sw, 243 amu_$get_name_no_comp (amu_info_ptr, P_stack_ptr), fixed (baseno (P_stack_ptr), 17)); 244 call ioa_ ("Number of stack frames ^[^d^;^s^]^[^d^;^s^].^[^/Previous stack frame ^p.^]", fwd_sw, 245 stack_frames_fwd, ^fwd_sw, stack_frames_rev, fwd_sw, stack_frame.prev_sp); 246 247 call ioa_ ("Stack begin = ^p Stack end = ^p", stack_header.stack_begin_ptr, stack_header.stack_end_ptr); 248 call ioa_ ("FRAME^13tRETURN_PTR"); 249 frame_number, number_mcs = 0; 250 pxss_ptr = amu_$definition_ptr (amu_info_ptr, "pxss", "block", code); 251 if code ^= 0 then do; 252 P_code = code; 253 return; 254 end; 255 page_ptr = amu_$definition_ptr (amu_info_ptr, "page_fault", "done", code); 256 if code ^= 0 then do; 257 P_code = code; 258 return; 259 end; 260 call check_next; 261 pg_err = "0"b; 262 do while (^stop); 263 bound_comp_name = amu_$get_name (amu_info_ptr, stack_frame.return_ptr); 264 call ioa_ ("^12p^12p ^a", real_ptr (sp), 265 pointer(stack_frame.return_ptr,rel(stack_frame.return_ptr)), 266 bound_comp_name); 267 call savex_stack_; 268 call mc_frame ("0"b); 269 270 if long_sw | arg_sw then do; 271 call display_args; 272 if index (bound_comp_name, "$page_error") ^= 0 then do; 273 if fwd_sw then do; 274 if ^pg_err then do; 275 call display_page_err_regs; 276 call ioa_ (" "); 277 pg_err = "1"b; 278 end; 279 end; 280 else do; 281 if pg_err then do; 282 call display_page_err_regs; 283 call ioa_ (" "); 284 pg_err = "0"b; 285 end; 286 else pg_err = "1"b; 287 end; 288 end; 289 290 end; 291 no_arg_ptr = "0"b; 292 if long_sw then call display_frame; 293 call check_next; 294 end; 295 if ^fwd_sw then do; 296 call ioa_ ("Previous stack frame ^p", stack_frame.prev_sp); 297 end; 298 if error_fwd & error_rev & ^force_sw then do; 299 fwd_sw = ^fwd_sw; 300 error_fwd, error_rev = "0"b; 301 goto PRINT_STACK; 302 end; 303 P_code = 0; 304 goto NORMAL_RETURN; 305 306 ERROR: 307 P_code = code; 308 NORMAL_RETURN: 309 if frames_fwd_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, frames_fwd_ptr); 310 if frames_rev_ptr ^= null() then call ssu_$release_temp_segment(sci_ptr, frames_rev_ptr); 311 return; 312 313 314 315 azm_stack_trace_$check_for_entry: 316 entry (P_caller, P_sci_ptr, P_amu_info_ptr, P_stack_ptr, P_entry_ptr, P_code); 317 318 entry_name = "azm_stack_trace_$check_for_entry"; 319 search_entry_ptr = P_entry_ptr; 320 sci_ptr = P_sci_ptr; 321 check_err_sw = "0"b; 322 call common_check_entry(); 323 P_code = code; 324 goto NORMAL_RETURN; 325 326 azm_stack_trace_$check_for_mc: 327 entry (P_caller, P_sci_ptr, P_amu_info_ptr, P_stack_ptr, P_ring_zero, P_code); 328 code, P_code = 0; 329 entry_name = "azm_stack_trace_$check_for_mc"; 330 sci_ptr = P_sci_ptr; 331 force_sw = "0"b; 332 call set_up_search; 333 if code ^= 0 then goto ERROR; 334 fwd_sw = "1"b; 335 number_mcs = 0; 336 call check_next; 337 do while (^stop); 338 if P_ring_zero | next_frame_mc then do; 339 if number_mcs = 0 then 340 call mc_frame ("1"b); 341 else call mc_frame ("0"b); 342 end; 343 if stack_frame_flags.signaller then 344 next_frame_mc = "1"b; 345 else next_frame_mc = "0"b; 346 if number_mcs = 4 then do; 347 code = amu_et_$looping_problem; 348 goto ERROR; 349 end; 350 if code ^= 0 then goto ERROR; 351 call check_next; 352 end; 353 if number_mcs = 0 then P_code = error_table_$action_not_performed; 354 goto NORMAL_RETURN; 355 356 azm_stack_trace_$check_for_syserr: 357 entry (P_caller, P_sci_ptr, P_amu_info_ptr, P_stack_ptr, P_code); 358 359 entry_name = "azm_stack_trace_$check_for_syserr"; 360 amu_info_ptr = P_amu_info_ptr; 361 sci_ptr = P_sci_ptr; 362 search_entry_ptr = amu_$definition_ptr (amu_info_ptr, "syserr_real", "syserr_real", code); 363 if code ^= 0 then goto ERROR; 364 check_err_sw = "1"b; 365 wire_ptr = amu_$definition_ptr (amu_info_ptr, "wire_stack", "wire_stack", code); 366 367 call common_check_entry(); 368 if code = amu_et_$entry_not_found then do; 369 search_entry_ptr = amu_$definition_ptr (amu_info_ptr, 370 "syserr_real", "binary", code); 371 if code ^= 0 then goto ERROR; 372 call common_check_entry(); 373 if code = amu_et_$entry_not_found then do; 374 search_entry_ptr = amu_$definition_ptr (amu_info_ptr, 375 "syserr_real", "error_code", code); 376 if code ^= 0 then goto ERROR; 377 call common_check_entry(); 378 end; 379 end; 380 P_code = code; 381 goto NORMAL_RETURN; 382 383 check_next: 384 proc; 385 386 frame_number = frame_number + 1; 387 if for_number >= 1 then if frame_number > for_number then do; 388 stop = "1"b; 389 return; 390 end; 391 if fwd_sw then do; 392 if frame_number > stack_frames_fwd then do; 393 stop = "1"b; 394 end; 395 else sp = frames_array_fwd (frame_number); 396 end; 397 else do; 398 if frame_number > stack_frames_rev then do; 399 stop = "1"b; 400 end; 401 else sp = frames_array_rev (frame_number); 402 end; 403 404 end check_next; 405 406 407 408 CHECK_THREAD: 409 proc; 410 411 fwd_bound_sw = "0"b; 412 max_stack_size = sys_info$max_seg_size; 413 if force_sw then 414 if ^fwd_sw then goto Check_stack_thread_rev; 415 call ssu_$get_temp_segment (sci_ptr, "stack_frames_fwd", frames_fwd_ptr); 416 417 Check_stack_thread_fwd: 418 419 on fault_tag_1 begin; 420 goto stack_error_fwd; 421 end; 422 stop = "0"b; 423 not_first = "0"b; 424 save_prev_sp = stack_frame.prev_sp; 425 do while (^stop); 426 if (fixed (rel (stack_frame.next_sp), 18) < max_stack_size) then 427 if thread_ptr_val (stack_frame.next_sp, not_first) then 428 if (fixed (rel (sp), 18) < fixed (rel (stack_frame.next_sp), 18)) then 429 if fixed (rel (stack_frame.next_sp), 18) <= fixed (rel (stack_header.stack_end_ptr), 18) 430 then if fixed (rel (stack_frame.next_sp), 18) ^= fixed (rel (stack_header.stack_end_ptr)) 431 then do; 432 fwd_next_frame: 433 do i = 1 to stack_frames_fwd; 434 if frames_array_fwd (i) = sp then do; 435 call ioa_ ("Stack frame wraps around"); 436 stop = "1"b; 437 end; 438 end; 439 440 stack_frames_fwd = stack_frames_fwd + 1; 441 frames_array_fwd (stack_frames_fwd) = sp; 442 save_prev_sp = sp; 443 not_first = "1"b; 444 sp = pointer (sb, fixed (rel (stack_frame.next_sp), 18)); 445 end; 446 447 else do; 448 stop = "1"b; 449 stack_frames_fwd = stack_frames_fwd + 1; 450 frames_array_fwd (stack_frames_fwd) = sp; 451 end; 452 else do; 453 if force_sw then 454 goto fwd_next_frame; 455 else do; 456 call ioa_ ("^-(fwd) next_sp > stack_end_ptr for frame ^p", real_ptr (sp)); 457 goto stack_error_fwd; 458 end; 459 end; 460 461 else do; 462 call ioa_ ("^-(fwd) next_sp >= sp: sp = ^p", real_ptr (sp)); 463 goto stack_error_fwd; 464 end; 465 else do; 466 call ioa_ ("^-(fwd) next_sp not valid ^p sp ^p", stack_frame.next_sp, real_ptr (sp)); 467 goto stack_error_fwd; 468 end; 469 else do; 470 call ioa_ ("^-(fwd) next_sp out_of_bounds ^p sp ^p", stack_frame.next_sp, real_ptr (sp)); 471 fwd_bound_sw = "1"b; 472 goto stack_error_fwd; 473 end; 474 end; 475 goto good_thread_fwd; 476 stack_error_fwd: 477 stack_frames_fwd = stack_frames_fwd + 1; 478 frames_array_fwd (stack_frames_fwd) = sp; 479 error_fwd = "1"b; 480 481 good_thread_fwd: 482 483 revert fault_tag_1; 484 last_found_fwd_sp = sp; 485 if force_sw then return; /* Now check rev */ 486 487 Check_stack_thread_rev: 488 489 on fault_tag_1 begin; 490 goto stack_error_rev; 491 end; 492 call ssu_$get_temp_segment (sci_ptr, "stack_frames_rev", frames_rev_ptr); 493 stop = "0"b; 494 not_first = "1"b; 495 if stack_offset = 0 then do; 496 if fwd_bound_sw then sp = last_found_fwd_sp; 497 if (fixed (rel (stack_header.stack_end_ptr), 18) < max_stack_size) then 498 sp = pointer (sb, fixed (rel (stack_header.stack_end_ptr), 18)); 499 else do; 500 if force_sw & ^fwd_sw then do; 501 code = amu_et_$end_ptr_oob; 502 return; 503 end; 504 end; 505 if ^thread_ptr_val (stack_frame.prev_sp, not_first) then do; 506 sp = last_found_fwd_sp; 507 end; 508 else do; 509 sp = pointer (sb, fixed (rel (stack_frame.prev_sp), 18)); 510 end; 511 end; 512 else do; 513 sp = pointer (sp, stack_offset); 514 end; 515 516 if ^thread_ptr_val (stack_frame.next_sp, not_first) then do; 517 sp = last_found_fwd_sp; 518 end; 519 520 do while (^stop); 521 if thread_ptr_val (stack_frame.prev_sp, not_first) then 522 if (fixed (rel (sp), 18) > fixed (rel (stack_frame.prev_sp), 18)) 523 | rel (sp) = rel (stack_header.stack_begin_ptr) then 524 if fixed (rel (stack_frame.prev_sp), 18) >= fixed (rel (stack_header.stack_begin_ptr), 18) then 525 if fixed (rel (sp), 18) ^= fixed (rel (stack_header.stack_begin_ptr)) then do; 526 rev_next_frame: 527 do i = 1 to stack_frames_rev; 528 if frames_array_rev (i) = sp then do; 529 call ioa_ ("Stack frame wraps around"); 530 stop = "1"b; 531 end; 532 end; 533 534 save_next_sp = sp; 535 stack_frames_rev = stack_frames_rev + 1; 536 frames_array_rev (stack_frames_rev) = sp; 537 sp = pointer (sb, fixed (rel (stack_frame.prev_sp), 18)); 538 if fixed (rel (sp), 18) = fixed (rel (stack_header.stack_begin_ptr), 18) then 539 not_first = "0"b; 540 541 end; 542 else do; 543 stack_frames_rev = stack_frames_rev + 1; 544 frames_array_rev (stack_frames_rev) = sp; 545 stop = "1"b; 546 end; 547 else do; 548 if fixed (rel (sp), 18) = fixed (rel (stack_header.stack_begin_ptr), 18) then do; 549 stop = "1"b; 550 stack_frames_rev = stack_frames_rev + 1; 551 frames_array_rev (stack_frames_rev) = sp; 552 end; 553 else do; 554 call ioa_ ("^-(rev) prev_sp (^p) < stack_begin_ptr for frame ^p", stack_frame.prev_sp, 555 real_ptr (sp)); 556 goto stack_error_rev; 557 end; 558 end; 559 560 else do; 561 call ioa_ ("^-(rev) prev_sp ^p > sp for frame ^p", stack_frame.prev_sp, real_ptr (sp)); 562 goto stack_error_rev; 563 end; 564 else do; 565 call ioa_ ("^-(rev) prev_sp not valid ^p for frame ^p", stack_frame.prev_sp, real_ptr (sp)); 566 goto stack_error_rev; 567 end; 568 end; 569 goto good_thread_rev; 570 571 stack_error_rev: 572 573 stack_frames_rev = stack_frames_rev + 1; 574 frames_array_rev (stack_frames_rev) = sp; 575 error_rev = "1"b; 576 577 good_thread_rev: 578 579 revert fault_tag_1; 580 last_found_rev_sp = sp; 581 return; 582 583 end CHECK_THREAD; 584 585 common_check_entry: proc(); 586 587 dcl this_frame bit (1); 588 589 fwd_sw = "0"b; 590 force_sw = "0"b; 591 call set_up_search; 592 if code ^= 0 then return; 593 stop = "0"b; 594 pxss_ptr = amu_$definition_ptr (amu_info_ptr, "pxss", "block", code); 595 if code ^= 0 then return; 596 page_ptr = amu_$definition_ptr (amu_info_ptr, 597 "page_fault", "done", code); 598 if code ^= 0 then return; 599 pg_err = "0"b; 600 call check_next; 601 do while (^stop); 602 this_frame = "0"b; 603 bound_comp_name = " "; 604 if stack_frame.entry_ptr = search_entry_ptr then 605 this_frame = "1"b; 606 if check_err_sw then do; 607 bound_comp_name = amu_$get_name (amu_info_ptr, 608 stack_frame.entry_ptr); 609 if index(bound_comp_name,"syserr_real") ^= 0 610 then this_frame = "1"b; 611 end; 612 if this_frame then do; 613 if check_err_sw then do; 614 call ssu_$get_temp_segment (sci_ptr, rtrim(entry_name),log_seg_ptr); 615 call azm_syserr_$returns_string (sci_ptr, amu_info_ptr, 616 1, 99, log_seg_ptr, log_mess_len, code); 617 if code ^= 0 then do; 618 call ssu_$release_temp_segment(sci_ptr, log_seg_ptr); 619 return; 620 end; 621 call ioa_$nnl ("Syserr message:^/^3x^a", log_mess); 622 call ssu_$release_temp_segment(sci_ptr, log_seg_ptr); 623 end; 624 call ioa_ ("^/^2x^a^/stack frame at ^p", 625 amu_$get_name (amu_info_ptr, stack_frame.entry_ptr), 626 real_ptr (sp)); 627 call check_next; 628 bound_comp_name = amu_$get_name (amu_info_ptr, 629 stack_frame.return_ptr); 630 if check_err_sw then do; 631 skip_frame: 632 if (index(bound_comp_name,"wire_stack") ^= 0) | 633 (index(bound_comp_name, "pl1_operator") ^= 0) then do; 634 call check_next; 635 bound_comp_name = amu_$get_name (amu_info_ptr, 636 stack_frame.return_ptr); 637 goto skip_frame; 638 end; 639 end; 640 tell_called_by: 641 call ioa_ ("^/^2xcalled by ^p^2x^a^/at stack frame ^p", 642 stack_frame.return_ptr, bound_comp_name,real_ptr (sp)); 643 call savex_stack_; 644 call check_page_err; 645 if pg_err then do; 646 call check_next; 647 goto tell_called_by; 648 end; 649 call ioa_ ("^3xSetting frame ptr (prfr) to ^p", real_ptr (sp)); 650 call amu_$definition_set_prn (amu_info_ptr, "prfr", 651 fixed (baseno (real_ptr (sp)), 17), 652 fixed (rel (real_ptr (sp)), 18), code); 653 if code ^= 0 then return; 654 return; 655 end; 656 call check_next; 657 end; 658 code = amu_et_$entry_not_found; 659 return; 660 661 end common_check_entry; 662 663 664 check_page_err: 665 proc; 666 667 if index (bound_comp_name, "$page_error") ^= 0 then do; 668 if pg_err then do; 669 call ioa_ ("ENTRY PTR ^p ^a", stack_frame.entry_ptr, 670 amu_$get_name (amu_info_ptr, stack_frame.entry_ptr)); 671 call display_page_err_regs; 672 call ioa_ ("Setting temporary pointer regs from ^p", 673 real_ptr (sp)); 674 call amu_$definition_set_from (amu_info_ptr, "prs", 675 sp, code); 676 pg_err = "0"b; 677 end; 678 else pg_err = "1"b; 679 end; 680 end check_page_err; 681 682 display_args: 683 proc; /* this will display the args for this frame */ 684 if no_arg_ptr then return; /* do not print the args for this frame */ 685 if addr (stack_frame.entry_ptr) -> its.its_mod = ITS_MODIFIER then 686 if addr (stack_frame.entry_ptr) -> its.segno ^= "0"b then 687 if stack_frame.entry_ptr ^= null then 688 call ioa_ ("^/^-Entry ptr ^p ^a", stack_frame.entry_ptr, 689 amu_$get_name (amu_info_ptr, stack_frame.entry_ptr)); 690 if addr (stack_frame.operator_and_lp_ptr) -> its.its_mod = ITS_MODIFIER then 691 if addr (stack_frame.operator_and_lp_ptr) -> its.segno ^= "0"b then 692 if stack_frame.operator_and_lp_ptr ^= null then 693 call ioa_ ("^-Operator/Link ptr ^p", stack_frame.operator_and_lp_ptr); 694 if addr (stack_frame.arg_ptr) -> its.its_mod = ITS_MODIFIER then 695 if addr (stack_frame.arg_ptr) -> its.segno ^= "0"b then 696 if stack_frame.arg_ptr ^= null then do; 697 call ioa_ ("^-Arg ptr ^p ", stack_frame.arg_ptr); 698 call print_args; 699 return; 700 end; 701 call ioa_ ("^-Arg ptr ^p invalid^/", stack_frame.arg_ptr); 702 end display_args; 703 704 705 706 display_frame: 707 proc; /* This will display the oct dump of the frame */ 708 709 call amu_$print_dump_oct (sp, fixed (rel (sp), 18), 710 (fixed (rel (stack_frame.next_sp), 18) - fixed (rel (sp), 18))); 711 call ioa_ ("^/"); 712 return; 713 end display_frame; 714 715 716 display_page_err_regs: 717 proc; 718 temp_word = "0"b; 719 page_err_regs.pg_ptr = sp -> mc.prs; 720 page_err_regs.ou_regs = addrel (sp, 32) -> based_regs; 721 arg_bits_ptr = addr (temp_word); 722 arg_bits_def.prs, arg_bits_def.regs = "1"b; 723 call ioa_ ("REGS saved by page_error:"); 724 call azm_display_mc_$regs_only (sci_ptr, amu_info_ptr, addr (page_err_regs), arg_bits_ptr, code); 725 end display_page_err_regs; 726 727 frame_args_: 728 proc; 729 730 dcl (xargp, ret_arg_ptr) ptr; 731 732 unspec (ap), unspec (its_ptr) = unspec (stack_frame.arg_ptr); 733 734 t_args_p (*) = null; 735 736 /* Extract argument ptr. */ 737 if its_ptr.its_mod ^= ITS_MODIFIER /* use valid pl1 code */ then go to badap; 738 if ap = null then do; 739 badap: 740 if addr (sp -> stack_frame.entry_ptr) -> its.its_mod = ITS_MODIFIER then 741 if sp -> stack_frame.entry_ptr ^= null then 742 do j = 1 to hbound (begin_block_entries, 1); 743 if addrel (sp -> stack_frame.entry_ptr, 1) -> based_bit = begin_block_entries (j) then do; 744 call ioa_ ("^-Begin block; no arguments."); 745 return; 746 end; 747 end; 748 call ioa_ ("^-Bad argument pointer."); 749 return; 750 end; 751 call amu_$do_translation_hunt_ptr (amu_info_ptr, stack_frame.arg_ptr, ap, code); 752 if code ^= 0 then do; 753 call amu_$error_for_caller (amu_info_ptr, code, P_caller, "translate segment ^p", stack_frame.arg_ptr); 754 code = 0; 755 return; 756 end; 757 no_args = ap->command_name_arglist.arg_count; /* get the number of arguments */ 758 no_desc = ap->command_name_arglist.desc_count; /* and the number of descriptors */ 759 if ^valid_arg_list () then do; 760 call ioa_ ("^-Arg list header invalid"); 761 code = 0; 762 return; 763 end; 764 arg_list_length = (no_args + no_desc + 1) * 2; 765 if no_args = 0 then do; /* check for no arguments */ 766 call ioa_ ("^-No arguments."); 767 return; 768 769 end; 770 771 ap = addr (t_args_p); 772 call amu_$do_translation_by_ptr (amu_info_ptr, stack_frame.arg_ptr, arg_list_length, ap, code); 773 if code ^= 0 then do; 774 call amu_$error_for_caller (amu_info_ptr, code, P_caller, "Segment pointer ^p", stack_frame.arg_ptr); 775 code = 0; 776 return; 777 end; 778 779 if baseno (stack_frame.entry_ptr) ^= "0"b then do; 780 call amu_$do_translation_hunt_ptr (amu_info_ptr, stack_frame.entry_ptr, temp_entry_ptr, code); 781 if code ^= 0 then do; 782 if code = error_table_$seg_not_found then do; 783 temp_entry_ptr = stack_frame.entry_ptr; 784 code = 0; 785 end; 786 else do; 787 call amu_$error_for_caller (amu_info_ptr, code, P_caller, 788 "Entry ptr ^p. Unable to determine arguments.", stack_frame.entry_ptr); 789 code = 0; 790 return; 791 end; 792 end; 793 794 call get_entry_arg_descs_ (temp_entry_ptr, xnargs, xdesc, code); 795 if code ^= 0 then do; 796 code = 0; 797 xnargs = 0; 798 end; 799 end; 800 801 else xnargs = 0; 802 803 if no_args > 64 then do; 804 call ioa_ ("^-Only first 64 args of ^d will be listed.", no_args); 805 no_args = 64; 806 if xnargs > 64 then xnargs = 64; 807 if no_desc ^= 0 then no_desc = 64; 808 end; 809 min_arg = 1; /* print out all arguments */ 810 max_arg = no_args; 811 max_words = 100; 812 call condition_ ("any_other", intproc); 813 argp = addr (temp_arg.a_buf); 814 do j = min_arg to max_arg; /* loop through the desired number of args */ 815 temp_arg_ptr = ap -> ptr_array (j); /* get pointer to the argument */ 816 if temp_arg_ptr ^= null then do; /* now get the arg data 100 words should do it */ 817 call amu_$do_translation_hunt (amu_info_ptr, fixed(baseno(temp_arg_ptr),17), 818 addr (temp_arg.a_buf), fixed(rel(temp_arg_ptr),18), max_words, code); 819 if code ^= 0 then do; 820 call ioa_ ("^-ARG ^2d: Cannot get data at ^p^/^-^7x^a", j, temp_arg_ptr, 821 amu_$get_name (amu_info_ptr, temp_arg_ptr)); 822 code = 0; 823 goto skiparg; 824 end; 825 end; 826 else do; /* pointer to arg = null */ 827 call ioa_ ("^-ARG ^2d: pointer to this arg is null ", j); 828 goto skiparg; 829 end; 830 if no_desc ^= 0 then do; /* if we have descriptors, look at them */ 831 /* get the pointer to the descriptor */ 832 if ap->arg_list_with_envptr.call_type = Envptr_supplied_call_type then 833 jd = j+1; 834 else jd = j; 835 836 if t_args_p (no_args + jd) = null then goto guess; 837 call amu_$do_translation_hunt_ptr (amu_info_ptr, t_args_p (no_args + jd), temp_desc_ptr, code); 838 if code ^= 0 then do; 839 code = 0; 840 goto guess; 841 end; 842 843 call decode_descriptor_ (temp_desc_ptr, 0, type, packed, ndims, strl, scale); 844 /* Does procedure expect arguments? */ 845 if xnargs >= j then 846 /* Yes. Do we know what this arg should be? */ 847 if xdesc (jd) ^= null then do; 848 call amu_$do_translation_hunt_ptr (amu_info_ptr, 849 pointer (stack_frame.entry_ptr, fixed (rel (xdesc (jd)), 18)), tdesc (jd), code); 850 if code ^= 0 then do; 851 call amu_$error_for_caller (amu_info_ptr, code, P_caller, "translate xdesc ^p", 852 xdesc (jd)); 853 code = 0; 854 return; 855 end; 856 857 call decode_descriptor_ (tdesc (jd), 0, xtype, xpacked, xndims, xstrl, xscale); 858 if xtype ^= type then do; 859 if type >= lbound (data_type_info_$info, 1) & type <= hbound (data_type_info_$info, 1) 860 then ttype = rtrim(type_name (type)); 861 else call ioa_$rsnnl ("type ^d", ttype, k, type); 862 if xtype >= lbound (data_type_info_$info, 1) 863 & xtype <= hbound (data_type_info_$info, 1) then 864 xttype = rtrim(type_name (xtype)); 865 else call ioa_$rsnnl ("type ^d", xttype, k, xtype); 866 end; 867 end; 868 end; 869 else do; /* try to find out what type by heuristics */ 870 guess: 871 packed = "0"b; 872 scale = 0; 873 ndims = 0; 874 if addr (temp_arg.a_buf (1)) -> its.its_mod = ITS_MODIFIER then 875 type = pointer_dtype; /* assume pointer */ 876 else do; 877 strl = verify (bcs, LEGAL) - 1; /* Scan for last legal char in string. */ 878 if strl < 0 then strl = 100; /* If all legal, print first 100. */ 879 if strl >= 2 then 880 type = char_dtype; 881 else type = -1; /* full word octal */ 882 end; 883 end; 884 885 call check_bit_offset (temp_arg_ptr, argp, ret_arg_ptr); 886 if ret_arg_ptr ^= null then do; 887 xargp = argp; 888 argp = ret_arg_ptr; 889 end; 890 if type = varying_bit_dtype | type = varying_char_dtype then do; 891 /* get the length */ 892 call amu_$do_translation_hunt (amu_info_ptr, fixed (baseno (argp), 17), 893 addrel (addr (temp_arg.a_buf), -1), (fixed (rel (argp), 18) - 1), 1, code); 894 if code ^= 0 then do; 895 call ioa_ ("^-ARG ^2d: ^w", j, fword (1)); 896 code = 0; 897 goto skiparg; 898 end; 899 end; 900 901 if type = -1 then call ioa_ ("^-ARG ^2d: ^w", j, fword (1)); 902 /* no descriptor; print full word octal */ 903 904 else if type < lbound (data_type_info_$info, 1) | type > hbound (data_type_info_$info, 1) then 905 call ioa_ ("^-ARG ^2d: (bad type ^d at ^p) ^w", j, type, argp, temp_arg.a_buf (1)); 906 907 else if data_type_info_$info (type).arithmetic then do; 908 call arithmetic_to_ascii_ (argp, type, packed, strl, scale, ascii_representation); 909 call ioa_ ("^-ARG ^2d: ^a", j, ascii_representation); 910 end; 911 912 else if type = pointer_dtype then do; /* Pointer */ 913 if packed then do; /* packed ptr */ 914 tp = argp -> packptr; 915 go to pptr; 916 end; 917 if argp -> its.its_mod = ITS_MODIFIER then do; 918 tp = argp -> ptr_array (0); 919 pptr: 920 921 call ioa_ ("^-ARG ^2d: ^p ^a", j, tp, amu_$get_name (amu_info_ptr, tp)); 922 end; 923 else call ioa_ ("^-ARG ^2d: ^w ^w", j, fword (1), fword (2)); 924 end; 925 926 else if type = offset_dtype /* Offset */ then call ioa_ ("^-ARG ^2d: ^w", j, fword (1)); 927 928 else if type = label_dtype | type = entry_dtype /* Label, Entry */ then do; 929 call ioa_ ("^-ARG ^2d: ^p ^a", j, label_variable.ptr, amu_$get_name (amu_info_ptr, argp->label_variable.ptr)); 930 end; 931 932 else if type = bit_dtype | type = varying_bit_dtype /* Bit string */ then do; 933 if type = varying_bit_dtype then strl = addrel (argp, -1) -> fword (1); 934 c75 = """"; /* initial quote */ 935 k = 0; /* count 1-bits */ 936 do i = 1 to min (strl, 72); 937 if substr (bit_string, i, 1) then do; 938 k = k + 1; 939 substr (c75, i + 1, 1) = "1"; 940 end; 941 else substr (c75, i + 1, 1) = "0"; 942 end; 943 substr (c75, i + 1, 2) = """b"; 944 if (strl <= 72 & strl > 1) then /* Maybe compress representation */ 945 if k = 0 then call ioa_$rsnnl ("(^d)""0""b", c75, k, strl); 946 else if k = strl then call ioa_$rsnnl ("(^d)""1""b", c75, k, strl); 947 call ioa_ ("^-ARG ^2d: ^a", j, c75); 948 end; 949 950 else if type = char_dtype | type = varying_char_dtype /* Character string */ then do; 951 if type = varying_char_dtype then strl = min (80, max (addrel (argp, -1) -> fword (1), 0)); 952 call ioa_ ("^-ARG ^2d: ""^va""", j, strl, char_string); 953 end; 954 955 else if type = file_dtype /* File */ then do; 956 call ioa_ ("^-ARG ^2d: ", j); 957 958 end; 959 960 else call ioa_ ("^-ARG ^2d: (^a at ^p) ^w", j, type_name (type), argp, fword (1)); 961 962 if ndims > 0 then call ioa_ ("^-^-(^d-dim array)", ndims); 963 if ret_arg_ptr ^= null then argp = xargp; 964 skiparg: 965 end; 966 967 /* ------------------------------------------------------- */ 968 969 intproc: 970 proc (mcp, cname, cop, infop, cont); 971 dcl (mcp, cop, infop) ptr, 972 cname char (*), 973 cont bit (1); 974 975 /* format: ^delnl */ 976 if cname = "program_interrupt" 977 | cname = "finish" 978 | cname = "quit" 979 then do; 980 cont = "1"b; 981 return; 982 end; 983 /* format: revert */ 984 if cname = "cleanup" 985 then return; 986 987 if infop ^= null 988 then if infop -> condition_info_header.action_flags.quiet_restart 989 then return; 990 991 call ioa_ ("^-ARG ^2d not accessible. - ^a", j, cname); 992 go to skiparg; 993 end; 994 995 end frame_args_; 996 997 valid_arg_list: 998 proc returns (bit (1)); 999 if ap->command_name_arglist.mbz ^= "0"b then 1000 return ("0"b); 1001 if ap->command_name_arglist.call_type ^= Interseg_call_type then 1002 if ap->command_name_arglist.call_type ^= Envptr_supplied_call_type then 1003 if ap->command_name_arglist.call_type ^= Quick_call_type then 1004 return ("0"b); 1005 if no_desc ^= 0 then 1006 if no_desc ^= no_desc then return ("0"b); 1007 return ("1"b); 1008 end valid_arg_list; 1009 1010 1011 1012 check_bit_offset: 1013 proc (P_temp_arg_ptr, P_argp, P_ret_arg_ptr); 1014 1015 dcl (P_temp_arg_ptr, P_argp, P_ret_arg_ptr) ptr parameter; 1016 1017 /* Check for existence of a ptr offset NOT specifying beginning of octal word boundary. */ 1018 1019 P_ret_arg_ptr = null; 1020 if addr(P_temp_arg_ptr) -> its.bit_offset ^= ""b then do; 1021 P_ret_arg_ptr = P_argp; 1022 addr(P_ret_arg_ptr) -> its.bit_offset = addr(P_temp_arg_ptr) -> its.bit_offset; 1023 end; 1024 return; 1025 end check_bit_offset; 1026 1027 1028 1029 1030 get_new_trans: 1031 proc; 1032 1033 /* get a translation for the seg and place / replace it in the translation table */ 1034 1035 translation_ptr = addr (temp_trans); 1036 if amu_info.type = FDUMP_PROCESS_TYPE then do; 1037 if ^amu_$return_val_per_process (amu_info_ptr, segno) then do; 1038 /* could be stack for logger */ 1039 temp_proc_hold = amu_info.process_idx; 1040 call amu_$fdump_mpt_change_idx (amu_info_ptr, 0); 1041 call amu_$fdump_translate_to_temp_seg (amu_info_ptr, baseptr (segno), translation_ptr, code); 1042 call amu_$fdump_mpt_change_idx (amu_info_ptr, temp_proc_hold); 1043 end; 1044 else do; 1045 call amu_$fdump_translate_to_temp_seg (amu_info_ptr, baseptr (segno), translation_ptr, code); 1046 end; 1047 end; 1048 1049 else if amu_info.type = SAVED_PROC_TYPE then do; 1050 code = amu_et_$no_translation; 1051 return; 1052 end; 1053 1054 else do; 1055 code = amu_et_$not_implemented; 1056 return; 1057 end; 1058 1059 1060 if code ^= 0 then do; 1061 P_code = code; 1062 return; 1063 end; 1064 call amu_$translate_force_add (amu_info_ptr, translation_ptr, segno, code); 1065 if code ^= 0 then do; 1066 1067 P_code = code; 1068 return; 1069 end; 1070 1071 end get_new_trans; 1072 1073 1074 1075 get_stack: 1076 proc; 1077 sb = pointer (stack_ptr, 0); 1078 segno = fixed (baseno (sb), 17); 1079 stack_offset = fixed (rel (stack_ptr), 18); 1080 1081 /* see if this segno for this Process and erf is translated */ 1082 call amu_$translate_get (amu_info_ptr, segno, translation_ptr, code); 1083 1084 if translation_ptr = null then do; /* if null then no trans */ 1085 if code = amu_et_$invalid_segno then do;/* not valid segno */ 1086 P_code = code; 1087 return; 1088 end; 1089 else do; /* OK now translate it into a temp seg */ 1090 1091 call get_new_trans; 1092 if code ^= 0 then do; 1093 P_code = code; 1094 return; 1095 end; 1096 end; 1097 end; 1098 1099 1100 else do; /* if translated see if it is in a temp seg */ 1101 if ^translation.flags.in_temp_seg & ^translation.flags.in_perm_seg then do; 1102 /* is not in a temp seg so retranslate it */ 1103 call get_new_trans; 1104 if code ^= 0 then do; 1105 P_code = code; 1106 return; 1107 end; 1108 end; 1109 end; 1110 1111 sb = translation.part1.ptr; 1112 1113 if ^thread_ptr_val (stack_header.stack_begin_ptr, "1"b) then 1114 code = amu_et_$not_stack_seg; 1115 else if ^thread_ptr_val (stack_header.stack_end_ptr, "1"b) then 1116 code = amu_et_$not_stack_seg; 1117 end get_stack; 1118 1119 1120 1121 1122 mc_frame: 1123 proc (set_for); 1124 dcl set_for bit (1); 1125 1126 dcl mcp ptr; 1127 dcl out char (168); 1128 out = amu_$get_name (amu_info_ptr, stack_frame.return_ptr); 1129 if index (out, "return_to_ring_") ^= 0 | index (out, "$fim|") ^= 0 then do; 1130 number_mcs = number_mcs + 1; 1131 call ioa_ ("FIM FRAME found at ^p", real_ptr (sp)); 1132 mcp = addrel (sp, 48); 1133 temp_word = "0"b; 1134 arg_bits_ptr = addr (temp_word); 1135 arg_bits_def.set_ptr = set_for; 1136 arg_bits_def.ppr, arg_bits_def.tpr, arg_bits_def.pr (6) = "1"b; 1137 call ioa_ ("Machine Conditions at ^p: ", real_ptr (mcp)); 1138 call azm_display_mc_ (sci_ptr, amu_info_ptr, mcp, arg_bits_ptr, code); 1139 if code ^= 0 then call amu_$error_for_caller (amu_info_ptr, code, P_caller); 1140 1141 if set_for then do; 1142 call ioa_ ("Setting temporary pointers from machine conditions at ^p", real_ptr (mcp)); 1143 call amu_$definition_set_prn (amu_info_ptr, "prmc", fixed (baseno (real_ptr (mcp)), 17), 1144 fixed (rel (real_ptr (mcp)), 18), code); 1145 if code ^= 0 then call amu_$error_for_caller (amu_info_ptr, code, P_caller); 1146 1147 call amu_$definition_set_from (amu_info_ptr, "prs", mcp, code); 1148 if code ^= 0 then call amu_$error_for_caller (amu_info_ptr, code, P_caller); 1149 1150 1151 call amu_$definition_set_prn (amu_info_ptr, "prfr", fixed (baseno (real_ptr (sp)), 17), 1152 fixed (rel (real_ptr (sp)), 18), code); 1153 if code ^= 0 then call amu_$error_for_caller (amu_info_ptr, code, P_caller); 1154 1155 end; 1156 no_arg_ptr = "1"b; /* do not try to print the args for this frame */ 1157 end; 1158 1159 return; 1160 1161 end mc_frame; 1162 1163 1164 1165 print_args: 1166 proc; 1167 if addr (stack_frame.arg_ptr) -> its.its_mod = ITS_MODIFIER then 1168 if addr (stack_frame.arg_ptr) -> its.segno ^= "0"b then 1169 if stack_frame.arg_ptr ^= null then do; 1170 call frame_args_; 1171 call ioa_ (" "); 1172 return; 1173 end; 1174 call ioa_ ("Arg_ptr invalid ^p^/", stack_frame.arg_ptr); 1175 1176 1177 1178 end print_args; 1179 1180 1181 1182 1183 real_ptr: 1184 proc (given_p) returns (ptr); 1185 dcl temp_ptr ptr; 1186 dcl given_p ptr; 1187 1188 1189 temp_ptr = pointer (baseptr (segno), fixed (rel (given_p), 18)); 1190 return (temp_ptr); 1191 end real_ptr; 1192 1193 1194 1195 savex_stack_: 1196 proc; 1197 dcl 1 save_stack (20) based (stackp), 1198 2 upper fixed bin (17) unal, 1199 2 lower fixed bin (17) unal; 1200 dcl stackp ptr; 1201 dcl num_based fixed bin unal based; 1202 dcl print_savex bit (1); 1203 dcl (number, id_offset, i, rel_offset, stack_size) fixed bin; 1204 dcl temp_name_ptr ptr; 1205 dcl segno fixed bin (17); 1206 1207 print_savex = "0"b; 1208 segno = fixed (baseno (stack_frame.return_ptr), 17); 1209 if segno = fixed (baseno (pxss_ptr), 17) then do; 1210 call azm_ret_x7_stack_$pxss (rel_offset, id_offset, stack_size); 1211 print_savex = "1"b; 1212 end; 1213 if segno = fixed (baseno (page_ptr), 17) then do; 1214 call azm_ret_x7_stack_$page (rel_offset, id_offset, stack_size); 1215 print_savex = "1"b; 1216 end; 1217 1218 if ^print_savex then return; 1219 stackp = addrel (sp, rel_offset); 1220 number = addrel (sp, id_offset) -> num_based - fixed (rel (stackp), 17); 1221 1222 if (number > 0) & (number <= stack_size) then 1223 call ioa_ ("^2-savex_stack at ^p, stack_size ^o, valid ^o", 1224 real_ptr (stackp), stack_size, number); 1225 else return; 1226 do i = number by -1 to 1; 1227 temp_name_ptr = pointer (baseptr (segno), save_stack (i).upper); 1228 call ioa_ ("^2-^3x^o^3x^a", save_stack (i).upper, 1229 amu_$get_name (amu_info_ptr, temp_name_ptr)); 1230 end; 1231 end savex_stack_; 1232 1233 1234 1235 1236 set_up_search: 1237 proc; 1238 amu_info_ptr = P_amu_info_ptr; 1239 frames_fwd_ptr, frames_rev_ptr = null (); 1240 stack_ptr = P_stack_ptr; 1241 call get_stack; 1242 if code ^= 0 then return; 1243 for_number = 0; 1244 sp = pointer (sb, fixed (rel (stack_header.stack_begin_ptr), 18)); 1245 if fixed (rel (sp), 18) >= fixed (rel (stack_header.stack_end_ptr), 18) then do; 1246 code = amu_et_$no_valid_stacks; 1247 return; 1248 end; 1249 stack_frames_fwd, stack_frames_rev = 0; 1250 call CHECK_THREAD; 1251 if code ^= 0 then goto ERROR; 1252 stop = "0"b; 1253 frame_number = 0; 1254 end set_up_search; 1255 1256 1257 1258 1259 thread_ptr_val: 1260 proc (vptr, segno_check) returns (bit (1)); 1261 dcl vptr ptr; 1262 dcl segno_check bit (1); 1263 1264 dcl ret_bit bit(1); 1265 dcl any_other condition; 1266 ret_bit="0"b; 1267 on condition (any_other) begin; 1268 goto RET_VAL; 1269 end; 1270 1271 if addr (vptr) -> its.its_mod = ITS_MODIFIER then 1272 if segno_check then 1273 if segno = fixed (baseno (vptr), 17) then 1274 ret_bit= "1"b; 1275 else ret_bit= "0"b; 1276 else ret_bit = "1"b; 1277 else ret_bit ="0"b; 1278 1279 revert any_other; 1280 RET_VAL: 1281 return(ret_bit); 1282 end thread_ptr_val; 1283 /* BEGIN INCLUDE FILE amu_info.incl.pl1 */ 1 2 1 3 dcl 1 amu_info aligned based (amu_info_ptr), 1 4 2 version char (8) aligned, /* AMU_INFO_VERSION */ 1 5 2 flags aligned, 1 6 3 early_dump bit(1) unal, 1 7 3 pad bit(35) unal, 1 8 2 type fixed bin unal, /* One of the types below */ 1 9 2 time_created fixed bin (71) aligned, /* time created -- for debugging purposes */ 1 10 2 chain, /* a chain of all the amu_info's which exist */ 1 11 3 prev pointer unaligned, 1 12 3 next pointer unaligned, 1 13 1 14 2 area_ptr pointer, /* pointer to area used for allocating things */ 1 15 1 16 2 translation_table_ptr pointer, /* pointer to address map -- always present */ 1 17 /* SEE: amu_translation.incl.pl1 */ 1 18 2 fdump_info_ptr pointer, 1 19 /* pointer to FDUMP info, present if looking at an FDUMP */ 1 20 /* SEE: amu_fdump_info.incl.pl1 */ 1 21 /* old_uid_table pointer if looking at a SAVED PROC. */ 1 22 /* See: amu_old_uid_table */ 1 23 1 24 1 25 2 hardcore_info_ptr pointer, /* pointer to hardcore information -- always present */ 1 26 /* SEE: amu_hardcore_info.incl.pl1 */ 1 27 2 copy_chain pointer, /* pointer to info about segment copies */ 1 28 /* SEE: amu_copy_info.incl.pl1 */ 1 29 2 process_info_ptr pointer, /* pointer to process info for this translation */ 1 30 /* SEE: amu_process_info.incl.pl1 */ 1 31 2 process_idx fixed bin, /* index of process in translation-specifc process table */ 1 32 1 33 2 proc_idx_hold fixed bin, /* a place to keep the index when a changing to another proc */ 1 34 1 35 2 error_info, /* various info about how amu_error_ is to behave */ 1 36 3 error_flags aligned, 1 37 4 handler_exists bit (1) unaligned, /* set to indicate existence of an amu_error handler */ 1 38 4 in_subsystem bit (1) unaligned, /* This amu_info belongs to an ssu_ maintained subsystem */ 1 39 4 pad bit (34) unaligned, 1 40 3 sci_ptr pointer, /* sci_ptr for subsystem, if in_subsystem = "1"b */ 1 41 2 definitions_info_ptr ptr; 1 42 1 43 dcl amu_area area based (amu_info.area_ptr); 1 44 1 45 dcl amu_info_ptr pointer; 1 46 1 47 dcl (FDUMP_TYPE init (1037), /* the various legitimate types of amu_info's */ 1 48 FDUMP_PROCESS_TYPE init (1038), 1 49 ONLINE_TYPE init (1039), 1 50 ONLINE_PROCESS_TYPE init (1040), 1 51 NETWORK_FDUMP_TYPE init (1041), 1 52 NETWORK_ONLINE_TYPE init (1042), 1 53 SAVED_PROC_TYPE init (1043), 1 54 INDIRECT_TYPE init (1044)) fixed bin internal static options (constant); 1 55 1 56 dcl AMU_INFO_VERSION_1 char (8) internal static options (constant) init ("amu_v1"); 1 57 dcl AMU_INFO_VERSION char (8) internal static options (constant) init ("amu_v1"); 1 58 dcl AMU_INFO_VERSION_2 char (8) internal static options (constant) init ("amu_v2"); 1 59 1 60 dcl PDIR_SUFFIX char(4) init("pdir") int static options(constant); 1 61 1 62 /* END INCLUDE FILE amu_info.incl.pl1 */ 1283 1284 /* Begin amu_mc.incl.pl1 */ 2 2 2 3 dcl number_val_args fixed bin (17) init (23) static options (constant); 2 4 2 5 dcl valid_mc_arg (24) char (8) init 2 6 ("-dump", /* mc from bos dump */ 2 7 "-lg", /* all of the info stored at the given pointer */ 2 8 "-scu","-ppr","-tpr","-inst", /* scu data or trs or psr (if scu then not psr nor tsr) */ 2 9 "-reg", /* basic ou regs */ 2 10 "-misc","-code","-flt","-tm", /* misc line of mc data if misc then not others */ 2 11 "-eis", /* eis info if MIF flag in scu_data */ 2 12 "-prs","-pr0","-pr1","-pr2","-pr3","-pr4","-pr5","-pr6","-pr7", /* pointer regs if prs then not the others */ 2 13 "-vbf","-oct","-set") /* control args */ 2 14 static options (constant); 2 15 2 16 /* the next structuers all all the same real data word and a dcl'ed in 2 17* many ways to make the code easer to write and undersand, only time 2 18* will tell if this is the correct end result. If any are changed they 2 19* all must by changed, The bit order must corespond to valid_mc_arg */ 2 20 2 21 2 22 2 23 dcl 1 arg_bits based (arg_bits_ptr) aligned, 2 24 2 request_arg(number_val_args) bit (1) unal; 2 25 2 26 dcl 1 what_prs based (arg_bits_ptr) aligned, 2 27 2 pad bit (13) unal, 2 28 2 pregs (0:7) bit (1) unal, 2 29 2 padr bit (16); 2 30 2 31 2 32 dcl 1 arg_bits_def based (arg_bits_ptr), 2 33 2 dump bit (1) unal, 2 34 2 all bit (1) unal, 2 35 2 scu bit (1) unal, 2 36 2 ppr bit (1) unal, 2 37 2 tpr bit (1) unal, 2 38 2 inst bit (1) unal, 2 39 2 regs bit (1) unal, 2 40 2 xreg (0:7) bit (1) unal, 2 41 2 areg bit (1) unal, 2 42 2 qreg bit (1) unal, 2 43 2 mis bit (1) unal, 2 44 2 mc_err bit (1) unal, 2 45 2 flt bit (1) unal, 2 46 2 tm bit (1) unal, 2 47 2 eis bit (1) unal, 2 48 2 prs bit (1) unal, 2 49 2 pr (0:7) bit (1) unal, 2 50 2 long bit (1) unal, 2 51 2 set_ptr bit (1) unal, 2 52 2 mc_stored bit (1) unal, 2 53 2 rest_bits bit (1) unal; /* bits to fill out the word **/ 2 54 2 55 2 56 2 57 dcl arg_bits_ptr ptr; 2 58 2 59 /* End amu_mc.incl.pl1 */ 1284 1285 /* BEGIN INCLUDE FILE amu_translation.incl.pl1 */ 3 2 3 3 3 4 3 5 /****^ HISTORY COMMENTS: 3 6* 1) change(87-01-16,Parisek), approve(87-07-16,MCR7746), 3 7* audit(87-07-16,Fawcett), install(87-07-28,MR12.1-1049): 3 8* Added the "replaced" field to record whether a segment was replaced by 3 9* another segment via the "replace" request. 3 10* END HISTORY COMMENTS */ 3 11 3 12 3 13 dcl 1 translation_table aligned based (amu_info.translation_table_ptr), 3 14 2 n_entries fixed bin, 3 15 2 max_entries fixed bin, 3 16 3 17 2 valid_array aligned, /* one bit for each valid segno */ 3 18 3 valid (0 : 4095) bit (1) unaligned, 3 19 2 used_array aligned, /* one bit for each existing translation */ 3 20 3 used (0 : 4095) bit (1) unaligned, 3 21 3 22 2 array (alloc_translation_table_max_entries refer (translation_table.max_entries)) like translation; 3 23 3 24 dcl 1 translation aligned based (translation_ptr), /* a single translation */ 3 25 2 segno fixed bin (18) unsigned unaligned, /* foreign segno for this translation */ 3 26 2 flags unaligned, 3 27 3 two_part bit (1) unaligned, /* segment is in two pieces -- from an FDUMP */ 3 28 3 in_dump bit (1) unaligned, /* segment is part of an FDUMP image */ 3 29 3 in_temp_seg bit (1) unaligned, /* segment is a copy at the base of a temp segment */ 3 30 3 in_perm_seg bit (1) unaligned, /* segment is in the file system */ 3 31 3 in_dp_dir bit (1) unaligned, 3 32 3 replaced bit (1) unaligned, 3 33 3 pad bit (12) unaligned, 3 34 2 part1, /* pointer to first (possibly only) part of segment */ 3 35 3 ptr pointer unaligned, 3 36 3 lth fixed bin (19), 3 37 2 part2 like translation.part1; 3 38 3 39 dcl alloc_translation_table_max_entries fixed bin; 3 40 dcl translation_ptr pointer; 3 41 3 42 /* END INCLUDE FILE amu_translation.incl.pl1 */ 1285 1286 /* BEGIN INCLUDE FILE ... arg_list.incl.pl1 4 2* 4 3* James R. Davis 10 May 79 */ 4 4 4 5 4 6 4 7 /****^ HISTORY COMMENTS: 4 8* 1) change(86-05-15,DGHowe), approve(86-05-15,MCR7375), 4 9* audit(86-07-15,Schroth): 4 10* added command_name_arglist declaration to allow the storage of the 4 11* command name given to the command processor 4 12* END HISTORY COMMENTS */ 4 13 4 14 dcl 1 arg_list aligned based, 4 15 2 header, 4 16 3 arg_count fixed bin (17) unsigned unal, 4 17 3 pad1 bit (1) unal, 4 18 3 call_type fixed bin (18) unsigned unal, 4 19 3 desc_count fixed bin (17) unsigned unal, 4 20 3 pad2 bit (19) unal, 4 21 2 arg_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr, 4 22 2 desc_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr; 4 23 4 24 4 25 dcl 1 command_name_arglist aligned based, 4 26 2 header, 4 27 3 arg_count fixed bin (17) unsigned unal, 4 28 3 pad1 bit (1) unal, 4 29 3 call_type fixed bin (18) unsigned unal, 4 30 3 desc_count fixed bin (17) unsigned unal, 4 31 3 mbz bit(1) unal, 4 32 3 has_command_name bit(1) unal, 4 33 3 pad2 bit (17) unal, 4 34 2 arg_ptrs (arg_list_arg_count refer (command_name_arglist.arg_count)) ptr, 4 35 2 desc_ptrs (arg_list_arg_count refer (command_name_arglist.arg_count)) ptr, 4 36 2 name, 4 37 3 command_name_ptr pointer, 4 38 3 command_name_length fixed bin (21); 4 39 4 40 4 41 4 42 dcl 1 arg_list_with_envptr aligned based, /* used with non-quick int and entry-var calls */ 4 43 2 header, 4 44 3 arg_count fixed bin (17) unsigned unal, 4 45 3 pad1 bit (1) unal, 4 46 3 call_type fixed bin (18) unsigned unal, 4 47 3 desc_count fixed bin (17) unsigned unal, 4 48 3 pad2 bit (19) unal, 4 49 2 arg_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr, 4 50 2 envptr ptr, 4 51 2 desc_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr; 4 52 4 53 4 54 dcl ( 4 55 Quick_call_type init (0), 4 56 Interseg_call_type init (4), 4 57 Envptr_supplied_call_type 4 58 init (8) 4 59 ) fixed bin (18) unsigned unal int static options (constant); 4 60 4 61 /* The user must declare arg_list_arg_count - if an adjustable automatic structure 4 62* is being "liked" then arg_list_arg_count may be a parameter, in order to allocate 4 63* an argument list of the proper size in the user's stack 4 64* 4 65**/ 4 66 /* END INCLUDE FILE ... arg_list.incl.pl1 */ 1286 1287 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 5 2 /* format: style2 */ 5 3 5 4 declare condition_info_header_ptr 5 5 pointer; 5 6 declare 1 condition_info_header 5 7 aligned based (condition_info_header_ptr), 5 8 2 length fixed bin, /* length in words of this structure */ 5 9 2 version fixed bin, /* version number of this structure */ 5 10 2 action_flags aligned, /* tell handler how to proceed */ 5 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 5 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 5 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 5 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 5 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 5 16 3 pad bit (32) unaligned, 5 17 2 info_string char (256) varying, /* may contain printable message */ 5 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 5 19 5 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 1287 1288 /* BEGIN INCLUDE FILE ... data_type_info_.incl.pl1 6 2* 6 3* attributes of each Multics data type. You may not rely on the dimension never exceeding 64 6 4* James R. Davis 6 Apr 79 6 5* Modified JMAthane June 83 to add "type" bit field 6 6* Upped bound from 64 to 80 10/18/83 S. Herbst 6 7* Added "hex" and "generic" bits 01/23/84 S. Herbst 6 8* Upped bound from 80 to 86 01/81/84 R. Gray 6 9* Upper bound from 86 to 87 JMAthane (for Pascal strings type dtype) 6 10**/ 6 11 6 12 6 13 /****^ HISTORY COMMENTS: 6 14* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 6 15* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 6 16* The data_type_info array now has 87 entries instead of 86 due to 6 17* introduction of pascal_string_type_dtype. 6 18* END HISTORY COMMENTS */ 6 19 6 20 dcl data_type_info_$version_number fixed bin external static; 6 21 dcl data_type_info_this_version fixed bin internal static options (constant) init (1); 6 22 6 23 dcl 1 data_type_info_$info (87) aligned external static, 6 24 2 computational bit (1) unal, 6 25 2 arithmetic bit (1) unal, 6 26 2 arithmetic_attributes unal, /* only valid if arithmetic */ 6 27 3 fixed bit (1) unal, /* PL/I type */ 6 28 3 complex bit (1) unal, /* PL/I mode */ 6 29 3 decimal bit (1) unal, /* PL/I base */ 6 30 3 signed bit (1) unal, 6 31 3 trailing_sign bit (1) unal, /* only valid if signed */ 6 32 3 decimal_attributes unal, /* only valid if decimal */ 6 33 4 packed_dec bit (1) unal, /* 4 bits per digit or 9 */ 6 34 4 digit_aligned bit (1) unal, /* valid for packed_dec only */ 6 35 4 overpunched bit (1) unal, 6 36 2 char_string bit (1) unal, /* valid for non-arithmetic */ 6 37 2 bit_string bit (1) unal, /* valid for non-arithmetic */ 6 38 2 varying bit (1) unal, /* for bit or char only */ 6 39 2 type bit (1) unal, /* this symbol is a type */ 6 40 2 hex bit (1) unal, /* a hexadecimal type (eg., hex floating point) */ 6 41 2 generic bit (1) unal, /* eg., real_flt_dec_generic_dtype */ 6 42 2 pad bit (20) unal; 6 43 6 44 dcl data_type_info_$ninebit_sign_chars char (2) external static; 6 45 dcl data_type_info_$ninebit_digit_chars char (10) external static; 6 46 dcl data_type_info_$ninebit_overpunched_sign_chars char (22) external static; 6 47 6 48 dcl data_type_info_$max_decimal_precision fixed bin external static; 6 49 dcl data_type_info_$max_float_binary_precision fixed bin external static; 6 50 dcl data_type_info_$max_fixed_binary_precision fixed bin external static; 6 51 6 52 6 53 /* END INCLUDE FILE ... data_type_info_.incl.pl1 */ 1288 1289 /* BEGIN INCLUDE FILE its.incl.pl1 7 2* modified 27 July 79 by JRDavis to add its_unsigned 7 3* Internal format of ITS pointer, including ring-number field for follow-on processor */ 7 4 7 5 dcl 1 its based aligned, /* declaration for ITS type pointer */ 7 6 2 pad1 bit (3) unaligned, 7 7 2 segno bit (15) unaligned, /* segment number within the pointer */ 7 8 2 ringno bit (3) unaligned, /* ring number within the pointer */ 7 9 2 pad2 bit (9) unaligned, 7 10 2 its_mod bit (6) unaligned, /* should be 43(8) */ 7 11 7 12 2 offset bit (18) unaligned, /* word offset within the addressed segment */ 7 13 2 pad3 bit (3) unaligned, 7 14 2 bit_offset bit (6) unaligned, /* bit offset within the word */ 7 15 2 pad4 bit (3) unaligned, 7 16 2 mod bit (6) unaligned; /* further modification */ 7 17 7 18 dcl 1 itp based aligned, /* declaration for ITP type pointer */ 7 19 2 pr_no bit (3) unaligned, /* number of pointer register to use */ 7 20 2 pad1 bit (27) unaligned, 7 21 2 itp_mod bit (6) unaligned, /* should be 41(8) */ 7 22 7 23 2 offset bit (18) unaligned, /* word offset from pointer register word offset */ 7 24 2 pad2 bit (3) unaligned, 7 25 2 bit_offset bit (6) unaligned, /* bit offset relative to new word offset */ 7 26 2 pad3 bit (3) unaligned, 7 27 2 mod bit (6) unaligned; /* further modification */ 7 28 7 29 7 30 dcl 1 its_unsigned based aligned, /* just like its, but with unsigned binary */ 7 31 2 pad1 bit (3) unaligned, 7 32 2 segno fixed bin (15) unsigned unaligned, 7 33 2 ringno fixed bin (3) unsigned unaligned, 7 34 2 pad2 bit (9) unaligned, 7 35 2 its_mod bit (6) unaligned, 7 36 7 37 2 offset fixed bin (18) unsigned unaligned, 7 38 2 pad3 bit (3) unaligned, 7 39 2 bit_offset fixed bin (6) unsigned unaligned, 7 40 2 pad4 bit (3) unaligned, 7 41 2 mod bit (6) unaligned; 7 42 7 43 dcl 1 itp_unsigned based aligned, /* just like itp, but with unsigned binary where appropriate */ 7 44 2 pr_no fixed bin (3) unsigned unaligned, 7 45 2 pad1 bit (27) unaligned, 7 46 2 itp_mod bit (6) unaligned, 7 47 7 48 2 offset fixed bin (18) unsigned unaligned, 7 49 2 pad2 bit (3) unaligned, 7 50 2 bit_offset fixed bin (6) unsigned unaligned, 7 51 2 pad3 bit (3) unaligned, 7 52 2 mod bit (6) unaligned; 7 53 7 54 7 55 dcl ITS_MODIFIER bit (6) unaligned internal static options (constant) init ("43"b3); 7 56 dcl ITP_MODIFIER bit (6) unaligned internal static options (constant) init ("41"b3); 7 57 7 58 /* END INCLUDE FILE its.incl.pl1 */ 1289 1290 /* */ 8 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 8 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 8 4 /* Modified 07/07/76 by Morris for fault register data */ 8 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 8 6 /* Modified '82 to make values constant */ 8 7 8 8 /* words 0-15 pointer registers */ 8 9 8 10 dcl mcp ptr; 8 11 8 12 dcl 1 mc based (mcp) aligned, 8 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 8 14 (2 regs, /* registers */ 8 15 3 x (0:7) bit (18), /* index registers */ 8 16 3 a bit (36), /* accumulator */ 8 17 3 q bit (36), /* q-register */ 8 18 3 e bit (8), /* exponent */ 8 19 3 pad1 bit (28), 8 20 3 t bit (27), /* timer register */ 8 21 3 pad2 bit (6), 8 22 3 ralr bit (3), /* ring alarm register */ 8 23 8 24 2 scu (0:7) bit (36), 8 25 8 26 2 mask bit (72), /* mem controller mask at time of fault */ 8 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 8 28 2 errcode fixed bin (35), /* fault handler's error code */ 8 29 2 fim_temp, 8 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 8 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 8 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 8 33 2 fault_reg bit (36), /* fault register */ 8 34 2 pad2 bit (1), 8 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 8 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 8 37 2 fault_time bit (54), /* time of fault */ 8 38 8 39 2 eis_info (0:7) bit (36)) unaligned; 8 40 8 41 8 42 dcl (apx fixed bin init (0), 8 43 abx fixed bin init (1), 8 44 bpx fixed bin init (2), 8 45 bbx fixed bin init (3), 8 46 lpx fixed bin init (4), 8 47 lbx fixed bin init (5), 8 48 spx fixed bin init (6), 8 49 sbx fixed bin init (7)) internal static options (constant); 8 50 8 51 8 52 8 53 8 54 dcl scup ptr; 8 55 8 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 8 57 8 58 8 59 /* WORD (0) */ 8 60 8 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 8 62 3 prr bit (3), /* procedure ring register */ 8 63 3 psr bit (15), /* procedure segment register */ 8 64 3 p bit (1), /* procedure privileged bit */ 8 65 8 66 2 apu, /* APPENDING UNIT STATUS */ 8 67 3 xsf bit (1), /* ext seg flag - IT modification */ 8 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 8 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 8 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 8 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 8 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 8 73 3 dsptw bit (1), /* Fetch of DSPTW */ 8 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 8 75 3 sdwp bit (1), /* Fetch of SDW paged */ 8 76 3 ptw bit (1), /* Fetch of PTW */ 8 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 8 78 3 fap bit (1), /* Fetch of final address paged */ 8 79 3 fanp bit (1), /* Fetch of final address non-paged */ 8 80 3 fabs bit (1), /* Fetch of final address absolute */ 8 81 8 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 8 83 8 84 8 85 /* WORD (1) */ 8 86 8 87 2 fd, /* FAULT DATA */ 8 88 3 iro bit (1), /* illegal ring order */ 8 89 3 oeb bit (1), /* out of execute bracket */ 8 90 3 e_off bit (1), /* no execute */ 8 91 3 orb bit (1), /* out of read bracket */ 8 92 3 r_off bit (1), /* no read */ 8 93 3 owb bit (1), /* out of write bracket */ 8 94 3 w_off bit (1), /* no write */ 8 95 3 no_ga bit (1), /* not a gate */ 8 96 3 ocb bit (1), /* out of call bracket */ 8 97 3 ocall bit (1), /* outward call */ 8 98 3 boc bit (1), /* bad outward call */ 8 99 3 inret bit (1), /* inward return */ 8 100 3 crt bit (1), /* cross ring transfer */ 8 101 3 ralr bit (1), /* ring alarm register */ 8 102 3 am_er bit (1), /* associative memory fault */ 8 103 3 oosb bit (1), /* out of segment bounds */ 8 104 3 paru bit (1), /* processor parity upper */ 8 105 3 parl bit (1), /* processor parity lower */ 8 106 3 onc_1 bit (1), /* op not complete type 1 */ 8 107 3 onc_2 bit (1), /* op not complete type 2 */ 8 108 8 109 2 port_stat, /* PORT STATUS */ 8 110 3 ial bit (4), /* illegal action lines */ 8 111 3 iac bit (3), /* illegal action channel */ 8 112 3 con_chan bit (3), /* connect channel */ 8 113 8 114 2 fi_num bit (5), /* (fault/interrupt) number */ 8 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 8 116 8 117 8 118 /* WORD (2) */ 8 119 8 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 8 121 3 trr bit (3), /* temporary ring register */ 8 122 3 tsr bit (15), /* temporary segment register */ 8 123 8 124 2 pad2 bit (9), 8 125 8 126 2 cpu_no bit (3), /* CPU number */ 8 127 8 128 2 delta bit (6), /* tally modification DELTA */ 8 129 8 130 8 131 /* WORD (3) */ 8 132 8 133 2 word3 bit (18), 8 134 8 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 8 136 3 tsna, /* Word 1 status */ 8 137 4 prn bit (3), /* Word 1 PR number */ 8 138 4 prv bit (1), /* Word 1 PR valid bit */ 8 139 3 tsnb, /* Word 2 status */ 8 140 4 prn bit (3), /* Word 2 PR number */ 8 141 4 prv bit (1), /* Word 2 PR valid bit */ 8 142 3 tsnc, /* Word 3 status */ 8 143 4 prn bit (3), /* Word 3 PR number */ 8 144 4 prv bit (1), /* Word 3 PR valid bit */ 8 145 8 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 8 147 8 148 8 149 /* WORD (4) */ 8 150 8 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 8 152 8 153 2 ir, /* INDICATOR REGISTERS */ 8 154 3 zero bit (1), /* zero indicator */ 8 155 3 neg bit (1), /* negative indicator */ 8 156 3 carry bit (1), /* carryry indicator */ 8 157 3 ovfl bit (1), /* overflow indicator */ 8 158 3 eovf bit (1), /* eponent overflow */ 8 159 3 eufl bit (1), /* exponent underflow */ 8 160 3 oflm bit (1), /* overflow mask */ 8 161 3 tro bit (1), /* tally runout */ 8 162 3 par bit (1), /* parity error */ 8 163 3 parm bit (1), /* parity mask */ 8 164 3 bm bit (1), /* ^bar mode */ 8 165 3 tru bit (1), /* truncation mode */ 8 166 3 mif bit (1), /* multi-word instruction mode */ 8 167 3 abs bit (1), /* absolute mode */ 8 168 3 hex bit (1), /* hexadecimal exponent mode */ 8 169 3 pad bit (3), 8 170 8 171 8 172 /* WORD (5) */ 8 173 8 174 2 ca bit (18), /* COMPUTED ADDRESS */ 8 175 8 176 2 cu, /* CONTROL UNIT STATUS */ 8 177 3 rf bit (1), /* on first cycle of repeat instr */ 8 178 3 rpt bit (1), /* repeat instruction */ 8 179 3 rd bit (1), /* repeat double instruction */ 8 180 3 rl bit (1), /* repeat link instruciton */ 8 181 3 pot bit (1), /* IT modification */ 8 182 3 pon bit (1), /* return type instruction */ 8 183 3 xde bit (1), /* XDE from Even location */ 8 184 3 xdo bit (1), /* XDE from Odd location */ 8 185 3 poa bit (1), /* operation preparation */ 8 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 8 187 3 its bit (1), /* ITS modification */ 8 188 3 if bit (1), /* fault occured during instruction fetch */ 8 189 8 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 8 191 8 192 8 193 /* WORDS (6,7) */ 8 194 8 195 2 even_inst bit (36), /* even instruction of faulting pair */ 8 196 8 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 8 198 8 199 8 200 8 201 8 202 8 203 8 204 /* ALTERNATE SCU DECLARATION */ 8 205 8 206 8 207 dcl 1 scux based (scup) aligned, 8 208 8 209 (2 pad0 bit (36), 8 210 8 211 2 fd, /* GROUP II FAULT DATA */ 8 212 3 isn bit (1), /* illegal segment number */ 8 213 3 ioc bit (1), /* illegal op code */ 8 214 3 ia_am bit (1), /* illegal address - modifier */ 8 215 3 isp bit (1), /* illegal slave procedure */ 8 216 3 ipr bit (1), /* illegal procedure */ 8 217 3 nea bit (1), /* non existent address */ 8 218 3 oobb bit (1), /* out of bounds */ 8 219 3 pad bit (29), 8 220 8 221 2 pad2 bit (36), 8 222 8 223 2 pad3a bit (18), 8 224 8 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 8 226 3 prn bit (3), /* PR number */ 8 227 3 prv bit (1), /* PR valid bit */ 8 228 8 229 2 pad3b bit (6)) unaligned, 8 230 8 231 2 pad45 (0:1) bit (36), 8 232 8 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 8 234 8 235 8 236 8 237 /* END INCLUDE FILE mc.incl.pl1 */ 1290 1291 /* BEGIN INCLUDE FILE ... probe_data_type_names.incl.pl1 9 2* 9 3* Extracted from psi.pl1 by JRDavis 15 Sept 79 9 4* This crude gem is used by probe_print_arglist_ 9 5* algol68 type names added 7/31/81 by MBW 9 6* Added pascal data type names 10/18/83 S. Herbst 9 7* Added hex floating point, extended, and generic types 02/08/84 S. Herbst 9 8* 9 9**/ 9 10 9 11 dcl type_name (0:80) char (40) static options (constant) init ( 9 12 "bad type 0", /* 0 */ 9 13 "fixed bin", /* 1 */ 9 14 "fixed bin", /* 2 */ 9 15 "float bin", /* 3 */ 9 16 "float bin", /* 4 */ 9 17 "complex fixed bin", /* 5 */ 9 18 "complex fixed bin", /* 6 */ 9 19 "complex float bin", /* 7 */ 9 20 "complex float bin", /* 8 */ 9 21 "fixed dec", /* 9 */ 9 22 "float dec", /* 10 */ 9 23 "complex fixed dec", /* 11 */ 9 24 "complex float dec", /* 12 */ 9 25 "pointer", /* 13 */ 9 26 "offset", /* 14 */ 9 27 "label variable", /* 15 */ 9 28 "entry variable", /* 16 */ 9 29 "structure", /* 17 */ 9 30 "area", /* 18 */ 9 31 "bit", /* 19 */ 9 32 "varying bit", /* 20 */ 9 33 "char", /* 21 */ 9 34 "varying char", /* 22 */ 9 35 "file", /* 23 */ 9 36 "label constant", /* 24 */ 9 37 "internal entry ", /* 25 */ 9 38 "external entry", /* 26 */ 9 39 "external procedure", /* 27 */ 9 40 "bad type 28", /* 28 */ 9 41 "overpunched ls", /* 29 */ 9 42 "overpunched ts", /* 30 */ 9 43 "bad type 31", /* 31 */ 9 44 "bad type 32", /* 32 */ 9 45 "unsigned binary", /* 33 */ 9 46 "unsigned binary", /* 34 */ 9 47 "unsigned dec", /* 35 */ 9 48 "fixed dec ts", /* 36 */ 9 49 "bad type 37", /* 37 */ 9 50 "fixed dec digit uns", /* 38 */ 9 51 "fixed dec digit ts", /* 39 */ 9 52 "bad type 40", /* 40 */ 9 53 "fixed dec digit ls", /* 41 */ 9 54 "float dec digit", /* 42 */ 9 55 "fixed dec byte", /* 43 */ 9 56 "float dec byte ", /* 44 */ 9 57 "cmplx fixed dec byte", /* 45 */ 9 58 "cmplx float dec byte", /* 46 */ 9 59 "float hex", /* 47 */ 9 60 "float hex", /* 48 */ 9 61 "complex float hex", /* 49 */ 9 62 "complex float hex", /* 50 */ 9 63 "bad type 51", /* 51 */ 9 64 "bad type 52", /* 52 */ 9 65 "bad type 53", /* 53 */ 9 66 "bad type 54", /* 54 */ 9 67 "bad type 55", /* 55 */ 9 68 "bad type 56", /* 56 */ 9 69 "bad type 57", /* 57 */ 9 70 "bad type 58", /* 58 */ 9 71 "algol68 straight", /* 59 */ 9 72 "algol68 format", /* 60 */ 9 73 "algol68 array descriptor", /* 61 */ 9 74 "algol68 union", /* 62 */ 9 75 "picture", /* 63 */ 9 76 "pascal typed pointer type", /* 64 */ 9 77 "pascal char", /* 65 */ 9 78 "pascal boolean", /* 66 */ 9 79 "pascal record file type", /* 67 */ 9 80 "pascal record type", /* 68 */ 9 81 "pascal set type", /* 69 */ 9 82 "pascal enumerated type", /* 70 */ 9 83 "pascal enumerated type element", /* 71 */ 9 84 "pascal enumerated type instance", /* 72 */ 9 85 "pascal user defined type", /* 73 */ 9 86 "pascal user defined type instance", /* 74 */ 9 87 "pascal text file", /* 75 */ 9 88 "pascal procedure type", /* 76 */ 9 89 "pascal variable formal parameter", /* 77 */ 9 90 "pascal value formal parameter", /* 78 */ 9 91 "pascal entry formal parameter", /* 79 */ 9 92 "pascal parameter procedure" /* 80 */ 9 93 ); 9 94 9 95 9 96 /* END INCLUDE FILE probe_data_type_names.incl.pl1 */ 1291 1292 /* BEGIN INCLUDE FILE ... stack_frame.incl.pl1 ... */ 10 2 10 3 /* format: off */ 10 4 10 5 /* Modified: 16 Dec 1977, D. Levin - to add fio_ps_ptr and pl1_ps_ptr */ 10 6 /* Modified: 3 Feb 1978, P. Krupp - to add run_unit_manager bit & main_proc bit */ 10 7 /* Modified: 21 March 1978, D. Levin - change fio_ps_ptr to support_ptr */ 10 8 /* Modified: 03/01/84, S. Herbst - Added RETURN_PTR_MASK */ 10 9 10 10 10 11 /****^ HISTORY COMMENTS: 10 12* 1) change(86-09-15,Kissel), approve(86-09-15,MCR7473), 10 13* audit(86-10-01,Fawcett), install(86-11-03,MR12.0-1206): 10 14* Modified to add constants for the translator_id field in the stack_frame 10 15* structure. 10 16* END HISTORY COMMENTS */ 10 17 10 18 10 19 dcl RETURN_PTR_MASK bit (72) int static options (constant) /* mask to be AND'd with stack_frame.return_ptr */ 10 20 init ("777777777777777777000000"b3); /* when copying, to ignore bits that a call fills */ 10 21 /* with indicators (nonzero for Fortran hexfp caller) */ 10 22 /* say: unspec(ptr) = unspec(stack_frame.return_ptr) & RETURN_PTR_MASK; */ 10 23 10 24 dcl TRANSLATOR_ID_PL1V2 bit (18) internal static options (constant) init ("000000"b3); 10 25 dcl TRANSLATOR_ID_ALM bit (18) internal static options (constant) init ("000001"b3); 10 26 dcl TRANSLATOR_ID_PL1V1 bit (18) internal static options (constant) init ("000002"b3); 10 27 dcl TRANSLATOR_ID_SIGNAL_CALLER bit (18) internal static options (constant) init ("000003"b3); 10 28 dcl TRANSLATOR_ID_SIGNALLER bit (18) internal static options (constant) init ("000004"b3); 10 29 10 30 10 31 dcl sp pointer; /* pointer to beginning of stack frame */ 10 32 10 33 dcl stack_frame_min_length fixed bin static init(48); 10 34 10 35 10 36 dcl 1 stack_frame based(sp) aligned, 10 37 2 pointer_registers(0 : 7) ptr, 10 38 2 prev_sp pointer, 10 39 2 next_sp pointer, 10 40 2 return_ptr pointer, 10 41 2 entry_ptr pointer, 10 42 2 operator_and_lp_ptr ptr, /* serves as both */ 10 43 2 arg_ptr pointer, 10 44 2 static_ptr ptr unaligned, 10 45 2 support_ptr ptr unal, /* only used by fortran I/O */ 10 46 2 on_unit_relp1 bit(18) unaligned, 10 47 2 on_unit_relp2 bit(18) unaligned, 10 48 2 translator_id bit(18) unaligned, /* Translator ID (see constants above) 10 49* 0 => PL/I version II 10 50* 1 => ALM 10 51* 2 => PL/I version I 10 52* 3 => signal caller frame 10 53* 4 => signaller frame */ 10 54 2 operator_return_offset bit(18) unaligned, 10 55 2 x(0: 7) bit(18) unaligned, /* index registers */ 10 56 2 a bit(36), /* accumulator */ 10 57 2 q bit(36), /* q-register */ 10 58 2 e bit(36), /* exponent */ 10 59 2 timer bit(27) unaligned, /* timer */ 10 60 2 pad bit(6) unaligned, 10 61 2 ring_alarm_reg bit(3) unaligned; 10 62 10 63 10 64 dcl 1 stack_frame_flags based(sp) aligned, 10 65 2 pad(0 : 7) bit(72), /* skip over prs */ 10 66 2 xx0 bit(22) unal, 10 67 2 main_proc bit(1) unal, /* on if frame belongs to a main procedure */ 10 68 2 run_unit_manager bit(1) unal, /* on if frame belongs to run unit manager */ 10 69 2 signal bit(1) unal, /* on if frame belongs to logical signal_ */ 10 70 2 crawl_out bit(1) unal, /* on if this is a signal caller frame */ 10 71 2 signaller bit(1) unal, /* on if next frame is signaller's */ 10 72 2 link_trap bit(1) unal, /* on if this frame was made by the linker */ 10 73 2 support bit(1) unal, /* on if frame belongs to a support proc */ 10 74 2 condition bit(1) unal, /* on if condition established in this frame */ 10 75 2 xx0a bit(6) unal, 10 76 2 xx1 fixed bin, 10 77 2 xx2 fixed bin, 10 78 2 xx3 bit(25) unal, 10 79 2 old_crawl_out bit (1) unal, /* on if this is a signal caller frame */ 10 80 2 old_signaller bit(1) unal, /* on if next frame is signaller's */ 10 81 2 xx3a bit(9) unaligned, 10 82 2 xx4(9) bit(72) aligned, 10 83 2 v2_pl1_op_ret_base ptr, /* When a V2 PL/I program calls an operator the 10 84* * operator puts a pointer to the base of 10 85* * the calling procedure here. (text base ptr) */ 10 86 2 xx5 bit(72) aligned, 10 87 2 pl1_ps_ptr ptr; /* ptr to ps for this frame; also used by fio. */ 10 88 10 89 /* format: on */ 10 90 10 91 /* END INCLUDE FILE ... stack_frame.incl.pl1 */ 1292 1293 /* BEGIN INCLUDE FILE ... stack_header.incl.pl1 .. 3/72 Bill Silver */ 11 2 /* modified 7/76 by M. Weaver for *system links and more system use of areas */ 11 3 /* modified 3/77 by M. Weaver to add rnt_ptr */ 11 4 /* Modified April 1983 by C. Hornig for tasking */ 11 5 11 6 /****^ HISTORY COMMENTS: 11 7* 1) change(86-06-24,DGHowe), approve(86-06-24,MCR7396), 11 8* audit(86-08-05,Schroth), install(86-11-03,MR12.0-1206): 11 9* added the heap_header_ptr definition. 11 10* 2) change(86-08-12,Kissel), approve(86-08-12,MCR7473), 11 11* audit(86-10-10,Fawcett), install(86-11-03,MR12.0-1206): 11 12* Modified to support control point management. These changes were actually 11 13* made in February 1985 by G. Palter. 11 14* 3) change(86-10-22,Fawcett), approve(86-10-22,MCR7473), 11 15* audit(86-10-22,Farley), install(86-11-03,MR12.0-1206): 11 16* Remove the old_lot pointer and replace it with cpm_data_ptr. Use the 18 11 17* bit pad after cur_lot_size for the cpm_enabled. This was done to save some 11 18* space int the stack header and change the cpd_ptr unal to cpm_data_ptr 11 19* (ITS pair). 11 20* END HISTORY COMMENTS */ 11 21 11 22 /* format: style2 */ 11 23 11 24 dcl sb ptr; /* the main pointer to the stack header */ 11 25 11 26 dcl 1 stack_header based (sb) aligned, 11 27 2 pad1 (4) fixed bin, /* (0) also used as arg list by outward_call_handler */ 11 28 2 cpm_data_ptr ptr, /* (4) pointer to control point which owns this stack */ 11 29 2 combined_stat_ptr ptr, /* (6) pointer to area containing separate static */ 11 30 2 clr_ptr ptr, /* (8) pointer to area containing linkage sections */ 11 31 2 max_lot_size fixed bin (17) unal, /* (10) DU number of words allowed in lot */ 11 32 2 main_proc_invoked fixed bin (11) unal, /* (10) DL nonzero if main procedure invoked in run unit */ 11 33 2 have_static_vlas bit (1) unal, /* (10) DL "1"b if (very) large arrays are being used in static */ 11 34 2 pad4 bit (2) unal, 11 35 2 run_unit_depth fixed bin (2) unal, /* (10) DL number of active run units stacked */ 11 36 2 cur_lot_size fixed bin (17) unal, /* (11) DU number of words (entries) in lot */ 11 37 2 cpm_enabled bit (18) unal, /* (11) DL non-zero if control point management is enabled */ 11 38 2 system_free_ptr ptr, /* (12) pointer to system storage area */ 11 39 2 user_free_ptr ptr, /* (14) pointer to user storage area */ 11 40 2 null_ptr ptr, /* (16) */ 11 41 2 stack_begin_ptr ptr, /* (18) pointer to first stack frame on the stack */ 11 42 2 stack_end_ptr ptr, /* (20) pointer to next useable stack frame */ 11 43 2 lot_ptr ptr, /* (22) pointer to the lot for the current ring */ 11 44 2 signal_ptr ptr, /* (24) pointer to signal procedure for current ring */ 11 45 2 bar_mode_sp ptr, /* (26) value of sp before entering bar mode */ 11 46 2 pl1_operators_ptr ptr, /* (28) pointer to pl1_operators_$operator_table */ 11 47 2 call_op_ptr ptr, /* (30) pointer to standard call operator */ 11 48 2 push_op_ptr ptr, /* (32) pointer to standard push operator */ 11 49 2 return_op_ptr ptr, /* (34) pointer to standard return operator */ 11 50 2 return_no_pop_op_ptr 11 51 ptr, /* (36) pointer to standard return / no pop operator */ 11 52 2 entry_op_ptr ptr, /* (38) pointer to standard entry operator */ 11 53 2 trans_op_tv_ptr ptr, /* (40) pointer to translator operator ptrs */ 11 54 2 isot_ptr ptr, /* (42) pointer to ISOT */ 11 55 2 sct_ptr ptr, /* (44) pointer to System Condition Table */ 11 56 2 unwinder_ptr ptr, /* (46) pointer to unwinder for current ring */ 11 57 2 sys_link_info_ptr ptr, /* (48) pointer to *system link name table */ 11 58 2 rnt_ptr ptr, /* (50) pointer to Reference Name Table */ 11 59 2 ect_ptr ptr, /* (52) pointer to event channel table */ 11 60 2 assign_linkage_ptr ptr, /* (54) pointer to storage for (obsolete) hcs_$assign_linkage */ 11 61 2 heap_header_ptr ptr, /* (56) pointer to the heap header for this ring */ 11 62 2 trace, 11 63 3 frames, 11 64 4 count fixed bin, /* (58) number of trace frames */ 11 65 4 top_ptr ptr unal, /* (59) pointer to last trace frame */ 11 66 3 in_trace bit (36) aligned, /* (60) trace antirecursion flag */ 11 67 2 pad2 bit (36), /* (61) */ 11 68 2 pad5 pointer; /* (62) pointer to future stuff */ 11 69 11 70 /* The following offset refers to a table within the pl1 operator table. */ 11 71 11 72 dcl tv_offset fixed bin init (361) internal static; 11 73 /* (551) octal */ 11 74 11 75 11 76 /* The following constants are offsets within this transfer vector table. */ 11 77 11 78 dcl ( 11 79 call_offset fixed bin init (271), 11 80 push_offset fixed bin init (272), 11 81 return_offset fixed bin init (273), 11 82 return_no_pop_offset fixed bin init (274), 11 83 entry_offset fixed bin init (275) 11 84 ) internal static; 11 85 11 86 11 87 11 88 11 89 11 90 /* The following declaration is an overlay of the whole stack header. Procedures which 11 91* move the whole stack header should use this overlay. 11 92**/ 11 93 11 94 dcl stack_header_overlay (size (stack_header)) fixed bin based (sb); 11 95 11 96 11 97 11 98 /* END INCLUDE FILE ... stack_header.incl.pl1 */ 1293 1294 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 12 2 12 3 12 4 /****^ HISTORY COMMENTS: 12 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 12 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 12 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 12 8* Objects of this type are PASCAL string types. 12 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 12 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 12 11* Added the new C types. 12 12* END HISTORY COMMENTS */ 12 13 12 14 /* This include file defines mnemonic names for the Multics 12 15* standard descriptor types, using both pl1 and cobol terminology. 12 16* PG 780613 12 17* JRD 790530 12 18* JRD 791016 12 19* MBW 810731 12 20* TGO 830614 Add hex types. 12 21* Modified June 83 JMAthane to add PASCAL data types 12 22* TGO 840120 Add float dec extended and generic, float binary generic 12 23**/ 12 24 12 25 dcl (real_fix_bin_1_dtype init (1), 12 26 real_fix_bin_2_dtype init (2), 12 27 real_flt_bin_1_dtype init (3), 12 28 real_flt_bin_2_dtype init (4), 12 29 cplx_fix_bin_1_dtype init (5), 12 30 cplx_fix_bin_2_dtype init (6), 12 31 cplx_flt_bin_1_dtype init (7), 12 32 cplx_flt_bin_2_dtype init (8), 12 33 real_fix_dec_9bit_ls_dtype init (9), 12 34 real_flt_dec_9bit_dtype init (10), 12 35 cplx_fix_dec_9bit_ls_dtype init (11), 12 36 cplx_flt_dec_9bit_dtype init (12), 12 37 pointer_dtype init (13), 12 38 offset_dtype init (14), 12 39 label_dtype init (15), 12 40 entry_dtype init (16), 12 41 structure_dtype init (17), 12 42 area_dtype init (18), 12 43 bit_dtype init (19), 12 44 varying_bit_dtype init (20), 12 45 char_dtype init (21), 12 46 varying_char_dtype init (22), 12 47 file_dtype init (23), 12 48 real_fix_dec_9bit_ls_overp_dtype init (29), 12 49 real_fix_dec_9bit_ts_overp_dtype init (30), 12 50 real_fix_bin_1_uns_dtype init (33), 12 51 real_fix_bin_2_uns_dtype init (34), 12 52 real_fix_dec_9bit_uns_dtype init (35), 12 53 real_fix_dec_9bit_ts_dtype init (36), 12 54 real_fix_dec_4bit_uns_dtype init (38), /* digit-aligned */ 12 55 real_fix_dec_4bit_ts_dtype init (39), /* byte-aligned */ 12 56 real_fix_dec_4bit_bytealigned_uns_dtype init (40), /* COBOL */ 12 57 real_fix_dec_4bit_ls_dtype init (41), /* digit-aligned */ 12 58 real_flt_dec_4bit_dtype init (42), /* digit-aligned */ 12 59 real_fix_dec_4bit_bytealigned_ls_dtype init (43), 12 60 real_flt_dec_4bit_bytealigned_dtype init (44), 12 61 cplx_fix_dec_4bit_bytealigned_ls_dtype init (45), 12 62 cplx_flt_dec_4bit_bytealigned_dtype init (46), 12 63 real_flt_hex_1_dtype init (47), 12 64 real_flt_hex_2_dtype init (48), 12 65 cplx_flt_hex_1_dtype init (49), 12 66 cplx_flt_hex_2_dtype init (50), 12 67 c_typeref_dtype init (54), 12 68 c_enum_dtype init (55), 12 69 c_enum_const_dtype init (56), 12 70 c_union_dtype init (57), 12 71 algol68_straight_dtype init (59), 12 72 algol68_format_dtype init (60), 12 73 algol68_array_descriptor_dtype init (61), 12 74 algol68_union_dtype init (62), 12 75 12 76 cobol_comp_6_dtype init (1), 12 77 cobol_comp_7_dtype init (1), 12 78 cobol_display_ls_dtype init (9), 12 79 cobol_structure_dtype init (17), 12 80 cobol_char_string_dtype init (21), 12 81 cobol_display_ls_overp_dtype init (29), 12 82 cobol_display_ts_overp_dtype init (30), 12 83 cobol_display_uns_dtype init (35), 12 84 cobol_display_ts_dtype init (36), 12 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 12 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 12 87 cobol_comp_5_uns_dtype init (40), 12 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 12 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 12 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 12 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 12 92 cplx_flt_dec_generic_dtype init (84), 12 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 12 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 12 95 12 96 dcl (ft_integer_dtype init (1), 12 97 ft_real_dtype init (3), 12 98 ft_double_dtype init (4), 12 99 ft_complex_dtype init (7), 12 100 ft_complex_double_dtype init (8), 12 101 ft_external_dtype init (16), 12 102 ft_logical_dtype init (19), 12 103 ft_char_dtype init (21), 12 104 ft_hex_real_dtype init (47), 12 105 ft_hex_double_dtype init (48), 12 106 ft_hex_complex_dtype init (49), 12 107 ft_hex_complex_double_dtype init (50) 12 108 ) fixed bin internal static options (constant); 12 109 12 110 dcl (algol68_short_int_dtype init (1), 12 111 algol68_int_dtype init (1), 12 112 algol68_long_int_dtype init (2), 12 113 algol68_real_dtype init (3), 12 114 algol68_long_real_dtype init (4), 12 115 algol68_compl_dtype init (7), 12 116 algol68_long_compl_dtype init (8), 12 117 algol68_bits_dtype init (19), 12 118 algol68_bool_dtype init (19), 12 119 algol68_char_dtype init (21), 12 120 algol68_byte_dtype init (21), 12 121 algol68_struct_struct_char_dtype init (22), 12 122 algol68_struct_struct_bool_dtype init (20) 12 123 ) fixed bin internal static options (constant); 12 124 12 125 dcl (label_constant_runtime_dtype init (24), 12 126 int_entry_runtime_dtype init (25), 12 127 ext_entry_runtime_dtype init (26), 12 128 ext_procedure_runtime_dtype init (27), 12 129 picture_runtime_dtype init (63) 12 130 ) fixed bin internal static options (constant); 12 131 12 132 dcl (pascal_integer_dtype init (1), 12 133 pascal_real_dtype init (4), 12 134 pascal_label_dtype init (24), 12 135 pascal_internal_procedure_dtype init (25), 12 136 pascal_exportable_procedure_dtype init (26), 12 137 pascal_imported_procedure_dtype init (27), 12 138 pascal_typed_pointer_type_dtype init (64), 12 139 pascal_char_dtype init (65), 12 140 pascal_boolean_dtype init (66), 12 141 pascal_record_file_type_dtype init (67), 12 142 pascal_record_type_dtype init (68), 12 143 pascal_set_dtype init (69), 12 144 pascal_enumerated_type_dtype init (70), 12 145 pascal_enumerated_type_element_dtype init (71), 12 146 pascal_enumerated_type_instance_dtype init (72), 12 147 pascal_user_defined_type_dtype init (73), 12 148 pascal_user_defined_type_instance_dtype init (74), 12 149 pascal_text_file_dtype init (75), 12 150 pascal_procedure_type_dtype init (76), 12 151 pascal_variable_formal_parameter_dtype init (77), 12 152 pascal_value_formal_parameter_dtype init (78), 12 153 pascal_entry_formal_parameter_dtype init (79), 12 154 pascal_parameter_procedure_dtype init (80), 12 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 12 156 12 157 12 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 1294 1295 1296 end azm_stack_trace_; 1297 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/24/88 1401.1 azm_stack_trace_.pl1 >special_ldd>install>MR12.2-1184>azm_stack_trace_.pl1 1283 1 11/20/84 0856.1 amu_info.incl.pl1 >ldd>include>amu_info.incl.pl1 1284 2 09/22/83 1102.5 amu_mc.incl.pl1 >ldd>include>amu_mc.incl.pl1 1285 3 07/28/87 0943.5 amu_translation.incl.pl1 >ldd>include>amu_translation.incl.pl1 1286 4 08/05/86 0856.8 arg_list.incl.pl1 >ldd>include>arg_list.incl.pl1 1287 5 03/24/82 1347.2 condition_info_header.incl.pl1 >ldd>include>condition_info_header.incl.pl1 1288 6 11/12/86 1748.0 data_type_info_.incl.pl1 >ldd>include>data_type_info_.incl.pl1 1289 7 11/26/79 1320.6 its.incl.pl1 >ldd>include>its.incl.pl1 1290 8 12/15/83 1100.4 mc.incl.pl1 >ldd>include>mc.incl.pl1 1291 9 12/04/84 2012.1 probe_data_type_names.incl.pl1 >ldd>include>probe_data_type_names.incl.pl1 1292 10 11/07/86 1550.3 stack_frame.incl.pl1 >ldd>include>stack_frame.incl.pl1 1293 11 11/07/86 1550.3 stack_header.incl.pl1 >ldd>include>stack_header.incl.pl1 1294 12 10/24/88 1336.9 std_descriptor_types.incl.pl1 >special_ldd>install>MR12.2-1184>std_descriptor_types.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. Envptr_supplied_call_type constant fixed bin(18,0) initial packed unsigned unaligned dcl 4-54 ref 832 1001 FDUMP_PROCESS_TYPE constant fixed bin(17,0) initial dcl 1-47 ref 1036 ITS_MODIFIER constant bit(6) initial packed unaligned dcl 7-55 ref 685 690 694 737 739 874 917 1167 1271 Interseg_call_type constant fixed bin(18,0) initial packed unsigned unaligned dcl 4-54 ref 1001 LEGAL 001452 constant char(96) initial packed unaligned dcl 131 ref 877 P_amu_info_ptr parameter pointer dcl 42 ref 27 192 315 326 356 360 1238 P_arg_sw parameter bit(1) packed unaligned dcl 43 ref 27 196 P_argp parameter pointer dcl 1015 ref 1012 1021 P_caller parameter char packed unaligned dcl 47 set ref 27 315 326 356 753* 774* 787* 851* 1139* 1145* 1148* 1153* P_code parameter fixed bin(35,0) dcl 45 set ref 27 238* 252* 257* 303* 306* 315 323* 326 328* 353* 356 380* 1061* 1067* 1086* 1093* 1105* P_entry_ptr parameter pointer dcl 42 ref 315 319 P_for_number parameter fixed bin(17,0) dcl 44 ref 27 189 P_force_sw parameter bit(1) packed unaligned dcl 43 ref 27 195 P_fwd_sw parameter bit(1) packed unaligned dcl 43 ref 27 194 P_long_sw parameter bit(1) packed unaligned dcl 43 ref 27 197 P_ret_arg_ptr parameter pointer dcl 1015 set ref 1012 1019* 1021* 1022 P_ring_zero parameter bit(1) packed unaligned dcl 46 ref 326 338 P_sci_ptr parameter pointer dcl 42 ref 27 188 315 320 326 330 356 361 P_stack_ptr parameter pointer dcl 42 set ref 27 193 210* 242* 242 242 315 326 356 1240 P_temp_arg_ptr parameter pointer dcl 1015 set ref 1012 1020 1022 Quick_call_type constant fixed bin(18,0) initial packed unsigned unaligned dcl 4-54 ref 1001 SAVED_PROC_TYPE constant fixed bin(17,0) initial dcl 1-47 ref 1049 a_buf 2 001462 automatic fixed bin(71,0) array level 2 dcl 124 set ref 813 817 817 874 892 892 904* action_flags 2 based structure level 2 dcl 5-6 addr builtin function dcl 182 ref 685 685 690 690 694 694 721 724 724 739 771 813 817 817 874 892 892 1020 1022 1022 1035 1134 1167 1167 1271 addrel builtin function dcl 182 ref 720 743 892 892 933 951 1132 1219 1220 amu_$definition_ptr 000056 constant entry external dcl 160 ref 250 255 362 365 369 374 594 596 amu_$definition_set_from 000124 constant entry external dcl 179 ref 674 1147 amu_$definition_set_prn 000054 constant entry external dcl 159 ref 650 1143 1151 amu_$do_translation_by_ptr 000116 constant entry external dcl 176 ref 772 amu_$do_translation_hunt 000122 constant entry external dcl 178 ref 817 892 amu_$do_translation_hunt_ptr 000120 constant entry external dcl 177 ref 751 780 837 848 amu_$error_for_caller 000072 constant entry external dcl 166 ref 753 774 787 851 1139 1145 1148 1153 amu_$fdump_mpt_change_idx 000070 constant entry external dcl 165 ref 1040 1042 amu_$fdump_translate_to_temp_seg 000106 constant entry external dcl 172 ref 1041 1045 amu_$get_name 000076 constant entry external dcl 168 ref 263 607 624 628 635 669 685 820 919 929 1128 1228 amu_$get_name_no_comp 000100 constant entry external dcl 169 ref 242 amu_$print_dump_oct 000074 constant entry external dcl 167 ref 709 amu_$return_val_per_process 000066 constant entry external dcl 164 ref 1037 amu_$translate_force_add 000104 constant entry external dcl 171 ref 1064 amu_$translate_get 000102 constant entry external dcl 170 ref 1082 amu_et_$end_ptr_oob 000034 external static fixed bin(35,0) dcl 136 ref 501 amu_et_$entry_not_found 000026 external static fixed bin(35,0) dcl 136 ref 368 373 658 amu_et_$invalid_segno 000024 external static fixed bin(35,0) dcl 136 ref 1085 amu_et_$looping_problem 000016 external static fixed bin(35,0) dcl 136 ref 347 amu_et_$no_translation 000014 external static fixed bin(35,0) dcl 136 ref 1050 amu_et_$no_valid_stacks 000030 external static fixed bin(35,0) dcl 136 ref 211 1246 amu_et_$not_implemented 000012 external static fixed bin(35,0) dcl 136 ref 1055 amu_et_$not_stack_seg 000032 external static fixed bin(35,0) dcl 136 ref 1113 1115 amu_info based structure level 1 dcl 1-3 amu_info_ptr 001652 automatic pointer dcl 1-45 set ref 192* 242* 250* 255* 263* 360* 362* 365* 369* 374* 594* 596* 607* 615* 624* 628* 635* 650* 669* 674* 685* 724* 751* 753* 772* 774* 780* 787* 817* 820* 837* 848* 851* 892* 919* 929* 1036 1037* 1039 1040* 1041* 1042* 1045* 1049 1064* 1082* 1128* 1138* 1139* 1143* 1145* 1147* 1148* 1151* 1153* 1228* 1238* any_other 000102 stack reference condition dcl 1265 ref 1267 1279 ap 000312 automatic pointer initial dcl 92 set ref 92* 732* 738 751* 757 758 771* 772* 815 832 999 1001 1001 1001 arg_bits_def based structure level 1 packed packed unaligned dcl 2-32 arg_bits_ptr 001654 automatic pointer dcl 2-57 set ref 721* 722 722 724* 1134* 1135 1136 1136 1136 1138* arg_count based fixed bin(17,0) level 3 packed packed unsigned unaligned dcl 4-25 ref 757 arg_list_length 001322 automatic fixed bin(18,0) initial dcl 98 set ref 98* 764* 772* arg_list_with_envptr based structure level 1 dcl 4-42 arg_ptr 32 based pointer level 2 dcl 10-36 set ref 694 694 694 697* 701* 732 751* 753* 772* 774* 1167 1167 1167 1174* arg_sw 000211 automatic bit(1) initial packed unaligned dcl 71 set ref 71* 196* 270 argp 000310 automatic pointer initial dcl 91 set ref 91* 813* 877 885* 887 888* 892 892 892 895 901 904* 908* 914 917 918 923 923 926 929 929 933 937 951 952 960* 960 963* arithmetic 0(01) 000132 external static bit(1) array level 2 packed packed unaligned dcl 6-23 ref 907 arithmetic_to_ascii_ 000052 constant entry external dcl 158 ref 908 ascii_representation 001414 automatic varying char(132) initial dcl 105 set ref 105* 908* 909* azm_display_mc_ 000126 constant entry external dcl 180 ref 1138 azm_display_mc_$regs_only 000130 constant entry external dcl 181 ref 724 azm_ret_x7_stack_$page 000064 constant entry external dcl 163 ref 1214 azm_ret_x7_stack_$pxss 000062 constant entry external dcl 162 ref 1210 azm_syserr_$returns_string 000060 constant entry external dcl 161 ref 615 based_bit based bit(36) dcl 118 ref 743 based_regs based fixed bin(35,0) array dcl 69 ref 720 baseno builtin function dcl 182 ref 242 242 650 650 779 817 817 892 892 1078 1143 1143 1151 1151 1208 1209 1213 1271 baseptr builtin function dcl 182 ref 1041 1041 1045 1045 1189 1227 bcs based char(100) packed unaligned dcl 116 ref 877 begin_block_entries 001502 constant bit(36) initial array dcl 108 ref 739 743 bit_dtype constant fixed bin(17,0) initial dcl 12-25 ref 932 bit_offset 1(21) based bit(6) level 2 packed packed unaligned dcl 7-5 set ref 1020 1022* 1022 bit_string based bit packed unaligned dcl 119 ref 937 bound_comp_name 000146 automatic char(128) initial packed unaligned dcl 68 set ref 68* 263* 264* 272 603* 607* 609 628* 631 631 635* 640* 667 c75 001345 automatic char(75) initial dcl 103 set ref 103* 934* 939* 941* 943* 944* 946* 947* call_type 0(18) based fixed bin(18,0) level 3 in structure "command_name_arglist" packed packed unsigned unaligned dcl 4-25 in procedure "azm_stack_trace_" ref 1001 1001 1001 call_type 0(18) based fixed bin(18,0) level 3 in structure "arg_list_with_envptr" packed packed unsigned unaligned dcl 4-42 in procedure "azm_stack_trace_" ref 832 char_dtype constant fixed bin(17,0) initial dcl 12-25 ref 879 950 char_string based char packed unaligned dcl 117 set ref 952* check_err_sw 000136 automatic bit(1) initial packed unaligned dcl 61 set ref 61* 321* 364* 606 613 630 cleanup 001636 stack reference condition dcl 184 ref 199 cname parameter char packed unaligned dcl 971 set ref 969 976 976 976 984 991* code 000141 automatic fixed bin(35,0) initial dcl 64 set ref 64* 205 211* 225 238* 250* 251 252 255* 256 257 306 323 328* 333 347* 350 362* 363 365* 368 369* 371 373 374* 376 380 501* 592 594* 595 596* 598 615* 617 650* 653 658* 674* 724* 751* 752 753* 754* 761* 772* 773 774* 775* 780* 781 782 784* 787* 789* 794* 795 796* 817* 819 822* 837* 838 839* 848* 850 851* 853* 892* 894 896* 1041* 1045* 1050* 1055* 1060 1061 1064* 1065 1067 1082* 1085 1086 1092 1093 1104 1105 1113* 1115* 1138* 1139 1139* 1143* 1145 1145* 1147* 1148 1148* 1151* 1153 1153* 1242 1246* 1251 command_name_arglist based structure level 1 dcl 4-25 condition_ 000044 constant entry external dcl 154 ref 812 condition_info_header based structure level 1 dcl 5-6 cont parameter bit(1) packed unaligned dcl 971 set ref 969 980* cop parameter pointer dcl 971 ref 969 data_buf_ptr 000206 automatic pointer initial dcl 70 set ref 70* data_type_info_$info 000132 external static structure array level 1 dcl 6-23 ref 859 859 862 862 904 904 decode_descriptor_ 000050 constant entry external dcl 156 ref 843 857 desc_count 1 based fixed bin(17,0) level 3 packed packed unsigned unaligned dcl 4-25 ref 758 entry_dtype constant fixed bin(17,0) initial dcl 12-25 ref 928 entry_name 000102 automatic char(36) initial packed unaligned dcl 50 set ref 50* 187* 318* 329* 359* 614 614 entry_ptr 26 based pointer level 2 dcl 10-36 set ref 604 607* 624* 669* 669* 685 685 685 685* 685* 739 739 743 779 780* 783 787* 848 848 error_fwd 000215 automatic bit(1) initial packed unaligned dcl 71 set ref 71* 222* 298 300* 479* error_rev 000214 automatic bit(1) initial packed unaligned dcl 71 set ref 71* 222* 231 298 300* 575* error_table_$action_not_performed 000020 external static fixed bin(35,0) dcl 136 ref 353 error_table_$seg_not_found 000022 external static fixed bin(35,0) dcl 136 ref 782 fault_tag_1 001644 stack reference condition dcl 184 ref 235 417 481 487 577 file_dtype constant fixed bin(17,0) initial dcl 12-25 ref 955 first 000143 automatic fixed bin(18,0) initial dcl 65 set ref 65* fixed builtin function dcl 182 ref 207 208 208 242 242 426 426 426 426 426 426 426 444 497 497 509 521 521 521 521 521 521 537 538 538 548 548 650 650 650 650 709 709 709 709 817 817 817 817 848 848 892 892 892 1078 1079 1143 1143 1143 1143 1151 1151 1151 1151 1189 1208 1209 1213 1220 1244 1245 1245 1271 flags 0(18) based structure level 2 packed packed unaligned dcl 3-24 for_number 000137 automatic fixed bin(17,0) initial dcl 62 set ref 62* 189* 387 387 1243* force_sw 000213 automatic bit(1) initial packed unaligned dcl 71 set ref 71* 195* 209 219* 231 298 331* 413 453 485 500 590* frame_number 000122 automatic fixed bin(17,0) initial dcl 53 set ref 53* 249* 386* 386 387 392 395 398 401 1253* frames_array_fwd based pointer array dcl 76 set ref 226 395 434 441* 450* 478* frames_array_rev based pointer array dcl 77 set ref 228 401 528 536* 544* 551* 574* frames_fwd_ptr 000240 automatic pointer initial dcl 78 set ref 78* 190* 200 200* 226 308 308* 395 415* 434 441 450 478 1239* frames_rev_ptr 000242 automatic pointer initial dcl 79 set ref 79* 191* 201 201* 228 310 310* 401 492* 528 536 544 551 574 1239* fwd_bound_sw 000305 automatic bit(1) initial packed unaligned dcl 89 set ref 89* 411* 471* 496 fwd_sw 000210 automatic bit(1) initial packed unaligned dcl 71 set ref 71* 194* 214* 226 231 233* 242* 244* 244 244* 273 295 299* 299 334* 391 413 500 589* fword based fixed bin(35,0) array dcl 115 set ref 895* 901* 923* 923* 926* 933 951 960* get_entry_arg_descs_ 000046 constant entry external dcl 155 ref 794 given_p parameter pointer dcl 1186 ref 1183 1189 hbound builtin function dcl 182 ref 739 859 862 904 header based structure level 2 in structure "arg_list_with_envptr" dcl 4-42 in procedure "azm_stack_trace_" header based structure level 2 in structure "command_name_arglist" dcl 4-25 in procedure "azm_stack_trace_" i 002105 automatic fixed bin(17,0) dcl 1203 in procedure "savex_stack_" set ref 1226* 1227 1228* i 001323 automatic fixed bin(17,0) initial dcl 99 in procedure "azm_stack_trace_" set ref 99* 432* 434* 526* 528* 936* 937 939 941* 943 id_offset 002104 automatic fixed bin(17,0) dcl 1203 set ref 1210* 1214* 1220 in_perm_seg 0(21) based bit(1) level 3 packed packed unaligned dcl 3-24 ref 1101 in_temp_seg 0(20) based bit(1) level 3 packed packed unaligned dcl 3-24 ref 1101 index builtin function dcl 182 ref 272 609 631 631 667 1129 1129 infop parameter pointer dcl 971 ref 969 987 987 ioa_ 000036 constant entry external dcl 149 ref 232 242 244 247 248 264 276 283 296 435 456 462 466 470 529 554 561 565 624 640 649 669 672 685 690 697 701 711 723 744 748 760 766 804 820 827 895 901 904 909 919 923 926 929 947 952 956 960 962 991 1131 1137 1142 1171 1174 1222 1228 ioa_$nnl 000040 constant entry external dcl 149 ref 621 ioa_$rsnnl 000042 constant entry external dcl 149 ref 861 865 944 946 its based structure level 1 dcl 7-5 its_mod 0(30) 001460 automatic bit(6) level 2 in structure "its_ptr" packed packed unaligned dcl 111 in procedure "azm_stack_trace_" set ref 737 its_mod 0(30) based bit(6) level 2 in structure "its" packed packed unaligned dcl 7-5 in procedure "azm_stack_trace_" ref 685 690 694 739 874 917 1167 1271 its_ptr 001460 automatic structure level 1 dcl 111 set ref 732* j 001324 automatic fixed bin(17,0) initial dcl 99 set ref 99* 739* 743* 814* 815 820* 827* 832 834 845 895* 901* 904* 909* 919* 923* 926* 929* 947* 952* 956* 960* 991* jd 001325 automatic fixed bin(17,0) initial dcl 99 set ref 99* 832* 834* 836 837 845 848 848 848 851 857 k 001326 automatic fixed bin(17,0) initial dcl 99 set ref 99* 861* 865* 935* 938* 938 944 944* 946 946* label_dtype constant fixed bin(17,0) initial dcl 12-25 ref 928 label_variable based structure level 1 dcl 120 last_found_fwd_sp 000224 automatic pointer initial dcl 73 set ref 73* 484* 496 506 517 last_found_rev_sp 000226 automatic pointer initial dcl 73 set ref 73* 580* lbound builtin function dcl 182 ref 859 862 904 log_mess based char packed unaligned dcl 130 set ref 621* log_mess_len 001632 automatic fixed bin(21,0) dcl 129 set ref 615* 621 621 log_seg_ptr 001630 automatic pointer dcl 128 set ref 614* 615* 618* 621 622* long_sw 000212 automatic bit(1) initial packed unaligned dcl 71 set ref 71* 197* 270 292 max builtin function dcl 182 ref 951 max_arg 001330 automatic fixed bin(17,0) initial dcl 100 set ref 100* 810* 814 max_stack_size 000304 automatic fixed bin(18,0) dcl 88 set ref 412* 426 497 max_words 000306 automatic fixed bin(18,0) initial dcl 90 set ref 90* 811* 817* mbz 1(17) based bit(1) level 3 packed packed unaligned dcl 4-25 ref 999 mc based structure level 1 dcl 8-12 mcp parameter pointer dcl 971 in procedure "intproc" ref 969 mcp 002010 automatic pointer dcl 1126 in procedure "mc_frame" set ref 1132* 1137* 1137* 1138* 1142* 1142* 1143* 1143* 1143* 1143* 1147* min builtin function dcl 182 ref 936 951 min_arg 001327 automatic fixed bin(17,0) initial dcl 100 set ref 100* 809* 814 ndims 001336 automatic fixed bin(17,0) initial dcl 101 set ref 101* 843* 873* 962 962* next_frame_mc 000135 automatic bit(1) packed unaligned dcl 60 set ref 338 343* 345* next_sp 22 based pointer level 2 dcl 10-36 set ref 426 426* 426 426 426 444 466* 470* 516* 709 no_arg_ptr 000130 automatic bit(1) initial packed unaligned dcl 56 set ref 56* 291* 684 1156* no_args 001333 automatic fixed bin(17,0) initial dcl 101 set ref 101* 757* 764 765 803 804* 805* 810 836 837 no_desc 001334 automatic fixed bin(17,0) initial dcl 101 set ref 101* 758* 764 807 807* 830 1005 1005 1005 not_first 000131 automatic bit(1) initial packed unaligned dcl 56 set ref 56* 423* 426* 443* 494* 505* 516* 521* 538* null builtin function dcl 182 ref 49 51 51 52 54 70 72 72 73 73 74 78 79 82 83 83 91 92 93 94 190 191 200 201 308 310 685 690 694 734 738 739 816 836 845 886 963 987 1019 1084 1167 1239 num_based based fixed bin(17,0) packed unaligned dcl 1201 ref 1220 number 002103 automatic fixed bin(17,0) dcl 1203 set ref 1220* 1222 1222 1222* 1226 number_mcs 000134 automatic fixed bin(17,0) initial dcl 59 set ref 59* 249* 335* 339 346 353 1130* 1130 number_of_valid_stacks 000140 automatic fixed bin(17,0) initial dcl 63 set ref 63* number_val_args internal static fixed bin(17,0) initial dcl 2-3 ref 2-23 offset 000142 automatic fixed bin(18,0) initial dcl 65 set ref 65* offset_dtype constant fixed bin(17,0) initial dcl 12-25 ref 926 operator_and_lp_ptr 30 based pointer level 2 dcl 10-36 set ref 690 690 690 690* ou_regs 20 000254 automatic fixed bin(35,0) array level 2 dcl 84 set ref 720* out 002012 automatic char(168) packed unaligned dcl 1127 set ref 1128* 1129 1129 packed 001456 automatic bit(1) initial dcl 107 set ref 107* 843* 870* 908* 913 packptr based pointer packed unaligned dcl 114 ref 914 page_err_regs 000254 automatic structure level 1 unaligned dcl 84 set ref 724 724 page_ptr 000116 automatic pointer initial dcl 51 set ref 51* 255* 596* 1213 part1 1 based structure level 2 in structure "translation" dcl 3-24 in procedure "azm_stack_trace_" part1 347 based structure array level 3 in structure "translation_table" dcl 3-13 in procedure "azm_stack_trace_" part1 1 000232 automatic structure level 2 in structure "temp_trans" unaligned dcl 75 in procedure "azm_stack_trace_" pg_err 000216 automatic bit(1) initial packed unaligned dcl 71 set ref 71* 261* 274 277* 281 284* 286* 599* 645 668 676* 678* pg_ptr 000254 automatic pointer array level 2 dcl 84 set ref 719* pointer builtin function dcl 182 ref 207 218 264 264 444 497 509 513 537 848 848 1077 1189 1227 1244 pointer_dtype constant fixed bin(17,0) initial dcl 12-25 ref 874 912 ppr 0(03) based bit(1) level 2 packed packed unaligned dcl 2-32 set ref 1136* pr 0(23) based bit(1) array level 2 packed packed unaligned dcl 2-32 set ref 1136* prev_sp 20 based pointer level 2 dcl 10-36 set ref 244* 296* 424 505* 509 521* 521 521 537 554* 561* 565* print_savex 002102 automatic bit(1) packed unaligned dcl 1202 set ref 1207* 1211* 1215* 1218 process_idx 24 based fixed bin(17,0) level 2 dcl 1-3 ref 1039 prs 0(22) based bit(1) level 2 in structure "arg_bits_def" packed packed unaligned dcl 2-32 in procedure "azm_stack_trace_" set ref 722* prs based pointer array level 2 in structure "mc" dcl 8-12 in procedure "azm_stack_trace_" ref 719 ptr 1 based pointer level 3 in structure "translation" packed packed unaligned dcl 3-24 in procedure "azm_stack_trace_" ref 1111 ptr based pointer level 2 in structure "label_variable" dcl 120 in procedure "azm_stack_trace_" set ref 929* 929* ptr_array based pointer array dcl 113 ref 815 918 pxss_ptr 000114 automatic pointer initial dcl 51 set ref 51* 250* 594* 1209 quiet_restart 2(02) based bit(1) level 3 packed packed unaligned dcl 5-6 ref 987 regs 0(06) based bit(1) level 2 packed packed unaligned dcl 2-32 set ref 722* rel builtin function dcl 182 ref 207 208 208 264 264 426 426 426 426 426 426 426 444 497 497 509 521 521 521 521 521 521 521 521 537 538 538 548 548 650 650 709 709 709 709 817 817 848 848 892 1079 1143 1143 1151 1151 1189 1220 1244 1245 1245 rel_offset 002106 automatic fixed bin(17,0) dcl 1203 set ref 1210* 1214* 1219 ret_arg_ptr 001744 automatic pointer dcl 730 set ref 885* 886 888 963 ret_bit 000100 automatic bit(1) packed unaligned dcl 1264 set ref 1266* 1271* 1275* 1276* 1277* 1280 return_ptr 24 based pointer level 2 dcl 10-36 set ref 263* 264 264 264 264 628* 635* 640* 1128* 1208 rtrim builtin function dcl 182 ref 614 614 859 862 save_next_sp 000222 automatic pointer initial dcl 72 set ref 72* 534* save_prev_sp 000220 automatic pointer initial dcl 72 set ref 72* 424* 442* save_stack based structure array level 1 packed packed unaligned dcl 1197 sb 001662 automatic pointer dcl 11-24 set ref 207 207 208 210 218 247 247 426 426 444 497 497 497 509 521 521 521 537 538 548 1077* 1078 1111* 1113 1115 1244 1244 1245 scale 001337 automatic fixed bin(17,0) initial dcl 101 set ref 101* 843* 872* 908* sci_ptr 001634 automatic pointer dcl 157 set ref 188* 200* 201* 237* 308* 310* 320* 330* 361* 415* 492* 614* 615* 618* 622* 724* 1138* search_entry_ptr 000124 automatic pointer initial dcl 54 set ref 54* 319* 362* 369* 374* 604 segno 0(03) based bit(15) level 2 in structure "its" packed packed unaligned dcl 7-5 in procedure "azm_stack_trace_" ref 685 690 694 1167 segno 002112 automatic fixed bin(17,0) dcl 1205 in procedure "savex_stack_" set ref 1208* 1209 1213 1227 segno 000145 automatic fixed bin(17,0) initial dcl 67 in procedure "azm_stack_trace_" set ref 67* 1037* 1041 1041 1045 1045 1064* 1078* 1082* 1189 1271 segno_check parameter bit(1) packed unaligned dcl 1262 ref 1259 1271 set_for parameter bit(1) packed unaligned dcl 1124 ref 1122 1135 1141 set_ptr 0(32) based bit(1) level 2 packed packed unaligned dcl 2-32 set ref 1135* signaller 20(26) based bit(1) level 2 packed packed unaligned dcl 10-64 ref 343 sp 001660 automatic pointer dcl 10-31 set ref 207* 208 218* 226* 228* 244 263 264* 264* 264 264 264 264 296 343 395* 401* 424 426 426 426 426 426 426 434 441 442 444* 444 450 456* 456* 462* 462* 466 466* 466* 470 470* 470* 478 484 496* 497* 505 506* 509* 509 513* 513 516 517* 521 521 521 521 521 521 528 534 536 537* 537 538 544 548 551 554 554* 554* 561 561* 561* 565 565* 565* 574 580 604 607 624 624* 624* 628 635 640 640* 640* 649* 649* 650* 650* 650* 650* 669 669 672* 672* 674* 685 685 685 685 685 690 690 690 690 694 694 694 697 701 709* 709 709 709 709 719 720 732 739 739 743 751 753 772 774 779 780 783 787 848 848 1128 1131* 1131* 1132 1151* 1151* 1151* 1151* 1167 1167 1167 1174 1208 1219 1220 1244* 1245 ssu_$get_temp_segment 000110 constant entry external dcl 173 ref 415 492 614 ssu_$print_message 000112 constant entry external dcl 174 ref 237 ssu_$release_temp_segment 000114 constant entry external dcl 175 ref 200 201 308 310 618 622 stack_begin_ptr 22 based pointer level 2 dcl 11-26 set ref 207 247* 521 521 521 538 548 1113* 1244 stack_end_ptr 24 based pointer level 2 dcl 11-26 set ref 208 210 247* 426 426 497 497 1115* 1245 stack_frame based structure level 1 dcl 10-36 stack_frame_flags based structure level 1 dcl 10-64 stack_frames_fwd 000132 automatic fixed bin(17,0) initial dcl 57 set ref 57* 223* 244* 392 432 440* 440 441 449* 449 450 476* 476 478 1249* stack_frames_rev 000133 automatic fixed bin(17,0) initial dcl 58 set ref 58* 223* 244* 398 526 535* 535 536 543* 543 544 550* 550 551 571* 571 574 1249* stack_header based structure level 1 dcl 11-26 stack_offset 000144 automatic fixed bin(18,0) initial dcl 66 set ref 66* 206 218 495 513 1079* stack_ptr 000230 automatic pointer initial dcl 74 set ref 74* 193* 1077 1079 1240* stack_size 002107 automatic fixed bin(17,0) dcl 1203 set ref 1210* 1214* 1222 1222* stackp 002100 automatic pointer dcl 1200 set ref 1219* 1220 1222* 1222* 1227 1228 stop 000127 automatic bit(1) initial packed unaligned dcl 56 set ref 56* 229* 262 337 388* 393* 399* 422* 425 436* 448* 493* 520 530* 545* 549* 593* 601 1252* strl 001335 automatic fixed bin(17,0) initial dcl 101 set ref 101* 843* 877* 878 878* 879 908* 933* 936 937 944 944 944* 946 946* 951* 952* 952 952 strp 000314 automatic pointer initial dcl 93 set ref 93* substr builtin function dcl 182 set ref 937 939* 941* 943* sys_info$max_seg_size 000010 external static fixed bin(35,0) dcl 87 ref 412 t_args_p 000720 automatic pointer array dcl 97 set ref 734* 771 836 837* tdesc 000520 automatic pointer array dcl 96 set ref 848* 857* temp_arg 001462 automatic structure level 1 unaligned dcl 124 temp_arg_ptr 000250 automatic pointer initial dcl 83 set ref 83* 815* 816 817 817 817 817 820* 820* 885* temp_desc 000245 automatic fixed bin(35,0) initial dcl 81 set ref 81* temp_desc_ptr 000252 automatic pointer initial dcl 83 set ref 83* 837* 843* temp_entry_ptr 000246 automatic pointer initial dcl 82 set ref 82* 780* 783* 794* temp_name_ptr 002110 automatic pointer dcl 1204 set ref 1227* 1228* temp_proc_hold 000126 automatic fixed bin(17,0) initial dcl 55 set ref 55* 1039* 1042* temp_ptr 000100 automatic pointer initial dcl 49 in procedure "azm_stack_trace_" set ref 49* temp_ptr 000100 automatic pointer dcl 1185 in procedure "real_ptr" set ref 1189* 1190 temp_trans 000232 automatic structure level 1 unaligned dcl 75 set ref 1035 temp_word 000244 automatic bit(36) initial dcl 80 set ref 80* 718* 721 1133* 1134 this_frame 001702 automatic bit(1) packed unaligned dcl 587 set ref 602* 604* 609* 612 tnargs 001344 automatic fixed bin(17,0) initial dcl 102 set ref 102* tp 000316 automatic pointer initial dcl 94 set ref 94* 914* 918* 919* 919* tpr 0(04) based bit(1) level 2 packed packed unaligned dcl 2-32 set ref 1136* translation based structure level 1 dcl 3-24 translation_ptr 001656 automatic pointer dcl 3-40 set ref 1035* 1041* 1045* 1064* 1082* 1084 1101 1101 1111 ttype 001370 automatic char(40) initial packed unaligned dcl 104 set ref 104* 859* 861* type 001331 automatic fixed bin(17,0) initial dcl 100 in procedure "azm_stack_trace_" set ref 100* 843* 858 859 859 859 861* 874* 879* 881* 890 890 901 904 904 904* 907 908* 912 926 928 928 932 932 933 950 950 951 955 960 type 3 based fixed bin(17,0) level 2 in structure "amu_info" packed packed unaligned dcl 1-3 in procedure "azm_stack_trace_" ref 1036 1049 type_name 000000 constant char(40) initial array packed unaligned dcl 9-11 set ref 859 862 960* unspec builtin function dcl 182 set ref 732 732* 732* upper based fixed bin(17,0) array level 2 packed packed unaligned dcl 1197 set ref 1227 1228* varying_bit_dtype constant fixed bin(17,0) initial dcl 12-25 ref 890 932 933 varying_char_dtype constant fixed bin(17,0) initial dcl 12-25 ref 890 950 951 verify builtin function dcl 182 ref 877 vptr parameter pointer dcl 1261 set ref 1259 1271 1271 wire_ptr 000120 automatic pointer initial dcl 52 set ref 52* 365* xargp 001742 automatic pointer dcl 730 set ref 887* 963 xdesc 000320 automatic pointer array dcl 95 set ref 794* 845 848 848 851* xnargs 001343 automatic fixed bin(17,0) initial dcl 102 set ref 102* 794* 797* 801* 806 806* 845 xndims 001341 automatic fixed bin(17,0) initial dcl 102 set ref 102* 857* xpacked 001457 automatic bit(1) initial dcl 107 set ref 107* 857* xscale 001342 automatic fixed bin(17,0) initial dcl 102 set ref 102* 857* xstrl 001340 automatic fixed bin(17,0) initial dcl 102 set ref 102* 857* xttype 001402 automatic char(40) initial packed unaligned dcl 104 set ref 104* 862* 865* xtype 001332 automatic fixed bin(17,0) initial dcl 100 set ref 100* 857* 858 862 862 862 865* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. AMU_INFO_VERSION internal static char(8) initial packed unaligned dcl 1-57 AMU_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 1-56 AMU_INFO_VERSION_2 internal static char(8) initial packed unaligned dcl 1-58 FDUMP_TYPE internal static fixed bin(17,0) initial dcl 1-47 INDIRECT_TYPE internal static fixed bin(17,0) initial dcl 1-47 ITP_MODIFIER internal static bit(6) initial packed unaligned dcl 7-56 NETWORK_FDUMP_TYPE internal static fixed bin(17,0) initial dcl 1-47 NETWORK_ONLINE_TYPE internal static fixed bin(17,0) initial dcl 1-47 ONLINE_PROCESS_TYPE internal static fixed bin(17,0) initial dcl 1-47 ONLINE_TYPE internal static fixed bin(17,0) initial dcl 1-47 PDIR_SUFFIX internal static char(4) initial packed unaligned dcl 1-60 RETURN_PTR_MASK internal static bit(72) initial packed unaligned dcl 10-19 TRANSLATOR_ID_ALM internal static bit(18) initial packed unaligned dcl 10-25 TRANSLATOR_ID_PL1V1 internal static bit(18) initial packed unaligned dcl 10-26 TRANSLATOR_ID_PL1V2 internal static bit(18) initial packed unaligned dcl 10-24 TRANSLATOR_ID_SIGNALLER internal static bit(18) initial packed unaligned dcl 10-28 TRANSLATOR_ID_SIGNAL_CALLER internal static bit(18) initial packed unaligned dcl 10-27 abx internal static fixed bin(17,0) initial dcl 8-42 algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 12-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 12-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 12-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 12-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 12-25 alloc_translation_table_max_entries automatic fixed bin(17,0) dcl 3-39 amu_area based area(1024) dcl 1-43 apx internal static fixed bin(17,0) initial dcl 8-42 area_dtype internal static fixed bin(17,0) initial dcl 12-25 arg_bits based structure level 1 dcl 2-23 arg_list based structure level 1 dcl 4-14 bbx internal static fixed bin(17,0) initial dcl 8-42 bpx internal static fixed bin(17,0) initial dcl 8-42 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 12-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 12-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 12-25 c_union_dtype internal static fixed bin(17,0) initial dcl 12-25 call_offset internal static fixed bin(17,0) initial dcl 11-78 cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 12-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 12-25 condition_info_header_ptr automatic pointer dcl 5-4 cplx_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 12-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 12-25 data_type_info_$max_decimal_precision external static fixed bin(17,0) dcl 6-48 data_type_info_$max_fixed_binary_precision external static fixed bin(17,0) dcl 6-50 data_type_info_$max_float_binary_precision external static fixed bin(17,0) dcl 6-49 data_type_info_$ninebit_digit_chars external static char(10) packed unaligned dcl 6-45 data_type_info_$ninebit_overpunched_sign_chars external static char(22) packed unaligned dcl 6-46 data_type_info_$ninebit_sign_chars external static char(2) packed unaligned dcl 6-44 data_type_info_$version_number external static fixed bin(17,0) dcl 6-20 data_type_info_this_version internal static fixed bin(17,0) initial dcl 6-21 entry_offset internal static fixed bin(17,0) initial dcl 11-78 ext_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 12-125 ext_procedure_runtime_dtype internal static fixed bin(17,0) initial dcl 12-125 ft_char_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_logical_dtype internal static fixed bin(17,0) initial dcl 12-96 ft_real_dtype internal static fixed bin(17,0) initial dcl 12-96 int_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 12-125 itp based structure level 1 dcl 7-18 itp_unsigned based structure level 1 dcl 7-43 its_unsigned based structure level 1 dcl 7-30 label_constant_runtime_dtype internal static fixed bin(17,0) initial dcl 12-125 lbx internal static fixed bin(17,0) initial dcl 8-42 lpx internal static fixed bin(17,0) initial dcl 8-42 mcp automatic pointer dcl 8-10 pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_record_file_type_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_record_type_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_set_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_string_type_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_text_file_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_typed_pointer_type_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_user_defined_type_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_user_defined_type_instance_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_value_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 12-132 pascal_variable_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 12-132 picture_runtime_dtype internal static fixed bin(17,0) initial dcl 12-125 push_offset internal static fixed bin(17,0) initial dcl 11-78 real_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_bin_1_uns_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_bin_2_uns_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_dec_4bit_bytealigned_uns_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_dec_4bit_ls_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_dec_4bit_ts_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_dec_4bit_uns_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_dec_9bit_ls_overp_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_dec_9bit_ts_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_dec_9bit_ts_overp_dtype internal static fixed bin(17,0) initial dcl 12-25 real_fix_dec_9bit_uns_dtype internal static fixed bin(17,0) initial dcl 12-25 real_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 12-25 real_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 12-25 real_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 12-25 real_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 12-25 real_flt_dec_4bit_dtype internal static fixed bin(17,0) initial dcl 12-25 real_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 12-25 real_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 12-25 real_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 12-25 real_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 12-25 real_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 12-25 return_no_pop_offset internal static fixed bin(17,0) initial dcl 11-78 return_offset internal static fixed bin(17,0) initial dcl 11-78 sbx internal static fixed bin(17,0) initial dcl 8-42 scu based structure level 1 dcl 8-56 scup automatic pointer dcl 8-54 scux based structure level 1 dcl 8-207 spx internal static fixed bin(17,0) initial dcl 8-42 stack_frame_min_length internal static fixed bin(17,0) initial dcl 10-33 stack_header_overlay based fixed bin(17,0) array dcl 11-94 structure_dtype internal static fixed bin(17,0) initial dcl 12-25 translation_table based structure level 1 dcl 3-13 tv_offset internal static fixed bin(17,0) initial dcl 11-72 valid_mc_arg internal static char(8) initial array packed unaligned dcl 2-5 what_prs based structure level 1 dcl 2-26 NAMES DECLARED BY EXPLICIT CONTEXT. CHECK_THREAD 004561 constant entry internal dcl 408 ref 224 1250 Check_stack_thread_fwd 004622 constant label dcl 417 Check_stack_thread_rev 005235 constant label dcl 487 ref 413 ERROR 004005 constant label dcl 306 ref 205 212 225 333 348 350 363 371 376 1251 NORMAL_RETURN 004007 constant label dcl 308 ref 239 304 324 354 381 PRINT_STACK 003170 constant label dcl 235 ref 301 RET_VAL 014100 constant label dcl 1280 ref 1268 azm_stack_trace_ 002720 constant entry external dcl 27 azm_stack_trace_$check_for_entry 004050 constant entry external dcl 315 azm_stack_trace_$check_for_mc 004114 constant entry external dcl 326 azm_stack_trace_$check_for_syserr 004237 constant entry external dcl 356 badap 007461 constant label dcl 739 ref 737 check_bit_offset 012260 constant entry internal dcl 1012 ref 885 check_next 004515 constant entry internal dcl 383 ref 260 293 336 351 600 627 634 646 656 check_page_err 006721 constant entry internal dcl 664 ref 644 common_check_entry 005777 constant entry internal dcl 585 ref 322 367 372 377 display_args 007067 constant entry internal dcl 682 ref 271 display_frame 007306 constant entry internal dcl 706 ref 292 display_page_err_regs 007347 constant entry internal dcl 716 ref 275 282 671 frame_args_ 007430 constant entry internal dcl 727 ref 1170 fwd_next_frame 004724 constant label dcl 432 ref 453 get_new_trans 012301 constant entry internal dcl 1030 ref 1091 1103 get_stack 012462 constant entry internal dcl 1075 ref 204 1241 good_thread_fwd 005226 constant label dcl 481 ref 475 good_thread_rev 005771 constant label dcl 577 ref 569 guess 010747 constant label dcl 870 ref 836 840 intproc 012102 constant entry internal dcl 969 ref 812 812 mc_frame 012613 constant entry internal dcl 1122 ref 268 339 341 pptr 011304 constant label dcl 919 ref 915 print_args 013373 constant entry internal dcl 1165 ref 698 real_ptr 013456 constant entry internal dcl 1183 ref 264 264 456 456 462 462 466 466 470 470 554 554 561 561 565 565 624 624 640 640 649 649 650 650 650 650 672 672 1131 1131 1137 1137 1142 1142 1143 1143 1143 1143 1151 1151 1151 1151 1222 1222 rev_next_frame 005502 constant label dcl 526 savex_stack_ 013501 constant entry internal dcl 1195 ref 267 643 set_up_search 013744 constant entry internal dcl 1236 ref 332 591 skip_frame 006455 constant label dcl 631 ref 637 skiparg 012076 constant label dcl 964 ref 823 828 897 992 stack_error_fwd 005215 constant label dcl 476 ref 420 457 463 467 472 stack_error_rev 005760 constant label dcl 571 ref 490 556 562 566 tell_called_by 006527 constant label dcl 640 ref 647 thread_ptr_val 014021 constant entry internal dcl 1259 ref 426 505 516 521 1113 1115 valid_arg_list 012204 constant entry internal dcl 997 ref 759 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 15256 15412 14333 15266 Length 16254 14333 134 625 722 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME azm_stack_trace_ 1615 external procedure is an external procedure. on unit on line 199 70 on unit on unit on line 235 88 on unit check_next internal procedure shares stack frame of external procedure azm_stack_trace_. CHECK_THREAD 134 internal procedure enables or reverts conditions. on unit on line 417 64 on unit on unit on line 487 64 on unit common_check_entry internal procedure shares stack frame of external procedure azm_stack_trace_. check_page_err internal procedure shares stack frame of external procedure azm_stack_trace_. display_args internal procedure shares stack frame of external procedure azm_stack_trace_. display_frame internal procedure shares stack frame of external procedure azm_stack_trace_. display_page_err_regs internal procedure shares stack frame of external procedure azm_stack_trace_. frame_args_ internal procedure shares stack frame of external procedure azm_stack_trace_. intproc 88 internal procedure is assigned to an entry variable. valid_arg_list internal procedure shares stack frame of external procedure azm_stack_trace_. check_bit_offset internal procedure shares stack frame of external procedure azm_stack_trace_. get_new_trans internal procedure shares stack frame of external procedure azm_stack_trace_. get_stack internal procedure shares stack frame of external procedure azm_stack_trace_. mc_frame internal procedure shares stack frame of external procedure azm_stack_trace_. print_args internal procedure shares stack frame of external procedure azm_stack_trace_. real_ptr 66 internal procedure is called during a stack extension. savex_stack_ internal procedure shares stack frame of external procedure azm_stack_trace_. set_up_search internal procedure shares stack frame of external procedure azm_stack_trace_. thread_ptr_val 72 internal procedure enables or reverts conditions. on unit on line 1267 64 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME azm_stack_trace_ 000100 temp_ptr azm_stack_trace_ 000102 entry_name azm_stack_trace_ 000114 pxss_ptr azm_stack_trace_ 000116 page_ptr azm_stack_trace_ 000120 wire_ptr azm_stack_trace_ 000122 frame_number azm_stack_trace_ 000124 search_entry_ptr azm_stack_trace_ 000126 temp_proc_hold azm_stack_trace_ 000127 stop azm_stack_trace_ 000130 no_arg_ptr azm_stack_trace_ 000131 not_first azm_stack_trace_ 000132 stack_frames_fwd azm_stack_trace_ 000133 stack_frames_rev azm_stack_trace_ 000134 number_mcs azm_stack_trace_ 000135 next_frame_mc azm_stack_trace_ 000136 check_err_sw azm_stack_trace_ 000137 for_number azm_stack_trace_ 000140 number_of_valid_stacks azm_stack_trace_ 000141 code azm_stack_trace_ 000142 offset azm_stack_trace_ 000143 first azm_stack_trace_ 000144 stack_offset azm_stack_trace_ 000145 segno azm_stack_trace_ 000146 bound_comp_name azm_stack_trace_ 000206 data_buf_ptr azm_stack_trace_ 000210 fwd_sw azm_stack_trace_ 000211 arg_sw azm_stack_trace_ 000212 long_sw azm_stack_trace_ 000213 force_sw azm_stack_trace_ 000214 error_rev azm_stack_trace_ 000215 error_fwd azm_stack_trace_ 000216 pg_err azm_stack_trace_ 000220 save_prev_sp azm_stack_trace_ 000222 save_next_sp azm_stack_trace_ 000224 last_found_fwd_sp azm_stack_trace_ 000226 last_found_rev_sp azm_stack_trace_ 000230 stack_ptr azm_stack_trace_ 000232 temp_trans azm_stack_trace_ 000240 frames_fwd_ptr azm_stack_trace_ 000242 frames_rev_ptr azm_stack_trace_ 000244 temp_word azm_stack_trace_ 000245 temp_desc azm_stack_trace_ 000246 temp_entry_ptr azm_stack_trace_ 000250 temp_arg_ptr azm_stack_trace_ 000252 temp_desc_ptr azm_stack_trace_ 000254 page_err_regs azm_stack_trace_ 000304 max_stack_size azm_stack_trace_ 000305 fwd_bound_sw azm_stack_trace_ 000306 max_words azm_stack_trace_ 000310 argp azm_stack_trace_ 000312 ap azm_stack_trace_ 000314 strp azm_stack_trace_ 000316 tp azm_stack_trace_ 000320 xdesc azm_stack_trace_ 000520 tdesc azm_stack_trace_ 000720 t_args_p azm_stack_trace_ 001322 arg_list_length azm_stack_trace_ 001323 i azm_stack_trace_ 001324 j azm_stack_trace_ 001325 jd azm_stack_trace_ 001326 k azm_stack_trace_ 001327 min_arg azm_stack_trace_ 001330 max_arg azm_stack_trace_ 001331 type azm_stack_trace_ 001332 xtype azm_stack_trace_ 001333 no_args azm_stack_trace_ 001334 no_desc azm_stack_trace_ 001335 strl azm_stack_trace_ 001336 ndims azm_stack_trace_ 001337 scale azm_stack_trace_ 001340 xstrl azm_stack_trace_ 001341 xndims azm_stack_trace_ 001342 xscale azm_stack_trace_ 001343 xnargs azm_stack_trace_ 001344 tnargs azm_stack_trace_ 001345 c75 azm_stack_trace_ 001370 ttype azm_stack_trace_ 001402 xttype azm_stack_trace_ 001414 ascii_representation azm_stack_trace_ 001456 packed azm_stack_trace_ 001457 xpacked azm_stack_trace_ 001460 its_ptr azm_stack_trace_ 001462 temp_arg azm_stack_trace_ 001630 log_seg_ptr azm_stack_trace_ 001632 log_mess_len azm_stack_trace_ 001634 sci_ptr azm_stack_trace_ 001652 amu_info_ptr azm_stack_trace_ 001654 arg_bits_ptr azm_stack_trace_ 001656 translation_ptr azm_stack_trace_ 001660 sp azm_stack_trace_ 001662 sb azm_stack_trace_ 001702 this_frame common_check_entry 001742 xargp frame_args_ 001744 ret_arg_ptr frame_args_ 002010 mcp mc_frame 002012 out mc_frame 002100 stackp savex_stack_ 002102 print_savex savex_stack_ 002103 number savex_stack_ 002104 id_offset savex_stack_ 002105 i savex_stack_ 002106 rel_offset savex_stack_ 002107 stack_size savex_stack_ 002110 temp_name_ptr savex_stack_ 002112 segno savex_stack_ real_ptr 000100 temp_ptr real_ptr thread_ptr_val 000100 ret_bit thread_ptr_val THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out call_int_this call_int_other return_mac tra_ext_1 enable_op shorten_stack ext_entry_desc int_entry int_entry_desc set_chars_eis index_chars_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. amu_$definition_ptr amu_$definition_set_from amu_$definition_set_prn amu_$do_translation_by_ptr amu_$do_translation_hunt amu_$do_translation_hunt_ptr amu_$error_for_caller amu_$fdump_mpt_change_idx amu_$fdump_translate_to_temp_seg amu_$get_name amu_$get_name_no_comp amu_$print_dump_oct amu_$return_val_per_process amu_$translate_force_add amu_$translate_get arithmetic_to_ascii_ azm_display_mc_ azm_display_mc_$regs_only azm_ret_x7_stack_$page azm_ret_x7_stack_$pxss azm_syserr_$returns_string condition_ decode_descriptor_ get_entry_arg_descs_ ioa_ ioa_$nnl ioa_$rsnnl ssu_$get_temp_segment ssu_$print_message ssu_$release_temp_segment THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. amu_et_$end_ptr_oob amu_et_$entry_not_found amu_et_$invalid_segno amu_et_$looping_problem amu_et_$no_translation amu_et_$no_valid_stacks amu_et_$not_implemented amu_et_$not_stack_seg data_type_info_$info error_table_$action_not_performed error_table_$seg_not_found sys_info$max_seg_size LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 49 002561 50 002563 51 002566 52 002570 53 002571 54 002572 55 002573 56 002574 57 002577 58 002600 59 002601 61 002602 62 002603 63 002604 64 002605 65 002606 66 002610 67 002611 68 002612 70 002615 71 002616 72 002625 73 002627 74 002631 78 002632 79 002633 80 002634 81 002635 82 002636 83 002637 89 002641 90 002642 91 002643 92 002644 93 002645 94 002646 98 002647 99 002650 100 002654 101 002660 102 002665 103 002672 104 002675 105 002703 107 002704 27 002710 187 002737 188 002742 189 002746 192 002750 193 002753 194 002756 195 002762 196 002767 197 002774 199 003001 200 003015 201 003032 202 003050 204 003051 205 003052 206 003054 207 003056 208 003064 209 003073 210 003075 211 003100 212 003103 214 003104 216 003106 218 003107 219 003112 222 003114 223 003116 224 003120 225 003124 226 003126 228 003135 229 003140 231 003141 232 003147 233 003166 235 003170 237 003204 238 003231 239 003234 242 003237 244 003317 247 003367 248 003413 249 003427 250 003431 251 003465 252 003467 253 003470 255 003471 256 003527 257 003531 258 003532 260 003533 261 003534 262 003535 263 003540 264 003571 267 003640 268 003641 270 003645 271 003651 272 003652 273 003661 274 003664 275 003666 276 003667 277 003702 279 003704 281 003705 282 003707 283 003710 284 003723 285 003724 286 003725 291 003727 292 003730 293 003733 294 003734 295 003735 296 003740 298 003764 299 003772 300 004000 301 004002 303 004003 304 004004 306 004005 308 004007 310 004024 311 004041 315 004042 318 004067 319 004072 320 004076 321 004101 322 004102 323 004103 324 004105 326 004106 328 004133 329 004135 330 004140 331 004144 332 004145 333 004146 334 004150 335 004152 336 004153 337 004154 338 004156 339 004166 341 004175 343 004201 345 004210 346 004211 347 004214 348 004217 350 004220 351 004222 352 004223 353 004224 354 004231 356 004232 359 004256 360 004261 361 004265 362 004270 363 004331 364 004333 365 004335 367 004374 368 004375 369 004401 371 004437 372 004441 373 004442 374 004446 376 004507 377 004511 380 004512 381 004514 383 004515 386 004516 387 004517 388 004524 389 004526 391 004527 392 004532 393 004535 394 004537 395 004540 396 004544 398 004545 399 004550 400 004552 401 004553 404 004557 408 004560 411 004566 412 004570 413 004572 415 004577 417 004622 420 004636 422 004641 423 004643 424 004645 425 004650 426 004653 432 004724 434 004736 435 004744 436 004763 438 004766 440 004770 441 004771 442 004776 443 005000 444 005002 445 005007 448 005010 449 005012 450 005013 451 005017 453 005020 456 005022 457 005053 459 005054 462 005055 463 005106 464 005107 466 005110 467 005147 468 005150 470 005151 471 005207 472 005212 474 005213 475 005214 476 005215 478 005217 479 005224 481 005226 484 005227 485 005233 487 005235 490 005251 492 005254 493 005301 494 005303 495 005305 496 005307 497 005313 500 005325 501 005332 502 005335 505 005336 506 005355 507 005361 509 005362 511 005371 513 005372 516 005375 517 005415 520 005421 521 005425 526 005502 528 005512 529 005520 530 005537 532 005542 534 005544 535 005546 536 005547 537 005553 538 005561 541 005573 543 005574 544 005575 545 005601 546 005603 548 005604 549 005606 550 005610 551 005611 552 005615 554 005616 556 005654 558 005655 561 005656 562 005714 563 005715 565 005716 566 005755 568 005756 569 005757 571 005760 574 005762 575 005767 577 005771 580 005772 581 005776 585 005777 589 006000 590 006002 591 006003 592 006004 593 006007 594 006010 595 006044 596 006047 598 006105 599 006110 600 006111 601 006112 602 006114 603 006115 604 006120 606 006127 607 006131 609 006161 612 006173 613 006175 614 006177 615 006237 617 006267 618 006271 619 006302 621 006303 622 006331 624 006342 627 006417 628 006421 630 006452 631 006455 634 006473 635 006474 637 006525 640 006527 643 006567 644 006570 645 006571 646 006573 647 006574 649 006575 650 006625 653 006707 654 006712 656 006713 657 006714 658 006715 659 006720 664 006721 667 006722 668 006731 669 006733 671 007002 672 007004 674 007034 676 007062 677 007063 678 007064 680 007066 682 007067 684 007070 685 007073 690 007157 694 007217 697 007236 698 007257 699 007260 701 007261 702 007305 706 007306 709 007307 711 007333 712 007346 716 007347 718 007350 719 007351 720 007355 721 007362 722 007364 723 007372 724 007406 725 007427 727 007430 732 007431 734 007436 737 007451 738 007455 739 007461 743 007477 744 007505 745 007521 747 007522 748 007524 749 007543 751 007544 752 007562 753 007564 754 007622 755 007623 757 007624 758 007627 759 007633 760 007640 761 007654 762 007655 764 007656 765 007663 766 007665 767 007702 771 007703 772 007705 773 007725 774 007727 775 007770 776 007771 779 007772 780 007776 781 010013 782 010015 783 010020 784 010023 785 010024 787 010025 789 010062 790 010063 794 010064 795 010111 796 010113 797 010114 799 010115 801 010116 803 010117 804 010122 805 010142 806 010144 807 010151 809 010155 810 010157 811 010161 812 010163 813 010210 814 010212 815 010221 816 010225 817 010231 819 010263 820 010265 822 010335 823 010337 825 010340 827 010341 828 010361 830 010362 832 010364 834 010377 836 010401 837 010410 838 010426 839 010430 840 010431 843 010432 845 010456 848 010470 850 010514 851 010516 853 010555 854 010556 857 010557 858 010605 859 010610 861 010641 862 010667 865 010720 868 010746 870 010747 872 010750 873 010751 874 010752 877 010761 878 010773 879 010776 881 011003 885 011005 886 011007 887 011013 888 011015 890 011017 892 011024 894 011064 895 011066 896 011113 897 011114 901 011115 904 011146 907 011206 908 011213 909 011233 910 011260 912 011261 913 011263 914 011266 915 011274 917 011275 918 011301 919 011304 922 011356 923 011360 924 011407 926 011410 928 011437 929 011443 930 011515 932 011517 933 011523 934 011531 935 011534 936 011535 937 011547 938 011554 939 011555 940 011560 941 011561 942 011564 943 011566 944 011571 946 011627 947 011657 948 011704 950 011705 951 011711 952 011725 953 011757 955 011760 956 011762 958 012002 960 012003 962 012043 963 012070 964 012076 995 012100 969 012101 976 012115 980 012133 981 012137 984 012140 987 012144 991 012155 992 012201 997 012204 999 012206 1001 012217 1005 012242 1007 012253 1012 012260 1019 012262 1020 012264 1021 012270 1022 012273 1024 012300 1030 012301 1035 012302 1036 012304 1037 012312 1039 012330 1040 012333 1041 012345 1042 012366 1043 012377 1045 012400 1047 012421 1049 012422 1050 012424 1051 012427 1055 012430 1056 012433 1060 012434 1061 012436 1062 012437 1064 012440 1065 012455 1067 012457 1068 012460 1071 012461 1075 012462 1077 012463 1078 012465 1079 012471 1082 012474 1084 012511 1085 012515 1086 012521 1087 012522 1091 012523 1092 012524 1093 012526 1094 012527 1097 012530 1101 012531 1103 012534 1104 012535 1105 012537 1106 012540 1111 012541 1113 012544 1115 012567 1117 012612 1122 012613 1128 012615 1129 012646 1130 012665 1131 012666 1132 012721 1133 012724 1134 012725 1135 012727 1136 012734 1137 012745 1138 012775 1139 013014 1141 013041 1142 013047 1143 013077 1145 013161 1147 013206 1148 013234 1151 013261 1153 013343 1156 013370 1159 013372 1165 013373 1167 013374 1170 013413 1171 013414 1172 013427 1174 013430 1178 013454 1183 013455 1189 013463 1190 013477 1195 013501 1207 013502 1208 013503 1209 013510 1210 013515 1211 013530 1213 013532 1214 013537 1215 013552 1218 013554 1219 013557 1220 013563 1222 013600 1225 013643 1226 013644 1227 013651 1228 013667 1230 013737 1231 013743 1236 013744 1238 013745 1239 013751 1240 013754 1241 013757 1242 013760 1243 013763 1244 013764 1245 013772 1246 014001 1247 014004 1249 014005 1250 014007 1251 014013 1252 014015 1253 014016 1254 014017 1259 014020 1266 014026 1267 014027 1268 014043 1271 014046 1275 014073 1276 014074 1279 014077 1280 014100 ----------------------------------------------------------- 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