COMPILATION LISTING OF SEGMENT default_error_handler_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-17_1943.59_Mon_mdt Options: optimize list 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 /****^ HISTORY COMMENTS: 15* 1) change(87-06-05,Lippard), approve(87-06-22,MCR7718), 16* audit(87-07-01,Fawcett), install(87-07-15,MR12.1-1041): 17* Modified to verify that entries returned by call to hcs_$make_ptr are 18* actually in the segment message_table_. 19* 2) change(88-05-19,Hergert), approve(88-05-19,MCR7903), 20* audit(88-05-19,Dupuis), install(88-08-01,MR12.2-1073): 21* John Hergert (FMC) Added code to handle mrds_se_error_ 22* condition for MRDS. 23* 3) change(89-05-26,Farley), approve(89-06-22,MCR8114), 24* audit(89-06-22,Fawcett), install(89-06-26,MR12.3-1064): 25* Added initialization of the currently uninitailized no_restart flag to 26* allow restarts as the default. 27* END HISTORY COMMENTS */ 28 29 30 /*format: style2 */ 31 /* default_error_handler_.pl1 */ 32 33 dummy: 34 procedure; 35 36 /* This is the default error handling routine used by Multics. There are several entries 37* as follows: 38* 39* default_error_handler_ no condition wall handles program_interrupt 40* ignore_pi no condition wall ignores program_interrupt 41* wall yes condition wall handles program_interrupt 42* wall_ignore_pi yes condition wall ignores program_interrupt 43* 44* interpret_condition_ returns to caller without calling cu_$cl 45* condition_interpreter_ 46* change_error_mode_ 47* reprint_error_message_ 48* reinterpret_condition_ 49* add_finish_handler 50* 51* /* initially coded by M. Weaver 12 February 1970 */ 52 /* modified by M. Weaver 27 September 1971 */ 53 /* recoded by M. Weaver 12 October 1973 to handle software conditions better */ 54 /* modified by M. Weaver 6/13/74 for finish and storage conditions and to use iox_ */ 55 /* modified 11/76 by M. Weaver to move illegal_procedure handling to better place */ 56 57 /* 58* Last modified (Date and Reason): 59* Aug 12, 1977 by Steve Webber to add wall entries and merge with standard_default_handler_. 60* Aug 17, 1977 by Steve Webber to use new message_table_ format 61* Nov 18, 1977 by Melanie Weaver to fix bugs in reprint_error and quit handling 62* Dec 19, 1977 by Melanie Weaver to fix bug in illegal_procedure handling 63* Nov. 22, 1978 by Melanie Weaver to print long messages in their entirety 64* March 1979 by T. Casey to add call to sus_signal_handler_. 65* July 1979 by Steve Webber to pass "finish" through the wall entries. 66* April 1981 by Benson I. Margulies for null_pointer_ instead of simfault. 67* remove special cases for conditions already caught by 68* static handlers, use find_condition_info_, 69* respect the quiet_restart bit, and houseclean some. 70* July 1981 by BIM for the new program interrupt (kludge) special case. 71* December 1981 by E. N. Kittlitz for quit_info. 72* June 1983 by M. Weaver for fortran_pause. 73* September 1983 by M. Weaver to put newline before fortran_pause message. 74* 1984-10-18 BIM to special case signal_io_ in the normal case ( 75* terminate the process if user_i/o) and in the blowup_handler_ 76* (pass it through if on error_output). 77* */ 78 79 80 /* Parameters */ 81 /* Used only by the interpreting entrypoints, not the actual handlers */ 82 83 dcl a_mcptr ptr; 84 dcl a_conname char (*); 85 dcl a_wcptr ptr; 86 dcl a_infoptr ptr; 87 dcl a_flag bit (1) aligned; 88 89 /* Automatic */ 90 91 dcl eof bit (1) aligned; 92 dcl establish_wall bit (1) aligned; 93 dcl found bit (1) aligned; 94 dcl 1 dd aligned like decode_definition_str; 95 dcl iocb_ptr ptr; 96 dcl cond_id char (46) var; /* for condition name */ 97 dcl ring_mes char (10); /* ring n or lower ring */ 98 dcl retsw bit (1) aligned; 99 dcl realsw bit (1) aligned init ("1"b); 100 /* indicates whether this is a "rerun" */ 101 dcl defaultsw bit (1) aligned; /* indicates to use conname as such in message */ 102 dcl no_restart bit (1) aligned; 103 dcl ignore_pi_sw bit (1) aligned; 104 dcl pass_finish_sw bit (1) aligned; 105 106 dcl optr ptr; 107 dcl longsw_ptr ptr; 108 dcl lsp ptr; /* ptr to stack frame at time of condition */ 109 dcl new_con char (32) varying; 110 dcl temp_longsw fixed bin init (-1); 111 dcl (flong, i) 112 fixed bin; 113 dcl long fixed bin; 114 dcl code fixed bin (35); 115 dcl resetwrite bit (1) aligned; 116 dcl 1 cl_arg aligned, 117 2 reset_sw bit (1) unaligned, 118 2 pad bit (35) unaligned; 119 120 /* External */ 121 122 dcl message_table_$privileged_info 123 ext; 124 dcl message_table_$soft_default_info 125 ext; 126 dcl message_table_$hard_default_info 127 ext; 128 dcl message_table_$formats (26) char (104) var ext; 129 1 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 1 2 1 3 /* Written 05/04/78 by C. D. Tavares */ 1 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 1 5 /* Modified 5/83 by S. Krupp to add declarations for: iox_$open_file, 1 6* iox_$close_file, iox_$detach and iox_$attach_loud entries. */ 1 7 1 8 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 1 9 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 1 10 iox_$close entry (pointer, fixed bin (35)), 1 11 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 1 12 iox_$delete_record entry (pointer, fixed bin (35)), 1 13 iox_$destroy_iocb entry (pointer, fixed bin (35)), 1 14 iox_$detach_iocb entry (pointer, fixed bin (35)), 1 15 iox_$err_not_attached entry options (variable), 1 16 iox_$err_not_closed entry options (variable), 1 17 iox_$err_no_operation entry options (variable), 1 18 iox_$err_not_open entry options (variable), 1 19 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 1 20 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 1 21 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 1 22 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 1 23 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 1 24 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 1 25 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 1 26 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 1 27 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 1 28 iox_$propagate entry (pointer), 1 29 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 1 30 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 1 31 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 1 32 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 1 33 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 1 34 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 1 35 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 1 36 iox_$open_file entry(ptr, fixed bin, char(*), bit(1) aligned, fixed bin(35)), 1 37 iox_$close_file entry(ptr, char(*), fixed bin(35)), 1 38 iox_$detach entry(ptr, char(*), fixed bin(35)), 1 39 iox_$attach_loud entry(ptr, char(*), ptr, fixed bin(35)); 1 40 1 41 dcl (iox_$user_output, 1 42 iox_$user_input, 1 43 iox_$user_io, 1 44 iox_$error_output) external static pointer; 1 45 1 46 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 130 131 132 /* Static */ 133 134 dcl real_longsw fixed bin int static init (1); 135 dcl rptsw fixed bin (17) int static init (0); 136 /* indicates level of recursion in blowup handler */ 137 138 /* Based */ 139 140 dcl based_var char (256) var based; 141 dcl longsw fixed bin based (longsw_ptr); 142 dcl ostring char (1000) aligned based (optr); 143 /* based string for output */ 144 145 dcl any_other condition; 146 147 /* Big String Department */ 148 149 dcl (pname1, pname2, pname3, tname1, tname2) 150 char (500) aligned; 151 dcl linfo char (500) var; 152 dcl my_string char (1000); /* actual space normally used for output */ 153 154 /* Entries */ 155 156 declare condition_ entry (char (*), entry); 157 declare reversion_ entry (char (*)); 158 dcl cu_$cl entry (1 aligned, 2 bit (1) unaligned, 2 bit (35) unaligned); 159 dcl decode_definition_ entry (ptr, ptr, bit (1) aligned); 160 dcl hcs_$make_ptr entry (ptr, char (*), char (*), ptr, fixed bin (35)); 161 dcl ( 162 ioa_$ioa_switch, 163 ioa_$rs, 164 ioa_$rsnnl 165 ) entry options (variable); 166 dcl signal_ ext entry options (variable); 167 dcl linkage_error_ entry (ptr, fixed bin, ptr, ptr, char (500) aligned, char (500) aligned, ptr, 168 fixed bin); 169 dcl get_ppr_ entry (fixed bin, ptr, ptr, char (500) aligned, char (500) aligned, 170 char (500) aligned); 171 dcl get_tpr_ entry (ptr, ptr, ptr, char (500) aligned, char (500) aligned); 172 dcl special_messages_ entry (ptr, ptr, char (500) var, bit (1), bit (1) aligned); 173 174 dcl interpret_info_struc_ ext 175 entry (char (32), ptr, char (500) var, bit (1) aligned, bit (1) aligned, 176 bit (1) aligned, fixed bin); 177 dcl interpret_info_struc_$no_message 178 entry (char (32), ptr); 179 dcl find_condition_frame_ entry (ptr) returns (ptr); 180 dcl find_condition_info_ entry (ptr, ptr, fixed bin (35)); 181 dcl continue_to_signal_ entry (fixed bin (35)); 182 183 dcl (addr, baseno, baseptr, bin, byte, codeptr, length, null, ptr, size, string, unspec) 184 builtin; 185 186 wall_ignore_pi: 187 entry; 188 189 pass_finish_sw = "1"b; 190 ignore_pi_sw = "1"b; 191 establish_wall = "1"b; 192 go to COMMON; 193 194 standard_default_handler_: 195 wall: 196 entry; 197 198 199 pass_finish_sw = "0"b; 200 ignore_pi_sw = "0"b; 201 establish_wall = "1"b; 202 goto COMMON; 203 204 ignore_pi: 205 entry; 206 207 pass_finish_sw = "1"b; 208 ignore_pi_sw = "1"b; 209 establish_wall = "0"b; 210 go to COMMON; 211 212 default_error_handler_: 213 entry; 214 215 pass_finish_sw = "0"b; 216 establish_wall = "0"b; 217 ignore_pi_sw = "0"b; 218 219 COMMON: 220 mtep = null (); 221 iocb_ptr = iox_$error_output; 222 lsp = null (); 223 realsw = "1"b; /* we are an error handler, not an interpreter */ 224 retsw = "0"b; /* this entry usually does not just return */ 225 no_restart = "0"b; /* allow restarts by default */ 226 227 call condition_ ("any_other", blowup_handler_); 228 call get_condition_info; /* pickup condition info */ 229 230 231 /* Now check for common conditions */ 232 /* finish passes walls */ 233 234 if (cond_info.condition_name = "finish") 235 then do; 236 if pass_finish_sw /* can only be on if realsw is on */ 237 then call continue_to_signal_ (0); 238 go to exit; 239 end; 240 241 /* we may need to do more for pi someday, so it is in its own statement */ 242 243 /* ignore_pi_sw only on if realsw on */ 244 if ignore_pi_sw & (cond_info.condition_name = "program_interrupt") 245 then do; 246 call continue_to_signal_ (0); 247 go to exit; 248 end; 249 250 /**** The following special case improves the system's behavior when 251* then signal_io_ I/O module is in use on a critical switch */ 252 253 if realsw & (cond_info.condition_name = "signal_io_") 254 then do; 255 if cond_info.info_ptr -> signal_io_info.iocb_ptr = iox_$user_io 256 | cond_info.info_ptr -> signal_io_info.iocb_ptr = iox_$user_output 257 | cond_info.info_ptr -> signal_io_info.iocb_ptr = iox_$user_input 258 | cond_info.info_ptr -> signal_io_info.iocb_ptr = iox_$error_output 259 then call terminate_process; /* no one is dealing with critical I/O */ 260 end; 261 262 if realsw & cond_info.condition_name = "quit" 263 then do; 264 call reversion_ ("any_other"); 265 266 /* check for condition_info which directs reset operations. This is currently only 267*present if a call to signal_ was made. sus_signal_handler_ does this very thing. */ 268 if cond_info.info_ptr ^= null 269 then if cond_info.info_ptr -> quit_info.version = 1 270 & cond_info.info_ptr -> quit_info.length = size (quit_info) 271 then resetwrite = cond_info.info_ptr -> quit_info.switches.reset_write; 272 else resetwrite = "1"b; /* do the reset if not told otherwise */ 273 if resetwrite 274 then call iox_$control (iox_$user_io, "resetwrite", null, (0)); 275 call iox_$control (iox_$user_io, "printer_on", null, (0)); 276 call ioa_$ioa_switch (iox_$user_io, "QUIT"); 277 if establish_wall 278 then on any_other call wall_ignore_pi; 279 cl_arg.reset_sw = "0"b; 280 cl_arg.pad = "0"b; 281 call cu_$cl (cl_arg); 282 go to exit; 283 end; 284 285 /*** format: off */ 286 if (cond_info.condition_name = "command_error" 287 | cond_info.condition_name = "command_question") 288 /* preserve special case for private versions */ 289 then go to exit; 290 /*** format: ^off */ 291 292 /* reprinters and interpreters enter here */ 293 294 begin: 295 optr = addr (my_string); 296 297 begin_com: 298 cl_arg.reset_sw = "1"b; /* set resetread switch for all other conditions */ 299 cl_arg.pad = "0"b; 300 301 /* initialize variables to be args */ 302 303 if cond_info.mc_ptr ^= null () 304 then scup = addr (cond_info.mc_ptr -> mc.scu); 305 else scup = null (); 306 307 /* the following must be initialized here as longsw can be referenced if cond_info.mc_ptr is null */ 308 if temp_longsw ^= -1 309 then longsw_ptr = addr (temp_longsw); /* have temporary message mode */ 310 else longsw_ptr = addr (real_longsw); 311 312 313 defaultsw = "0"b; 314 315 /* Now get a pointer to the appropriate message_table entry */ 316 317 found = "0"b; 318 319 call hcs_$make_ptr (codeptr (wall), "message_table_", (cond_info.condition_name), mtep, code); 320 321 if mtep ^= null () 322 then do; 323 call decode_definition_ (baseptr (baseno (mtep)), addr (dd), eof); 324 do while (^eof & ^found); 325 if dd.section = "segn" then if dd.symbol = "message_table_" then found = "1"b; 326 call decode_definition_ (dd.next_def, addr (dd), eof); 327 end; 328 329 found = "0"b; 330 do while (^eof & ^found); 331 if dd.section ^= "text" then eof = "1"b; 332 else if dd.entrypoint = 0 then if dd.symbol = cond_info.condition_name then found = "1"b; 333 else call decode_definition_ (dd.next_def, addr (dd), eof); 334 end; 335 end; 336 337 if ^found 338 then do; 339 if cond_info.mc_ptr = null 340 then mtep = addr (message_table_$soft_default_info); 341 else mtep = addr (message_table_$hard_default_info); 342 defaultsw = "1"b; 343 end; 344 345 /* if the condition is mrds_se_error and we made it into default_error_handler_ 346* then we can assume the user did not handle the condition. We set the value 347* in mrds_se_error_info.header.info_string equal to the string 348* "default_error_handler_" to tell the signaller to handle the error. 349**/ 350 if cond_info.condition_name = "mrds_se_error_" then do; 351 cond_info.info_ptr -> mrds_se_error_info.header.info_string = 352 "default_error_handler_"; 353 goto exit; 354 end; 355 356 if cond_info.condition_name = "error" 357 then if cond_info.info_ptr = null () 358 then do; /* signalled by another handler */ 359 linfo = "system handler for error returns to command level 360 "; 361 long = length (linfo); 362 if cond_info.crawlout 363 then do; /* must still tell user about crawlout */ 364 ostring = "Error while processing in lower ring:" || byte (10) /* NL */ || linfo; 365 long = long + 38; 366 end; 367 else ostring = linfo; 368 go to out; 369 end; 370 371 if mte.endpage 372 then if ^cond_info.crawlout 373 then if cond_info.info_ptr ^= null () 374 then if realsw 375 then do; /* indicate end of page in file */ 376 call interpret_info_struc_$no_message ((cond_info.condition_name), cond_info.info_ptr); 377 go to exit; 378 end; 379 380 if cond_info.condition_name = "underflow" 381 then if ^cond_info.crawlout /* be sure test performed for all modes */ 382 then retsw = "1"b; /* default is to return, but can't on cond_info.crawlout */ 383 384 if longsw = 0 385 then if cond_info.condition_name ^= "fortran_pause" 386 then do; /* just print condition name */ 387 if cond_info.crawlout 388 then if cond_info.mc_ptr ^= null 389 then call ioa_$rs ("^/Error: ^a while in ring ^d", ostring, long, cond_info.condition_name, 390 bin (scup -> scu.ppr.prr, 3)); 391 else call ioa_$rs ("^/Error: ^a while in lower ring", ostring, long, 392 cond_info.condition_name); 393 else call ioa_$rs ("^/Error: ^a", ostring, long, cond_info.condition_name); 394 /* just print name */ 395 go to out; 396 end; 397 else ; /* handle fortran_pause later */ 398 else do; /* (longsw > 0) print part common to all messages */ 399 if cond_info.crawlout 400 then /* try to print ring no. */ 401 if cond_info.mc_ptr ^= null 402 then call ioa_$rsnnl ("ring ^d", ring_mes, long, bin (scup -> scu.ppr.prr, 3)); 403 else ring_mes = "lower ring"; 404 end; 405 406 if mte.undefined 407 then do; /* we have a division of illegal_procedure which the fim 408* didn't isolate for us */ 409 if scup -> scux.fd.isp 410 then mtep = addr (message_table_$privileged_info); 411 /* this is a special case */ 412 else do; /* some other random type */ 413 mtep = addr (message_table_$hard_default_info); 414 defaultsw = "1"b; /* so cond_info.condition_name will get printed */ 415 end; 416 end; 417 418 if defaultsw 419 then new_con = cond_info.condition_name; 420 else new_con = ""; /* rest of stuff contains enough information */ 421 422 if cond_info.info_ptr ^= null 423 then do; 424 if realsw & cond_info.info_ptr -> condition_info_header.action_flags.quiet_restart 425 then go to exit; 426 call interpret_info_struc_ ((cond_info.condition_name), cond_info.info_ptr, linfo, retsw, no_restart, 427 realsw, longsw); 428 429 /* Program interrupt has a special case here, because it is not 430* strictly "quiet restart". See the source of program_interrupt.pl1 431* for an explanation of the protocol, and interpret_info_struc_ 432* for the real work of this side of the protocol. 433**/ 434 435 if cond_info.condition_name = "program_interrupt" 436 then go to exit; 437 438 if mte.active_func 439 then do; 440 ostring = linfo; 441 long = length (linfo); 442 go to out; /* don't print pathname */ 443 end; 444 end; /* the following two conditions get special treatment */ 445 if mte.linkerr 446 then if ^cond_info.crawlout 447 then do; /* ordinary linkage _error */ 448 call linkage_error_ (cond_info.mc_ptr, longsw, lsp, addr (cond_info), pname1, pname2, optr, long) 449 ; /* linkage_error_ calls get_ppr_ itself */ 450 go to out; 451 end; 452 453 if mte.sub_err 454 then new_con = cond_info.info_ptr -> sub_error_info.name; 455 /* use more descriptive name */ 456 457 if longsw = 0 & (cond_info.condition_name = "fortran_pause") 458 then do; 459 call ioa_$rs ("^/^a", ostring, long, linfo); 460 go to out; 461 end; 462 463 /* get the name of the procedure that took the fault */ 464 call get_ppr_ (longsw, lsp, addr (cond_info), pname1, pname2, pname3); 465 466 467 /* find out what was being referenced */ 468 call get_tpr_ (lsp, addr (cond_info), mtep, tname1, tname2); 469 470 471 cond_id = ""; /* set default value */ 472 if longsw = 2 473 then cond_id = ptr (mtep, mte.cond_id_relp) -> based_var; 474 if mte.no_special = "0"b 475 then call special_messages_ (cond_info.mc_ptr, mtep, linfo, cond_info.crawlout, no_restart); 476 /* format messages */ 477 478 /* obtain format string and assemble message */ 479 480 if cond_info.condition_name = "fortran_pause" 481 then do; /* this doesn't fit the message_table_ scheme */ 482 call ioa_$rs ("^/^a at ^a^a^[^/^;^]^a", ostring, long, linfo, pname1, pname2, longsw = 2, cond_id); 483 go to out; /* should not have a crawlout with this condition */ 484 end; 485 486 if cond_info.crawlout 487 then do; 488 call ioa_$rs (message_table_$formats (mte.format_x + 1), ostring, long, ring_mes, new_con, 489 ptr (mtep, mte.string_relp (1)) -> based_var, pname3, 490 ptr (mtep, mte.string_relp (2)) -> based_var, tname1, linfo, 491 ptr (mtep, mte.string_relp (3)) -> based_var, ptr (mtep, mte.string_relp (4)) -> based_var, 492 pname1, pname2, tname2, cond_id); 493 end; 494 else do; /* Not cond_info.crawlout */ 495 call ioa_$rs (message_table_$formats (mte.format_x), ostring, long, new_con, 496 ptr (mtep, mte.string_relp (1)) -> based_var, pname1, pname2, 497 ptr (mtep, mte.string_relp (2)) -> based_var, tname1, linfo, 498 ptr (mtep, mte.string_relp (3)) -> based_var, ptr (mtep, mte.string_relp (4)) -> based_var, 499 cond_id); 500 end; 501 502 /* warn user if any IPS interrupts have been recently disabled */ 503 504 /* 505* out: if cond_info.mc_ptr ^= null then if substr(cond_info.mc_ptr -> mc.ips_temp,36,1) = "1"b then do; 506* call hcs_$get_ips_mask (ips_mask); 507* ips_string = ""; 508* do i = 1 to sys_info$ips_mask_data.count; 509* if (cond_info.mc_ptr -> mc.ips_temp & sys_info$ips_mask_data.masks(i).mask) 510* > (ips_mask & sys_info$ips_mask_data.masks(i).mask) then do; 511* if ips_string = "" then ips_string = 512* substr(masks(i).name, 1, index(masks(i).name, "")-1); 513* else ips_string = ips_string || ", " || 514* substr(masks(i).name, 1, index(masks(i).name, "") -1 ); 515* end; 516* end; 517* if ips_string ^= "" then call ioa_$rs("^a^a disabled", ostring, long, ostring, ips_string); 518* end; 519**/ 520 521 /* print it out at last! */ 522 out: 523 if (iocb_ptr ^= null) 524 then if (long > 0) & (optr ^= null) 525 then do; 526 call iox_$put_chars (iocb_ptr, optr, (long), code); 527 call iox_$control (iocb_ptr, "start", null (), (0)); 528 /* just in case a timer that did not expect to print took a fault */ 529 end; 530 else ; 531 else mlong = long; /* called from return string entry */ 532 533 last: /* clean up and leave */ 534 if retsw 535 then go to exit; 536 else do; 537 call reversion_ ("any_other"); /* but don't want blowup handler to get invoked */ 538 rptsw = 0; /* can't enter blowup handler again */ 539 if mtep ^= null 540 then if mte.sig_error /* CHECK THIS SOMETIME */ 541 then call signal_ ("error"); /* these are really pl1 conditions */ 542 else go to go_to_cl; /* pl1 clumsiness */ 543 else 544 go_to_cl: 545 do; 546 if establish_wall 547 then on any_other call wall_ignore_pi; 548 call cu_$cl (cl_arg); 549 if establish_wall 550 then revert any_other; 551 end; 552 553 if no_restart 554 then do; /* don't allow restart */ 555 call ioa_$ioa_switch (iox_$error_output, "computation cannot be restarted"); 556 go to go_to_cl; 557 end; 558 end; 559 560 exit: /* we are here if we want to return and not abort */ 561 rptsw = 0; /* can't enter blowup handler again */ 562 return; 563 564 interpret_condition_: 565 entry (a_mcptr, a_conname, a_wcptr, a_infoptr, a_flag);/* this entry point prints out a message and returns */ 566 /* it can be used by procedures who want to call the default handler */ 567 568 /* ASSERT: there is a fault frame on the stack, these arguments are 569* not just constructed */ 570 571 call get_condition_info; 572 573 realsw = "0"b; /* do not suppress quiet conditions */ 574 retsw = "1"b; /* definitely return */ 575 go to begin; 576 577 /* */ 578 blowup_handler_: 579 procedure (mc_ptr, condition_name, wc_ptr, info_ptr, continue_flag); 580 581 declare ( 582 continue_flag bit (1) aligned, 583 (mc_ptr, wc_ptr, info_ptr) 584 pointer, 585 condition_name character (*) 586 ) parameter; 587 588 dcl mess0 char (40) aligned; 589 dcl short_mess char (8) aligned; /* for convert_status_code_ */ 590 dcl long_mess char (100) aligned; 591 592 593 dcl convert_status_code_ entry (fixed bin (35), char (8) aligned, char (100) aligned); 594 595 /* this is the default handler for default_error_handler_ */ 596 597 598 /*** format: off */ 599 if condition_name = "quit" 600 | condition_name = "alrm" 601 | condition_name = "cput" 602 | condition_name = "program_interrupt" 603 | condition_name = "storage" 604 | condition_name = "finish" 605 | condition_name = "signal_io_" /* might be needed to do the work */ 606 then do; 607 call continue_to_signal_ ((0)); /* works fine */ 608 return; 609 end; 610 /*** format: ^off */ 611 612 rptsw = rptsw + 1; /* increase recursion indicator */ 613 if rptsw = 3 614 then do; /* can't even write on user_i/o; terminate proc */ 615 call terminate_process; 616 go to last; /* if not... */ 617 end; 618 619 if ^cond_info.crawlout 620 then mess0 = byte (10) /* NL */ || "Error:"; 621 else mess0 = byte (10) /* NL */ || "Error while processing in lower ring: 622 "; 623 624 /* the next section is for dire emergencies, when we don't trust anything */ 625 if rptsw = 2 626 then do; /* don't take chances with rqo--use user_i/o */ 627 call ioa_$ioa_switch (iox_$user_io, "^/^a^a (Unable to obtain proper message.)", mess0, 628 condition_name); 629 go to last; /* rptsw will be reset there */ 630 end; 631 632 /* at this point, try at least to get decent names to print */ 633 if mc_ptr ^= null 634 then do; /* have machine conditions */ 635 if (wc_ptr ^= null ()) /* crawlout */ 636 then pname1 = pname3; /* print name from mc */ 637 if pname1 = "" 638 then call format_name (ptr (baseptr (bin (bin (scup -> scu.ppr.psr, 15), 18)), scup -> scu.ilc), 639 pname1); 640 if tname1 = "" 641 then call format_name (ptr (baseptr (bin (bin (scup -> scu.tpr.tsr, 15), 18)), scup -> scu.ca), 642 tname1); 643 if mc_ptr -> mc.errcode = 0 644 then long_mess = ""; 645 else do; 646 call convert_status_code_ ((mc_ptr -> mc.errcode), short_mess, long_mess); 647 if short_mess = "xxxxxxxx" 648 then long_mess = ""; /* don't print code not found */ 649 end; 650 651 /* print basic message for original fault */ 652 call ioa_$rs ("^/^a ^a condition by ^a^/referencing ^a^/^a", ostring, long, mess0, 653 cond_info.condition_name, pname1, tname1, long_mess); 654 end; 655 else do; /* no mc -> no pathnames */ 656 if linfo ^= "" 657 then go to print; /* have as much as we can get */ 658 if info_ptr ^= null 659 then do; /* see what we can find in info structure */ 660 661 call interpret_info_struc_ ((condition_name), info_ptr, linfo, retsw, no_restart, realsw, 662 longsw); 663 end; 664 print: 665 call ioa_$rs ("^/^a ^a condition^/^a", ostring, long, mess0, condition_name, linfo); 666 end; 667 go to out; /* print it out */ 668 669 670 format_name: 671 proc (p, name); 672 673 dcl p ptr; 674 dcl code fixed bin (35); 675 dcl find_pathname_ entry (ptr, ptr, fixed bin (35)); 676 dcl name char (500) aligned; 677 dcl 1 name_info aligned like find_pathname_info automatic; 678 679 680 call find_pathname_ (p, addr (name_info), code); 681 682 if name_info.component_ename ^= "" 683 then /* use name from bindmap */ 684 call ioa_$rsnnl ("^a^a (^a^a^a^a^a)^a", name, long, name_info.component_ename, name_info.adjusted_offset, 685 name_info.dirname, name_info.gt_char, name_info.real_ename, name_info.real_offset, 686 name_info.pdir_string, name_info.offset_msg); 687 688 else call ioa_$rsnnl ("^a^a^a^a^a^a", name, long, name_info.dirname, name_info.gt_char, name_info.real_ename, 689 name_info.real_offset, name_info.pdir_string, name_info.offset_msg); 690 691 return; 692 end format_name; 693 end blowup_handler_; 694 695 696 change_error_message_mode_: 697 entry (longsw_val); 698 699 /* this entry allows the user to specify the length of the message that he wants */ 700 /* the possibilities are: 0 for brief, 1 for normal, and 2 for long */ 701 /* (long means that both sets of machine conditions will be printed on crawl_outs */ 702 703 dcl longsw_val fixed bin; 704 705 if longsw_val < 0 | longsw_val > 2 706 then real_longsw = 1; /* set to default */ 707 else real_longsw = longsw_val; 708 return; 709 710 reprint_error_message_: 711 entry (areap, mptr, mlong, mode, depth, ecode); 712 713 /* this entry is called from a command and looks back in the stack for the arguments of a previous 714* invocation of default_error_handler_. These are used to call default_error_handler_ recursively 715* nad print out the message again. this feature would normally be used when the first message was 716* of the short form and a longer message is desired. 717**/ 718 719 dcl (depth, ecode) fixed bin; /* depth specifies how many stack frames to go back */ 720 721 i = 0; 722 do lsp = find_condition_frame_ (null) repeat find_condition_frame_ (lsp); 723 /* do not use language for test */ 724 if lsp = null 725 then go to return_no_such_level; 726 i = i + 1; /* count number of levels we have found */ 727 728 /* we do not want a while loop, we want an until loop. 729* so we hand to the test-and-go-to, to avoid an extra 730* pass through the repeat code */ 731 732 if i = depth 733 then go to found_level; 734 end; 735 736 found_level: /* get arguments from earlier frame so we can call ourself */ 737 call get_condition_info_code (code); 738 if code ^= 0 739 then do; 740 call ioa_$ioa_switch (iox_$error_output, "condition information not available for level ^d", depth); 741 ecode = -1; 742 return; 743 end; 744 745 call reinterpret_condition_ (areap, mptr, mlong, mode, cond_info.mc_ptr, (cond_info.condition_name), 746 cond_info.wc_ptr, cond_info.info_ptr, lsp); 747 748 return_no_such_level: 749 ecode = i; /* tell them how far we went */ 750 return; 751 752 753 reinterpret_condition_: 754 entry (areap, mptr, mlong, mode, c_mcptr, c_conname, c_wcptr, c_infoptr, r_sp); 755 756 /* this entry is identical to condition_interpreter_ except that the real switch is turned off, and a stack ptr can be supplied */ 757 758 declare r_sp ptr; 759 760 realsw = "0"b; 761 retsw = "1"b; 762 lsp = r_sp; 763 go to ci_start; 764 765 condition_interpreter_: 766 entry (areap, mptr, mlong, mode, c_mcptr, c_conname, c_wcptr, c_infoptr); 767 768 /* this entry is just like interpret_condition_ except that the string can be returned */ 769 /* an area is provided for that purpose */ 770 771 dcl (areap, mptr) ptr; 772 dcl (mlong, mode) fixed bin; 773 dcl (c_mcptr, c_wcptr, c_infoptr) 774 ptr; 775 dcl c_conname char (*); 776 dcl based_area area based (areap); 777 dcl re_map_mode (1:3) fixed bin init (1, 0, 2); 778 779 /* These next two bits are really very important. realsw causes this entrypoint 780* to actually perform condition semantics, like setting the bit in the 781* active_function_error structure to indicate that the message has been printed. 782* It will also return null messages for conditions with quiet_restart. 783* How it's caller is supposed to know whether restarting is appropriate 784* is beyond me. 785* 786* retsw, on the other hand, prevents this entry from getting to command 787* level. This entrypoint is not very useful, therefore, but its all 788* we document. --bim 789* 790* What we really want is an entrypoint with a return string AND realsw off 791* and retsw on, which we lack. That might be more useful that this, 792* but changing this to do that would be incompatable. */ 793 794 realsw = "1"b; 795 retsw = "1"b; 796 lsp = null (); 797 ci_start: 798 call condition_ ("any_other", blowup_handler_); 799 iocb_ptr = null (); /* until proven otherwise */ 800 801 optr = addr (my_string); 802 803 /* if there is something on the stack it supercedes args */ 804 /* so we call find_condition_info_ */ 805 806 call get_condition_info_code (code); 807 if code ^= 0 808 then do; /* strictly caller should not call unless there is an error on the stack, but we try anyway */ 809 cond_info.version = condition_info_version_1; 810 cond_info.mc_ptr = c_mcptr; 811 cond_info.wc_ptr = c_wcptr; 812 cond_info.info_ptr = c_infoptr; 813 string (cond_info.flags) = ""b; 814 if cond_info.wc_ptr ^= null () 815 then cond_info.crawlout = "1"b; /* good guess */ 816 cond_info.pad2 = ""b; 817 cond_info.user_loc_ptr = null (); 818 cond_info.pad3 (*) = ""b; 819 end; 820 821 if areap = null 822 then iocb_ptr = iox_$error_output; /* print error message rather than returning it */ 823 824 else do; /* return message in area provided */ 825 iocb_ptr = null; /* won't be using switch */ 826 allocate ostring in (based_area) set (optr); 827 mptr = optr; /* let caller know where message is */ 828 mlong = 0; /* initialize in case there is no message to be returned */ 829 end; 830 831 if mode < 1 | mode > 3 832 then temp_longsw = real_longsw; /* if not specified, set to current mode */ 833 else temp_longsw = re_map_mode (mode); /* be sure mode has correct value for us */ 834 retsw = "1"b; /* definitely return */ 835 flong = 8; /* indicates which arg is infoptr */ 836 837 go to begin_com; 838 839 /* */ 840 add_finish_handler: 841 entry (fhandler, xcode); 842 843 /* this entry adds the specified entry to a list to be called for the finish condition */ 844 845 dcl xcode fixed bin (35); 846 dcl fhandler entry (); 847 dcl add_epilogue_handler_ entry (entry) returns (fixed bin (35)); 848 849 xcode = add_epilogue_handler_ (fhandler); 850 return; 851 852 get_condition_info: 853 procedure; 854 declare code fixed bin (35); 855 declare code_flag bit (1); 856 code_flag = "0"b; 857 goto common; 858 859 get_condition_info_code: 860 entry (a_code); 861 declare a_code fixed bin (35); 862 code_flag = "1"b; 863 a_code = 0; 864 865 common: 866 unspec (cond_info) = ""b; 867 cond_info.version = condition_info_version_1; 868 cond_info.mc_ptr = null (); 869 cond_info.wc_ptr = null (); 870 cond_info.info_ptr = null (); 871 cond_info.user_loc_ptr = null (); 872 pname1, pname2, pname3, tname1, tname2, linfo = ""; 873 874 if lsp = null () 875 then lsp = find_condition_frame_ (null ()); /* find the offending frame */ 876 call find_condition_info_ (lsp, addr (cond_info), code); 877 if code ^= 0 878 then do; 879 if code_flag 880 then do; 881 a_code = code; 882 return; 883 end; 884 else go to exit; /* nothing on stack, we cannot do anything */ 885 end; 886 887 condition_info_header_ptr = cond_info.info_ptr; /* find the bits */ 888 end get_condition_info; 889 890 terminate_process: 891 procedure; 892 893 declare terminate_process_ entry (char (*), ptr); 894 declare error_table_$unable_to_do_io 895 fixed bin (35) ext static; 896 897 declare 1 terminate_info aligned, 898 2 version init (0), 899 2 status_code fixed bin (35); 900 901 902 terminate_info.status_code = error_table_$unable_to_do_io; 903 call terminate_process_ ("fatal_error", addr (terminate_info)); 904 /* should not return */ 905 end terminate_process; 906 2 1 /* BEGIN INCLUDE FILE ... condition_info.incl.pl1 */ 2 2 2 3 /* Structure for find_condition_info_. 2 4* 2 5* Written 1-Mar-79 by M. N. Davidoff. 2 6**/ 2 7 2 8 /* automatic */ 2 9 2 10 declare condition_info_ptr pointer; 2 11 2 12 /* based */ 2 13 2 14 declare 1 condition_info aligned based (condition_info_ptr), 2 15 2 mc_ptr pointer, /* pointer to machine conditions at fault time */ 2 16 2 version fixed binary, /* Must be 1 */ 2 17 2 condition_name char (32) varying, /* name of condition */ 2 18 2 info_ptr pointer, /* pointer to the condition data structure */ 2 19 2 wc_ptr pointer, /* pointer to wall crossing machine conditions */ 2 20 2 loc_ptr pointer, /* pointer to location where condition occured */ 2 21 2 flags unaligned, 2 22 3 crawlout bit (1), /* on if condition occured in lower ring */ 2 23 3 pad1 bit (35), 2 24 2 pad2 bit (36), 2 25 2 user_loc_ptr pointer, /* ptr to most recent nonsupport loc before condition occurred */ 2 26 2 pad3 (4) bit (36); 2 27 2 28 /* internal static */ 2 29 2 30 declare condition_info_version_1 2 31 fixed binary internal static options (constant) initial (1); 2 32 2 33 /* END INCLUDE FILE ... condition_info.incl.pl1 */ 907 908 dcl 1 cond_info aligned like condition_info; 3 1 /* BEGIN INCLUDE FILE condition_info_header.incl.pl1 BIM 1981 */ 3 2 /* format: style2 */ 3 3 3 4 declare condition_info_header_ptr 3 5 pointer; 3 6 declare 1 condition_info_header 3 7 aligned based (condition_info_header_ptr), 3 8 2 length fixed bin, /* length in words of this structure */ 3 9 2 version fixed bin, /* version number of this structure */ 3 10 2 action_flags aligned, /* tell handler how to proceed */ 3 11 3 cant_restart bit (1) unaligned, /* caller doesn't ever want to be returned to */ 3 12 3 default_restart bit (1) unaligned, /* caller can be returned to with no further action */ 3 13 3 quiet_restart bit (1) unaligned, /* return, and print no message */ 3 14 3 support_signal bit (1) unaligned, /* treat this signal as if the signalling procedure had the support bit set */ 3 15 /* if the signalling procedure had the support bit set, do the same for its caller */ 3 16 3 pad bit (32) unaligned, 3 17 2 info_string char (256) varying, /* may contain printable message */ 3 18 2 status_code fixed bin (35); /* if^=0, code interpretable by com_err_ */ 3 19 3 20 /* END INCLUDE FILE condition_info_header.incl.pl1 */ 909 910 4 1 /* BEGIN INCLUDE FILE ... decode_definition_str.incl.pl1 4 2* 4 3* describes the output structures used by decode_definition 4 4* James R. Davis 25 Mar 79 */ 4 5 4 6 dcl 1 decode_definition_common_header based aligned, 4 7 2 next_def ptr, /* to next def in list */ 4 8 2 prev_def ptr, /* to previous def in list */ 4 9 2 block_ptr ptr, /* to either defblock or segname */ 4 10 2 section char (4) aligned, /* "text", "link", "symb", "segn" */ 4 11 2 offset fixed bin, /* if section isnt "segn", offset of def in section */ 4 12 2 entrypoint fixed bin; /* if entrypoint non0 offset of entry in text section */ 4 13 4 14 dcl 1 decode_definition_str based aligned, /* for callers of decode_definition_ */ 4 15 2 header like decode_definition_common_header, 4 16 2 symbol char (32) aligned; /* for symbolic name */ 4 17 4 18 dcl 1 decode_definition_full based aligned, /* for callers of decode_definition_$full */ 4 19 2 header like decode_definition_common_header, 4 20 2 symbol char (256) aligned, /* symbolic name */ 4 21 2 symbol_lng fixed bin, /* actual length of the symbol */ 4 22 2 flags, /* same as in definition */ 4 23 3 new_format bit (1) unal, /* def is in new format */ 4 24 3 ignore bit (1) unal, /* linker should ignore this def */ 4 25 3 entrypt_flag bit (1) unal, /* this def is for an entrypoint */ 4 26 3 retain bit (1) unal, 4 27 3 arg_count bit (1) unal, /* there is an arg count for entry */ 4 28 3 desc_sw bit (1) unal, /* there are descriptors */ 4 29 3 unused bit (30) unal, 4 30 2 nargs fixed bin, /* number of args entry expects */ 4 31 2 desc_ptr ptr; /* to array of rel ptrs to descriptors */ 4 32 4 33 4 34 dcl 1 decode_definition_acc based aligned, /* for callers of decode_cref entry */ 4 35 2 header like decode_definition_common_header, 4 36 2 acc_ptr ptr; /* to ACC string of symbolic name */ 4 37 4 38 /* END INCLUDE FILE decode_definition_str.incl.pl1 */ 911 912 5 1 /* BEGIN INCLUDE FILE ... quit_info.incl.pl1 ... */ 5 2 5 3 /* The include file condition_info_header must be used with this file. */ 5 4 5 5 declare quit_info_ptr pointer; 5 6 declare 1 quit_info aligned based (quit_info_ptr), 5 7 2 header aligned like condition_info_header, 5 8 2 switches aligned, 5 9 3 reset_write bit (1) unaligned, 5 10 3 ips_quit bit (1) unaligned, 5 11 3 reconnection_quit bit (1) unaligned, 5 12 3 pad bit (33); 5 13 5 14 /* END INCLUDE FILE ... quit_info.incl.pl1 ... */ 913 914 6 1 /* BEGIN INCLUDE FILE mrds_se_error_info.incl.pl1 6 2* 6 3* This include file contains the info structure for the "mrds_se_error_" 6 4* condition. This condition is signalled by MRDS when a syntax error 6 5* in a selection expression is uncovered. 6 6* 6 7* This include file must be used with condition_info_header.incl.pl1 6 8* 6 9* 17-09-85 John Hergert (FMC) Written. 6 10* 6 11**/ 6 12 6 13 /****^ HISTORY COMMENTS: 6 14* 1) change(87-11-23,Hergert), approve(88-06-28,MCR7903), 6 15* audit(88-06-28,Dupuis), install(88-08-01,MR12.2-1073): 6 16* Created for for new parser. 6 17* END HISTORY COMMENTS */ 6 18 6 19 dcl mrds_se_error_info_ptr ptr; /* pointer to info struct */ 6 20 6 21 dcl 1 mrds_se_error_info aligned based (mrds_se_error_info_ptr), 6 22 2 header aligned like condition_info_header, 6 23 /* necessary for all info structs */ 6 24 2 error_type char (32), /* range, select... */ 6 25 2 error_msg char (256), /* informational msg */ 6 26 2 token char (mrds_data_$max_token_size), /* last known token */ 6 27 2 raw_select_expr, 6 28 3 se_ptr ptr, /* ptr to the actual se */ 6 29 3 se_len fixed bin, /* length of actual se */ 6 30 3 token_position fixed bin, /* where the token starts in raw_select_expr */ 6 31 2 formatted_select_expr, 6 32 3 se_ptr ptr, /* ptr to "pretty" se */ 6 33 3 se_len fixed bin, /* length of "pretty" se */ 6 34 3 token_position fixed bin; /* where the token starts in formatted_select_expr */ 6 35 6 36 dcl error_info_version fixed bin init(1) internal static options (constant); 6 37 dcl mrds_data_$max_token_size 6 38 ext fixed bin (35); 6 39 6 40 /* END INCLUDE FILE mrds_se_error_info.incl.pl1 */ 915 916 7 1 /* Begin include file signal_io_info.incl.pl1 */ 7 2 /* format: style3,idind30 */ 7 3 7 4 /* This include file requires condition_info_header */ 7 5 7 6 declare signal_io_info_ptr pointer; 7 7 declare 1 signal_io_info aligned based (signal_io_info_ptr), 7 8 2 header aligned like condition_info_header, 7 9 2 iocb_ptr pointer, 7 10 2 iocb_name char (32) unaligned, 7 11 2 operation char (32), 7 12 2 control_order_info_ptr pointer, 7 13 2 position_type fixed bin, 7 14 2 position_amount fixed bin (35), 7 15 2 data_ptr pointer, /* points to control_order name on control */ 7 16 2 data_length fixed bin (21), 7 17 2 returned_data_length fixed bin (21), 7 18 2 returned_error_code fixed bin (35), 7 19 2 old_modes aligned, 7 20 3 pointer pointer, 7 21 3 length fixed bin (21), 7 22 2 new_modes aligned, 7 23 3 pointer pointer, 7 24 3 length fixed bin (21), 7 25 2 key char (256) varying; 7 26 7 27 declare ( 7 28 SGI_OP_GET_LINE init ("get_line"), 7 29 SGI_OP_GET_CHARS init ("get_chars"), 7 30 SGI_OP_PUT_CHARS init ("put_chars"), 7 31 SGI_OP_MODES init ("modes"), 7 32 SGI_OP_POSITION init ("position"), 7 33 SGI_OP_CONTROL init ("control"), 7 34 SGI_OP_READ_RECORD init ("read_record"), 7 35 SGI_OP_WRITE_RECORD init ("write_record"), 7 36 SGI_OP_REWRITE_RECORD init ("rewrite_record"), 7 37 SGI_OP_DELETE_RECORD init ("delete_record"), 7 38 SGI_OP_SEEK_KEY init ("seek_key"), 7 39 SGI_OP_READ_KEY init ("read_key"), 7 40 SGI_OP_READ_LENGTH init ("read_length") 7 41 ) char (32) int static options (constant); 7 42 7 43 declare signal_io_io_buffer char (signal_io_info.data_length) based (signal_io_info.data_ptr); 7 44 declare signal_io_order_name char (signal_io_info.data_length) based (signal_io_info.data_ptr); 7 45 declare signal_io_old_modes char (signal_io_info.old_modes.length) based (signal_io_info.old_modes.pointer); 7 46 declare signal_io_new_modes char (signal_io_info.new_modes.length) based (signal_io_info.new_modes.pointer); 7 47 7 48 /* End include file signal_io_info.incl.pl1 */ 917 8 1 /* BEGIN INCLUDE FILE sub_error_info.incl.pl1 */ 8 2 /* format: style2 */ 8 3 8 4 /* The include file condition_info_header must be used with this file */ 8 5 8 6 declare sub_error_info_ptr pointer; 8 7 declare 1 sub_error_info aligned based (sub_error_info_ptr), 8 8 2 header aligned like condition_info_header, 8 9 2 retval fixed bin (35), /* return value */ 8 10 2 name char (32), /* module name */ 8 11 2 info_ptr ptr; 8 12 8 13 declare sub_error_info_version_1 8 14 internal static options (constant) fixed bin init (1); 8 15 8 16 /* END INCLUDE FILE sub_error_info.incl.pl1 */ 918 919 9 1 /* BEGIN INCLUDE FILE ... stack_header.incl.pl1 .. 3/72 Bill Silver */ 9 2 /* modified 7/76 by M. Weaver for *system links and more system use of areas */ 9 3 /* modified 3/77 by M. Weaver to add rnt_ptr */ 9 4 /* Modified April 1983 by C. Hornig for tasking */ 9 5 9 6 /****^ HISTORY COMMENTS: 9 7* 1) change(86-06-24,DGHowe), approve(86-06-24,MCR7396), 9 8* audit(86-08-05,Schroth), install(86-11-03,MR12.0-1206): 9 9* added the heap_header_ptr definition. 9 10* 2) change(86-08-12,Kissel), approve(86-08-12,MCR7473), 9 11* audit(86-10-10,Fawcett), install(86-11-03,MR12.0-1206): 9 12* Modified to support control point management. These changes were actually 9 13* made in February 1985 by G. Palter. 9 14* 3) change(86-10-22,Fawcett), approve(86-10-22,MCR7473), 9 15* audit(86-10-22,Farley), install(86-11-03,MR12.0-1206): 9 16* Remove the old_lot pointer and replace it with cpm_data_ptr. Use the 18 9 17* bit pad after cur_lot_size for the cpm_enabled. This was done to save some 9 18* space int the stack header and change the cpd_ptr unal to cpm_data_ptr 9 19* (ITS pair). 9 20* END HISTORY COMMENTS */ 9 21 9 22 /* format: style2 */ 9 23 9 24 dcl sb ptr; /* the main pointer to the stack header */ 9 25 9 26 dcl 1 stack_header based (sb) aligned, 9 27 2 pad1 (4) fixed bin, /* (0) also used as arg list by outward_call_handler */ 9 28 2 cpm_data_ptr ptr, /* (4) pointer to control point which owns this stack */ 9 29 2 combined_stat_ptr ptr, /* (6) pointer to area containing separate static */ 9 30 2 clr_ptr ptr, /* (8) pointer to area containing linkage sections */ 9 31 2 max_lot_size fixed bin (17) unal, /* (10) DU number of words allowed in lot */ 9 32 2 main_proc_invoked fixed bin (11) unal, /* (10) DL nonzero if main procedure invoked in run unit */ 9 33 2 have_static_vlas bit (1) unal, /* (10) DL "1"b if (very) large arrays are being used in static */ 9 34 2 pad4 bit (2) unal, 9 35 2 run_unit_depth fixed bin (2) unal, /* (10) DL number of active run units stacked */ 9 36 2 cur_lot_size fixed bin (17) unal, /* (11) DU number of words (entries) in lot */ 9 37 2 cpm_enabled bit (18) unal, /* (11) DL non-zero if control point management is enabled */ 9 38 2 system_free_ptr ptr, /* (12) pointer to system storage area */ 9 39 2 user_free_ptr ptr, /* (14) pointer to user storage area */ 9 40 2 null_ptr ptr, /* (16) */ 9 41 2 stack_begin_ptr ptr, /* (18) pointer to first stack frame on the stack */ 9 42 2 stack_end_ptr ptr, /* (20) pointer to next useable stack frame */ 9 43 2 lot_ptr ptr, /* (22) pointer to the lot for the current ring */ 9 44 2 signal_ptr ptr, /* (24) pointer to signal procedure for current ring */ 9 45 2 bar_mode_sp ptr, /* (26) value of sp before entering bar mode */ 9 46 2 pl1_operators_ptr ptr, /* (28) pointer to pl1_operators_$operator_table */ 9 47 2 call_op_ptr ptr, /* (30) pointer to standard call operator */ 9 48 2 push_op_ptr ptr, /* (32) pointer to standard push operator */ 9 49 2 return_op_ptr ptr, /* (34) pointer to standard return operator */ 9 50 2 return_no_pop_op_ptr 9 51 ptr, /* (36) pointer to standard return / no pop operator */ 9 52 2 entry_op_ptr ptr, /* (38) pointer to standard entry operator */ 9 53 2 trans_op_tv_ptr ptr, /* (40) pointer to translator operator ptrs */ 9 54 2 isot_ptr ptr, /* (42) pointer to ISOT */ 9 55 2 sct_ptr ptr, /* (44) pointer to System Condition Table */ 9 56 2 unwinder_ptr ptr, /* (46) pointer to unwinder for current ring */ 9 57 2 sys_link_info_ptr ptr, /* (48) pointer to *system link name table */ 9 58 2 rnt_ptr ptr, /* (50) pointer to Reference Name Table */ 9 59 2 ect_ptr ptr, /* (52) pointer to event channel table */ 9 60 2 assign_linkage_ptr ptr, /* (54) pointer to storage for (obsolete) hcs_$assign_linkage */ 9 61 2 heap_header_ptr ptr, /* (56) pointer to the heap header for this ring */ 9 62 2 trace, 9 63 3 frames, 9 64 4 count fixed bin, /* (58) number of trace frames */ 9 65 4 top_ptr ptr unal, /* (59) pointer to last trace frame */ 9 66 3 in_trace bit (36) aligned, /* (60) trace antirecursion flag */ 9 67 2 pad2 bit (36), /* (61) */ 9 68 2 pad5 pointer; /* (62) pointer to future stuff */ 9 69 9 70 /* The following offset refers to a table within the pl1 operator table. */ 9 71 9 72 dcl tv_offset fixed bin init (361) internal static; 9 73 /* (551) octal */ 9 74 9 75 9 76 /* The following constants are offsets within this transfer vector table. */ 9 77 9 78 dcl ( 9 79 call_offset fixed bin init (271), 9 80 push_offset fixed bin init (272), 9 81 return_offset fixed bin init (273), 9 82 return_no_pop_offset fixed bin init (274), 9 83 entry_offset fixed bin init (275) 9 84 ) internal static; 9 85 9 86 9 87 9 88 9 89 9 90 /* The following declaration is an overlay of the whole stack header. Procedures which 9 91* move the whole stack header should use this overlay. 9 92**/ 9 93 9 94 dcl stack_header_overlay (size (stack_header)) fixed bin based (sb); 9 95 9 96 9 97 9 98 /* END INCLUDE FILE ... stack_header.incl.pl1 */ 920 10 1 /* 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 */ 921 922 11 1 /* */ 11 2 /* BEGIN INCLUDE FILE mc.incl.pl1 Created Dec 72 for 6180 - WSS. */ 11 3 /* Modified 06/07/76 by Greenberg for mc.resignal */ 11 4 /* Modified 07/07/76 by Morris for fault register data */ 11 5 /* Modified 08/28/80 by J. A. Bush for the DPS8/70M CVPU */ 11 6 /* Modified '82 to make values constant */ 11 7 11 8 /* words 0-15 pointer registers */ 11 9 11 10 dcl mcp ptr; 11 11 11 12 dcl 1 mc based (mcp) aligned, 11 13 2 prs (0:7) ptr, /* POINTER REGISTERS */ 11 14 (2 regs, /* registers */ 11 15 3 x (0:7) bit (18), /* index registers */ 11 16 3 a bit (36), /* accumulator */ 11 17 3 q bit (36), /* q-register */ 11 18 3 e bit (8), /* exponent */ 11 19 3 pad1 bit (28), 11 20 3 t bit (27), /* timer register */ 11 21 3 pad2 bit (6), 11 22 3 ralr bit (3), /* ring alarm register */ 11 23 11 24 2 scu (0:7) bit (36), 11 25 11 26 2 mask bit (72), /* mem controller mask at time of fault */ 11 27 2 ips_temp bit (36), /* Temporary storage for IPS info */ 11 28 2 errcode fixed bin (35), /* fault handler's error code */ 11 29 2 fim_temp, 11 30 3 unique_index bit (18) unal, /* unique index for restarting faults */ 11 31 3 resignal bit (1) unal, /* recompute signal name with fcode below */ 11 32 3 fcode bit (17) unal, /* fault code used as index to FIM table and SCT */ 11 33 2 fault_reg bit (36), /* fault register */ 11 34 2 pad2 bit (1), 11 35 2 cpu_type fixed bin (2) unsigned, /* L68 = 0, DPS8/70M = 1 */ 11 36 2 ext_fault_reg bit (15), /* extended fault reg for DPS8/70M CPU */ 11 37 2 fault_time bit (54), /* time of fault */ 11 38 11 39 2 eis_info (0:7) bit (36)) unaligned; 11 40 11 41 11 42 dcl (apx fixed bin init (0), 11 43 abx fixed bin init (1), 11 44 bpx fixed bin init (2), 11 45 bbx fixed bin init (3), 11 46 lpx fixed bin init (4), 11 47 lbx fixed bin init (5), 11 48 spx fixed bin init (6), 11 49 sbx fixed bin init (7)) internal static options (constant); 11 50 11 51 11 52 11 53 11 54 dcl scup ptr; 11 55 11 56 dcl 1 scu based (scup) aligned, /* SCU DATA */ 11 57 11 58 11 59 /* WORD (0) */ 11 60 11 61 (2 ppr, /* PROCEDURE POINTER REGISTER */ 11 62 3 prr bit (3), /* procedure ring register */ 11 63 3 psr bit (15), /* procedure segment register */ 11 64 3 p bit (1), /* procedure privileged bit */ 11 65 11 66 2 apu, /* APPENDING UNIT STATUS */ 11 67 3 xsf bit (1), /* ext seg flag - IT modification */ 11 68 3 sdwm bit (1), /* match in SDW Ass. Mem. */ 11 69 3 sd_on bit (1), /* SDW Ass. Mem. ON */ 11 70 3 ptwm bit (1), /* match in PTW Ass. Mem. */ 11 71 3 pt_on bit (1), /* PTW Ass. Mem. ON */ 11 72 3 pi_ap bit (1), /* Instr Fetch or Append cycle */ 11 73 3 dsptw bit (1), /* Fetch of DSPTW */ 11 74 3 sdwnp bit (1), /* Fetch of SDW non paged */ 11 75 3 sdwp bit (1), /* Fetch of SDW paged */ 11 76 3 ptw bit (1), /* Fetch of PTW */ 11 77 3 ptw2 bit (1), /* Fetch of pre-paged PTW */ 11 78 3 fap bit (1), /* Fetch of final address paged */ 11 79 3 fanp bit (1), /* Fetch of final address non-paged */ 11 80 3 fabs bit (1), /* Fetch of final address absolute */ 11 81 11 82 2 fault_cntr bit (3), /* number of retrys of EIS instructions */ 11 83 11 84 11 85 /* WORD (1) */ 11 86 11 87 2 fd, /* FAULT DATA */ 11 88 3 iro bit (1), /* illegal ring order */ 11 89 3 oeb bit (1), /* out of execute bracket */ 11 90 3 e_off bit (1), /* no execute */ 11 91 3 orb bit (1), /* out of read bracket */ 11 92 3 r_off bit (1), /* no read */ 11 93 3 owb bit (1), /* out of write bracket */ 11 94 3 w_off bit (1), /* no write */ 11 95 3 no_ga bit (1), /* not a gate */ 11 96 3 ocb bit (1), /* out of call bracket */ 11 97 3 ocall bit (1), /* outward call */ 11 98 3 boc bit (1), /* bad outward call */ 11 99 3 inret bit (1), /* inward return */ 11 100 3 crt bit (1), /* cross ring transfer */ 11 101 3 ralr bit (1), /* ring alarm register */ 11 102 3 am_er bit (1), /* associative memory fault */ 11 103 3 oosb bit (1), /* out of segment bounds */ 11 104 3 paru bit (1), /* processor parity upper */ 11 105 3 parl bit (1), /* processor parity lower */ 11 106 3 onc_1 bit (1), /* op not complete type 1 */ 11 107 3 onc_2 bit (1), /* op not complete type 2 */ 11 108 11 109 2 port_stat, /* PORT STATUS */ 11 110 3 ial bit (4), /* illegal action lines */ 11 111 3 iac bit (3), /* illegal action channel */ 11 112 3 con_chan bit (3), /* connect channel */ 11 113 11 114 2 fi_num bit (5), /* (fault/interrupt) number */ 11 115 2 fi_flag bit (1), /* 1 => fault, 0 => interrupt */ 11 116 11 117 11 118 /* WORD (2) */ 11 119 11 120 2 tpr, /* TEMPORARY POINTER REGISTER */ 11 121 3 trr bit (3), /* temporary ring register */ 11 122 3 tsr bit (15), /* temporary segment register */ 11 123 11 124 2 pad2 bit (9), 11 125 11 126 2 cpu_no bit (3), /* CPU number */ 11 127 11 128 2 delta bit (6), /* tally modification DELTA */ 11 129 11 130 11 131 /* WORD (3) */ 11 132 11 133 2 word3 bit (18), 11 134 11 135 2 tsr_stat, /* TSR STATUS for 1,2,&3 word instructions */ 11 136 3 tsna, /* Word 1 status */ 11 137 4 prn bit (3), /* Word 1 PR number */ 11 138 4 prv bit (1), /* Word 1 PR valid bit */ 11 139 3 tsnb, /* Word 2 status */ 11 140 4 prn bit (3), /* Word 2 PR number */ 11 141 4 prv bit (1), /* Word 2 PR valid bit */ 11 142 3 tsnc, /* Word 3 status */ 11 143 4 prn bit (3), /* Word 3 PR number */ 11 144 4 prv bit (1), /* Word 3 PR valid bit */ 11 145 11 146 2 tpr_tbr bit (6), /* TPR.TBR field */ 11 147 11 148 11 149 /* WORD (4) */ 11 150 11 151 2 ilc bit (18), /* INSTRUCTION COUNTER */ 11 152 11 153 2 ir, /* INDICATOR REGISTERS */ 11 154 3 zero bit (1), /* zero indicator */ 11 155 3 neg bit (1), /* negative indicator */ 11 156 3 carry bit (1), /* carryry indicator */ 11 157 3 ovfl bit (1), /* overflow indicator */ 11 158 3 eovf bit (1), /* eponent overflow */ 11 159 3 eufl bit (1), /* exponent underflow */ 11 160 3 oflm bit (1), /* overflow mask */ 11 161 3 tro bit (1), /* tally runout */ 11 162 3 par bit (1), /* parity error */ 11 163 3 parm bit (1), /* parity mask */ 11 164 3 bm bit (1), /* ^bar mode */ 11 165 3 tru bit (1), /* truncation mode */ 11 166 3 mif bit (1), /* multi-word instruction mode */ 11 167 3 abs bit (1), /* absolute mode */ 11 168 3 hex bit (1), /* hexadecimal exponent mode */ 11 169 3 pad bit (3), 11 170 11 171 11 172 /* WORD (5) */ 11 173 11 174 2 ca bit (18), /* COMPUTED ADDRESS */ 11 175 11 176 2 cu, /* CONTROL UNIT STATUS */ 11 177 3 rf bit (1), /* on first cycle of repeat instr */ 11 178 3 rpt bit (1), /* repeat instruction */ 11 179 3 rd bit (1), /* repeat double instruction */ 11 180 3 rl bit (1), /* repeat link instruciton */ 11 181 3 pot bit (1), /* IT modification */ 11 182 3 pon bit (1), /* return type instruction */ 11 183 3 xde bit (1), /* XDE from Even location */ 11 184 3 xdo bit (1), /* XDE from Odd location */ 11 185 3 poa bit (1), /* operation preparation */ 11 186 3 rfi bit (1), /* tells CPU to refetch instruction */ 11 187 3 its bit (1), /* ITS modification */ 11 188 3 if bit (1), /* fault occured during instruction fetch */ 11 189 11 190 2 cpu_tag bit (6)) unaligned, /* computed tag field */ 11 191 11 192 11 193 /* WORDS (6,7) */ 11 194 11 195 2 even_inst bit (36), /* even instruction of faulting pair */ 11 196 11 197 2 odd_inst bit (36); /* odd instruction of faulting pair */ 11 198 11 199 11 200 11 201 11 202 11 203 11 204 /* ALTERNATE SCU DECLARATION */ 11 205 11 206 11 207 dcl 1 scux based (scup) aligned, 11 208 11 209 (2 pad0 bit (36), 11 210 11 211 2 fd, /* GROUP II FAULT DATA */ 11 212 3 isn bit (1), /* illegal segment number */ 11 213 3 ioc bit (1), /* illegal op code */ 11 214 3 ia_am bit (1), /* illegal address - modifier */ 11 215 3 isp bit (1), /* illegal slave procedure */ 11 216 3 ipr bit (1), /* illegal procedure */ 11 217 3 nea bit (1), /* non existent address */ 11 218 3 oobb bit (1), /* out of bounds */ 11 219 3 pad bit (29), 11 220 11 221 2 pad2 bit (36), 11 222 11 223 2 pad3a bit (18), 11 224 11 225 2 tsr_stat (0:2), /* TSR STATUS as an ARRAY */ 11 226 3 prn bit (3), /* PR number */ 11 227 3 prv bit (1), /* PR valid bit */ 11 228 11 229 2 pad3b bit (6)) unaligned, 11 230 11 231 2 pad45 (0:1) bit (36), 11 232 11 233 2 instr (0:1) bit (36); /* Instruction ARRAY */ 11 234 11 235 11 236 11 237 /* END INCLUDE FILE mc.incl.pl1 */ 923 924 12 1 /* BEGIN INCLUDE FILE message_table_entry.incl.pl1 8-17-77 S. Webber */ 12 2 /* modified BIM April 81 for removal of just return, simfault, finish */ 12 3 12 4 dcl mtep ptr; 12 5 dcl 1 mte aligned based (mtep), 12 6 2 group unaligned, 12 7 3 pad1 bit (1), /* not used */ 12 8 3 query_error bit (1), 12 9 3 active_func bit (1), 12 10 3 no_tpr bit (1), 12 11 3 with_tpr bit (1), 12 12 3 io_err bit (1), 12 13 3 undefined bit (1), 12 14 3 unwind_err bit (1), 12 15 3 pad2 bit (1), 12 16 3 ignore bit (1), 12 17 3 pad bit (8), 12 18 2 action_ind unaligned, 12 19 3 no_special bit (1), 12 20 3 sub_err bit (1), 12 21 3 sig_error bit (1), 12 22 3 storage bit (1), 12 23 3 endpage bit (1), 12 24 3 linkerr bit (1), 12 25 3 cur_inst bit (1), 12 26 3 pad_undefined bit (1), /* obsolete bit */ 12 27 3 gaterr bit (1), 12 28 3 segferr bit (1), 12 29 3 pagerr bit (1), 12 30 3 store bit (1), 12 31 3 outbounds bit (1), 12 32 3 lotfault bit (1), 12 33 3 pad bit (4), 12 34 2 format_x fixed bin, 12 35 2 string_relp (4) bit (18) aligned, 12 36 2 cond_id_relp bit (18) aligned; 12 37 12 38 /* END INCLUDE FILE message_table_entry.incl.pl1 */ 925 926 13 1 /* BEGIN INCLUDE FILE find_pathname_info.incl.pl1 BIM April 1981 */ 13 2 /* format: style2 */ 13 3 13 4 declare find_pathname_info_ptr pointer; 13 5 13 6 declare 1 find_pathname_info aligned based (find_pathname_info_ptr), 13 7 2 strings unaligned, 13 8 3 component_ename character (32), 13 9 3 adjusted_offset character (7), 13 10 3 dirname character (168), 13 11 3 gt_char character (1), 13 12 3 real_ename character (32), 13 13 3 real_offset character (7), 13 14 3 pdir_string character (17), 13 15 3 offset_msg character (40), 13 16 2 bin_adjusted_off fixed bin (18), 13 17 2 bin_real_off fixed bin (18); 13 18 13 19 /* END INCLUDE FILE find_pathname_info */ 927 928 end dummy; 929 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/17/00 1943.5 default_error_handler_.pl1 >udd>sm>ds>w>ml>default_error_handler_.pl1 130 1 05/23/83 1016.6 iox_entries.incl.pl1 >ldd>incl>iox_dcls.incl.pl1 907 2 06/28/79 1304.8 condition_info.incl.pl1 >ldd>incl>condition_info.incl.pl1 909 3 03/24/82 1447.2 condition_info_header.incl.pl1 >ldd>incl>condition_info_header.incl.pl1 911 4 06/28/79 1304.8 decode_definition_str.incl.pl1 >ldd>incl>decode_definition_str.incl.pl1 913 5 02/09/82 1252.4 quit_info.incl.pl1 >ldd>incl>quit_info.incl.pl1 915 6 08/04/88 2143.3 mrds_se_error_info.incl.pl1 >ldd>incl>mrds_se_error_info.incl.pl1 917 7 11/28/84 1116.3 signal_io_info.incl.pl1 >ldd>incl>signal_io_info.incl.pl1 918 8 07/18/81 1200.0 sub_error_info.incl.pl1 >ldd>incl>sub_error_info.incl.pl1 920 9 11/07/86 1650.3 stack_header.incl.pl1 >ldd>incl>stack_header.incl.pl1 921 10 11/07/86 1650.3 stack_frame.incl.pl1 >ldd>incl>stack_frame.incl.pl1 923 11 12/15/83 1200.4 mc.incl.pl1 >ldd>incl>mc.incl.pl1 925 12 07/18/81 1200.0 message_table_entry.incl.pl1 >ldd>incl>message_table_entry.incl.pl1 927 13 07/18/81 1200.0 find_pathname_info.incl.pl1 >ldd>incl>find_pathname_info.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. a_code parameter fixed bin(35,0) dcl 861 set ref 859 863* 881* a_conname parameter char packed unaligned dcl 84 ref 564 a_flag parameter bit(1) dcl 87 ref 564 a_infoptr parameter pointer dcl 86 ref 564 a_mcptr parameter pointer dcl 83 ref 564 a_wcptr parameter pointer dcl 85 ref 564 action_flags 2 based structure level 2 dcl 3-6 action_ind 0(18) based structure level 2 packed packed unaligned dcl 12-5 active_func 0(02) based bit(1) level 3 packed packed unaligned dcl 12-5 ref 438 add_epilogue_handler_ 000102 constant entry external dcl 847 ref 849 addr builtin function dcl 183 ref 294 303 308 310 323 323 326 326 333 333 339 341 409 413 448 448 464 464 468 468 680 680 801 876 876 903 903 adjusted_offset 10 000155 automatic char(7) level 3 packed packed unaligned dcl 677 set ref 682* any_other 000204 stack reference condition dcl 145 ref 277 546 549 areap parameter pointer dcl 771 set ref 710 745* 753 765 821 826 based_area based area(1024) dcl 776 ref 826 based_var based varying char(256) dcl 140 set ref 472 488* 488* 488* 488* 495* 495* 495* 495* baseno builtin function dcl 183 ref 323 323 baseptr builtin function dcl 183 ref 323 323 637 637 640 640 bin builtin function dcl 183 ref 387 387 399 399 637 637 637 637 640 640 640 640 byte builtin function dcl 183 ref 364 619 621 c_conname parameter char packed unaligned dcl 775 ref 753 765 c_infoptr parameter pointer dcl 773 ref 753 765 812 c_mcptr parameter pointer dcl 773 ref 753 765 810 c_wcptr parameter pointer dcl 773 ref 753 765 811 ca 5 based bit(18) level 2 packed packed unaligned dcl 11-56 ref 640 640 cl_arg 000203 automatic structure level 1 dcl 116 set ref 281* 548* code 002236 automatic fixed bin(35,0) dcl 854 in procedure "get_condition_info" set ref 876* 877 881 code 000201 automatic fixed bin(35,0) dcl 114 in procedure "dummy" set ref 319* 526* 736* 738 806* 807 code 000154 automatic fixed bin(35,0) dcl 674 in procedure "format_name" set ref 680* code_flag 002237 automatic bit(1) packed unaligned dcl 855 set ref 856* 862* 879 codeptr builtin function dcl 183 ref 319 319 component_ename 000155 automatic char(32) level 3 packed packed unaligned dcl 677 set ref 682 682* cond_id 000130 automatic varying char(46) dcl 96 set ref 471* 472* 482* 488* 495* cond_id_relp 6 based bit(18) level 2 dcl 12-5 ref 472 cond_info 002166 automatic structure level 1 dcl 908 set ref 448 448 464 464 468 468 865* 876 876 condition_ 000036 constant entry external dcl 156 ref 227 797 condition_info based structure level 1 dcl 2-14 condition_info_header based structure level 1 dcl 3-6 condition_info_header_ptr 002220 automatic pointer dcl 3-4 set ref 887* condition_info_version_1 constant fixed bin(17,0) initial dcl 2-30 ref 809 867 condition_name parameter char packed unaligned dcl 581 in procedure "blowup_handler_" set ref 578 599 599 599 599 599 599 599 627* 661 664* condition_name 3 002166 automatic varying char(32) level 2 in structure "cond_info" dcl 908 in procedure "dummy" set ref 234 244 253 262 286 286 319 332 350 356 376 380 384 387* 391* 393* 418 426 435 457 480 652* 745 continue_flag parameter bit(1) dcl 581 ref 578 continue_to_signal_ 000100 constant entry external dcl 181 ref 236 246 607 convert_status_code_ 000104 constant entry external dcl 593 ref 646 crawlout 22 002166 automatic bit(1) level 3 packed packed unaligned dcl 908 set ref 362 371 380 387 399 445 474* 486 619 814* cu_$cl 000042 constant entry external dcl 158 ref 281 548 dd 000104 automatic structure level 1 dcl 94 set ref 323 323 326 326 333 333 decode_definition_ 000044 constant entry external dcl 159 ref 323 326 333 decode_definition_common_header based structure level 1 dcl 4-6 decode_definition_str based structure level 1 dcl 4-14 defaultsw 000152 automatic bit(1) dcl 101 set ref 313* 342* 414* 418 depth parameter fixed bin(17,0) dcl 719 set ref 710 732 740* dirname 11(27) 000155 automatic char(168) level 3 packed packed unaligned dcl 677 set ref 682* 688* ecode parameter fixed bin(17,0) dcl 719 set ref 710 741* 748* endpage 0(22) based bit(1) level 3 packed packed unaligned dcl 12-5 ref 371 entrypoint 10 000104 automatic fixed bin(17,0) level 3 dcl 94 set ref 332 eof 000100 automatic bit(1) dcl 91 set ref 323* 324 326* 330 331* 333* errcode 43 based fixed bin(35,0) level 2 packed packed unaligned dcl 11-12 ref 643 646 error_table_$unable_to_do_io 000112 external static fixed bin(35,0) dcl 894 ref 902 establish_wall 000101 automatic bit(1) dcl 92 set ref 191* 201* 209* 216* 277 546 549 fd 1 based structure level 2 packed packed unaligned dcl 11-207 fhandler parameter entry variable dcl 846 set ref 840 849* find_condition_frame_ 000074 constant entry external dcl 179 ref 722 734 874 find_condition_info_ 000076 constant entry external dcl 180 ref 876 find_pathname_ 000106 constant entry external dcl 675 ref 680 find_pathname_info based structure level 1 dcl 13-6 flags 22 002166 automatic structure level 2 packed packed unaligned dcl 908 set ref 813* flong 000176 automatic fixed bin(17,0) dcl 111 set ref 835* format_x 1 based fixed bin(17,0) level 2 dcl 12-5 ref 488 495 found 000102 automatic bit(1) dcl 93 set ref 317* 324 325* 329* 330 332* 337 get_ppr_ 000062 constant entry external dcl 169 ref 464 get_tpr_ 000064 constant entry external dcl 171 ref 468 group based structure level 2 packed packed unaligned dcl 12-5 gt_char 63(27) 000155 automatic char(1) level 3 packed packed unaligned dcl 677 set ref 682* 688* hcs_$make_ptr 000046 constant entry external dcl 160 ref 319 header based structure level 2 in structure "mrds_se_error_info" dcl 6-21 in procedure "dummy" header 000104 automatic structure level 2 in structure "dd" dcl 94 in procedure "dummy" header based structure level 2 in structure "quit_info" dcl 5-6 in procedure "dummy" i 000177 automatic fixed bin(17,0) dcl 111 set ref 721* 726* 726 732 748 ignore_pi_sw 000154 automatic bit(1) dcl 103 set ref 190* 200* 208* 217* 244 ilc 4 based bit(18) level 2 packed packed unaligned dcl 11-56 ref 637 637 info_ptr 14 002166 automatic pointer level 2 in structure "cond_info" dcl 908 in procedure "dummy" set ref 255 255 255 255 268 268 268 268 351 356 371 376* 422 424 426* 453 745* 812* 870* 887 info_ptr parameter pointer dcl 581 in procedure "blowup_handler_" set ref 578 658 661* info_string 3 based varying char(256) level 3 dcl 6-21 set ref 351* interpret_info_struc_ 000070 constant entry external dcl 174 ref 426 661 interpret_info_struc_$no_message 000072 constant entry external dcl 177 ref 376 ioa_$ioa_switch 000050 constant entry external dcl 161 ref 276 555 627 740 ioa_$rs 000052 constant entry external dcl 161 ref 387 391 393 459 482 488 495 652 664 ioa_$rsnnl 000054 constant entry external dcl 161 ref 399 682 688 iocb_ptr 000126 automatic pointer dcl 95 in procedure "dummy" set ref 221* 522 526* 527* 799* 821* 825* iocb_ptr 106 based pointer level 2 in structure "signal_io_info" dcl 7-7 in procedure "dummy" ref 255 255 255 255 iox_$control 000022 constant entry external dcl 1-8 ref 273 275 527 iox_$error_output 000034 external static pointer dcl 1-41 set ref 221 255 555* 740* 821 iox_$put_chars 000024 constant entry external dcl 1-8 ref 526 iox_$user_input 000030 external static pointer dcl 1-41 ref 255 iox_$user_io 000032 external static pointer dcl 1-41 set ref 255 273* 275* 276* 627* iox_$user_output 000026 external static pointer dcl 1-41 ref 255 isp 1(03) based bit(1) level 3 packed packed unaligned dcl 11-207 ref 409 length based fixed bin(17,0) level 3 in structure "quit_info" dcl 5-6 in procedure "dummy" ref 268 length builtin function dcl 183 in procedure "dummy" ref 361 441 linfo 001373 automatic varying char(500) dcl 151 set ref 359* 361 364 367 426* 440 441 459* 474* 482* 488* 495* 656 661* 664* 872* linkage_error_ 000060 constant entry external dcl 167 ref 448 linkerr 0(23) based bit(1) level 3 packed packed unaligned dcl 12-5 ref 445 long 000200 automatic fixed bin(17,0) dcl 113 set ref 361* 365* 365 387* 391* 393* 399* 441* 448* 459* 482* 488* 495* 522 526 531 652* 664* 682* 688* long_mess 000114 automatic char(100) dcl 590 set ref 643* 646* 647* 652* longsw based fixed bin(17,0) dcl 141 set ref 384 426* 448* 457 464* 472 482 661* longsw_ptr 000160 automatic pointer dcl 107 set ref 308* 310* 384 426 448 457 464 472 482 661 longsw_val parameter fixed bin(17,0) dcl 703 ref 696 705 705 707 lsp 000162 automatic pointer dcl 108 set ref 222* 448* 464* 468* 722* 724* 734* 745* 762* 796* 874 874* 876* mc based structure level 1 dcl 11-12 mc_ptr 002166 automatic pointer level 2 in structure "cond_info" dcl 908 in procedure "dummy" set ref 303 303 339 387 399 448* 474* 745* 810* 868* mc_ptr parameter pointer dcl 581 in procedure "blowup_handler_" ref 578 633 643 646 mess0 000100 automatic char(40) dcl 588 set ref 619* 621* 627* 652* 664* message_table_$formats 000020 external static varying char(104) array dcl 128 set ref 488* 495* message_table_$hard_default_info 000016 external static fixed bin(17,0) dcl 126 set ref 341 413 message_table_$privileged_info 000012 external static fixed bin(17,0) dcl 122 set ref 409 message_table_$soft_default_info 000014 external static fixed bin(17,0) dcl 124 set ref 339 mlong parameter fixed bin(17,0) dcl 772 set ref 531* 710 745* 753 765 828* mode parameter fixed bin(17,0) dcl 772 set ref 710 745* 753 765 831 831 833 mptr parameter pointer dcl 771 set ref 710 745* 753 765 827* mrds_se_error_info based structure level 1 dcl 6-21 mte based structure level 1 dcl 12-5 mtep 002224 automatic pointer dcl 12-4 set ref 219* 319* 321 323 323 339* 341* 371 406 409* 413* 438 445 453 468* 472 472 474 474* 488 488 488 488 488 488 488 488 488 495 495 495 495 495 495 495 495 495 539 539 my_string 001571 automatic char(1000) packed unaligned dcl 152 set ref 294 801 name parameter char(500) dcl 676 in procedure "format_name" set ref 670 682* 688* name 106 based char(32) level 2 in structure "sub_error_info" dcl 8-7 in procedure "dummy" ref 453 name_info 000155 automatic structure level 1 dcl 677 set ref 680 680 new_con 000164 automatic varying char(32) dcl 109 set ref 418* 420* 453* 488* 495* next_def 000104 automatic pointer level 3 dcl 94 set ref 326* 333* no_restart 000153 automatic bit(1) dcl 102 set ref 225* 426* 474* 553 661* no_special 0(18) based bit(1) level 3 packed packed unaligned dcl 12-5 ref 474 null builtin function dcl 183 ref 219 222 268 273 273 275 275 303 305 321 339 356 371 387 399 422 522 522 527 527 539 633 635 658 722 722 724 796 799 814 817 821 825 868 869 870 871 874 874 874 offset_msg 102 000155 automatic char(40) level 3 packed packed unaligned dcl 677 set ref 682* 688* optr 000156 automatic pointer dcl 106 set ref 294* 364 367 387 391 393 440 448* 459 482 488 495 522 526* 652 664 801* 826* 827 ostring based char(1000) dcl 142 set ref 364* 367* 387* 391* 393* 440* 459* 482* 488* 495* 652* 664* 826 p parameter pointer dcl 673 set ref 670 680* pad 0(01) 000203 automatic bit(35) level 2 packed packed unaligned dcl 116 set ref 280* 299* pad2 23 002166 automatic bit(36) level 2 dcl 908 set ref 816* pad3 26 002166 automatic bit(36) array level 2 dcl 908 set ref 818* pass_finish_sw 000155 automatic bit(1) dcl 104 set ref 189* 199* 207* 215* 236 pdir_string 75(27) 000155 automatic char(17) level 3 packed packed unaligned dcl 677 set ref 682* 688* pname1 000212 automatic char(500) dcl 149 set ref 448* 464* 482* 488* 495* 635* 637 637* 652* 872* pname2 000407 automatic char(500) dcl 149 set ref 448* 464* 482* 488* 495* 872* pname3 000604 automatic char(500) dcl 149 set ref 464* 488* 635 872* ppr based structure level 2 packed packed unaligned dcl 11-56 prr based bit(3) level 3 packed packed unaligned dcl 11-56 ref 387 387 399 399 psr 0(03) based bit(15) level 3 packed packed unaligned dcl 11-56 ref 637 637 ptr builtin function dcl 183 ref 472 488 488 488 488 495 495 495 495 637 637 640 640 quiet_restart 2(02) based bit(1) level 3 packed packed unaligned dcl 3-6 ref 424 quit_info based structure level 1 dcl 5-6 ref 268 quit_info_ptr automatic pointer dcl 5-5 ref 268 r_sp parameter pointer dcl 758 ref 753 762 re_map_mode 002163 automatic fixed bin(17,0) initial array dcl 777 set ref 777* 777* 777* 833 real_ename 64 000155 automatic char(32) level 3 packed packed unaligned dcl 677 set ref 682* 688* real_longsw 000010 internal static fixed bin(17,0) initial dcl 134 set ref 310 705* 707* 831 real_offset 74 000155 automatic char(7) level 3 packed packed unaligned dcl 677 set ref 682* 688* realsw 000151 automatic bit(1) initial dcl 99 set ref 99* 223* 253 262 371 424 426* 573* 661* 760* 794* reset_sw 000203 automatic bit(1) level 2 packed packed unaligned dcl 116 set ref 279* 297* reset_write 105 based bit(1) level 3 packed packed unaligned dcl 5-6 ref 268 resetwrite 000202 automatic bit(1) dcl 115 set ref 268* 272* 273 retsw 000150 automatic bit(1) dcl 98 set ref 224* 380* 426* 533 574* 661* 761* 795* 834* reversion_ 000040 constant entry external dcl 157 ref 264 537 ring_mes 000145 automatic char(10) packed unaligned dcl 97 set ref 399* 403* 488* rptsw 000011 internal static fixed bin(17,0) initial dcl 135 set ref 538* 560* 612* 612 613 625 scu 30 based bit(36) array level 2 in structure "mc" packed packed unaligned dcl 11-12 in procedure "dummy" set ref 303 scu based structure level 1 dcl 11-56 in procedure "dummy" scup 002222 automatic pointer dcl 11-54 set ref 303* 305* 387 387 399 399 409 637 637 637 637 640 640 640 640 scux based structure level 1 dcl 11-207 section 6 000104 automatic char(4) level 3 dcl 94 set ref 325 331 short_mess 000112 automatic char(8) dcl 589 set ref 646* 647 sig_error 0(20) based bit(1) level 3 packed packed unaligned dcl 12-5 ref 539 signal_ 000056 constant entry external dcl 166 ref 539 signal_io_info based structure level 1 dcl 7-7 size builtin function dcl 183 ref 268 special_messages_ 000066 constant entry external dcl 172 ref 474 status_code 1 000100 automatic fixed bin(35,0) level 2 dcl 897 set ref 902* string builtin function dcl 183 set ref 813* string_relp 2 based bit(18) array level 2 dcl 12-5 ref 488 488 488 488 495 495 495 495 strings 000155 automatic structure level 2 packed packed unaligned dcl 677 sub_err 0(19) based bit(1) level 3 packed packed unaligned dcl 12-5 ref 453 sub_error_info based structure level 1 dcl 8-7 switches 105 based structure level 2 dcl 5-6 symbol 11 000104 automatic char(32) level 2 dcl 94 set ref 325 332 temp_longsw 000175 automatic fixed bin(17,0) initial dcl 110 set ref 110* 308 308 831* 833* terminate_info 000100 automatic structure level 1 dcl 897 set ref 903 903 terminate_process_ 000110 constant entry external dcl 893 ref 903 tname1 001001 automatic char(500) dcl 149 set ref 468* 488* 495* 640 640* 652* 872* tname2 001176 automatic char(500) dcl 149 set ref 468* 488* 872* tpr 2 based structure level 2 packed packed unaligned dcl 11-56 tsr 2(03) based bit(15) level 3 packed packed unaligned dcl 11-56 ref 640 640 undefined 0(06) based bit(1) level 3 packed packed unaligned dcl 12-5 ref 406 unspec builtin function dcl 183 set ref 865* user_loc_ptr 24 002166 automatic pointer level 2 dcl 908 set ref 817* 871* version 2 002166 automatic fixed bin(17,0) level 2 in structure "cond_info" dcl 908 in procedure "dummy" set ref 809* 867* version 1 based fixed bin(17,0) level 3 in structure "quit_info" dcl 5-6 in procedure "dummy" ref 268 version 000100 automatic fixed bin(17,0) initial level 2 in structure "terminate_info" dcl 897 in procedure "terminate_process" set ref 897* wc_ptr 16 002166 automatic pointer level 2 in structure "cond_info" dcl 908 in procedure "dummy" set ref 745* 811* 814 869* wc_ptr parameter pointer dcl 581 in procedure "blowup_handler_" ref 578 635 xcode parameter fixed bin(35,0) dcl 845 set ref 840 849* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. RETURN_PTR_MASK internal static bit(72) initial packed unaligned dcl 10-19 SGI_OP_CONTROL internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_DELETE_RECORD internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_GET_CHARS internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_GET_LINE internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_MODES internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_POSITION internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_PUT_CHARS internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_READ_KEY internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_READ_LENGTH internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_READ_RECORD internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_REWRITE_RECORD internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_SEEK_KEY internal static char(32) initial packed unaligned dcl 7-27 SGI_OP_WRITE_RECORD internal static char(32) initial packed unaligned dcl 7-27 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 11-42 apx internal static fixed bin(17,0) initial dcl 11-42 bbx internal static fixed bin(17,0) initial dcl 11-42 bpx internal static fixed bin(17,0) initial dcl 11-42 call_offset internal static fixed bin(17,0) initial dcl 9-78 condition_info_ptr automatic pointer dcl 2-10 decode_definition_acc based structure level 1 dcl 4-34 decode_definition_full based structure level 1 dcl 4-18 entry_offset internal static fixed bin(17,0) initial dcl 9-78 error_info_version internal static fixed bin(17,0) initial dcl 6-36 find_pathname_info_ptr automatic pointer dcl 13-4 iox_$attach_loud 000000 constant entry external dcl 1-8 iox_$attach_name 000000 constant entry external dcl 1-8 iox_$attach_ptr 000000 constant entry external dcl 1-8 iox_$close 000000 constant entry external dcl 1-8 iox_$close_file 000000 constant entry external dcl 1-8 iox_$delete_record 000000 constant entry external dcl 1-8 iox_$destroy_iocb 000000 constant entry external dcl 1-8 iox_$detach 000000 constant entry external dcl 1-8 iox_$detach_iocb 000000 constant entry external dcl 1-8 iox_$err_no_operation 000000 constant entry external dcl 1-8 iox_$err_not_attached 000000 constant entry external dcl 1-8 iox_$err_not_closed 000000 constant entry external dcl 1-8 iox_$err_not_open 000000 constant entry external dcl 1-8 iox_$find_iocb 000000 constant entry external dcl 1-8 iox_$find_iocb_n 000000 constant entry external dcl 1-8 iox_$get_chars 000000 constant entry external dcl 1-8 iox_$get_line 000000 constant entry external dcl 1-8 iox_$look_iocb 000000 constant entry external dcl 1-8 iox_$modes 000000 constant entry external dcl 1-8 iox_$move_attach 000000 constant entry external dcl 1-8 iox_$open 000000 constant entry external dcl 1-8 iox_$open_file 000000 constant entry external dcl 1-8 iox_$position 000000 constant entry external dcl 1-8 iox_$propagate 000000 constant entry external dcl 1-8 iox_$read_key 000000 constant entry external dcl 1-8 iox_$read_length 000000 constant entry external dcl 1-8 iox_$read_record 000000 constant entry external dcl 1-8 iox_$rewrite_record 000000 constant entry external dcl 1-8 iox_$seek_key 000000 constant entry external dcl 1-8 iox_$write_record 000000 constant entry external dcl 1-8 lbx internal static fixed bin(17,0) initial dcl 11-42 lpx internal static fixed bin(17,0) initial dcl 11-42 mcp automatic pointer dcl 11-10 mrds_data_$max_token_size external static fixed bin(35,0) dcl 6-37 mrds_se_error_info_ptr automatic pointer dcl 6-19 push_offset internal static fixed bin(17,0) initial dcl 9-78 return_no_pop_offset internal static fixed bin(17,0) initial dcl 9-78 return_offset internal static fixed bin(17,0) initial dcl 9-78 sb automatic pointer dcl 9-24 sbx internal static fixed bin(17,0) initial dcl 11-42 signal_io_info_ptr automatic pointer dcl 7-6 signal_io_io_buffer based char packed unaligned dcl 7-43 signal_io_new_modes based char packed unaligned dcl 7-46 signal_io_old_modes based char packed unaligned dcl 7-45 signal_io_order_name based char packed unaligned dcl 7-44 sp automatic pointer dcl 10-31 spx internal static fixed bin(17,0) initial dcl 11-42 stack_frame based structure level 1 dcl 10-36 stack_frame_flags based structure level 1 dcl 10-64 stack_frame_min_length internal static fixed bin(17,0) initial dcl 10-33 stack_header based structure level 1 dcl 9-26 stack_header_overlay based fixed bin(17,0) array dcl 9-94 sub_error_info_ptr automatic pointer dcl 8-6 sub_error_info_version_1 internal static fixed bin(17,0) initial dcl 8-13 tv_offset internal static fixed bin(17,0) initial dcl 9-72 NAMES DECLARED BY EXPLICIT CONTEXT. COMMON 000464 constant label dcl 219 ref 192 202 210 add_finish_handler 003450 constant entry external dcl 840 begin 001050 constant label dcl 294 ref 575 begin_com 001052 constant label dcl 297 ref 837 blowup_handler_ 003472 constant entry internal dcl 578 ref 227 227 797 797 change_error_message_mode_ 003010 constant entry external dcl 696 ci_start 003304 constant label dcl 797 ref 763 common 004402 constant label dcl 865 ref 857 condition_interpreter_ 003263 constant entry external dcl 765 default_error_handler_ 000453 constant entry external dcl 212 dummy 000367 constant entry external dcl 33 exit 002754 constant label dcl 560 ref 238 247 282 286 353 377 424 435 533 879 format_name 004170 constant entry internal dcl 670 ref 637 640 found_level 003104 constant label dcl 736 ref 732 get_condition_info 004371 constant entry internal dcl 852 ref 228 571 get_condition_info_code 004374 constant entry internal dcl 859 ref 736 806 go_to_cl 002673 constant label dcl 543 ref 539 556 ignore_pi 000437 constant entry external dcl 204 interpret_condition_ 002764 constant entry external dcl 564 last 002627 constant label dcl 533 ref 616 629 out 002541 constant label dcl 522 ref 368 395 442 450 460 483 667 print 004122 constant label dcl 664 ref 656 reinterpret_condition_ 003230 constant entry external dcl 753 ref 745 reprint_error_message_ 003040 constant entry external dcl 710 return_no_such_level 003214 constant label dcl 748 ref 724 standard_default_handler_ 000423 constant entry external dcl 194 terminate_process 004502 constant entry internal dcl 890 ref 255 615 wall 000413 constant entry external dcl 194 ref 319 319 wall_ignore_pi 000377 constant entry external dcl 186 ref 277 546 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5332 5446 4544 5342 Length 6230 4544 114 545 565 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dummy 1366 external procedure is an external procedure. on unit on line 277 64 on unit on unit on line 546 64 on unit blowup_handler_ 318 internal procedure is assigned to an entry variable. format_name internal procedure shares stack frame of internal procedure blowup_handler_. get_condition_info internal procedure shares stack frame of external procedure dummy. terminate_process 82 internal procedure is called by several nonquick procedures. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 real_longsw dummy 000011 rptsw dummy STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME blowup_handler_ 000100 mess0 blowup_handler_ 000112 short_mess blowup_handler_ 000114 long_mess blowup_handler_ 000154 code format_name 000155 name_info format_name dummy 000100 eof dummy 000101 establish_wall dummy 000102 found dummy 000104 dd dummy 000126 iocb_ptr dummy 000130 cond_id dummy 000145 ring_mes dummy 000150 retsw dummy 000151 realsw dummy 000152 defaultsw dummy 000153 no_restart dummy 000154 ignore_pi_sw dummy 000155 pass_finish_sw dummy 000156 optr dummy 000160 longsw_ptr dummy 000162 lsp dummy 000164 new_con dummy 000175 temp_longsw dummy 000176 flong dummy 000177 i dummy 000200 long dummy 000201 code dummy 000202 resetwrite dummy 000203 cl_arg dummy 000212 pname1 dummy 000407 pname2 dummy 000604 pname3 dummy 001001 tname1 dummy 001176 tname2 dummy 001373 linfo dummy 001571 my_string dummy 002163 re_map_mode dummy 002166 cond_info dummy 002220 condition_info_header_ptr dummy 002222 scup dummy 002224 mtep dummy 002236 code get_condition_info 002237 code_flag get_condition_info terminate_process 000100 terminate_info terminate_process THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp cat_realloc_chars call_ext_in_desc call_ext_in call_ext_out_desc call_ext_out call_int_this call_int_other return_mac tra_ext_1 enable_op shorten_stack ext_entry ext_entry_desc int_entry int_entry_desc op_alloc_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. add_epilogue_handler_ condition_ continue_to_signal_ convert_status_code_ cu_$cl decode_definition_ find_condition_frame_ find_condition_info_ find_pathname_ get_ppr_ get_tpr_ hcs_$make_ptr interpret_info_struc_ interpret_info_struc_$no_message ioa_$ioa_switch ioa_$rs ioa_$rsnnl iox_$control iox_$put_chars linkage_error_ reversion_ signal_ special_messages_ terminate_process_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$unable_to_do_io iox_$error_output iox_$user_input iox_$user_io iox_$user_output message_table_$formats message_table_$hard_default_info message_table_$privileged_info message_table_$soft_default_info CONSTANTS 004536 aa 000002000000 004537 aa 000000000000 004540 aa 600000000041 004541 aa 000201000000 004542 aa 377777777777 000000 aa 524000000014 000001 aa 526000000050 000002 aa 526000000021 000003 aa 526000000001 000004 aa 526000000250 000005 aa 526000000007 000006 aa 526000000040 000007 aa 524000000023 000010 aa 524000000144 000011 aa 524000000054 000012 aa 524000000050 000013 aa 524000000052 000014 aa 143 160 165 164 cput 000015 aa 141 154 162 155 alrm 000016 aa 524000000060 000017 aa 524000000005 000020 aa 530000000400 000021 aa 530000000150 000022 aa 530000000056 000023 aa 524000000764 000024 aa 524000000026 000025 aa 530000000764 000026 aa 136 057 136 141 ^/^a 000027 aa 526000000012 000030 aa 524000000007 000031 aa 524000000013 000032 aa 524000000037 000033 aa 404000000003 000034 aa 530000000040 000035 aa 524000001750 000036 aa 524000000034 000037 aa 164 145 170 164 text 000040 aa 163 145 147 156 segn 000041 aa 524000000000 000042 aa 524000000016 004543 aa 777777777777 000043 aa 524000000004 000044 aa 121 125 111 124 QUIT 000045 aa 524000000012 000046 aa 161 165 151 164 quit 000047 aa 524000000011 000050 aa 500000000000 000051 aa 404000000043 000052 aa 404000000021 000053 aa 514000000001 000054 aa 526077777777 000055 aa 464000000000 000056 aa 170 170 170 170 xxxx 000057 aa 170 170 170 170 xxxx 000060 aa 105 162 162 157 Erro 000061 aa 162 072 000 000 r: 000062 aa 163 164 157 162 stor 000063 aa 141 147 145 000 age 000064 aa 163 164 141 162 star 000065 aa 164 000 000 000 t 000066 aa 162 151 156 147 ring 000067 aa 040 136 144 000 ^d 000070 aa 145 162 162 157 erro 000071 aa 162 000 000 000 r 000072 aa 146 151 156 151 fini 000073 aa 163 150 000 000 sh 000074 aa 077777000043 000075 aa 000001000000 000076 aa 146 141 164 141 fata 000077 aa 154 137 145 162 l_er 000100 aa 162 157 162 000 ror 000101 aa 136 141 136 141 ^a^a 000102 aa 136 141 136 141 ^a^a 000103 aa 136 141 136 141 ^a^a 000104 aa 154 157 167 145 lowe 000105 aa 162 040 162 151 r ri 000106 aa 156 147 000 000 ng 000107 aa 136 057 105 162 ^/Er 000110 aa 162 157 162 072 ror: 000111 aa 040 136 141 000 ^a 000112 aa 165 156 144 145 unde 000113 aa 162 146 154 157 rflo 000114 aa 167 000 000 000 w 000115 aa 160 162 151 156 prin 000116 aa 164 145 162 137 ter_ 000117 aa 157 156 000 000 on 000120 aa 162 145 163 145 rese 000121 aa 164 167 162 151 twri 000122 aa 164 145 000 000 te 000123 aa 163 151 147 156 sign 000124 aa 141 154 137 151 al_i 000125 aa 157 137 000 000 o_ 000126 aa 141 156 171 137 any_ 000127 aa 157 164 150 145 othe 000130 aa 162 000 000 000 r 000131 aa 146 157 162 164 fort 000132 aa 162 141 156 137 ran_ 000133 aa 160 141 165 163 paus 000134 aa 145 000 000 000 e 000135 aa 155 162 144 163 mrds 000136 aa 137 163 145 137 _se_ 000137 aa 145 162 162 157 erro 000140 aa 162 137 000 000 r_ 000141 aa 155 145 163 163 mess 000142 aa 141 147 145 137 age_ 000143 aa 164 141 142 154 tabl 000144 aa 145 137 000 000 e_ 000145 aa 143 157 155 155 comm 000146 aa 141 156 144 137 and_ 000147 aa 161 165 145 163 ques 000150 aa 164 151 157 156 tion 000151 aa 143 157 155 155 comm 000152 aa 141 156 144 137 and_ 000153 aa 145 162 162 157 erro 000154 aa 162 000 000 000 r 000155 aa 136 141 136 141 ^a^a 000156 aa 040 050 136 141 (^a 000157 aa 136 141 136 141 ^a^a 000160 aa 136 141 136 141 ^a^a 000161 aa 051 136 141 000 )^a 000162 aa 160 162 157 147 prog 000163 aa 162 141 155 137 ram_ 000164 aa 151 156 164 145 inte 000165 aa 162 162 165 160 rrup 000166 aa 164 000 000 000 t 000167 aa 136 057 136 141 ^/^a 000170 aa 040 040 136 141 ^a 000171 aa 040 143 157 156 con 000172 aa 144 151 164 151 diti 000173 aa 157 156 136 057 on^/ 000174 aa 136 141 000 000 ^a 000175 aa 136 057 136 141 ^/^a 000176 aa 040 141 164 040 at 000177 aa 136 141 136 141 ^a^a 000200 aa 136 133 136 057 ^[^/ 000201 aa 136 073 136 135 ^;^] 000202 aa 136 141 000 000 ^a 000203 aa 144 145 146 141 defa 000204 aa 165 154 164 137 ult_ 000205 aa 145 162 162 157 erro 000206 aa 162 137 150 141 r_ha 000207 aa 156 144 154 145 ndle 000210 aa 162 137 000 000 r_ 000211 aa 136 057 105 162 ^/Er 000212 aa 162 157 162 072 ror: 000213 aa 040 136 141 040 ^a 000214 aa 167 150 151 154 whil 000215 aa 145 040 151 156 e in 000216 aa 040 162 151 156 rin 000217 aa 147 040 136 144 g ^d 000220 aa 143 157 155 160 comp 000221 aa 165 164 141 164 utat 000222 aa 151 157 156 040 ion 000223 aa 143 141 156 156 cann 000224 aa 157 164 040 142 ot b 000225 aa 145 040 162 145 e re 000226 aa 163 164 141 162 star 000227 aa 164 145 144 000 ted 000230 aa 136 057 105 162 ^/Er 000231 aa 162 157 162 072 ror: 000232 aa 040 136 141 040 ^a 000233 aa 167 150 151 154 whil 000234 aa 145 040 151 156 e in 000235 aa 040 154 157 167 low 000236 aa 145 162 040 162 er r 000237 aa 151 156 147 000 ing 000240 aa 105 162 162 157 Erro 000241 aa 162 040 167 150 r wh 000242 aa 151 154 145 040 ile 000243 aa 160 162 157 143 proc 000244 aa 145 163 163 151 essi 000245 aa 156 147 040 151 ng i 000246 aa 156 040 154 157 n lo 000247 aa 167 145 162 040 wer 000250 aa 162 151 156 147 ring 000251 aa 072 012 000 000 : 000252 aa 105 162 162 157 Erro 000253 aa 162 040 167 150 r wh 000254 aa 151 154 145 040 ile 000255 aa 160 162 157 143 proc 000256 aa 145 163 163 151 essi 000257 aa 156 147 040 151 ng i 000260 aa 156 040 154 157 n lo 000261 aa 167 145 162 040 wer 000262 aa 162 151 156 147 ring 000263 aa 072 000 000 000 : 000264 aa 136 057 136 141 ^/^a 000265 aa 040 040 136 141 ^a 000266 aa 040 143 157 156 con 000267 aa 144 151 164 151 diti 000270 aa 157 156 040 142 on b 000271 aa 171 040 136 141 y ^a 000272 aa 136 057 162 145 ^/re 000273 aa 146 145 162 145 fere 000274 aa 156 143 151 156 ncin 000275 aa 147 040 136 141 g ^a 000276 aa 136 057 136 141 ^/^a 000277 aa 136 057 136 141 ^/^a 000300 aa 136 141 040 040 ^a 000301 aa 050 125 156 141 (Una 000302 aa 142 154 145 040 ble 000303 aa 164 157 040 157 to o 000304 aa 142 164 141 151 btai 000305 aa 156 040 160 162 n pr 000306 aa 157 160 145 162 oper 000307 aa 040 155 145 163 mes 000310 aa 163 141 147 145 sage 000311 aa 056 051 000 000 .) 000312 aa 143 157 156 144 cond 000313 aa 151 164 151 157 itio 000314 aa 156 040 151 156 n in 000315 aa 146 157 162 155 form 000316 aa 141 164 151 157 atio 000317 aa 156 040 156 157 n no 000320 aa 164 040 141 166 t av 000321 aa 141 151 154 141 aila 000322 aa 142 154 145 040 ble 000323 aa 146 157 162 040 for 000324 aa 154 145 166 145 leve 000325 aa 154 040 136 144 l ^d 000326 aa 163 171 163 164 syst 000327 aa 145 155 040 150 em h 000330 aa 141 156 144 154 andl 000331 aa 145 162 040 146 er f 000332 aa 157 162 040 145 or e 000333 aa 162 162 157 162 rror 000334 aa 040 162 145 164 ret 000335 aa 165 162 156 163 urns 000336 aa 040 164 157 040 to 000337 aa 143 157 155 155 comm 000340 aa 141 156 144 040 and 000341 aa 154 145 166 145 leve 000342 aa 154 012 000 000 l BEGIN PROCEDURE dummy PROLOGUE SEQUENCE 000343 aa 6 02240 4401 00 sxl0 pr6|1184 STATEMENT 1 ON LINE 99 000344 aa 400000 2350 03 lda 131072,du 000345 aa 6 00151 7551 00 sta pr6|105 realsw STATEMENT 1 ON LINE 110 000346 aa 000001 3360 07 lcq 1,dl 000347 aa 6 00175 7561 00 stq pr6|125 temp_longsw STATEMENT 1 ON LINE 777 000350 aa 6 02226 4501 00 stz pr6|1174 000351 aa 6 02226 0541 00 aos pr6|1174 000352 aa 000001 2360 07 ldq 1,dl 000353 aa 6 02226 7271 00 lxl7 pr6|1174 000354 aa 6 02162 7561 17 stq pr6|1138,7 re_map_mode 000355 aa 6 02226 0541 00 aos pr6|1174 000356 aa 6 02226 7271 00 lxl7 pr6|1174 000357 aa 6 02162 4501 17 stz pr6|1138,7 re_map_mode 000360 aa 6 02226 0541 00 aos pr6|1174 000361 aa 000002 2360 07 ldq 2,dl 000362 aa 6 02226 7271 00 lxl7 pr6|1174 000363 aa 6 02162 7561 17 stq pr6|1138,7 re_map_mode 000364 aa 6 02240 7201 00 lxl0 pr6|1184 000365 aa 000000 7100 10 tra 0,0 MAIN SEQUENCE ENTRY TO dummy STATEMENT 1 ON LINE 33 dummy: procedure; 000366 da 000401200000 000367 aa 002540 6270 00 eax7 1376 000370 aa 7 00034 3521 20 epp2 pr7|28,* 000371 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000372 aa 000000000000 000373 aa 000000000000 000374 aa 777747 7000 04 tsx0 -25,ic 000343 STATEMENT 1 ON LINE 186 wall_ignore_pi: entry; 000375 aa 000010 7100 04 tra 8,ic 000405 ENTRY TO wall_ignore_pi STATEMENT 1 ON LINE 186 wall_ignore_pi: entry; 000376 da 000410200000 000377 aa 002540 6270 00 eax7 1376 000400 aa 7 00034 3521 20 epp2 pr7|28,* 000401 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000402 aa 000000000000 000403 aa 000000000000 000404 aa 777737 7000 04 tsx0 -33,ic 000343 STATEMENT 1 ON LINE 189 pass_finish_sw = "1"b; 000405 aa 400000 2350 03 lda 131072,du 000406 aa 6 00155 7551 00 sta pr6|109 pass_finish_sw STATEMENT 1 ON LINE 190 ignore_pi_sw = "1"b; 000407 aa 6 00154 7551 00 sta pr6|108 ignore_pi_sw STATEMENT 1 ON LINE 191 establish_wall = "1"b; 000410 aa 6 00101 7551 00 sta pr6|65 establish_wall STATEMENT 1 ON LINE 192 go to COMMON; 000411 aa 000053 7100 04 tra 43,ic 000464 ENTRY TO wall STATEMENT 1 ON LINE 194 standard_default_handler_: wall: entry; 000412 da 000415200000 000413 aa 002540 6270 00 eax7 1376 000414 aa 7 00034 3521 20 epp2 pr7|28,* 000415 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000416 aa 000000000000 000417 aa 000000000000 000420 aa 777723 7000 04 tsx0 -45,ic 000343 000421 aa 000010 7100 04 tra 8,ic 000431 ENTRY TO standard_default_handler_ STATEMENT 1 ON LINE 194 standard_default_handler_: wall: entry; 000422 da 000427200000 000423 aa 002540 6270 00 eax7 1376 000424 aa 7 00034 3521 20 epp2 pr7|28,* 000425 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000426 aa 000000000000 000427 aa 000000000000 000430 aa 777713 7000 04 tsx0 -53,ic 000343 STATEMENT 1 ON LINE 199 pass_finish_sw = "0"b; 000431 aa 6 00155 4501 00 stz pr6|109 pass_finish_sw STATEMENT 1 ON LINE 200 ignore_pi_sw = "0"b; 000432 aa 6 00154 4501 00 stz pr6|108 ignore_pi_sw STATEMENT 1 ON LINE 201 establish_wall = "1"b; 000433 aa 400000 2350 03 lda 131072,du 000434 aa 6 00101 7551 00 sta pr6|65 establish_wall STATEMENT 1 ON LINE 202 goto COMMON; 000435 aa 000027 7100 04 tra 23,ic 000464 ENTRY TO ignore_pi STATEMENT 1 ON LINE 204 ignore_pi: entry; 000436 da 000435200000 000437 aa 002540 6270 00 eax7 1376 000440 aa 7 00034 3521 20 epp2 pr7|28,* 000441 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000442 aa 000000000000 000443 aa 000000000000 000444 aa 777677 7000 04 tsx0 -65,ic 000343 STATEMENT 1 ON LINE 207 pass_finish_sw = "1"b; 000445 aa 400000 2350 03 lda 131072,du 000446 aa 6 00155 7551 00 sta pr6|109 pass_finish_sw STATEMENT 1 ON LINE 208 ignore_pi_sw = "1"b; 000447 aa 6 00154 7551 00 sta pr6|108 ignore_pi_sw STATEMENT 1 ON LINE 209 establish_wall = "0"b; 000450 aa 6 00101 4501 00 stz pr6|65 establish_wall STATEMENT 1 ON LINE 210 go to COMMON; 000451 aa 000013 7100 04 tra 11,ic 000464 ENTRY TO default_error_handler_ STATEMENT 1 ON LINE 212 default_error_handler_: entry; 000452 da 000440200000 000453 aa 002540 6270 00 eax7 1376 000454 aa 7 00034 3521 20 epp2 pr7|28,* 000455 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000456 aa 000000000000 000457 aa 000000000000 000460 aa 777663 7000 04 tsx0 -77,ic 000343 STATEMENT 1 ON LINE 215 pass_finish_sw = "0"b; 000461 aa 6 00155 4501 00 stz pr6|109 pass_finish_sw STATEMENT 1 ON LINE 216 establish_wall = "0"b; 000462 aa 6 00101 4501 00 stz pr6|65 establish_wall STATEMENT 1 ON LINE 217 ignore_pi_sw = "0"b; 000463 aa 6 00154 4501 00 stz pr6|108 ignore_pi_sw STATEMENT 1 ON LINE 219 COMMON: mtep = null (); 000464 aa 777410 2370 04 ldaq -248,ic 000074 = 077777000043 000001000000 000465 aa 6 02224 7571 00 staq pr6|1172 mtep STATEMENT 1 ON LINE 221 iocb_ptr = iox_$error_output; 000466 aa 6 00044 3701 20 epp4 pr6|36,* 000467 la 4 00034 3735 20 epp7 pr4|28,* iox_$error_output 000470 aa 7 00000 3735 20 epp7 pr7|0,* iox_$error_output 000471 aa 6 00126 6535 00 spri7 pr6|86 iocb_ptr STATEMENT 1 ON LINE 222 lsp = null (); 000472 aa 6 00162 7571 00 staq pr6|114 lsp STATEMENT 1 ON LINE 223 realsw = "1"b; 000473 aa 400000 2350 03 lda 131072,du 000474 aa 6 00151 7551 00 sta pr6|105 realsw STATEMENT 1 ON LINE 224 retsw = "0"b; 000475 aa 6 00150 4501 00 stz pr6|104 retsw STATEMENT 1 ON LINE 225 no_restart = "0"b; 000476 aa 6 00153 4501 00 stz pr6|107 no_restart STATEMENT 1 ON LINE 227 call condition_ ("any_other", blowup_handler_); 000477 aa 777427 2370 04 ldaq -233,ic 000126 = 141156171137 157164150145 000500 aa 6 02242 7571 00 staq pr6|1186 000501 aa 162000 2350 03 lda 58368,du 000502 aa 6 02244 7551 00 sta pr6|1188 000503 aa 002767 3520 04 epp2 1527,ic 003472 = 000500627000 000504 aa 6 02246 2521 00 spri2 pr6|1190 cp.316 000505 aa 6 02250 6521 00 spri6 pr6|1192 cp.316 000506 aa 6 02242 3521 00 epp2 pr6|1186 000507 aa 6 02254 2521 00 spri2 pr6|1196 000510 aa 6 02246 3521 00 epp2 pr6|1190 cp.316 000511 aa 6 02256 2521 00 spri2 pr6|1198 000512 aa 777335 3520 04 epp2 -291,ic 000047 = 524000000011 000513 aa 6 02260 2521 00 spri2 pr6|1200 000514 aa 777334 3520 04 epp2 -292,ic 000050 = 500000000000 000515 aa 6 02262 2521 00 spri2 pr6|1202 000516 aa 6 02252 6211 00 eax1 pr6|1194 000517 aa 010000 4310 07 fld 4096,dl 000520 la 4 00036 3521 20 epp2 pr4|30,* condition_ 000521 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 228 call get_condition_info; 000522 aa 003647 6700 04 tsp4 1959,ic 004371 STATEMENT 1 ON LINE 234 if (cond_info.condition_name = "finish") then do; 000523 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 000524 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000525 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 000526 aa 777346 00 0006 desc9a -282,6 000072 = 146151156151 000527 aa 000014 6010 04 tnz 12,ic 000543 STATEMENT 1 ON LINE 236 if pass_finish_sw /* can only be on if realsw is on */ then call continue_to_signal_ (0); 000530 aa 6 00155 2351 00 lda pr6|109 pass_finish_sw 000531 aa 002223 6000 04 tze 1171,ic 002754 000532 aa 6 02245 4501 00 stz pr6|1189 000533 aa 6 02245 3521 00 epp2 pr6|1189 000534 aa 6 02250 2521 00 spri2 pr6|1192 000535 aa 6 02246 6211 00 eax1 pr6|1190 000536 aa 004000 4310 07 fld 2048,dl 000537 aa 6 00044 3701 20 epp4 pr6|36,* 000540 la 4 00100 3521 20 epp2 pr4|64,* continue_to_signal_ 000541 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 238 go to exit; 000542 aa 002212 7100 04 tra 1162,ic 002754 STATEMENT 1 ON LINE 239 end; STATEMENT 1 ON LINE 244 if ignore_pi_sw & (cond_info.condition_name = "program_interrupt") then do; 000543 aa 6 00154 2351 00 lda pr6|108 ignore_pi_sw 000544 aa 000017 6000 04 tze 15,ic 000563 000545 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 000546 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000547 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 000550 aa 777414 00 0021 desc9a -244,17 000162 = 160162157147 000551 aa 000012 6010 04 tnz 10,ic 000563 STATEMENT 1 ON LINE 246 call continue_to_signal_ (0); 000552 aa 6 02245 4501 00 stz pr6|1189 000553 aa 6 02245 3521 00 epp2 pr6|1189 000554 aa 6 02250 2521 00 spri2 pr6|1192 000555 aa 6 02246 6211 00 eax1 pr6|1190 000556 aa 004000 4310 07 fld 2048,dl 000557 aa 6 00044 3701 20 epp4 pr6|36,* 000560 la 4 00100 3521 20 epp2 pr4|64,* continue_to_signal_ 000561 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 247 go to exit; 000562 aa 002172 7100 04 tra 1146,ic 002754 STATEMENT 1 ON LINE 248 end; STATEMENT 1 ON LINE 253 if realsw & (cond_info.condition_name = "signal_io_") then do; 000563 aa 6 00151 2351 00 lda pr6|105 realsw 000564 aa 400000 3150 03 cana 131072,du 000565 aa 000034 6000 04 tze 28,ic 000621 000566 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 000567 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000570 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 000571 aa 777334 00 0012 desc9a -292,10 000123 = 163151147156 000572 aa 000027 6010 04 tnz 23,ic 000621 STATEMENT 1 ON LINE 255 if cond_info.info_ptr -> signal_io_info.iocb_ptr = iox_$user_io | cond_info.info_ptr -> signal_io_info.iocb_ptr = iox_$user_output | cond_info.info_ptr -> signal_io_info.iocb_ptr = iox_$user_input | cond_info.info_ptr -> signal_io_info.iocb_ptr = iox_$error_output then call terminate_process; 000573 aa 6 02202 3735 20 epp7 pr6|1154,* cond_info.info_ptr 000574 aa 7 00106 2371 00 ldaq pr7|70 signal_io_info.iocb_ptr 000575 aa 6 00044 3701 20 epp4 pr6|36,* 000576 la 4 00032 6771 20 eraq pr4|26,* iox_$user_io 000577 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000600 aa 000015 6000 04 tze 13,ic 000615 000601 aa 7 00106 2371 00 ldaq pr7|70 signal_io_info.iocb_ptr 000602 la 4 00026 6771 20 eraq pr4|22,* iox_$user_output 000603 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000604 aa 000011 6000 04 tze 9,ic 000615 000605 aa 7 00106 2371 00 ldaq pr7|70 signal_io_info.iocb_ptr 000606 la 4 00030 6771 20 eraq pr4|24,* iox_$user_input 000607 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000610 aa 000005 6000 04 tze 5,ic 000615 000611 aa 7 00106 2371 00 ldaq pr7|70 signal_io_info.iocb_ptr 000612 la 4 00034 6771 20 eraq pr4|28,* iox_$error_output 000613 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000614 aa 000005 6010 04 tnz 5,ic 000621 000615 aa 6 00056 6211 00 eax1 pr6|46 000616 aa 000000 4310 07 fld 0,dl 000617 aa 003663 3520 04 epp2 1971,ic 004502 = 000140627000 000620 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 260 end; STATEMENT 1 ON LINE 262 if realsw & cond_info.condition_name = "quit" then do; 000621 aa 6 00151 2351 00 lda pr6|105 realsw 000622 aa 400000 3150 03 cana 131072,du 000623 aa 000213 6000 04 tze 139,ic 001036 000624 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 000625 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000626 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 000627 aa 777221 00 0004 desc9a -367,4 000046 = 161165151164 000630 aa 000206 6010 04 tnz 134,ic 001036 STATEMENT 1 ON LINE 264 call reversion_ ("any_other"); 000631 aa 777275 2370 04 ldaq -323,ic 000126 = 141156171137 157164150145 000632 aa 6 02242 7571 00 staq pr6|1186 000633 aa 162000 2350 03 lda 58368,du 000634 aa 6 02244 7551 00 sta pr6|1188 000635 aa 6 02242 3521 00 epp2 pr6|1186 000636 aa 6 02254 2521 00 spri2 pr6|1196 000637 aa 777210 3520 04 epp2 -376,ic 000047 = 524000000011 000640 aa 6 02256 2521 00 spri2 pr6|1198 000641 aa 6 02252 6211 00 eax1 pr6|1194 000642 aa 004000 4310 07 fld 2048,dl 000643 aa 6 00044 3701 20 epp4 pr6|36,* 000644 la 4 00040 3521 20 epp2 pr4|32,* reversion_ 000645 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 268 if cond_info.info_ptr ^= null then if cond_info.info_ptr -> quit_info.version = 1 & cond_info.info_ptr -> quit_info.length = size (quit_info) then resetwrite = cond_info.info_ptr -> quit_info.switches.reset_write; 000646 aa 6 02202 2371 00 ldaq pr6|1154 cond_info.info_ptr 000647 aa 777225 6770 04 eraq -363,ic 000074 = 077777000043 000001000000 000650 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000651 aa 000016 6000 04 tze 14,ic 000667 000652 aa 6 02202 3735 20 epp7 pr6|1154,* cond_info.info_ptr 000653 aa 7 00001 2361 00 ldq pr7|1 quit_info.version 000654 aa 000001 1160 07 cmpq 1,dl 000655 aa 000010 6010 04 tnz 8,ic 000665 000656 aa 7 00000 2361 00 ldq pr7|0 quit_info.length 000657 aa 000107 1160 07 cmpq 71,dl 000660 aa 000005 6010 04 tnz 5,ic 000665 000661 aa 7 00105 2351 00 lda pr7|69 quit_info.reset_write 000662 aa 0 00002 3771 00 anaq pr0|2 = 400000000000 000000000000 000663 aa 6 00202 7551 00 sta pr6|130 resetwrite 000664 aa 000003 7100 04 tra 3,ic 000667 STATEMENT 1 ON LINE 272 else resetwrite = "1"b; 000665 aa 400000 2350 03 lda 131072,du 000666 aa 6 00202 7551 00 sta pr6|130 resetwrite STATEMENT 1 ON LINE 273 if resetwrite then call iox_$control (iox_$user_io, "resetwrite", null, (0)); 000667 aa 6 00202 2351 00 lda pr6|130 resetwrite 000670 aa 000034 6000 04 tze 28,ic 000724 000671 aa 777227 2370 04 ldaq -361,ic 000120 = 162145163145 164167162151 000672 aa 6 02242 7571 00 staq pr6|1186 000673 aa 164145 2350 03 lda 59493,du 000674 aa 6 02244 7551 00 sta pr6|1188 000675 aa 777177 3734 24 epp7 -385,ic* 000676 aa 6 02264 6535 00 spri7 pr6|1204 000677 aa 6 02245 4501 00 stz pr6|1189 000700 aa 6 00044 3701 20 epp4 pr6|36,* 000701 la 4 00032 3521 20 epp2 pr4|26,* iox_$user_io 000702 aa 6 02270 2521 00 spri2 pr6|1208 000703 aa 6 02242 3521 00 epp2 pr6|1186 000704 aa 6 02272 2521 00 spri2 pr6|1210 000705 aa 6 02264 3521 00 epp2 pr6|1204 000706 aa 6 02274 2521 00 spri2 pr6|1212 000707 aa 6 02245 3521 00 epp2 pr6|1189 000710 aa 6 02276 2521 00 spri2 pr6|1214 000711 aa 777144 3520 04 epp2 -412,ic 000055 = 464000000000 000712 aa 6 02300 2521 00 spri2 pr6|1216 000713 aa 6 02304 2521 00 spri2 pr6|1220 000714 aa 777131 3520 04 epp2 -423,ic 000045 = 524000000012 000715 aa 6 02302 2521 00 spri2 pr6|1218 000716 aa 777133 3520 04 epp2 -421,ic 000051 = 404000000043 000717 aa 6 02306 2521 00 spri2 pr6|1222 000720 aa 6 02266 6211 00 eax1 pr6|1206 000721 aa 020000 4310 07 fld 8192,dl 000722 la 4 00022 3521 20 epp2 pr4|18,* iox_$control 000723 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 275 call iox_$control (iox_$user_io, "printer_on", null, (0)); 000724 aa 777171 2350 04 lda -391,ic 000115 = 160162151156 000725 aa 777171 2360 04 ldq -391,ic 000116 = 164145162137 000726 aa 6 02242 7571 00 staq pr6|1186 000727 aa 157156 2350 03 lda 56942,du 000730 aa 6 02244 7551 00 sta pr6|1188 000731 aa 777143 3734 24 epp7 -413,ic* 000732 aa 6 02264 6535 00 spri7 pr6|1204 000733 aa 6 02245 4501 00 stz pr6|1189 000734 aa 6 00044 3701 20 epp4 pr6|36,* 000735 la 4 00032 3521 20 epp2 pr4|26,* iox_$user_io 000736 aa 6 02270 2521 00 spri2 pr6|1208 000737 aa 6 02242 3521 00 epp2 pr6|1186 000740 aa 6 02272 2521 00 spri2 pr6|1210 000741 aa 6 02264 3521 00 epp2 pr6|1204 000742 aa 6 02274 2521 00 spri2 pr6|1212 000743 aa 6 02245 3521 00 epp2 pr6|1189 000744 aa 6 02276 2521 00 spri2 pr6|1214 000745 aa 777110 3520 04 epp2 -440,ic 000055 = 464000000000 000746 aa 6 02300 2521 00 spri2 pr6|1216 000747 aa 6 02304 2521 00 spri2 pr6|1220 000750 aa 777075 3520 04 epp2 -451,ic 000045 = 524000000012 000751 aa 6 02302 2521 00 spri2 pr6|1218 000752 aa 777077 3520 04 epp2 -449,ic 000051 = 404000000043 000753 aa 6 02306 2521 00 spri2 pr6|1222 000754 aa 6 02266 6211 00 eax1 pr6|1206 000755 aa 020000 4310 07 fld 8192,dl 000756 la 4 00022 3521 20 epp2 pr4|18,* iox_$control 000757 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 276 call ioa_$ioa_switch (iox_$user_io, "QUIT"); 000760 aa 777064 2350 04 lda -460,ic 000044 = 121125111124 000761 aa 6 02245 7551 00 sta pr6|1189 000762 aa 6 00044 3701 20 epp4 pr6|36,* 000763 la 4 00032 3521 20 epp2 pr4|26,* iox_$user_io 000764 aa 6 02254 2521 00 spri2 pr6|1196 000765 aa 6 02245 3521 00 epp2 pr6|1189 000766 aa 6 02256 2521 00 spri2 pr6|1198 000767 aa 777066 3520 04 epp2 -458,ic 000055 = 464000000000 000770 aa 6 02260 2521 00 spri2 pr6|1200 000771 aa 777052 3520 04 epp2 -470,ic 000043 = 524000000004 000772 aa 6 02262 2521 00 spri2 pr6|1202 000773 aa 6 02252 6211 00 eax1 pr6|1194 000774 aa 010000 4310 07 fld 4096,dl 000775 la 4 00050 3521 20 epp2 pr4|40,* ioa_$ioa_switch 000776 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 277 if establish_wall then on any_other call wall_ignore_pi; 000777 aa 6 00101 2351 00 lda pr6|65 establish_wall 001000 aa 000022 6000 04 tze 18,ic 001022 001001 aa 000011 7260 07 lxl6 9,dl 001002 aa 777124 3520 04 epp2 -428,ic 000126 = 141156171137 001003 aa 0 00717 7001 00 tsx0 pr0|463 enable_op 001004 aa 000004 7100 04 tra 4,ic 001010 001005 aa 000204000000 001006 aa 000014 7100 04 tra 12,ic 001022 BEGIN CONDITION any_other.1 ENTRY TO any_other.1 STATEMENT 1 ON LINE 277 if establish_wall then on any_other call wall_ignore_pi; 001007 da 000446200000 001010 aa 000100 6270 00 eax7 64 001011 aa 7 00034 3521 20 epp2 pr7|28,* 001012 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 001013 aa 000000000000 001014 aa 000000000000 001015 aa 6 00056 6211 00 eax1 pr6|46 001016 aa 000000 4310 07 fld 0,dl 001017 aa 777360 3520 04 epp2 -272,ic 000377 = 002540627000 001020 aa 0 00621 7001 00 tsx0 pr0|401 call_ext_in 001021 aa 0 00631 7101 00 tra pr0|409 return_mac END CONDITION any_other.1 STATEMENT 1 ON LINE 279 cl_arg.reset_sw = "0"b; 001022 aa 003520 2350 04 lda 1872,ic 004542 = 377777777777 001023 aa 6 00203 3551 00 ansa pr6|131 cl_arg.reset_sw STATEMENT 1 ON LINE 280 cl_arg.pad = "0"b; 001024 aa 400000 2350 03 lda 131072,du 001025 aa 6 00203 3551 00 ansa pr6|131 cl_arg.pad STATEMENT 1 ON LINE 281 call cu_$cl (cl_arg); 001026 aa 6 00203 3521 00 epp2 pr6|131 cl_arg 001027 aa 6 02250 2521 00 spri2 pr6|1192 001030 aa 6 02246 6211 00 eax1 pr6|1190 001031 aa 004000 4310 07 fld 2048,dl 001032 aa 6 00044 3701 20 epp4 pr6|36,* 001033 la 4 00042 3521 20 epp2 pr4|34,* cu_$cl 001034 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 282 go to exit; 001035 aa 001717 7100 04 tra 975,ic 002754 STATEMENT 1 ON LINE 283 end; STATEMENT 1 ON LINE 286 if (cond_info.condition_name = "command_error" | cond_info.condition_name = "command_question") /* preserve special case for private versions */ then go to exit; 001036 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001037 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001040 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001041 aa 777112 00 0015 desc9a -438,13 000151 = 143157155155 001042 aa 001712 6000 04 tze 970,ic 002754 001043 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001044 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001045 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001046 aa 777101 00 0020 desc9a -447,16 000145 = 143157155155 001047 aa 001705 6000 04 tze 965,ic 002754 STATEMENT 1 ON LINE 294 begin: optr = addr (my_string); 001050 aa 6 01571 3735 00 epp7 pr6|889 my_string 001051 aa 6 00156 6535 00 spri7 pr6|110 optr STATEMENT 1 ON LINE 297 begin_com: cl_arg.reset_sw = "1"b; 001052 aa 400000 2350 03 lda 131072,du 001053 aa 6 00203 2551 00 orsa pr6|131 cl_arg.reset_sw STATEMENT 1 ON LINE 299 cl_arg.pad = "0"b; 001054 aa 400000 2350 03 lda 131072,du 001055 aa 6 00203 3551 00 ansa pr6|131 cl_arg.pad STATEMENT 1 ON LINE 303 if cond_info.mc_ptr ^= null () then scup = addr (cond_info.mc_ptr -> mc.scu); 001056 aa 6 02166 2371 00 ldaq pr6|1142 cond_info.mc_ptr 001057 aa 777015 6770 04 eraq -499,ic 000074 = 077777000043 000001000000 001060 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001061 aa 000005 6000 04 tze 5,ic 001066 001062 aa 6 02166 3735 20 epp7 pr6|1142,* cond_info.mc_ptr 001063 aa 7 00030 3735 00 epp7 pr7|24 mc.scu 001064 aa 6 02222 6535 00 spri7 pr6|1170 scup 001065 aa 000003 7100 04 tra 3,ic 001070 STATEMENT 1 ON LINE 305 else scup = null (); 001066 aa 777006 2370 04 ldaq -506,ic 000074 = 077777000043 000001000000 001067 aa 6 02222 7571 00 staq pr6|1170 scup STATEMENT 1 ON LINE 308 if temp_longsw ^= -1 then longsw_ptr = addr (temp_longsw); 001070 aa 6 00175 2361 00 ldq pr6|125 temp_longsw 001071 aa 003452 1160 04 cmpq 1834,ic 004543 = 777777777777 001072 aa 000004 6000 04 tze 4,ic 001076 001073 aa 6 00175 3735 00 epp7 pr6|125 temp_longsw 001074 aa 6 00160 6535 00 spri7 pr6|112 longsw_ptr 001075 aa 000004 7100 04 tra 4,ic 001101 STATEMENT 1 ON LINE 310 else longsw_ptr = addr (real_longsw); 001076 aa 6 00044 3701 20 epp4 pr6|36,* 001077 ia 4 00010 3735 00 epp7 pr4|8 real_longsw 001100 aa 6 00160 6535 00 spri7 pr6|112 longsw_ptr STATEMENT 1 ON LINE 313 defaultsw = "0"b; 001101 aa 6 00152 4501 00 stz pr6|106 defaultsw STATEMENT 1 ON LINE 317 found = "0"b; 001102 aa 6 00102 4501 00 stz pr6|66 found STATEMENT 1 ON LINE 319 call hcs_$make_ptr (codeptr (wall), "message_table_", (cond_info.condition_name), mtep, code); 001103 aa 6 02171 2361 00 ldq pr6|1145 cond_info.condition_name 001104 aa 524000 2760 03 orq 174080,du 001105 aa 6 02245 7561 00 stq pr6|1189 001106 aa 777305 3520 04 epp2 -315,ic 000413 = 002540627000 001107 aa 6 02264 2521 00 spri2 pr6|1204 001110 aa 777031 2350 04 lda -487,ic 000141 = 155145163163 001111 aa 777031 2360 04 ldq -487,ic 000142 = 141147145137 001112 aa 6 02246 7571 00 staq pr6|1190 001113 aa 777030 2350 04 lda -488,ic 000143 = 164141142154 001114 aa 145137 2360 03 ldq 51807,du 001115 aa 6 02250 7571 00 staq pr6|1192 001116 aa 6 02171 2361 00 ldq pr6|1145 cond_info.condition_name 001117 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 001120 aa 6 02320 2521 00 spri2 pr6|1232 001121 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001122 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001123 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001124 aa 2 00000 00 0006 desc9a pr2|0,ql 001125 aa 6 02264 3521 00 epp2 pr6|1204 001126 aa 6 02314 2521 00 spri2 pr6|1228 001127 aa 6 02246 3521 00 epp2 pr6|1190 001130 aa 6 02316 2521 00 spri2 pr6|1230 001131 aa 6 02224 3521 00 epp2 pr6|1172 mtep 001132 aa 6 02322 2521 00 spri2 pr6|1234 001133 aa 6 00201 3521 00 epp2 pr6|129 code 001134 aa 6 02324 2521 00 spri2 pr6|1236 001135 aa 776720 3520 04 epp2 -560,ic 000055 = 464000000000 001136 aa 6 02326 2521 00 spri2 pr6|1238 001137 aa 6 02334 2521 00 spri2 pr6|1244 001140 aa 776702 3520 04 epp2 -574,ic 000042 = 524000000016 001141 aa 6 02330 2521 00 spri2 pr6|1240 001142 aa 6 02245 3521 00 epp2 pr6|1189 001143 aa 6 02332 2521 00 spri2 pr6|1242 001144 aa 776705 3520 04 epp2 -571,ic 000051 = 404000000043 001145 aa 6 02336 2521 00 spri2 pr6|1246 001146 aa 6 02312 6211 00 eax1 pr6|1226 001147 aa 024000 4310 07 fld 10240,dl 001150 aa 6 00044 3701 20 epp4 pr6|36,* 001151 la 4 00046 3521 20 epp2 pr4|38,* hcs_$make_ptr 001152 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 321 if mtep ^= null () then do; 001153 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001154 aa 6 02224 2371 00 ldaq pr6|1172 mtep 001155 aa 776717 6770 04 eraq -561,ic 000074 = 077777000043 000001000000 001156 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001157 aa 000124 6000 04 tze 84,ic 001303 STATEMENT 1 ON LINE 323 call decode_definition_ (baseptr (baseno (mtep)), addr (dd), eof); 001160 aa 6 02224 2131 20 epaq pr6|1172,* mtep 001161 aa 077777 3750 03 ana 32767,du 001162 aa 6 00000 3525 00 epbp2 pr6|0 001163 aa 000000 3130 01 easp2 0,au 001164 aa 6 02310 2521 00 spri2 pr6|1224 001165 aa 6 00104 3735 00 epp7 pr6|68 dd 001166 aa 6 02264 6535 00 spri7 pr6|1204 001167 aa 6 02310 3521 00 epp2 pr6|1224 001170 aa 6 02254 2521 00 spri2 pr6|1196 001171 aa 6 02264 3521 00 epp2 pr6|1204 001172 aa 6 02256 2521 00 spri2 pr6|1198 001173 aa 6 00100 3521 00 epp2 pr6|64 eof 001174 aa 6 02260 2521 00 spri2 pr6|1200 001175 aa 6 02252 6211 00 eax1 pr6|1194 001176 aa 014000 4310 07 fld 6144,dl 001177 aa 6 00044 3701 20 epp4 pr6|36,* 001200 la 4 00044 3521 20 epp2 pr4|36,* decode_definition_ 001201 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 324 do while (^eof & ^found); 001202 aa 6 00100 2351 00 lda pr6|64 eof 001203 aa 400000 3150 03 cana 131072,du 001204 aa 000032 6010 04 tnz 26,ic 001236 001205 aa 6 00102 2351 00 lda pr6|66 found 001206 aa 000030 6010 04 tnz 24,ic 001236 STATEMENT 1 ON LINE 325 if dd.section = "segn" then if dd.symbol = "message_table_" then found = "1"b; 001207 aa 6 00112 2351 00 lda pr6|74 dd.section 001210 aa 776630 1150 04 cmpa -616,ic 000040 = 163145147156 001211 aa 000007 6010 04 tnz 7,ic 001220 001212 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001213 aa 6 00115 00 0040 desc9a pr6|77,32 dd.symbol 001214 aa 776727 00 0016 desc9a -553,14 000141 = 155145163163 001215 aa 000003 6010 04 tnz 3,ic 001220 001216 aa 400000 2350 03 lda 131072,du 001217 aa 6 00102 7551 00 sta pr6|66 found STATEMENT 1 ON LINE 326 call decode_definition_ (dd.next_def, addr (dd), eof); 001220 aa 6 00104 3735 00 epp7 pr6|68 dd 001221 aa 6 02264 6535 00 spri7 pr6|1204 001222 aa 6 00104 3521 00 epp2 pr6|68 dd.next_def 001223 aa 6 02254 2521 00 spri2 pr6|1196 001224 aa 6 02264 3521 00 epp2 pr6|1204 001225 aa 6 02256 2521 00 spri2 pr6|1198 001226 aa 6 00100 3521 00 epp2 pr6|64 eof 001227 aa 6 02260 2521 00 spri2 pr6|1200 001230 aa 6 02252 6211 00 eax1 pr6|1194 001231 aa 014000 4310 07 fld 6144,dl 001232 aa 6 00044 3701 20 epp4 pr6|36,* 001233 la 4 00044 3521 20 epp2 pr4|36,* decode_definition_ 001234 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 327 end; 001235 aa 777745 7100 04 tra -27,ic 001202 STATEMENT 1 ON LINE 329 found = "0"b; 001236 aa 6 00102 4501 00 stz pr6|66 found STATEMENT 1 ON LINE 330 do while (^eof & ^found); 001237 aa 000000 0110 03 nop 0,du 001240 aa 6 00100 2351 00 lda pr6|64 eof 001241 aa 400000 3150 03 cana 131072,du 001242 aa 000041 6010 04 tnz 33,ic 001303 001243 aa 6 00102 2351 00 lda pr6|66 found 001244 aa 000037 6010 04 tnz 31,ic 001303 STATEMENT 1 ON LINE 331 if dd.section ^= "text" then eof = "1"b; 001245 aa 6 00112 2351 00 lda pr6|74 dd.section 001246 aa 776571 1150 04 cmpa -647,ic 000037 = 164145170164 001247 aa 000004 6000 04 tze 4,ic 001253 001250 aa 400000 2350 03 lda 131072,du 001251 aa 6 00100 7551 00 sta pr6|64 eof 001252 aa 777766 7100 04 tra -10,ic 001240 STATEMENT 1 ON LINE 332 else if dd.entrypoint = 0 then if dd.symbol = cond_info.condition_name then found = "1"b; 001253 aa 6 00114 2361 00 ldq pr6|76 dd.entrypoint 001254 aa 777764 6010 04 tnz -12,ic 001240 001255 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001256 aa 040 140 106 500 cmpc (pr),(pr,rl),fill(040) 001257 aa 6 00115 00 0040 desc9a pr6|77,32 dd.symbol 001260 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001261 aa 000004 6010 04 tnz 4,ic 001265 001262 aa 400000 2350 03 lda 131072,du 001263 aa 6 00102 7551 00 sta pr6|66 found 001264 aa 777754 7100 04 tra -20,ic 001240 STATEMENT 1 ON LINE 333 else call decode_definition_ (dd.next_def, addr (dd), eof); 001265 aa 6 00104 3735 00 epp7 pr6|68 dd 001266 aa 6 02264 6535 00 spri7 pr6|1204 001267 aa 6 00104 3521 00 epp2 pr6|68 dd.next_def 001270 aa 6 02254 2521 00 spri2 pr6|1196 001271 aa 6 02264 3521 00 epp2 pr6|1204 001272 aa 6 02256 2521 00 spri2 pr6|1198 001273 aa 6 00100 3521 00 epp2 pr6|64 eof 001274 aa 6 02260 2521 00 spri2 pr6|1200 001275 aa 6 02252 6211 00 eax1 pr6|1194 001276 aa 014000 4310 07 fld 6144,dl 001277 aa 6 00044 3701 20 epp4 pr6|36,* 001300 la 4 00044 3521 20 epp2 pr4|36,* decode_definition_ 001301 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 334 end; 001302 aa 777736 7100 04 tra -34,ic 001240 STATEMENT 1 ON LINE 335 end; STATEMENT 1 ON LINE 337 if ^found then do; 001303 aa 6 00102 2351 00 lda pr6|66 found 001304 aa 000016 6010 04 tnz 14,ic 001322 STATEMENT 1 ON LINE 339 if cond_info.mc_ptr = null then mtep = addr (message_table_$soft_default_info); 001305 aa 6 02166 2371 00 ldaq pr6|1142 cond_info.mc_ptr 001306 aa 776566 6770 04 eraq -650,ic 000074 = 077777000043 000001000000 001307 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001310 aa 000005 6010 04 tnz 5,ic 001315 001311 aa 6 00044 3701 20 epp4 pr6|36,* 001312 la 4 00014 3735 20 epp7 pr4|12,* message_table_$soft_default_info 001313 aa 6 02224 6535 00 spri7 pr6|1172 mtep 001314 aa 000004 7100 04 tra 4,ic 001320 STATEMENT 1 ON LINE 341 else mtep = addr (message_table_$hard_default_info); 001315 aa 6 00044 3701 20 epp4 pr6|36,* 001316 la 4 00016 3735 20 epp7 pr4|14,* message_table_$hard_default_info 001317 aa 6 02224 6535 00 spri7 pr6|1172 mtep STATEMENT 1 ON LINE 342 defaultsw = "1"b; 001320 aa 400000 2350 03 lda 131072,du 001321 aa 6 00152 7551 00 sta pr6|106 defaultsw STATEMENT 1 ON LINE 343 end; STATEMENT 1 ON LINE 350 if cond_info.condition_name = "mrds_se_error_" then do; 001322 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001323 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001324 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001325 aa 776612 00 0016 desc9a -630,14 000135 = 155162144163 001326 aa 000010 6010 04 tnz 8,ic 001336 STATEMENT 1 ON LINE 351 cond_info.info_ptr -> mrds_se_error_info.header.info_string = "default_error_handler_"; 001327 aa 000026 2360 07 ldq 22,dl 001330 aa 6 02202 3735 20 epp7 pr6|1154,* cond_info.info_ptr 001331 aa 7 00003 7561 00 stq pr7|3 mrds_se_error_info.info_string 001332 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 001333 aa 776651 00 0006 desc9a -599,ql 000203 = 144145146141 001334 aa 7 00004 00 0006 desc9a pr7|4,ql mrds_se_error_info.info_string STATEMENT 1 ON LINE 353 goto exit; 001335 aa 001417 7100 04 tra 783,ic 002754 STATEMENT 1 ON LINE 354 end; STATEMENT 1 ON LINE 356 if cond_info.condition_name = "error" then if cond_info.info_ptr = null () then do; 001336 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001337 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001340 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001341 aa 776531 00 0005 desc9a -679,5 000070 = 145162162157 001342 aa 000060 6010 04 tnz 48,ic 001422 001343 aa 6 02202 2371 00 ldaq pr6|1154 cond_info.info_ptr 001344 aa 776530 6770 04 eraq -680,ic 000074 = 077777000043 000001000000 001345 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001346 aa 000054 6010 04 tnz 44,ic 001422 STATEMENT 1 ON LINE 359 linfo = "system handler for error returns to command level "; 001347 aa 000062 2360 07 ldq 50,dl 001350 aa 6 01373 7561 00 stq pr6|763 linfo 001351 aa 040 140 100 444 mlr (rl,ic),(pr,rl),fill(040) 001352 aa 776755 00 0006 desc9a -531,ql 000326 = 163171163164 001353 aa 6 01374 00 0006 desc9a pr6|764,ql linfo STATEMENT 1 ON LINE 361 long = length (linfo); 001354 aa 6 01373 2361 00 ldq pr6|763 linfo 001355 aa 6 00200 7561 00 stq pr6|128 long STATEMENT 1 ON LINE 362 if cond_info.crawlout then do; 001356 aa 6 02210 2351 00 lda pr6|1160 cond_info.crawlout 001357 aa 400000 3150 03 cana 131072,du 001360 aa 000034 6000 04 tze 28,ic 001414 STATEMENT 1 ON LINE 364 ostring = "Error while processing in lower ring:" || byte (10) /* NL */ || linfo; 001361 aa 000012 2360 07 ldq 10,dl 001362 aa 000077 7370 00 lls 63 001363 aa 6 02245 7551 00 sta pr6|1189 001364 aa 000046 2360 07 ldq 38,dl 001365 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 001366 aa 040 100 100 404 mlr (ic),(pr),fill(040) 001367 aa 776664 00 0045 desc9a -588,37 000252 = 105162162157 001370 aa 2 00000 00 0045 desc9a pr2|0,37 001371 aa 040 100 100 500 mlr (pr),(pr),fill(040) 001372 aa 6 02245 00 0001 desc9a pr6|1189,1 001373 aa 2 00011 20 0001 desc9a pr2|9(1),1 001374 aa 6 01373 0761 00 adq pr6|763 linfo 001375 aa 6 02245 7561 00 stq pr6|1189 001376 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_chars 001377 aa 6 01373 7271 00 lxl7 pr6|763 linfo 001400 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001401 aa 6 01374 00 0017 desc9a pr6|764,x7 linfo 001402 aa 2 00011 40 0017 desc9a pr2|9(2),x7 001403 aa 6 00156 3735 20 epp7 pr6|110,* optr 001404 aa 6 02245 2351 00 lda pr6|1189 001405 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001406 aa 2 00000 00 0005 desc9a pr2|0,al 001407 aa 7 00000 00 1750 desc9a pr7|0,1000 ostring STATEMENT 1 ON LINE 365 long = long + 38; 001410 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001411 aa 000046 2360 07 ldq 38,dl 001412 aa 6 00200 0561 00 asq pr6|128 long STATEMENT 1 ON LINE 366 end; 001413 aa 001126 7100 04 tra 598,ic 002541 STATEMENT 1 ON LINE 367 else ostring = linfo; 001414 aa 6 00156 3735 20 epp7 pr6|110,* optr 001415 aa 6 01373 7271 00 lxl7 pr6|763 linfo 001416 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001417 aa 6 01374 00 0017 desc9a pr6|764,x7 linfo 001420 aa 7 00000 00 1750 desc9a pr7|0,1000 ostring STATEMENT 1 ON LINE 368 go to out; 001421 aa 001120 7100 04 tra 592,ic 002541 STATEMENT 1 ON LINE 369 end; STATEMENT 1 ON LINE 371 if mte.endpage then if ^cond_info.crawlout then if cond_info.info_ptr ^= null () then if realsw then do; 001422 aa 6 02224 2351 20 lda pr6|1172,* mte.endpage 001423 aa 020000 3150 07 cana 8192,dl 001424 aa 000031 6000 04 tze 25,ic 001455 001425 aa 6 02210 2351 00 lda pr6|1160 cond_info.crawlout 001426 aa 400000 3150 03 cana 131072,du 001427 aa 000026 6010 04 tnz 22,ic 001455 001430 aa 6 02202 2371 00 ldaq pr6|1154 cond_info.info_ptr 001431 aa 776443 6770 04 eraq -733,ic 000074 = 077777000043 000001000000 001432 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001433 aa 000022 6000 04 tze 18,ic 001455 001434 aa 6 00151 2351 00 lda pr6|105 realsw 001435 aa 400000 3150 03 cana 131072,du 001436 aa 000017 6000 04 tze 15,ic 001455 STATEMENT 1 ON LINE 376 call interpret_info_struc_$no_message ((cond_info.condition_name), cond_info.info_ptr); 001437 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001440 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001441 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001442 aa 6 02252 00 0040 desc9a pr6|1194,32 001443 aa 6 02252 3521 00 epp2 pr6|1194 001444 aa 6 02270 2521 00 spri2 pr6|1208 001445 aa 6 02202 3521 00 epp2 pr6|1154 cond_info.info_ptr 001446 aa 6 02272 2521 00 spri2 pr6|1210 001447 aa 6 02266 6211 00 eax1 pr6|1206 001450 aa 010000 4310 07 fld 4096,dl 001451 aa 6 00044 3701 20 epp4 pr6|36,* 001452 la 4 00072 3521 20 epp2 pr4|58,* interpret_info_struc_$no_message 001453 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 377 go to exit; 001454 aa 001300 7100 04 tra 704,ic 002754 STATEMENT 1 ON LINE 378 end; STATEMENT 1 ON LINE 380 if cond_info.condition_name = "underflow" then if ^cond_info.crawlout /* be sure test performed for all modes */ then retsw = "1"b; 001455 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001456 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001457 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001460 aa 776434 00 0011 desc9a -740,9 000112 = 165156144145 001461 aa 000006 6010 04 tnz 6,ic 001467 001462 aa 6 02210 2351 00 lda pr6|1160 cond_info.crawlout 001463 aa 400000 3150 03 cana 131072,du 001464 aa 000003 6010 04 tnz 3,ic 001467 001465 aa 400000 2350 03 lda 131072,du 001466 aa 6 00150 7551 00 sta pr6|104 retsw STATEMENT 1 ON LINE 384 if longsw = 0 then if cond_info.condition_name ^= "fortran_pause" then do; 001467 aa 6 00160 2361 20 ldq pr6|112,* longsw 001470 aa 000142 6010 04 tnz 98,ic 001632 001471 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001472 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001473 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001474 aa 776437 00 0015 desc9a -737,13 000131 = 146157162164 001475 aa 000202 6000 04 tze 130,ic 001677 STATEMENT 1 ON LINE 387 if cond_info.crawlout then if cond_info.mc_ptr ^= null then call ioa_$rs ("^/Error: ^a while in ring ^d", ostring, long, cond_info.condition_name, bin (scup -> scu.ppr.prr, 3)); 001476 aa 6 02210 2351 00 lda pr6|1160 cond_info.crawlout 001477 aa 400000 3150 03 cana 131072,du 001500 aa 000076 6000 04 tze 62,ic 001576 001501 aa 6 02166 2371 00 ldaq pr6|1142 cond_info.mc_ptr 001502 aa 776372 6770 04 eraq -774,ic 000074 = 077777000043 000001000000 001503 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001504 aa 000041 6000 04 tze 33,ic 001545 001505 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001506 aa 776504 00 0034 desc9a -700,28 000211 = 136057105162 001507 aa 6 02252 00 0034 desc9a pr6|1194,28 001510 aa 6 02222 2351 20 lda pr6|1170,* scu.prr 001511 aa 000105 7730 00 lrl 69 001512 aa 6 02245 7561 00 stq pr6|1189 001513 aa 6 02252 3521 00 epp2 pr6|1194 001514 aa 6 02314 2521 00 spri2 pr6|1228 001515 aa 6 00156 3521 20 epp2 pr6|110,* ostring 001516 aa 6 02316 2521 00 spri2 pr6|1230 001517 aa 6 00200 3521 00 epp2 pr6|128 long 001520 aa 6 02320 2521 00 spri2 pr6|1232 001521 aa 6 02172 3521 00 epp2 pr6|1146 cond_info.condition_name 001522 aa 6 02322 2521 00 spri2 pr6|1234 001523 aa 6 02245 3521 00 epp2 pr6|1189 001524 aa 6 02324 2521 00 spri2 pr6|1236 001525 aa 776311 3520 04 epp2 -823,ic 000036 = 524000000034 001526 aa 6 02326 2521 00 spri2 pr6|1238 001527 aa 776306 3520 04 epp2 -826,ic 000035 = 524000001750 001530 aa 6 02330 2521 00 spri2 pr6|1240 001531 aa 776321 3520 04 epp2 -815,ic 000052 = 404000000021 001532 aa 6 02332 2521 00 spri2 pr6|1242 001533 aa 776301 3520 04 epp2 -831,ic 000034 = 530000000040 001534 aa 6 02334 2521 00 spri2 pr6|1244 001535 aa 776276 3520 04 epp2 -834,ic 000033 = 404000000003 001536 aa 6 02336 2521 00 spri2 pr6|1246 001537 aa 6 02312 6211 00 eax1 pr6|1226 001540 aa 024000 4310 07 fld 10240,dl 001541 aa 6 00044 3701 20 epp4 pr6|36,* 001542 la 4 00052 3521 20 epp2 pr4|42,* ioa_$rs 001543 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 001544 aa 000775 7100 04 tra 509,ic 002541 STATEMENT 1 ON LINE 391 else call ioa_$rs ("^/Error: ^a while in lower ring", ostring, long, cond_info.condition_name); 001545 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001546 aa 776463 00 0040 desc9a -717,32 000230 = 136057105162 001547 aa 6 02252 00 0040 desc9a pr6|1194,32 001550 aa 6 02252 3521 00 epp2 pr6|1194 001551 aa 6 02270 2521 00 spri2 pr6|1208 001552 aa 6 00156 3521 20 epp2 pr6|110,* ostring 001553 aa 6 02272 2521 00 spri2 pr6|1210 001554 aa 6 00200 3521 00 epp2 pr6|128 long 001555 aa 6 02274 2521 00 spri2 pr6|1212 001556 aa 6 02172 3521 00 epp2 pr6|1146 cond_info.condition_name 001557 aa 6 02276 2521 00 spri2 pr6|1214 001560 aa 776252 3520 04 epp2 -854,ic 000032 = 524000000037 001561 aa 6 02300 2521 00 spri2 pr6|1216 001562 aa 776253 3520 04 epp2 -853,ic 000035 = 524000001750 001563 aa 6 02302 2521 00 spri2 pr6|1218 001564 aa 776266 3520 04 epp2 -842,ic 000052 = 404000000021 001565 aa 6 02304 2521 00 spri2 pr6|1220 001566 aa 776246 3520 04 epp2 -858,ic 000034 = 530000000040 001567 aa 6 02306 2521 00 spri2 pr6|1222 001570 aa 6 02266 6211 00 eax1 pr6|1206 001571 aa 020000 4310 07 fld 8192,dl 001572 aa 6 00044 3701 20 epp4 pr6|36,* 001573 la 4 00052 3521 20 epp2 pr4|42,* ioa_$rs 001574 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 001575 aa 000744 7100 04 tra 484,ic 002541 STATEMENT 1 ON LINE 393 else call ioa_$rs ("^/Error: ^a", ostring, long, cond_info.condition_name); 001576 aa 776311 2350 04 lda -823,ic 000107 = 136057105162 001577 aa 776311 2360 04 ldq -823,ic 000110 = 162157162072 001600 aa 6 02242 7571 00 staq pr6|1186 001601 aa 776310 2350 04 lda -824,ic 000111 = 040136141000 001602 aa 6 02244 7551 00 sta pr6|1188 001603 aa 6 02242 3521 00 epp2 pr6|1186 001604 aa 6 02270 2521 00 spri2 pr6|1208 001605 aa 6 00156 3521 20 epp2 pr6|110,* ostring 001606 aa 6 02272 2521 00 spri2 pr6|1210 001607 aa 6 00200 3521 00 epp2 pr6|128 long 001610 aa 6 02274 2521 00 spri2 pr6|1212 001611 aa 6 02172 3521 00 epp2 pr6|1146 cond_info.condition_name 001612 aa 6 02276 2521 00 spri2 pr6|1214 001613 aa 776216 3520 04 epp2 -882,ic 000031 = 524000000013 001614 aa 6 02300 2521 00 spri2 pr6|1216 001615 aa 776220 3520 04 epp2 -880,ic 000035 = 524000001750 001616 aa 6 02302 2521 00 spri2 pr6|1218 001617 aa 776233 3520 04 epp2 -869,ic 000052 = 404000000021 001620 aa 6 02304 2521 00 spri2 pr6|1220 001621 aa 776213 3520 04 epp2 -885,ic 000034 = 530000000040 001622 aa 6 02306 2521 00 spri2 pr6|1222 001623 aa 6 02266 6211 00 eax1 pr6|1206 001624 aa 020000 4310 07 fld 8192,dl 001625 aa 6 00044 3701 20 epp4 pr6|36,* 001626 la 4 00052 3521 20 epp2 pr4|42,* ioa_$rs 001627 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 395 go to out; 001630 aa 000711 7100 04 tra 457,ic 002541 STATEMENT 1 ON LINE 396 end; STATEMENT 1 ON LINE 397 else ; 001631 aa 000046 7100 04 tra 38,ic 001677 STATEMENT 1 ON LINE 398 else do; STATEMENT 1 ON LINE 399 if cond_info.crawlout then /* try to print ring no. */ if cond_info.mc_ptr ^= null then call ioa_$rsnnl ("ring ^d", ring_mes, long, bin (scup -> scu.ppr.prr, 3)); 001632 aa 6 02210 2351 00 lda pr6|1160 cond_info.crawlout 001633 aa 400000 3150 03 cana 131072,du 001634 aa 000043 6000 04 tze 35,ic 001677 001635 aa 6 02166 2371 00 ldaq pr6|1142 cond_info.mc_ptr 001636 aa 776236 6770 04 eraq -866,ic 000074 = 077777000043 000001000000 001637 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001640 aa 000034 6000 04 tze 28,ic 001674 001641 aa 776225 2370 04 ldaq -875,ic 000066 = 162151156147 040136144000 001642 aa 6 02264 7571 00 staq pr6|1204 001643 aa 6 02222 2351 20 lda pr6|1170,* scu.prr 001644 aa 000105 7730 00 lrl 69 001645 aa 6 02245 7561 00 stq pr6|1189 001646 aa 6 02264 3521 00 epp2 pr6|1204 001647 aa 6 02270 2521 00 spri2 pr6|1208 001650 aa 6 00145 3521 00 epp2 pr6|101 ring_mes 001651 aa 6 02272 2521 00 spri2 pr6|1210 001652 aa 6 00200 3521 00 epp2 pr6|128 long 001653 aa 6 02274 2521 00 spri2 pr6|1212 001654 aa 6 02245 3521 00 epp2 pr6|1189 001655 aa 6 02276 2521 00 spri2 pr6|1214 001656 aa 776152 3520 04 epp2 -918,ic 000030 = 524000000007 001657 aa 6 02300 2521 00 spri2 pr6|1216 001660 aa 776147 3520 04 epp2 -921,ic 000027 = 526000000012 001661 aa 6 02302 2521 00 spri2 pr6|1218 001662 aa 776170 3520 04 epp2 -904,ic 000052 = 404000000021 001663 aa 6 02304 2521 00 spri2 pr6|1220 001664 aa 776147 3520 04 epp2 -921,ic 000033 = 404000000003 001665 aa 6 02306 2521 00 spri2 pr6|1222 001666 aa 6 02266 6211 00 eax1 pr6|1206 001667 aa 020000 4310 07 fld 8192,dl 001670 aa 6 00044 3701 20 epp4 pr6|36,* 001671 la 4 00054 3521 20 epp2 pr4|44,* ioa_$rsnnl 001672 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 001673 aa 000004 7100 04 tra 4,ic 001677 STATEMENT 1 ON LINE 403 else ring_mes = "lower ring"; 001674 aa 040 100 100 404 mlr (ic),(pr),fill(040) 001675 aa 776210 00 0012 desc9a -888,10 000104 = 154157167145 001676 aa 6 00145 00 0012 desc9a pr6|101,10 ring_mes STATEMENT 1 ON LINE 404 end; STATEMENT 1 ON LINE 406 if mte.undefined then do; 001677 aa 6 02224 2351 20 lda pr6|1172,* mte.undefined 001700 aa 004000 3150 03 cana 2048,du 001701 aa 000016 6000 04 tze 14,ic 001717 STATEMENT 1 ON LINE 409 if scup -> scux.fd.isp then mtep = addr (message_table_$privileged_info); 001702 aa 6 02222 3735 20 epp7 pr6|1170,* scup 001703 aa 7 00001 2351 00 lda pr7|1 scux.isp 001704 aa 040000 3150 03 cana 16384,du 001705 aa 000005 6000 04 tze 5,ic 001712 001706 aa 6 00044 3701 20 epp4 pr6|36,* 001707 la 4 00012 3715 20 epp5 pr4|10,* message_table_$privileged_info 001710 aa 6 02224 6515 00 spri5 pr6|1172 mtep 001711 aa 000006 7100 04 tra 6,ic 001717 STATEMENT 1 ON LINE 412 else do; STATEMENT 1 ON LINE 413 mtep = addr (message_table_$hard_default_info); 001712 aa 6 00044 3701 20 epp4 pr6|36,* 001713 la 4 00016 3715 20 epp5 pr4|14,* message_table_$hard_default_info 001714 aa 6 02224 6515 00 spri5 pr6|1172 mtep STATEMENT 1 ON LINE 414 defaultsw = "1"b; 001715 aa 400000 2350 03 lda 131072,du 001716 aa 6 00152 7551 00 sta pr6|106 defaultsw STATEMENT 1 ON LINE 415 end; STATEMENT 1 ON LINE 416 end; STATEMENT 1 ON LINE 418 if defaultsw then new_con = cond_info.condition_name; 001717 aa 6 00152 2351 00 lda pr6|106 defaultsw 001720 aa 000007 6000 04 tze 7,ic 001727 001721 aa 6 02171 2361 00 ldq pr6|1145 cond_info.condition_name 001722 aa 6 00164 7561 00 stq pr6|116 new_con 001723 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001724 aa 6 02172 00 0006 desc9a pr6|1146,ql cond_info.condition_name 001725 aa 6 00165 00 0006 desc9a pr6|117,ql new_con 001726 aa 000002 7100 04 tra 2,ic 001730 STATEMENT 1 ON LINE 420 else new_con = ""; 001727 aa 6 00164 4501 00 stz pr6|116 new_con STATEMENT 1 ON LINE 422 if cond_info.info_ptr ^= null then do; 001730 aa 6 02202 2371 00 ldaq pr6|1154 cond_info.info_ptr 001731 aa 776143 6770 04 eraq -925,ic 000074 = 077777000043 000001000000 001732 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001733 aa 000057 6000 04 tze 47,ic 002012 STATEMENT 1 ON LINE 424 if realsw & cond_info.info_ptr -> condition_info_header.action_flags.quiet_restart then go to exit; 001734 aa 6 00151 2351 00 lda pr6|105 realsw 001735 aa 400000 3150 03 cana 131072,du 001736 aa 000005 6000 04 tze 5,ic 001743 001737 aa 6 02202 3735 20 epp7 pr6|1154,* cond_info.info_ptr 001740 aa 7 00002 2351 00 lda pr7|2 condition_info_header.quiet_restart 001741 aa 100000 3150 03 cana 32768,du 001742 aa 001012 6010 04 tnz 522,ic 002754 STATEMENT 1 ON LINE 426 call interpret_info_struc_ ((cond_info.condition_name), cond_info.info_ptr, linfo, retsw, no_restart, realsw, longsw); 001743 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001744 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001745 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001746 aa 6 02252 00 0040 desc9a pr6|1194,32 001747 aa 6 02252 3521 00 epp2 pr6|1194 001750 aa 6 02270 2521 00 spri2 pr6|1208 001751 aa 6 02202 3521 00 epp2 pr6|1154 cond_info.info_ptr 001752 aa 6 02272 2521 00 spri2 pr6|1210 001753 aa 6 01374 3521 00 epp2 pr6|764 linfo 001754 aa 6 02274 2521 00 spri2 pr6|1212 001755 aa 6 00150 3521 00 epp2 pr6|104 retsw 001756 aa 6 02276 2521 00 spri2 pr6|1214 001757 aa 6 00153 3521 00 epp2 pr6|107 no_restart 001760 aa 6 02300 2521 00 spri2 pr6|1216 001761 aa 6 00151 3521 00 epp2 pr6|105 realsw 001762 aa 6 02302 2521 00 spri2 pr6|1218 001763 aa 6 00160 3521 20 epp2 pr6|112,* longsw 001764 aa 6 02304 2521 00 spri2 pr6|1220 001765 aa 6 02266 6211 00 eax1 pr6|1206 001766 aa 034000 4310 07 fld 14336,dl 001767 aa 6 00044 3701 20 epp4 pr6|36,* 001770 la 4 00070 3521 20 epp2 pr4|56,* interpret_info_struc_ 001771 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 435 if cond_info.condition_name = "program_interrupt" then go to exit; 001772 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 001773 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001774 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 001775 aa 776167 00 0021 desc9a -905,17 000162 = 160162157147 001776 aa 000756 6000 04 tze 494,ic 002754 STATEMENT 1 ON LINE 438 if mte.active_func then do; 001777 aa 6 02224 2351 20 lda pr6|1172,* mte.active_func 002000 aa 100000 3150 03 cana 32768,du 002001 aa 000011 6000 04 tze 9,ic 002012 STATEMENT 1 ON LINE 440 ostring = linfo; 002002 aa 6 00156 3735 20 epp7 pr6|110,* optr 002003 aa 6 01373 7271 00 lxl7 pr6|763 linfo 002004 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 002005 aa 6 01374 00 0017 desc9a pr6|764,x7 linfo 002006 aa 7 00000 00 1750 desc9a pr7|0,1000 ostring STATEMENT 1 ON LINE 441 long = length (linfo); 002007 aa 6 01373 2361 00 ldq pr6|763 linfo 002010 aa 6 00200 7561 00 stq pr6|128 long STATEMENT 1 ON LINE 442 go to out; 002011 aa 000530 7100 04 tra 344,ic 002541 STATEMENT 1 ON LINE 443 end; STATEMENT 1 ON LINE 444 end; STATEMENT 1 ON LINE 445 if mte.linkerr then if ^cond_info.crawlout then do; 002012 aa 6 02224 2351 20 lda pr6|1172,* mte.linkerr 002013 aa 010000 3150 07 cana 4096,dl 002014 aa 000034 6000 04 tze 28,ic 002050 002015 aa 6 02210 2351 00 lda pr6|1160 cond_info.crawlout 002016 aa 400000 3150 03 cana 131072,du 002017 aa 000031 6010 04 tnz 25,ic 002050 STATEMENT 1 ON LINE 448 call linkage_error_ (cond_info.mc_ptr, longsw, lsp, addr (cond_info), pname1, pname2, optr, long) ; 002020 aa 6 02166 3735 00 epp7 pr6|1142 cond_info 002021 aa 6 02264 6535 00 spri7 pr6|1204 002022 aa 6 02166 3521 00 epp2 pr6|1142 cond_info.mc_ptr 002023 aa 6 02270 2521 00 spri2 pr6|1208 002024 aa 6 00160 3521 20 epp2 pr6|112,* longsw 002025 aa 6 02272 2521 00 spri2 pr6|1210 002026 aa 6 00162 3521 00 epp2 pr6|114 lsp 002027 aa 6 02274 2521 00 spri2 pr6|1212 002030 aa 6 02264 3521 00 epp2 pr6|1204 002031 aa 6 02276 2521 00 spri2 pr6|1214 002032 aa 6 00212 3521 00 epp2 pr6|138 pname1 002033 aa 6 02300 2521 00 spri2 pr6|1216 002034 aa 6 00407 3521 00 epp2 pr6|263 pname2 002035 aa 6 02302 2521 00 spri2 pr6|1218 002036 aa 6 00156 3521 00 epp2 pr6|110 optr 002037 aa 6 02304 2521 00 spri2 pr6|1220 002040 aa 6 00200 3521 00 epp2 pr6|128 long 002041 aa 6 02306 2521 00 spri2 pr6|1222 002042 aa 6 02266 6211 00 eax1 pr6|1206 002043 aa 040000 4310 07 fld 16384,dl 002044 aa 6 00044 3701 20 epp4 pr6|36,* 002045 la 4 00060 3521 20 epp2 pr4|48,* linkage_error_ 002046 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 450 go to out; 002047 aa 000472 7100 04 tra 314,ic 002541 STATEMENT 1 ON LINE 451 end; STATEMENT 1 ON LINE 453 if mte.sub_err then new_con = cond_info.info_ptr -> sub_error_info.name; 002050 aa 6 02224 2351 20 lda pr6|1172,* mte.sub_err 002051 aa 200000 3150 07 cana 65536,dl 002052 aa 000007 6000 04 tze 7,ic 002061 002053 aa 000040 2360 07 ldq 32,dl 002054 aa 6 00164 7561 00 stq pr6|116 new_con 002055 aa 6 02202 3735 20 epp7 pr6|1154,* cond_info.info_ptr 002056 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 002057 aa 7 00106 00 0006 desc9a pr7|70,ql sub_error_info.name 002060 aa 6 00165 00 0006 desc9a pr6|117,ql new_con STATEMENT 1 ON LINE 457 if longsw = 0 & (cond_info.condition_name = "fortran_pause") then do; 002061 aa 6 00160 2361 20 ldq pr6|112,* longsw 002062 aa 000036 6010 04 tnz 30,ic 002120 002063 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 002064 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 002065 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 002066 aa 776045 00 0015 desc9a -987,13 000131 = 146157162164 002067 aa 000031 6010 04 tnz 25,ic 002120 STATEMENT 1 ON LINE 459 call ioa_$rs ("^/^a", ostring, long, linfo); 002070 aa 775736 2350 04 lda -1058,ic 000026 = 136057136141 002071 aa 6 02245 7551 00 sta pr6|1189 002072 aa 6 02245 3521 00 epp2 pr6|1189 002073 aa 6 02270 2521 00 spri2 pr6|1208 002074 aa 6 00156 3521 20 epp2 pr6|110,* ostring 002075 aa 6 02272 2521 00 spri2 pr6|1210 002076 aa 6 00200 3521 00 epp2 pr6|128 long 002077 aa 6 02274 2521 00 spri2 pr6|1212 002100 aa 6 01374 3521 00 epp2 pr6|764 linfo 002101 aa 6 02276 2521 00 spri2 pr6|1214 002102 aa 775741 3520 04 epp2 -1055,ic 000043 = 524000000004 002103 aa 6 02300 2521 00 spri2 pr6|1216 002104 aa 775731 3520 04 epp2 -1063,ic 000035 = 524000001750 002105 aa 6 02302 2521 00 spri2 pr6|1218 002106 aa 775744 3520 04 epp2 -1052,ic 000052 = 404000000021 002107 aa 6 02304 2521 00 spri2 pr6|1220 002110 aa 775715 3520 04 epp2 -1075,ic 000025 = 530000000764 002111 aa 6 02306 2521 00 spri2 pr6|1222 002112 aa 6 02266 6211 00 eax1 pr6|1206 002113 aa 020000 4310 07 fld 8192,dl 002114 aa 6 00044 3701 20 epp4 pr6|36,* 002115 la 4 00052 3521 20 epp2 pr4|42,* ioa_$rs 002116 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 460 go to out; 002117 aa 000422 7100 04 tra 274,ic 002541 STATEMENT 1 ON LINE 461 end; STATEMENT 1 ON LINE 464 call get_ppr_ (longsw, lsp, addr (cond_info), pname1, pname2, pname3); 002120 aa 6 02166 3735 00 epp7 pr6|1142 cond_info 002121 aa 6 02264 6535 00 spri7 pr6|1204 002122 aa 6 00160 3521 20 epp2 pr6|112,* longsw 002123 aa 6 02270 2521 00 spri2 pr6|1208 002124 aa 6 00162 3521 00 epp2 pr6|114 lsp 002125 aa 6 02272 2521 00 spri2 pr6|1210 002126 aa 6 02264 3521 00 epp2 pr6|1204 002127 aa 6 02274 2521 00 spri2 pr6|1212 002130 aa 6 00212 3521 00 epp2 pr6|138 pname1 002131 aa 6 02276 2521 00 spri2 pr6|1214 002132 aa 6 00407 3521 00 epp2 pr6|263 pname2 002133 aa 6 02300 2521 00 spri2 pr6|1216 002134 aa 6 00604 3521 00 epp2 pr6|388 pname3 002135 aa 6 02302 2521 00 spri2 pr6|1218 002136 aa 6 02266 6211 00 eax1 pr6|1206 002137 aa 030000 4310 07 fld 12288,dl 002140 aa 6 00044 3701 20 epp4 pr6|36,* 002141 la 4 00062 3521 20 epp2 pr4|50,* get_ppr_ 002142 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 468 call get_tpr_ (lsp, addr (cond_info), mtep, tname1, tname2); 002143 aa 6 02166 3735 00 epp7 pr6|1142 cond_info 002144 aa 6 02264 6535 00 spri7 pr6|1204 002145 aa 6 00162 3521 00 epp2 pr6|114 lsp 002146 aa 6 02270 2521 00 spri2 pr6|1208 002147 aa 6 02264 3521 00 epp2 pr6|1204 002150 aa 6 02272 2521 00 spri2 pr6|1210 002151 aa 6 02224 3521 00 epp2 pr6|1172 mtep 002152 aa 6 02274 2521 00 spri2 pr6|1212 002153 aa 6 01001 3521 00 epp2 pr6|513 tname1 002154 aa 6 02276 2521 00 spri2 pr6|1214 002155 aa 6 01176 3521 00 epp2 pr6|638 tname2 002156 aa 6 02300 2521 00 spri2 pr6|1216 002157 aa 6 02266 6211 00 eax1 pr6|1206 002160 aa 024000 4310 07 fld 10240,dl 002161 aa 6 00044 3701 20 epp4 pr6|36,* 002162 la 4 00064 3521 20 epp2 pr4|52,* get_tpr_ 002163 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 471 cond_id = ""; 002164 aa 6 00130 4501 00 stz pr6|88 cond_id STATEMENT 1 ON LINE 472 if longsw = 2 then cond_id = ptr (mtep, mte.cond_id_relp) -> based_var; 002165 aa 6 00160 2361 20 ldq pr6|112,* longsw 002166 aa 000002 1160 07 cmpq 2,dl 002167 aa 000015 6010 04 tnz 13,ic 002204 002170 aa 6 02224 3735 20 epp7 pr6|1172,* mtep 002171 aa 7 00006 2351 00 lda pr7|6 mte.cond_id_relp 002172 aa 7 00000 3521 00 epp2 pr7|0 002173 aa 000000 3120 01 eawp2 0,au 002174 aa 2 00000 2361 00 ldq pr2|0 based_var 002175 aa 000056 1160 07 cmpq 46,dl 002176 aa 000002 6040 04 tmi 2,ic 002200 002177 aa 000056 2360 07 ldq 46,dl 002200 aa 6 00130 7561 00 stq pr6|88 cond_id 002201 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 002202 aa 2 00001 00 0006 desc9a pr2|1,ql based_var 002203 aa 6 00131 00 0006 desc9a pr6|89,ql cond_id STATEMENT 1 ON LINE 474 if mte.no_special = "0"b then call special_messages_ (cond_info.mc_ptr, mtep, linfo, cond_info.crawlout, no_restart); 002204 aa 6 02224 2351 20 lda pr6|1172,* mte.no_special 002205 aa 400000 3150 07 cana 131072,dl 002206 aa 000020 6010 04 tnz 16,ic 002226 002207 aa 6 02166 3521 00 epp2 pr6|1142 cond_info.mc_ptr 002210 aa 6 02270 2521 00 spri2 pr6|1208 002211 aa 6 02224 3521 00 epp2 pr6|1172 mtep 002212 aa 6 02272 2521 00 spri2 pr6|1210 002213 aa 6 01374 3521 00 epp2 pr6|764 linfo 002214 aa 6 02274 2521 00 spri2 pr6|1212 002215 aa 6 02210 3521 00 epp2 pr6|1160 cond_info.crawlout 002216 aa 6 02276 2521 00 spri2 pr6|1214 002217 aa 6 00153 3521 00 epp2 pr6|107 no_restart 002220 aa 6 02300 2521 00 spri2 pr6|1216 002221 aa 6 02266 6211 00 eax1 pr6|1206 002222 aa 024000 4310 07 fld 10240,dl 002223 aa 6 00044 3701 20 epp4 pr6|36,* 002224 la 4 00066 3521 20 epp2 pr4|54,* special_messages_ 002225 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 480 if cond_info.condition_name = "fortran_pause" then do; 002226 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 002227 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 002230 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 002231 aa 775702 00 0015 desc9a -1086,13 000131 = 146157162164 002232 aa 000055 6010 04 tnz 45,ic 002307 STATEMENT 1 ON LINE 482 call ioa_$rs ("^/^a at ^a^a^[^/^;^]^a", ostring, long, linfo, pname1, pname2, longsw = 2, cond_id); 002233 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002234 aa 775742 00 0030 desc9a -1054,24 000175 = 136057136141 002235 aa 6 02252 00 0030 desc9a pr6|1194,24 002236 aa 6 00160 2361 20 ldq pr6|112,* longsw 002237 aa 000002 1160 07 cmpq 2,dl 002240 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 002241 aa 6 02245 7551 00 sta pr6|1189 002242 aa 6 02252 3521 00 epp2 pr6|1194 002243 aa 6 02342 2521 00 spri2 pr6|1250 002244 aa 6 00156 3521 20 epp2 pr6|110,* ostring 002245 aa 6 02344 2521 00 spri2 pr6|1252 002246 aa 6 00200 3521 00 epp2 pr6|128 long 002247 aa 6 02346 2521 00 spri2 pr6|1254 002250 aa 6 01374 3521 00 epp2 pr6|764 linfo 002251 aa 6 02350 2521 00 spri2 pr6|1256 002252 aa 6 00212 3521 00 epp2 pr6|138 pname1 002253 aa 6 02352 2521 00 spri2 pr6|1258 002254 aa 6 00407 3521 00 epp2 pr6|263 pname2 002255 aa 6 02354 2521 00 spri2 pr6|1260 002256 aa 6 02245 3521 00 epp2 pr6|1189 002257 aa 6 02356 2521 00 spri2 pr6|1262 002260 aa 6 00131 3521 00 epp2 pr6|89 cond_id 002261 aa 6 02360 2521 00 spri2 pr6|1264 002262 aa 775542 3520 04 epp2 -1182,ic 000024 = 524000000026 002263 aa 6 02362 2521 00 spri2 pr6|1266 002264 aa 775551 3520 04 epp2 -1175,ic 000035 = 524000001750 002265 aa 6 02364 2521 00 spri2 pr6|1268 002266 aa 775564 3520 04 epp2 -1164,ic 000052 = 404000000021 002267 aa 6 02366 2521 00 spri2 pr6|1270 002270 aa 775535 3520 04 epp2 -1187,ic 000025 = 530000000764 002271 aa 6 02370 2521 00 spri2 pr6|1272 002272 aa 775531 3520 04 epp2 -1191,ic 000023 = 524000000764 002273 aa 6 02372 2521 00 spri2 pr6|1274 002274 aa 6 02374 2521 00 spri2 pr6|1276 002275 aa 775556 3520 04 epp2 -1170,ic 000053 = 514000000001 002276 aa 6 02376 2521 00 spri2 pr6|1278 002277 aa 775523 3520 04 epp2 -1197,ic 000022 = 530000000056 002300 aa 6 02400 2521 00 spri2 pr6|1280 002301 aa 6 02340 6211 00 eax1 pr6|1248 002302 aa 040000 4310 07 fld 16384,dl 002303 aa 6 00044 3701 20 epp4 pr6|36,* 002304 la 4 00052 3521 20 epp2 pr4|42,* ioa_$rs 002305 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 483 go to out; 002306 aa 000233 7100 04 tra 155,ic 002541 STATEMENT 1 ON LINE 484 end; STATEMENT 1 ON LINE 486 if cond_info.crawlout then do; 002307 aa 6 02210 2351 00 lda pr6|1160 cond_info.crawlout 002310 aa 400000 3150 03 cana 131072,du 002311 aa 000122 6000 04 tze 82,ic 002433 STATEMENT 1 ON LINE 488 call ioa_$rs (message_table_$formats (mte.format_x + 1), ostring, long, ring_mes, new_con, ptr (mtep, mte.string_relp (1)) -> based_var, pname3, ptr (mtep, mte.string_relp (2)) -> based_var, tname1, linfo, ptr (mtep, mte.string_relp (3)) -> based_var, ptr (mtep, mte.string_relp (4)) -> based_var, pname1, pname2, tname2, cond_id); 002312 aa 6 02224 3735 20 epp7 pr6|1172,* mtep 002313 aa 7 00001 2361 00 ldq pr7|1 mte.format_x 002314 aa 000033 4020 07 mpy 27,dl 002315 aa 7 00002 2351 00 lda pr7|2 mte.string_relp 002316 aa 7 00000 3521 00 epp2 pr7|0 002317 aa 000000 3120 01 eawp2 0,au 002320 aa 7 00003 2351 00 lda pr7|3 mte.string_relp 002321 aa 7 00000 3515 00 epp1 pr7|0 002322 aa 000000 3114 01 eawp1 0,au 002323 aa 7 00004 2351 00 lda pr7|4 mte.string_relp 002324 aa 7 00000 3535 00 epp3 pr7|0 002325 aa 000000 3134 01 eawp3 0,au 002326 aa 7 00005 2351 00 lda pr7|5 mte.string_relp 002327 aa 7 00000 3715 00 epp5 pr7|0 002330 aa 000000 3314 01 eawp5 0,au 002331 aa 6 00044 3701 20 epp4 pr6|36,* 002332 la 4 00020 3735 20 epp7 pr4|16,* 002333 aa 6 02264 2521 00 spri2 pr6|1204 002334 aa 7 00001 3521 06 epp2 pr7|1,ql message_table_$formats 002335 aa 6 02404 2521 00 spri2 pr6|1284 002336 aa 6 00156 3521 20 epp2 pr6|110,* ostring 002337 aa 6 02406 2521 00 spri2 pr6|1286 002340 aa 6 00200 3521 00 epp2 pr6|128 long 002341 aa 6 02410 2521 00 spri2 pr6|1288 002342 aa 6 00145 3521 00 epp2 pr6|101 ring_mes 002343 aa 6 02412 2521 00 spri2 pr6|1290 002344 aa 6 00165 3521 00 epp2 pr6|117 new_con 002345 aa 6 02414 2521 00 spri2 pr6|1292 002346 aa 6 02264 3735 20 epp7 pr6|1204,* 002347 aa 7 00001 3521 00 epp2 pr7|1 based_var 002350 aa 6 02416 2521 00 spri2 pr6|1294 002351 aa 6 00604 3521 00 epp2 pr6|388 pname3 002352 aa 6 02420 2521 00 spri2 pr6|1296 002353 aa 1 00001 3521 00 epp2 pr1|1 based_var 002354 aa 6 02422 2521 00 spri2 pr6|1298 002355 aa 6 01001 3521 00 epp2 pr6|513 tname1 002356 aa 6 02424 2521 00 spri2 pr6|1300 002357 aa 6 01374 3521 00 epp2 pr6|764 linfo 002360 aa 6 02426 2521 00 spri2 pr6|1302 002361 aa 3 00001 3521 00 epp2 pr3|1 based_var 002362 aa 6 02430 2521 00 spri2 pr6|1304 002363 aa 5 00001 3521 00 epp2 pr5|1 based_var 002364 aa 6 02432 2521 00 spri2 pr6|1306 002365 aa 6 00212 3521 00 epp2 pr6|138 pname1 002366 aa 6 02434 2521 00 spri2 pr6|1308 002367 aa 6 00407 3521 00 epp2 pr6|263 pname2 002370 aa 6 02436 2521 00 spri2 pr6|1310 002371 aa 6 01176 3521 00 epp2 pr6|638 tname2 002372 aa 6 02440 2521 00 spri2 pr6|1312 002373 aa 6 00131 3521 00 epp2 pr6|89 cond_id 002374 aa 6 02442 2521 00 spri2 pr6|1314 002375 aa 775424 3520 04 epp2 -1260,ic 000021 = 530000000150 002376 aa 6 02444 2521 00 spri2 pr6|1316 002377 aa 775436 3520 04 epp2 -1250,ic 000035 = 524000001750 002400 aa 6 02446 2521 00 spri2 pr6|1318 002401 aa 775451 3520 04 epp2 -1239,ic 000052 = 404000000021 002402 aa 6 02450 2521 00 spri2 pr6|1320 002403 aa 775424 3520 04 epp2 -1260,ic 000027 = 526000000012 002404 aa 6 02452 2521 00 spri2 pr6|1322 002405 aa 775427 3520 04 epp2 -1257,ic 000034 = 530000000040 002406 aa 6 02454 2521 00 spri2 pr6|1324 002407 aa 775411 3520 04 epp2 -1271,ic 000020 = 530000000400 002410 aa 6 02456 2521 00 spri2 pr6|1326 002411 aa 6 02462 2521 00 spri2 pr6|1330 002412 aa 6 02470 2521 00 spri2 pr6|1336 002413 aa 6 02472 2521 00 spri2 pr6|1338 002414 aa 775407 3520 04 epp2 -1273,ic 000023 = 524000000764 002415 aa 6 02460 2521 00 spri2 pr6|1328 002416 aa 6 02464 2521 00 spri2 pr6|1332 002417 aa 6 02474 2521 00 spri2 pr6|1340 002420 aa 6 02476 2521 00 spri2 pr6|1342 002421 aa 6 02500 2521 00 spri2 pr6|1344 002422 aa 775403 3520 04 epp2 -1277,ic 000025 = 530000000764 002423 aa 6 02466 2521 00 spri2 pr6|1334 002424 aa 775376 3520 04 epp2 -1282,ic 000022 = 530000000056 002425 aa 6 02502 2521 00 spri2 pr6|1346 002426 aa 6 02402 6211 00 eax1 pr6|1282 002427 aa 100000 4310 07 fld 32768,dl 002430 la 4 00052 3521 20 epp2 pr4|42,* ioa_$rs 002431 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 493 end; 002432 aa 000107 7100 04 tra 71,ic 002541 STATEMENT 1 ON LINE 494 else do; STATEMENT 1 ON LINE 495 call ioa_$rs (message_table_$formats (mte.format_x), ostring, long, new_con, ptr (mtep, mte.string_relp (1)) -> based_var, pname1, pname2, ptr (mtep, mte.string_relp (2)) -> based_var, tname1, linfo, ptr (mtep, mte.string_relp (3)) -> based_var, ptr (mtep, mte.string_relp (4)) -> based_var, cond_id); 002433 aa 6 02224 3735 20 epp7 pr6|1172,* mtep 002434 aa 7 00001 2361 00 ldq pr7|1 mte.format_x 002435 aa 000033 4020 07 mpy 27,dl 002436 aa 7 00002 2351 00 lda pr7|2 mte.string_relp 002437 aa 7 00000 3521 00 epp2 pr7|0 002440 aa 000000 3120 01 eawp2 0,au 002441 aa 7 00003 2351 00 lda pr7|3 mte.string_relp 002442 aa 7 00000 3515 00 epp1 pr7|0 002443 aa 000000 3114 01 eawp1 0,au 002444 aa 7 00004 2351 00 lda pr7|4 mte.string_relp 002445 aa 7 00000 3535 00 epp3 pr7|0 002446 aa 000000 3134 01 eawp3 0,au 002447 aa 7 00005 2351 00 lda pr7|5 mte.string_relp 002450 aa 7 00000 3715 00 epp5 pr7|0 002451 aa 000000 3314 01 eawp5 0,au 002452 aa 6 00044 3701 20 epp4 pr6|36,* 002453 la 4 00020 3735 20 epp7 pr4|16,* 002454 aa 6 02264 2521 00 spri2 pr6|1204 002455 aa 7 77746 3521 06 epp2 pr7|-26,ql message_table_$formats 002456 aa 6 02404 2521 00 spri2 pr6|1284 002457 aa 6 00156 3521 20 epp2 pr6|110,* ostring 002460 aa 6 02406 2521 00 spri2 pr6|1286 002461 aa 6 00200 3521 00 epp2 pr6|128 long 002462 aa 6 02410 2521 00 spri2 pr6|1288 002463 aa 6 00165 3521 00 epp2 pr6|117 new_con 002464 aa 6 02412 2521 00 spri2 pr6|1290 002465 aa 6 02264 3735 20 epp7 pr6|1204,* 002466 aa 7 00001 3521 00 epp2 pr7|1 based_var 002467 aa 6 02414 2521 00 spri2 pr6|1292 002470 aa 6 00212 3521 00 epp2 pr6|138 pname1 002471 aa 6 02416 2521 00 spri2 pr6|1294 002472 aa 6 00407 3521 00 epp2 pr6|263 pname2 002473 aa 6 02420 2521 00 spri2 pr6|1296 002474 aa 1 00001 3521 00 epp2 pr1|1 based_var 002475 aa 6 02422 2521 00 spri2 pr6|1298 002476 aa 6 01001 3521 00 epp2 pr6|513 tname1 002477 aa 6 02424 2521 00 spri2 pr6|1300 002500 aa 6 01374 3521 00 epp2 pr6|764 linfo 002501 aa 6 02426 2521 00 spri2 pr6|1302 002502 aa 3 00001 3521 00 epp2 pr3|1 based_var 002503 aa 6 02430 2521 00 spri2 pr6|1304 002504 aa 5 00001 3521 00 epp2 pr5|1 based_var 002505 aa 6 02432 2521 00 spri2 pr6|1306 002506 aa 6 00131 3521 00 epp2 pr6|89 cond_id 002507 aa 6 02434 2521 00 spri2 pr6|1308 002510 aa 775311 3520 04 epp2 -1335,ic 000021 = 530000000150 002511 aa 6 02436 2521 00 spri2 pr6|1310 002512 aa 775323 3520 04 epp2 -1325,ic 000035 = 524000001750 002513 aa 6 02440 2521 00 spri2 pr6|1312 002514 aa 775336 3520 04 epp2 -1314,ic 000052 = 404000000021 002515 aa 6 02442 2521 00 spri2 pr6|1314 002516 aa 775316 3520 04 epp2 -1330,ic 000034 = 530000000040 002517 aa 6 02444 2521 00 spri2 pr6|1316 002520 aa 775300 3520 04 epp2 -1344,ic 000020 = 530000000400 002521 aa 6 02446 2521 00 spri2 pr6|1318 002522 aa 6 02454 2521 00 spri2 pr6|1324 002523 aa 6 02462 2521 00 spri2 pr6|1330 002524 aa 6 02464 2521 00 spri2 pr6|1332 002525 aa 775276 3520 04 epp2 -1346,ic 000023 = 524000000764 002526 aa 6 02450 2521 00 spri2 pr6|1320 002527 aa 6 02452 2521 00 spri2 pr6|1322 002530 aa 6 02456 2521 00 spri2 pr6|1326 002531 aa 775274 3520 04 epp2 -1348,ic 000025 = 530000000764 002532 aa 6 02460 2521 00 spri2 pr6|1328 002533 aa 775267 3520 04 epp2 -1353,ic 000022 = 530000000056 002534 aa 6 02466 2521 00 spri2 pr6|1334 002535 aa 6 02402 6211 00 eax1 pr6|1282 002536 aa 064000 4310 07 fld 26624,dl 002537 la 4 00052 3521 20 epp2 pr4|42,* ioa_$rs 002540 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 500 end; STATEMENT 1 ON LINE 522 out: if (iocb_ptr ^= null) then if (long > 0) & (optr ^= null) then do; 002541 aa 6 00126 2371 00 ldaq pr6|86 iocb_ptr 002542 aa 775332 6770 04 eraq -1318,ic 000074 = 077777000043 000001000000 002543 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 002544 aa 000060 6000 04 tze 48,ic 002624 002545 aa 6 00200 2361 00 ldq pr6|128 long 002546 aa 000061 6044 04 tmoz 49,ic 002627 002547 aa 6 00156 2371 00 ldaq pr6|110 optr 002550 aa 775324 6770 04 eraq -1324,ic 000074 = 077777000043 000001000000 002551 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 002552 aa 000055 6000 04 tze 45,ic 002627 STATEMENT 1 ON LINE 526 call iox_$put_chars (iocb_ptr, optr, (long), code); 002553 aa 6 00200 2361 00 ldq pr6|128 long 002554 aa 6 02245 7561 00 stq pr6|1189 002555 aa 6 00126 3521 00 epp2 pr6|86 iocb_ptr 002556 aa 6 02254 2521 00 spri2 pr6|1196 002557 aa 6 00156 3521 00 epp2 pr6|110 optr 002560 aa 6 02256 2521 00 spri2 pr6|1198 002561 aa 6 02245 3521 00 epp2 pr6|1189 002562 aa 6 02260 2521 00 spri2 pr6|1200 002563 aa 6 00201 3521 00 epp2 pr6|129 code 002564 aa 6 02262 2521 00 spri2 pr6|1202 002565 aa 6 02252 6211 00 eax1 pr6|1194 002566 aa 020000 4310 07 fld 8192,dl 002567 aa 6 00044 3701 20 epp4 pr6|36,* 002570 la 4 00024 3521 20 epp2 pr4|20,* iox_$put_chars 002571 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 527 call iox_$control (iocb_ptr, "start", null (), (0)); 002572 aa 775272 2370 04 ldaq -1350,ic 000064 = 163164141162 164000000000 002573 aa 6 02264 7571 00 staq pr6|1204 002574 aa 775300 3734 24 epp7 -1344,ic* 002575 aa 6 02310 6535 00 spri7 pr6|1224 002576 aa 6 02245 4501 00 stz pr6|1189 002577 aa 6 00126 3521 00 epp2 pr6|86 iocb_ptr 002600 aa 6 02270 2521 00 spri2 pr6|1208 002601 aa 6 02264 3521 00 epp2 pr6|1204 002602 aa 6 02272 2521 00 spri2 pr6|1210 002603 aa 6 02310 3521 00 epp2 pr6|1224 002604 aa 6 02274 2521 00 spri2 pr6|1212 002605 aa 6 02245 3521 00 epp2 pr6|1189 002606 aa 6 02276 2521 00 spri2 pr6|1214 002607 aa 775246 3520 04 epp2 -1370,ic 000055 = 464000000000 002610 aa 6 02300 2521 00 spri2 pr6|1216 002611 aa 6 02304 2521 00 spri2 pr6|1220 002612 aa 775205 3520 04 epp2 -1403,ic 000017 = 524000000005 002613 aa 6 02302 2521 00 spri2 pr6|1218 002614 aa 775235 3520 04 epp2 -1379,ic 000051 = 404000000043 002615 aa 6 02306 2521 00 spri2 pr6|1222 002616 aa 6 02266 6211 00 eax1 pr6|1206 002617 aa 020000 4310 07 fld 8192,dl 002620 aa 6 00044 3701 20 epp4 pr6|36,* 002621 la 4 00022 3521 20 epp2 pr4|18,* iox_$control 002622 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 529 end; STATEMENT 1 ON LINE 530 else ; 002623 aa 000004 7100 04 tra 4,ic 002627 STATEMENT 1 ON LINE 531 else mlong = long; 002624 aa 6 00200 2361 00 ldq pr6|128 long 002625 aa 6 00032 3735 20 epp7 pr6|26,* 002626 aa 7 00006 7561 20 stq pr7|6,* mlong STATEMENT 1 ON LINE 533 last: /* clean up and leave */ if retsw then go to exit; 002627 aa 6 00150 2351 00 lda pr6|104 retsw 002630 aa 400000 3150 03 cana 131072,du 002631 aa 000123 6010 04 tnz 83,ic 002754 STATEMENT 1 ON LINE 536 else do; STATEMENT 1 ON LINE 537 call reversion_ ("any_other"); 002632 aa 775274 2370 04 ldaq -1348,ic 000126 = 141156171137 157164150145 002633 aa 6 02242 7571 00 staq pr6|1186 002634 aa 162000 2350 03 lda 58368,du 002635 aa 6 02244 7551 00 sta pr6|1188 002636 aa 6 02242 3521 00 epp2 pr6|1186 002637 aa 6 02254 2521 00 spri2 pr6|1196 002640 aa 775207 3520 04 epp2 -1401,ic 000047 = 524000000011 002641 aa 6 02256 2521 00 spri2 pr6|1198 002642 aa 6 02252 6211 00 eax1 pr6|1194 002643 aa 004000 4310 07 fld 2048,dl 002644 aa 6 00044 3701 20 epp4 pr6|36,* 002645 la 4 00040 3521 20 epp2 pr4|32,* reversion_ 002646 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 538 rptsw = 0; 002647 aa 6 00044 3701 20 epp4 pr6|36,* 002650 ia 4 00011 4501 00 stz pr4|9 rptsw STATEMENT 1 ON LINE 539 if mtep ^= null then if mte.sig_error /* CHECK THIS SOMETIME */ then call signal_ ("error"); 002651 aa 6 02224 2371 00 ldaq pr6|1172 mtep 002652 aa 775222 6770 04 eraq -1390,ic 000074 = 077777000043 000001000000 002653 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 002654 aa 000017 6000 04 tze 15,ic 002673 002655 aa 6 02224 2351 20 lda pr6|1172,* mte.sig_error 002656 aa 100000 3150 07 cana 32768,dl 002657 aa 000014 6000 04 tze 12,ic 002673 002660 aa 775210 2370 04 ldaq -1400,ic 000070 = 145162162157 162000000000 002661 aa 6 02310 7571 00 staq pr6|1224 002662 aa 6 02310 3521 00 epp2 pr6|1224 002663 aa 6 02254 2521 00 spri2 pr6|1196 002664 aa 775133 3520 04 epp2 -1445,ic 000017 = 524000000005 002665 aa 6 02256 2521 00 spri2 pr6|1198 002666 aa 6 02252 6211 00 eax1 pr6|1194 002667 aa 004000 4310 07 fld 2048,dl 002670 la 4 00056 3521 20 epp2 pr4|46,* signal_ 002671 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 002672 aa 000036 7100 04 tra 30,ic 002730 STATEMENT 1 ON LINE 543 else go_to_cl: do; STATEMENT 1 ON LINE 546 if establish_wall then on any_other call wall_ignore_pi; 002673 aa 6 00101 2351 00 lda pr6|65 establish_wall 002674 aa 000022 6000 04 tze 18,ic 002716 002675 aa 000011 7260 07 lxl6 9,dl 002676 aa 775230 3520 04 epp2 -1384,ic 000126 = 141156171137 002677 aa 0 00717 7001 00 tsx0 pr0|463 enable_op 002700 aa 000004 7100 04 tra 4,ic 002704 002701 aa 000204000000 002702 aa 000014 7100 04 tra 12,ic 002716 BEGIN CONDITION any_other.2 ENTRY TO any_other.2 STATEMENT 1 ON LINE 546 if establish_wall then on any_other call wall_ignore_pi; 002703 da 000454200000 002704 aa 000100 6270 00 eax7 64 002705 aa 7 00034 3521 20 epp2 pr7|28,* 002706 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 002707 aa 000000000000 002710 aa 000000000000 002711 aa 6 00056 6211 00 eax1 pr6|46 002712 aa 000000 4310 07 fld 0,dl 002713 aa 775464 3520 04 epp2 -1228,ic 000377 = 002540627000 002714 aa 0 00621 7001 00 tsx0 pr0|401 call_ext_in 002715 aa 0 00631 7101 00 tra pr0|409 return_mac END CONDITION any_other.2 STATEMENT 1 ON LINE 548 call cu_$cl (cl_arg); 002716 aa 6 00203 3521 00 epp2 pr6|131 cl_arg 002717 aa 6 02250 2521 00 spri2 pr6|1192 002720 aa 6 02246 6211 00 eax1 pr6|1190 002721 aa 004000 4310 07 fld 2048,dl 002722 aa 6 00044 3701 20 epp4 pr6|36,* 002723 la 4 00042 3521 20 epp2 pr4|34,* cu_$cl 002724 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 549 if establish_wall then revert any_other; 002725 aa 6 00101 2351 00 lda pr6|65 establish_wall 002726 aa 000002 6000 04 tze 2,ic 002730 002727 aa 6 00210 4501 00 stz pr6|136 STATEMENT 1 ON LINE 551 end; STATEMENT 1 ON LINE 553 if no_restart then do; 002730 aa 6 00153 2351 00 lda pr6|107 no_restart 002731 aa 400000 3150 03 cana 131072,du 002732 aa 000022 6000 04 tze 18,ic 002754 STATEMENT 1 ON LINE 555 call ioa_$ioa_switch (iox_$error_output, "computation cannot be restarted"); 002733 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002734 aa 775265 00 0040 desc9a -1355,32 000220 = 143157155160 002735 aa 6 02252 00 0040 desc9a pr6|1194,32 002736 aa 6 00044 3701 20 epp4 pr6|36,* 002737 la 4 00034 3521 20 epp2 pr4|28,* iox_$error_output 002740 aa 6 02270 2521 00 spri2 pr6|1208 002741 aa 6 02252 3521 00 epp2 pr6|1194 002742 aa 6 02272 2521 00 spri2 pr6|1210 002743 aa 775112 3520 04 epp2 -1462,ic 000055 = 464000000000 002744 aa 6 02274 2521 00 spri2 pr6|1212 002745 aa 775065 3520 04 epp2 -1483,ic 000032 = 524000000037 002746 aa 6 02276 2521 00 spri2 pr6|1214 002747 aa 6 02266 6211 00 eax1 pr6|1206 002750 aa 010000 4310 07 fld 4096,dl 002751 la 4 00050 3521 20 epp2 pr4|40,* ioa_$ioa_switch 002752 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 556 go to go_to_cl; 002753 aa 777720 7100 04 tra -48,ic 002673 STATEMENT 1 ON LINE 557 end; STATEMENT 1 ON LINE 558 end; STATEMENT 1 ON LINE 560 exit: /* we are here if we want to return and not abort */ rptsw = 0; 002754 aa 6 00044 3701 20 epp4 pr6|36,* 002755 ia 4 00011 4501 00 stz pr4|9 rptsw STATEMENT 1 ON LINE 562 return; 002756 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO interpret_condition_ STATEMENT 1 ON LINE 564 interpret_condition_: entry (a_mcptr, a_conname, a_wcptr, a_infoptr, a_flag); 002757 at 000005000055 002760 tt 000054000055 002761 tt 000055000053 002762 ta 002757000000 002763 da 000465300000 002764 aa 002540 6270 00 eax7 1376 002765 aa 7 00034 3521 20 epp2 pr7|28,* 002766 aa 2 01046 2721 00 tsp2 pr2|550 ext_entry_desc 002767 aa 000012000000 002770 aa 000000000000 002771 aa 6 00042 3735 20 epp7 pr6|34,* 002772 aa 7 00002 2361 20 ldq pr7|2,* 002773 aa 000002 6040 04 tmi 2,ic 002775 002774 aa 777777 3760 07 anq 262143,dl 002775 aa 0 00250 3761 00 anq pr0|168 = 000077777777 002776 aa 6 02504 7561 00 stq pr6|1348 002777 aa 775344 7000 04 tsx0 -1308,ic 000343 STATEMENT 1 ON LINE 571 call get_condition_info; 003000 aa 001371 6700 04 tsp4 761,ic 004371 STATEMENT 1 ON LINE 573 realsw = "0"b; 003001 aa 6 00151 4501 00 stz pr6|105 realsw STATEMENT 1 ON LINE 574 retsw = "1"b; 003002 aa 400000 2350 03 lda 131072,du 003003 aa 6 00150 7551 00 sta pr6|104 retsw STATEMENT 1 ON LINE 575 go to begin; 003004 aa 776044 7100 04 tra -988,ic 001050 ENTRY TO change_error_message_mode_ STATEMENT 1 ON LINE 696 change_error_message_mode_: entry (longsw_val); 003005 at 000001000052 003006 ta 003005000000 003007 da 000477300000 003010 aa 002540 6270 00 eax7 1376 003011 aa 7 00034 3521 20 epp2 pr7|28,* 003012 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 003013 aa 000002000000 003014 aa 000000000000 003015 aa 775326 7000 04 tsx0 -1322,ic 000343 STATEMENT 1 ON LINE 705 if longsw_val < 0 | longsw_val > 2 then real_longsw = 1; 003016 aa 6 00032 3735 20 epp7 pr6|26,* 003017 aa 7 00002 2361 20 ldq pr7|2,* longsw_val 003020 aa 000003 6040 04 tmi 3,ic 003023 003021 aa 000002 1160 07 cmpq 2,dl 003022 aa 000005 6044 04 tmoz 5,ic 003027 003023 aa 000001 2360 07 ldq 1,dl 003024 aa 6 00044 3701 20 epp4 pr6|36,* 003025 ia 4 00010 7561 00 stq pr4|8 real_longsw 003026 aa 000003 7100 04 tra 3,ic 003031 STATEMENT 1 ON LINE 707 else real_longsw = longsw_val; 003027 aa 6 00044 3701 20 epp4 pr6|36,* 003030 ia 4 00010 7561 00 stq pr4|8 real_longsw STATEMENT 1 ON LINE 708 return; 003031 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO reprint_error_message_ STATEMENT 1 ON LINE 710 reprint_error_message_: entry (areap, mptr, mlong, mode, depth, ecode); 003032 at 000006000055 003033 tt 000055000052 003034 tt 000052000052 003035 ta 000052000000 003036 ta 003032000000 003037 da 000510300000 003040 aa 002540 6270 00 eax7 1376 003041 aa 7 00034 3521 20 epp2 pr7|28,* 003042 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 003043 aa 000014000000 003044 aa 000000000000 003045 aa 775276 7000 04 tsx0 -1346,ic 000343 STATEMENT 1 ON LINE 721 i = 0; 003046 aa 6 00177 4501 00 stz pr6|127 i STATEMENT 1 ON LINE 722 do lsp = find_condition_frame_ (null) repeat find_condition_frame_ (lsp); 003047 aa 775025 3734 24 epp7 -1515,ic* 003050 aa 6 02310 6535 00 spri7 pr6|1224 003051 aa 6 02310 3521 00 epp2 pr6|1224 003052 aa 6 02254 2521 00 spri2 pr6|1196 003053 aa 6 00162 3521 00 epp2 pr6|114 lsp 003054 aa 6 02256 2521 00 spri2 pr6|1198 003055 aa 6 02252 6211 00 eax1 pr6|1194 003056 aa 010000 4310 07 fld 4096,dl 003057 aa 6 00044 3701 20 epp4 pr6|36,* 003060 la 4 00074 3521 20 epp2 pr4|60,* find_condition_frame_ 003061 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 724 if lsp = null then go to return_no_such_level; 003062 aa 6 00162 2371 00 ldaq pr6|114 lsp 003063 aa 775011 6770 04 eraq -1527,ic 000074 = 077777000043 000001000000 003064 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003065 aa 000127 6000 04 tze 87,ic 003214 STATEMENT 1 ON LINE 726 i = i + 1; 003066 aa 6 00177 0541 00 aos pr6|127 i STATEMENT 1 ON LINE 732 if i = depth then go to found_level; 003067 aa 6 00177 2361 00 ldq pr6|127 i 003070 aa 6 00032 3735 20 epp7 pr6|26,* 003071 aa 7 00012 1161 20 cmpq pr7|10,* depth 003072 aa 000012 6000 04 tze 10,ic 003104 STATEMENT 1 ON LINE 734 end; 003073 aa 6 00162 3521 00 epp2 pr6|114 lsp 003074 aa 6 02254 2521 00 spri2 pr6|1196 003075 aa 6 02256 2521 00 spri2 pr6|1198 003076 aa 6 02252 6211 00 eax1 pr6|1194 003077 aa 010000 4310 07 fld 4096,dl 003100 aa 6 00044 3701 20 epp4 pr6|36,* 003101 la 4 00074 3521 20 epp2 pr4|60,* find_condition_frame_ 003102 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 003103 aa 777757 7100 04 tra -17,ic 003062 STATEMENT 1 ON LINE 736 found_level: /* get arguments from earlier frame so we can call ourself */ call get_condition_info_code (code); 003104 aa 001432 3520 04 epp2 794,ic 004536 = 000002000000 003105 aa 001267 6700 04 tsp4 695,ic 004374 STATEMENT 1 ON LINE 738 if code ^= 0 then do; 003106 aa 6 00201 2361 00 ldq pr6|129 code 003107 aa 000032 6000 04 tze 26,ic 003141 STATEMENT 1 ON LINE 740 call ioa_$ioa_switch (iox_$error_output, "condition information not available for level ^d", depth); 003110 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003111 aa 775202 00 0060 desc9a -1406,48 000312 = 143157156144 003112 aa 6 02266 00 0060 desc9a pr6|1206,48 003113 aa 6 00044 3701 20 epp4 pr6|36,* 003114 la 4 00034 3521 20 epp2 pr4|28,* iox_$error_output 003115 aa 6 02314 2521 00 spri2 pr6|1228 003116 aa 6 02266 3521 00 epp2 pr6|1206 003117 aa 6 02316 2521 00 spri2 pr6|1230 003120 aa 6 00032 3735 20 epp7 pr6|26,* 003121 aa 7 00012 3521 20 epp2 pr7|10,* depth 003122 aa 6 02320 2521 00 spri2 pr6|1232 003123 aa 774732 3520 04 epp2 -1574,ic 000055 = 464000000000 003124 aa 6 02322 2521 00 spri2 pr6|1234 003125 aa 774671 3520 04 epp2 -1607,ic 000016 = 524000000060 003126 aa 6 02324 2521 00 spri2 pr6|1236 003127 aa 774723 3520 04 epp2 -1581,ic 000052 = 404000000021 003130 aa 6 02326 2521 00 spri2 pr6|1238 003131 aa 6 02312 6211 00 eax1 pr6|1226 003132 aa 014000 4310 07 fld 6144,dl 003133 la 4 00050 3521 20 epp2 pr4|40,* ioa_$ioa_switch 003134 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 741 ecode = -1; 003135 aa 000001 3360 07 lcq 1,dl 003136 aa 6 00032 3735 20 epp7 pr6|26,* 003137 aa 7 00014 7561 20 stq pr7|12,* ecode STATEMENT 1 ON LINE 742 return; 003140 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 743 end; STATEMENT 1 ON LINE 745 call reinterpret_condition_ (areap, mptr, mlong, mode, cond_info.mc_ptr, (cond_info.condition_name), cond_info.wc_ptr, cond_info.info_ptr, lsp); 003141 aa 6 02171 2361 00 ldq pr6|1145 cond_info.condition_name 003142 aa 524000 2760 03 orq 174080,du 003143 aa 6 02245 7561 00 stq pr6|1189 003144 aa 6 02171 2361 00 ldq pr6|1145 cond_info.condition_name 003145 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 003146 aa 6 02416 2521 00 spri2 pr6|1294 003147 aa 6 02171 7271 00 lxl7 pr6|1145 cond_info.condition_name 003150 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 003151 aa 6 02172 00 0017 desc9a pr6|1146,x7 cond_info.condition_name 003152 aa 2 00000 00 0006 desc9a pr2|0,ql 003153 aa 6 00032 3735 20 epp7 pr6|26,* 003154 aa 7 00002 3521 20 epp2 pr7|2,* areap 003155 aa 6 02404 2521 00 spri2 pr6|1284 003156 aa 7 00004 3521 20 epp2 pr7|4,* mptr 003157 aa 6 02406 2521 00 spri2 pr6|1286 003160 aa 7 00006 3521 20 epp2 pr7|6,* mlong 003161 aa 6 02410 2521 00 spri2 pr6|1288 003162 aa 7 00010 3521 20 epp2 pr7|8,* mode 003163 aa 6 02412 2521 00 spri2 pr6|1290 003164 aa 6 02166 3521 00 epp2 pr6|1142 cond_info.mc_ptr 003165 aa 6 02414 2521 00 spri2 pr6|1292 003166 aa 6 02204 3521 00 epp2 pr6|1156 cond_info.wc_ptr 003167 aa 6 02420 2521 00 spri2 pr6|1296 003170 aa 6 02202 3521 00 epp2 pr6|1154 cond_info.info_ptr 003171 aa 6 02422 2521 00 spri2 pr6|1298 003172 aa 6 00162 3521 00 epp2 pr6|114 lsp 003173 aa 6 02424 2521 00 spri2 pr6|1300 003174 aa 774661 3520 04 epp2 -1615,ic 000055 = 464000000000 003175 aa 6 02426 2521 00 spri2 pr6|1302 003176 aa 6 02430 2521 00 spri2 pr6|1304 003177 aa 6 02436 2521 00 spri2 pr6|1310 003200 aa 6 02442 2521 00 spri2 pr6|1314 003201 aa 6 02444 2521 00 spri2 pr6|1316 003202 aa 6 02446 2521 00 spri2 pr6|1318 003203 aa 774647 3520 04 epp2 -1625,ic 000052 = 404000000021 003204 aa 6 02432 2521 00 spri2 pr6|1306 003205 aa 6 02434 2521 00 spri2 pr6|1308 003206 aa 6 02245 3521 00 epp2 pr6|1189 003207 aa 6 02440 2521 00 spri2 pr6|1312 003210 aa 6 02402 6211 00 eax1 pr6|1282 003211 aa 044000 4310 07 fld 18432,dl 003212 aa 000016 3520 04 epp2 14,ic 003230 = 002540627000 003213 aa 0 00620 7001 00 tsx0 pr0|400 call_ext_in_desc STATEMENT 1 ON LINE 748 return_no_such_level: ecode = i; 003214 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 003215 aa 6 00177 2361 00 ldq pr6|127 i 003216 aa 6 00032 3735 20 epp7 pr6|26,* 003217 aa 7 00014 7561 20 stq pr7|12,* ecode STATEMENT 1 ON LINE 750 return; 003220 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO reinterpret_condition_ STATEMENT 1 ON LINE 753 reinterpret_condition_: entry (areap, mptr, mlong, mode, c_mcptr, c_conname, c_wcptr, c_infoptr, r_sp); 003221 at 000011000055 003222 tt 000055000052 003223 tt 000052000055 003224 tt 000054000055 003225 tt 000055000055 003226 ta 003221000000 003227 da 000521300000 003230 aa 002540 6270 00 eax7 1376 003231 aa 7 00034 3521 20 epp2 pr7|28,* 003232 aa 2 01046 2721 00 tsp2 pr2|550 ext_entry_desc 003233 aa 000022000000 003234 aa 000000000000 003235 aa 6 00042 3735 20 epp7 pr6|34,* 003236 aa 7 00012 2361 20 ldq pr7|10,* 003237 aa 000002 6040 04 tmi 2,ic 003241 003240 aa 777777 3760 07 anq 262143,dl 003241 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003242 aa 6 02505 7561 00 stq pr6|1349 003243 aa 775100 7000 04 tsx0 -1472,ic 000343 STATEMENT 1 ON LINE 760 realsw = "0"b; 003244 aa 6 00151 4501 00 stz pr6|105 realsw STATEMENT 1 ON LINE 761 retsw = "1"b; 003245 aa 400000 2350 03 lda 131072,du 003246 aa 6 00150 7551 00 sta pr6|104 retsw STATEMENT 1 ON LINE 762 lsp = r_sp; 003247 aa 6 00032 3735 20 epp7 pr6|26,* 003250 aa 7 00022 3715 20 epp5 pr7|18,* r_sp 003251 aa 5 00000 3715 20 epp5 pr5|0,* r_sp 003252 aa 6 00162 6515 00 spri5 pr6|114 lsp STATEMENT 1 ON LINE 763 go to ci_start; 003253 aa 000031 7100 04 tra 25,ic 003304 ENTRY TO condition_interpreter_ STATEMENT 1 ON LINE 765 condition_interpreter_: entry (areap, mptr, mlong, mode, c_mcptr, c_conname, c_wcptr, c_infoptr); 003254 at 000010000055 003255 tt 000055000052 003256 tt 000052000055 003257 tt 000054000055 003260 ta 000055000000 003261 ta 003254000000 003262 da 000532300000 003263 aa 002540 6270 00 eax7 1376 003264 aa 7 00034 3521 20 epp2 pr7|28,* 003265 aa 2 01046 2721 00 tsp2 pr2|550 ext_entry_desc 003266 aa 000020000000 003267 aa 000000000000 003270 aa 6 00042 3735 20 epp7 pr6|34,* 003271 aa 7 00012 2361 20 ldq pr7|10,* 003272 aa 000002 6040 04 tmi 2,ic 003274 003273 aa 777777 3760 07 anq 262143,dl 003274 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003275 aa 6 02505 7561 00 stq pr6|1349 003276 aa 775045 7000 04 tsx0 -1499,ic 000343 STATEMENT 1 ON LINE 794 realsw = "1"b; 003277 aa 400000 2350 03 lda 131072,du 003300 aa 6 00151 7551 00 sta pr6|105 realsw STATEMENT 1 ON LINE 795 retsw = "1"b; 003301 aa 6 00150 7551 00 sta pr6|104 retsw STATEMENT 1 ON LINE 796 lsp = null (); 003302 aa 774572 2370 04 ldaq -1670,ic 000074 = 077777000043 000001000000 003303 aa 6 00162 7571 00 staq pr6|114 lsp STATEMENT 1 ON LINE 797 ci_start: call condition_ ("any_other", blowup_handler_); 003304 aa 774622 2370 04 ldaq -1646,ic 000126 = 141156171137 157164150145 003305 aa 6 02242 7571 00 staq pr6|1186 003306 aa 162000 2350 03 lda 58368,du 003307 aa 6 02244 7551 00 sta pr6|1188 003310 aa 000162 3520 04 epp2 114,ic 003472 = 000500627000 003311 aa 6 02246 2521 00 spri2 pr6|1190 cp.316 003312 aa 6 02250 6521 00 spri6 pr6|1192 cp.316 003313 aa 6 02242 3521 00 epp2 pr6|1186 003314 aa 6 02254 2521 00 spri2 pr6|1196 003315 aa 6 02246 3521 00 epp2 pr6|1190 cp.316 003316 aa 6 02256 2521 00 spri2 pr6|1198 003317 aa 774530 3520 04 epp2 -1704,ic 000047 = 524000000011 003320 aa 6 02260 2521 00 spri2 pr6|1200 003321 aa 774527 3520 04 epp2 -1705,ic 000050 = 500000000000 003322 aa 6 02262 2521 00 spri2 pr6|1202 003323 aa 6 02252 6211 00 eax1 pr6|1194 003324 aa 010000 4310 07 fld 4096,dl 003325 aa 6 00044 3701 20 epp4 pr6|36,* 003326 la 4 00036 3521 20 epp2 pr4|30,* condition_ 003327 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 799 iocb_ptr = null (); 003330 aa 774544 2370 04 ldaq -1692,ic 000074 = 077777000043 000001000000 003331 aa 6 00126 7571 00 staq pr6|86 iocb_ptr STATEMENT 1 ON LINE 801 optr = addr (my_string); 003332 aa 6 01571 3735 00 epp7 pr6|889 my_string 003333 aa 6 00156 6535 00 spri7 pr6|110 optr STATEMENT 1 ON LINE 806 call get_condition_info_code (code); 003334 aa 001202 3520 04 epp2 642,ic 004536 = 000002000000 003335 aa 001037 6700 04 tsp4 543,ic 004374 STATEMENT 1 ON LINE 807 if code ^= 0 then do; 003336 aa 6 00201 2361 00 ldq pr6|129 code 003337 aa 000037 6000 04 tze 31,ic 003376 STATEMENT 1 ON LINE 809 cond_info.version = condition_info_version_1; 003340 aa 000001 2360 07 ldq 1,dl 003341 aa 6 02170 7561 00 stq pr6|1144 cond_info.version STATEMENT 1 ON LINE 810 cond_info.mc_ptr = c_mcptr; 003342 aa 6 00032 3735 20 epp7 pr6|26,* 003343 aa 7 00012 3715 20 epp5 pr7|10,* c_mcptr 003344 aa 5 00000 3715 20 epp5 pr5|0,* c_mcptr 003345 aa 6 02166 6515 00 spri5 pr6|1142 cond_info.mc_ptr STATEMENT 1 ON LINE 811 cond_info.wc_ptr = c_wcptr; 003346 aa 7 00016 3535 20 epp3 pr7|14,* c_wcptr 003347 aa 3 00000 3535 20 epp3 pr3|0,* c_wcptr 003350 aa 6 02204 2535 00 spri3 pr6|1156 cond_info.wc_ptr STATEMENT 1 ON LINE 812 cond_info.info_ptr = c_infoptr; 003351 aa 7 00020 3715 20 epp5 pr7|16,* c_infoptr 003352 aa 5 00000 3715 20 epp5 pr5|0,* c_infoptr 003353 aa 6 02202 6515 00 spri5 pr6|1154 cond_info.info_ptr STATEMENT 1 ON LINE 813 string (cond_info.flags) = ""b; 003354 aa 6 02210 4501 00 stz pr6|1160 STATEMENT 1 ON LINE 814 if cond_info.wc_ptr ^= null () then cond_info.crawlout = "1"b; 003355 aa 6 02204 2371 00 ldaq pr6|1156 cond_info.wc_ptr 003356 aa 774516 6770 04 eraq -1714,ic 000074 = 077777000043 000001000000 003357 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003360 aa 000003 6000 04 tze 3,ic 003363 003361 aa 400000 2350 03 lda 131072,du 003362 aa 6 02210 2551 00 orsa pr6|1160 cond_info.crawlout STATEMENT 1 ON LINE 816 cond_info.pad2 = ""b; 003363 aa 6 02211 4501 00 stz pr6|1161 cond_info.pad2 STATEMENT 1 ON LINE 817 cond_info.user_loc_ptr = null (); 003364 aa 774510 2370 04 ldaq -1720,ic 000074 = 077777000043 000001000000 003365 aa 6 02212 7571 00 staq pr6|1162 cond_info.user_loc_ptr STATEMENT 1 ON LINE 818 cond_info.pad3 (*) = ""b; 003366 aa 000001 2360 07 ldq 1,dl 003367 aa 6 02227 7561 00 stq pr6|1175 003370 aa 6 02227 7271 00 lxl7 pr6|1175 003371 aa 6 02213 4501 17 stz pr6|1163,7 cond_info.pad3 003372 aa 6 02227 2361 00 ldq pr6|1175 003373 aa 6 02227 0541 00 aos pr6|1175 003374 aa 000004 1160 07 cmpq 4,dl 003375 aa 777773 6040 04 tmi -5,ic 003370 STATEMENT 1 ON LINE 819 end; STATEMENT 1 ON LINE 821 if areap = null then iocb_ptr = iox_$error_output; 003376 aa 6 00032 3735 20 epp7 pr6|26,* 003377 aa 7 00002 2371 20 ldaq pr7|2,* areap 003400 aa 774474 6770 04 eraq -1732,ic 000074 = 077777000043 000001000000 003401 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003402 aa 000006 6010 04 tnz 6,ic 003410 003403 aa 6 00044 3701 20 epp4 pr6|36,* 003404 la 4 00034 3715 20 epp5 pr4|28,* iox_$error_output 003405 aa 5 00000 3715 20 epp5 pr5|0,* iox_$error_output 003406 aa 6 00126 6515 00 spri5 pr6|86 iocb_ptr 003407 aa 000015 7100 04 tra 13,ic 003424 STATEMENT 1 ON LINE 824 else do; STATEMENT 1 ON LINE 825 iocb_ptr = null; 003410 aa 774464 2370 04 ldaq -1740,ic 000074 = 077777000043 000001000000 003411 aa 6 00126 7571 00 staq pr6|86 iocb_ptr STATEMENT 1 ON LINE 826 allocate ostring in (based_area) set (optr); 003412 aa 000372 2360 07 ldq 250,dl 003413 aa 6 00032 3735 20 epp7 pr6|26,* 003414 aa 7 00002 3715 20 epp5 pr7|2,* areap 003415 aa 5 00000 3521 20 epp2 pr5|0,* based_area 003416 aa 0 01402 7001 00 tsx0 pr0|770 op_alloc_ 003417 aa 777773 7100 04 tra -5,ic 003412 003420 aa 6 00156 2521 00 spri2 pr6|110 optr STATEMENT 1 ON LINE 827 mptr = optr; 003421 aa 6 00032 3735 20 epp7 pr6|26,* 003422 aa 7 00004 2521 20 spri2 pr7|4,* mptr STATEMENT 1 ON LINE 828 mlong = 0; 003423 aa 7 00006 4501 20 stz pr7|6,* mlong STATEMENT 1 ON LINE 829 end; STATEMENT 1 ON LINE 831 if mode < 1 | mode > 3 then temp_longsw = real_longsw; 003424 aa 7 00010 2361 20 ldq pr7|8,* mode 003425 aa 000001 1160 07 cmpq 1,dl 003426 aa 000003 6040 04 tmi 3,ic 003431 003427 aa 000003 1160 07 cmpq 3,dl 003430 aa 000005 6044 04 tmoz 5,ic 003435 003431 aa 6 00044 3701 20 epp4 pr6|36,* 003432 ia 4 00010 2361 00 ldq pr4|8 real_longsw 003433 aa 6 00175 7561 00 stq pr6|125 temp_longsw 003434 aa 000003 7100 04 tra 3,ic 003437 STATEMENT 1 ON LINE 833 else temp_longsw = re_map_mode (mode); 003435 aa 6 02162 2361 06 ldq pr6|1138,ql re_map_mode 003436 aa 6 00175 7561 00 stq pr6|125 temp_longsw STATEMENT 1 ON LINE 834 retsw = "1"b; 003437 aa 400000 2350 03 lda 131072,du 003440 aa 6 00150 7551 00 sta pr6|104 retsw STATEMENT 1 ON LINE 835 flong = 8; 003441 aa 000010 2360 07 ldq 8,dl 003442 aa 6 00176 7561 00 stq pr6|126 flong STATEMENT 1 ON LINE 837 go to begin_com; 003443 aa 775407 7100 04 tra -1273,ic 001052 ENTRY TO add_finish_handler STATEMENT 1 ON LINE 840 add_finish_handler: entry (fhandler, xcode); 003444 at 000002000050 003445 ta 000051000000 003446 ta 003444000000 003447 da 000542300000 003450 aa 002540 6270 00 eax7 1376 003451 aa 7 00034 3521 20 epp2 pr7|28,* 003452 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 003453 aa 000004000000 003454 aa 000000000000 003455 aa 774666 7000 04 tsx0 -1610,ic 000343 STATEMENT 1 ON LINE 849 xcode = add_epilogue_handler_ (fhandler); 003456 aa 6 00032 3735 20 epp7 pr6|26,* 003457 aa 7 00002 3521 20 epp2 pr7|2,* fhandler 003460 aa 6 02254 2521 00 spri2 pr6|1196 003461 aa 7 00004 3521 20 epp2 pr7|4,* xcode 003462 aa 6 02256 2521 00 spri2 pr6|1198 003463 aa 6 02252 6211 00 eax1 pr6|1194 003464 aa 010000 4310 07 fld 4096,dl 003465 aa 6 00044 3701 20 epp4 pr6|36,* 003466 la 4 00102 3521 20 epp2 pr4|66,* add_epilogue_handler_ 003467 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 850 return; 003470 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 928 end dummy; BEGIN PROCEDURE blowup_handler_ ENTRY TO blowup_handler_ STATEMENT 1 ON LINE 578 blowup_handler_: procedure (mc_ptr, condition_name, wc_ptr, info_ptr, continue_flag); 003471 da 000551200000 003472 aa 000500 6270 00 eax7 320 003473 aa 7 00034 3521 20 epp2 pr7|28,* 003474 aa 2 01050 2721 00 tsp2 pr2|552 int_entry_desc 003475 aa 000012000000 003476 aa 000000000000 003477 aa 6 00042 3735 20 epp7 pr6|34,* 003500 aa 7 00002 2361 20 ldq pr7|2,* 003501 aa 000002 6040 04 tmi 2,ic 003503 003502 aa 777777 3760 07 anq 262143,dl 003503 aa 0 00250 3761 00 anq pr0|168 = 000077777777 003504 aa 6 00273 7561 00 stq pr6|187 STATEMENT 1 ON LINE 599 if condition_name = "quit" | condition_name = "alrm" | condition_name = "cput" | condition_name = "program_interrupt" | condition_name = "storage" | condition_name = "finish" | condition_name = "signal_io_" /* might be needed to do the work */ then do; 003505 aa 6 00032 3715 20 epp5 pr6|26,* 003506 aa 5 00004 3535 20 epp3 pr5|4,* 003507 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 003510 aa 3 00000 00 0006 desc9a pr3|0,ql condition_name 003511 aa 774337 00 0004 desc9a -1825,4 000046 = 161165151164 003512 aa 000031 6000 04 tze 25,ic 003543 003513 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 003514 aa 3 00000 00 0006 desc9a pr3|0,ql condition_name 003515 aa 774302 00 0004 desc9a -1854,4 000015 = 141154162155 003516 aa 000025 6000 04 tze 21,ic 003543 003517 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 003520 aa 3 00000 00 0006 desc9a pr3|0,ql condition_name 003521 aa 774275 00 0004 desc9a -1859,4 000014 = 143160165164 003522 aa 000021 6000 04 tze 17,ic 003543 003523 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 003524 aa 3 00000 00 0006 desc9a pr3|0,ql condition_name 003525 aa 774437 00 0021 desc9a -1761,17 000162 = 160162157147 003526 aa 000015 6000 04 tze 13,ic 003543 003527 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 003530 aa 3 00000 00 0006 desc9a pr3|0,ql condition_name 003531 aa 774333 00 0007 desc9a -1829,7 000062 = 163164157162 003532 aa 000011 6000 04 tze 9,ic 003543 003533 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 003534 aa 3 00000 00 0006 desc9a pr3|0,ql condition_name 003535 aa 774337 00 0006 desc9a -1825,6 000072 = 146151156151 003536 aa 000005 6000 04 tze 5,ic 003543 003537 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 003540 aa 3 00000 00 0006 desc9a pr3|0,ql condition_name 003541 aa 774364 00 0012 desc9a -1804,10 000123 = 163151147156 003542 aa 000011 6010 04 tnz 9,ic 003553 STATEMENT 1 ON LINE 607 call continue_to_signal_ ((0)); 003543 aa 6 00274 4501 00 stz pr6|188 003544 aa 6 00274 3521 00 epp2 pr6|188 003545 aa 6 00300 2521 00 spri2 pr6|192 003546 aa 6 00276 6211 00 eax1 pr6|190 003547 aa 004000 4310 07 fld 2048,dl 003550 la 4 00100 3521 20 epp2 pr4|64,* continue_to_signal_ 003551 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 608 return; 003552 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 609 end; STATEMENT 1 ON LINE 612 rptsw = rptsw + 1; 003553 ia 4 00011 0541 00 aos pr4|9 rptsw STATEMENT 1 ON LINE 613 if rptsw = 3 then do; 003554 ia 4 00011 2361 00 ldq pr4|9 rptsw 003555 aa 000003 1160 07 cmpq 3,dl 003556 aa 000011 6010 04 tnz 9,ic 003567 STATEMENT 1 ON LINE 615 call terminate_process; 003557 aa 000001 7270 07 lxl7 1,dl 003560 aa 6 00056 6211 00 eax1 pr6|46 003561 aa 000000 4310 07 fld 0,dl 003562 aa 000720 3520 04 epp2 464,ic 004502 = 000140627000 003563 aa 0 00627 7001 00 tsx0 pr0|407 call_int_other STATEMENT 1 ON LINE 616 go to last; 003564 aa 777043 3520 04 epp2 -477,ic 002627 = 600150235100 003565 aa 000001 7270 07 lxl7 1,dl 003566 aa 0 00657 7101 00 tra pr0|431 tra_ext_1 STATEMENT 1 ON LINE 617 end; STATEMENT 1 ON LINE 619 if ^cond_info.crawlout then mess0 = byte (10) /* NL */ || "Error:"; 003567 aa 6 00040 3515 20 epp1 pr6|32,* 003570 aa 1 02210 2351 00 lda pr1|1160 cond_info.crawlout 003571 aa 400000 3150 03 cana 131072,du 003572 aa 000014 6010 04 tnz 12,ic 003606 003573 aa 000012 2360 07 ldq 10,dl 003574 aa 000077 7370 00 lls 63 003575 aa 6 00274 7551 00 sta pr6|188 003576 aa 774262 2370 04 ldaq -1870,ic 000060 = 105162162157 162072000000 003577 aa 000011 7730 00 lrl 9 003600 aa 6 00274 2751 00 ora pr6|188 003601 aa 6 00302 7571 00 staq pr6|194 003602 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003603 aa 6 00302 00 0007 desc9a pr6|194,7 003604 aa 6 00100 00 0050 desc9a pr6|64,40 mess0 003605 aa 000017 7100 04 tra 15,ic 003624 STATEMENT 1 ON LINE 621 else mess0 = byte (10) /* NL */ || "Error while processing in lower ring: "; 003606 aa 000012 2360 07 ldq 10,dl 003607 aa 000077 7370 00 lls 63 003610 aa 6 00274 7551 00 sta pr6|188 003611 aa 000047 2360 07 ldq 39,dl 003612 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 003613 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003614 aa 6 00274 00 0001 desc9a pr6|188,1 003615 aa 2 00000 00 0001 desc9a pr2|0,1 003616 aa 040 100 100 404 mlr (ic),(pr),fill(040) 003617 aa 774422 00 0046 desc9a -1774,38 000240 = 105162162157 003620 aa 2 00000 20 0046 desc9a pr2|0(1),38 003621 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003622 aa 2 00000 00 0047 desc9a pr2|0,39 003623 aa 6 00100 00 0050 desc9a pr6|64,40 mess0 STATEMENT 1 ON LINE 625 if rptsw = 2 then do; 003624 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 003625 ia 4 00011 2361 00 ldq pr4|9 rptsw 003626 aa 000002 1160 07 cmpq 2,dl 003627 aa 000033 6010 04 tnz 27,ic 003662 STATEMENT 1 ON LINE 627 call ioa_$ioa_switch (iox_$user_io, "^/^a^a (Unable to obtain proper message.)", mess0, condition_name); 003630 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003631 aa 774447 00 0054 desc9a -1753,44 000277 = 136057136141 003632 aa 6 00304 00 0054 desc9a pr6|196,44 003633 la 4 00032 3521 20 epp2 pr4|26,* iox_$user_io 003634 aa 6 00322 2521 00 spri2 pr6|210 003635 aa 6 00304 3521 00 epp2 pr6|196 003636 aa 6 00324 2521 00 spri2 pr6|212 003637 aa 6 00100 3521 00 epp2 pr6|64 mess0 003640 aa 6 00326 2521 00 spri2 pr6|214 003641 aa 5 00004 3521 20 epp2 pr5|4,* condition_name 003642 aa 6 00330 2521 00 spri2 pr6|216 003643 aa 774212 3520 04 epp2 -1910,ic 000055 = 464000000000 003644 aa 6 00332 2521 00 spri2 pr6|218 003645 aa 774146 3520 04 epp2 -1946,ic 000013 = 524000000052 003646 aa 6 00334 2521 00 spri2 pr6|220 003647 aa 774143 3520 04 epp2 -1949,ic 000012 = 524000000050 003650 aa 6 00336 2521 00 spri2 pr6|222 003651 aa 7 00002 3521 20 epp2 pr7|2,* 003652 aa 6 00340 2521 00 spri2 pr6|224 003653 aa 6 00320 6211 00 eax1 pr6|208 003654 aa 020000 4310 07 fld 8192,dl 003655 la 4 00050 3521 20 epp2 pr4|40,* ioa_$ioa_switch 003656 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 629 go to last; 003657 aa 776750 3520 04 epp2 -536,ic 002627 = 600150235100 003660 aa 000001 7270 07 lxl7 1,dl 003661 aa 0 00657 7101 00 tra pr0|431 tra_ext_1 STATEMENT 1 ON LINE 630 end; STATEMENT 1 ON LINE 633 if mc_ptr ^= null then do; 003662 aa 5 00002 2371 20 ldaq pr5|2,* mc_ptr 003663 aa 774211 6770 04 eraq -1911,ic 000074 = 077777000043 000001000000 003664 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003665 aa 000175 6000 04 tze 125,ic 004062 STATEMENT 1 ON LINE 635 if (wc_ptr ^= null ()) /* crawlout */ then pname1 = pname3; 003666 aa 5 00006 2371 20 ldaq pr5|6,* wc_ptr 003667 aa 774205 6770 04 eraq -1915,ic 000074 = 077777000043 000001000000 003670 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003671 aa 000005 6000 04 tze 5,ic 003676 003672 aa 6 00040 3515 20 epp1 pr6|32,* 003673 aa 000 100 100 500 mlr (pr),(pr),fill(000) 003674 aa 1 00604 00 0764 desc9a pr1|388,500 pname3 003675 aa 1 00212 00 0764 desc9a pr1|138,500 pname1 STATEMENT 1 ON LINE 637 if pname1 = "" then call format_name (ptr (baseptr (bin (bin (scup -> scu.ppr.psr, 15), 18)), scup -> scu.ilc), pname1); 003676 aa 6 00040 3515 20 epp1 pr6|32,* 003677 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 003700 aa 1 00212 00 0764 desc9a pr1|138,500 pname1 003701 aa 000644 00 0000 desc9a 420,0 004543 = 777777777777 003702 aa 000023 6010 04 tnz 19,ic 003725 003703 aa 1 02222 2351 20 lda pr1|1170,* scu.psr 003704 aa 000003 7350 00 als 3 003705 aa 000071 7730 00 lrl 57 003706 aa 6 00000 3525 00 epbp2 pr6|0 003707 aa 000000 3130 06 easp2 0,ql 003710 aa 1 02222 3735 20 epp7 pr1|1170,* scup 003711 aa 7 00004 2351 00 lda pr7|4 scu.ilc 003712 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 003713 aa 000000 3120 01 eawp2 0,au 003714 aa 6 00302 2521 00 spri2 pr6|194 003715 aa 6 00302 3521 00 epp2 pr6|194 003716 aa 6 00306 2521 00 spri2 pr6|198 003717 aa 1 00212 3521 00 epp2 pr1|138 pname1 003720 aa 6 00310 2521 00 spri2 pr6|200 003721 aa 6 00304 3521 00 epp2 pr6|196 003722 aa 010000 4310 07 fld 4096,dl 003723 aa 2 00000 7571 00 staq pr2|0 003724 aa 000244 6700 04 tsp4 164,ic 004170 STATEMENT 1 ON LINE 640 if tname1 = "" then call format_name (ptr (baseptr (bin (bin (scup -> scu.tpr.tsr, 15), 18)), scup -> scu.ca), tname1); 003725 aa 6 00040 3735 20 epp7 pr6|32,* 003726 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 003727 aa 7 01001 00 0764 desc9a pr7|513,500 tname1 003730 aa 000615 00 0000 desc9a 397,0 004543 = 777777777777 003731 aa 000025 6010 04 tnz 21,ic 003756 003732 aa 7 02222 3715 20 epp5 pr7|1170,* scup 003733 aa 5 00002 2351 00 lda pr5|2 scu.tsr 003734 aa 000003 7350 00 als 3 003735 aa 000071 7730 00 lrl 57 003736 aa 6 00000 3525 00 epbp2 pr6|0 003737 aa 000000 3130 06 easp2 0,ql 003740 aa 5 00005 2351 00 lda pr5|5 scu.ca 003741 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 003742 aa 2 00000 3515 00 epp1 pr2|0 003743 aa 000000 3114 01 eawp1 0,au 003744 aa 6 00302 2515 00 spri1 pr6|194 003745 aa 6 00342 2521 00 spri2 pr6|226 003746 aa 6 00302 3521 00 epp2 pr6|194 003747 aa 6 00306 2521 00 spri2 pr6|198 003750 aa 7 01001 3521 00 epp2 pr7|513 tname1 003751 aa 6 00310 2521 00 spri2 pr6|200 003752 aa 6 00304 3521 00 epp2 pr6|196 003753 aa 010000 4310 07 fld 4096,dl 003754 aa 2 00000 7571 00 staq pr2|0 003755 aa 000213 6700 04 tsp4 139,ic 004170 STATEMENT 1 ON LINE 643 if mc_ptr -> mc.errcode = 0 then long_mess = ""; 003756 aa 6 00032 3735 20 epp7 pr6|26,* 003757 aa 7 00002 3715 20 epp5 pr7|2,* mc_ptr 003760 aa 5 00000 3715 20 epp5 pr5|0,* mc_ptr 003761 aa 5 00043 2361 00 ldq pr5|35 mc.errcode 003762 aa 000005 6010 04 tnz 5,ic 003767 003763 aa 040 100 100 400 mlr (),(pr),fill(040) 003764 aa 000000 00 0000 desc9a 0,0 003765 aa 6 00114 00 0144 desc9a pr6|76,100 long_mess 003766 aa 000023 7100 04 tra 19,ic 004011 STATEMENT 1 ON LINE 645 else do; STATEMENT 1 ON LINE 646 call convert_status_code_ ((mc_ptr -> mc.errcode), short_mess, long_mess); 003767 aa 6 00317 7561 00 stq pr6|207 003770 aa 6 00317 3521 00 epp2 pr6|207 003771 aa 6 00306 2521 00 spri2 pr6|198 003772 aa 6 00112 3521 00 epp2 pr6|74 short_mess 003773 aa 6 00310 2521 00 spri2 pr6|200 003774 aa 6 00114 3521 00 epp2 pr6|76 long_mess 003775 aa 6 00312 2521 00 spri2 pr6|202 003776 aa 6 00304 6211 00 eax1 pr6|196 003777 aa 014000 4310 07 fld 6144,dl 004000 aa 6 00044 3701 20 epp4 pr6|36,* 004001 la 4 00104 3521 20 epp2 pr4|68,* convert_status_code_ 004002 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 647 if short_mess = "xxxxxxxx" then long_mess = ""; 004003 aa 6 00112 2371 00 ldaq pr6|74 short_mess 004004 aa 774052 1170 04 cmpaq -2006,ic 000056 = 170170170170 170170170170 004005 aa 000004 6010 04 tnz 4,ic 004011 004006 aa 040 100 100 400 mlr (),(pr),fill(040) 004007 aa 000000 00 0000 desc9a 0,0 004010 aa 6 00114 00 0144 desc9a pr6|76,100 long_mess STATEMENT 1 ON LINE 649 end; STATEMENT 1 ON LINE 652 call ioa_$rs ("^/^a ^a condition by ^a^/referencing ^a^/^a", ostring, long, mess0, cond_info.condition_name, pname1, tname1, long_mess); 004011 aa 000 100 100 404 mlr (ic),(pr),fill(000) 004012 aa 774253 00 0054 desc9a -1877,44 000264 = 136057136141 004013 aa 6 00304 00 0054 desc9a pr6|196,44 004014 aa 6 00304 3521 00 epp2 pr6|196 004015 aa 6 00346 2521 00 spri2 pr6|230 004016 aa 6 00040 3735 20 epp7 pr6|32,* 004017 aa 7 00156 3521 20 epp2 pr7|110,* ostring 004020 aa 6 00350 2521 00 spri2 pr6|232 004021 aa 7 00200 3521 00 epp2 pr7|128 long 004022 aa 6 00352 2521 00 spri2 pr6|234 004023 aa 6 00100 3521 00 epp2 pr6|64 mess0 004024 aa 6 00354 2521 00 spri2 pr6|236 004025 aa 7 02172 3521 00 epp2 pr7|1146 cond_info.condition_name 004026 aa 6 00356 2521 00 spri2 pr6|238 004027 aa 7 00212 3521 00 epp2 pr7|138 pname1 004030 aa 6 00360 2521 00 spri2 pr6|240 004031 aa 7 01001 3521 00 epp2 pr7|513 tname1 004032 aa 6 00362 2521 00 spri2 pr6|242 004033 aa 6 00114 3521 00 epp2 pr6|76 long_mess 004034 aa 6 00364 2521 00 spri2 pr6|244 004035 aa 773754 3520 04 epp2 -2068,ic 000011 = 524000000054 004036 aa 6 00366 2521 00 spri2 pr6|246 004037 aa 773776 3520 04 epp2 -2050,ic 000035 = 524000001750 004040 aa 6 00370 2521 00 spri2 pr6|248 004041 aa 774011 3520 04 epp2 -2039,ic 000052 = 404000000021 004042 aa 6 00372 2521 00 spri2 pr6|250 004043 aa 773747 3520 04 epp2 -2073,ic 000012 = 524000000050 004044 aa 6 00374 2521 00 spri2 pr6|252 004045 aa 773767 3520 04 epp2 -2057,ic 000034 = 530000000040 004046 aa 6 00376 2521 00 spri2 pr6|254 004047 aa 773754 3520 04 epp2 -2068,ic 000023 = 524000000764 004050 aa 6 00400 2521 00 spri2 pr6|256 004051 aa 6 00402 2521 00 spri2 pr6|258 004052 aa 773736 3520 04 epp2 -2082,ic 000010 = 524000000144 004053 aa 6 00404 2521 00 spri2 pr6|260 004054 aa 6 00344 6211 00 eax1 pr6|228 004055 aa 040000 4310 07 fld 16384,dl 004056 aa 6 00044 3701 20 epp4 pr6|36,* 004057 la 4 00052 3521 20 epp2 pr4|42,* ioa_$rs 004060 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 654 end; 004061 aa 000104 7100 04 tra 68,ic 004165 STATEMENT 1 ON LINE 655 else do; STATEMENT 1 ON LINE 656 if linfo ^= "" then go to print; 004062 aa 6 00040 3515 20 epp1 pr6|32,* 004063 aa 1 01373 7271 00 lxl7 pr1|763 linfo 004064 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 004065 aa 1 01374 00 0017 desc9a pr1|764,x7 linfo 004066 aa 000457 00 0000 desc9a 303,0 004543 = 777777777777 004067 aa 000033 6010 04 tnz 27,ic 004122 STATEMENT 1 ON LINE 658 if info_ptr ^= null then do; 004070 aa 5 00010 2371 20 ldaq pr5|8,* info_ptr 004071 aa 774003 6770 04 eraq -2045,ic 000074 = 077777000043 000001000000 004072 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 004073 aa 000027 6000 04 tze 23,ic 004122 STATEMENT 1 ON LINE 661 call interpret_info_struc_ ((condition_name), info_ptr, linfo, retsw, no_restart, realsw, longsw); 004074 aa 6 00273 2351 00 lda pr6|187 004075 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 004076 aa 3 00000 00 0005 desc9a pr3|0,al condition_name 004077 aa 6 00304 00 0040 desc9a pr6|196,32 004100 aa 6 00304 3521 00 epp2 pr6|196 004101 aa 6 00322 2521 00 spri2 pr6|210 004102 aa 5 00010 3521 20 epp2 pr5|8,* info_ptr 004103 aa 6 00324 2521 00 spri2 pr6|212 004104 aa 1 01374 3521 00 epp2 pr1|764 linfo 004105 aa 6 00326 2521 00 spri2 pr6|214 004106 aa 1 00150 3521 00 epp2 pr1|104 retsw 004107 aa 6 00330 2521 00 spri2 pr6|216 004110 aa 1 00153 3521 00 epp2 pr1|107 no_restart 004111 aa 6 00332 2521 00 spri2 pr6|218 004112 aa 1 00151 3521 00 epp2 pr1|105 realsw 004113 aa 6 00334 2521 00 spri2 pr6|220 004114 aa 1 00160 3521 20 epp2 pr1|112,* longsw 004115 aa 6 00336 2521 00 spri2 pr6|222 004116 aa 6 00320 6211 00 eax1 pr6|208 004117 aa 034000 4310 07 fld 14336,dl 004120 la 4 00070 3521 20 epp2 pr4|56,* interpret_info_struc_ 004121 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 663 end; STATEMENT 1 ON LINE 664 print: call ioa_$rs ("^/^a ^a condition^/^a", ostring, long, mess0, condition_name, linfo); 004122 aa 000 100 100 404 mlr (ic),(pr),fill(000) 004123 aa 774045 00 0030 desc9a -2011,24 000167 = 136057136141 004124 aa 6 00304 00 0030 desc9a pr6|196,24 004125 aa 6 00304 3521 00 epp2 pr6|196 004126 aa 6 00346 2521 00 spri2 pr6|230 004127 aa 6 00040 3735 20 epp7 pr6|32,* 004130 aa 7 00156 3521 20 epp2 pr7|110,* ostring 004131 aa 6 00350 2521 00 spri2 pr6|232 004132 aa 7 00200 3521 00 epp2 pr7|128 long 004133 aa 6 00352 2521 00 spri2 pr6|234 004134 aa 6 00100 3521 00 epp2 pr6|64 mess0 004135 aa 6 00354 2521 00 spri2 pr6|236 004136 aa 6 00032 3715 20 epp5 pr6|26,* 004137 aa 5 00004 3521 20 epp2 pr5|4,* condition_name 004140 aa 6 00356 2521 00 spri2 pr6|238 004141 aa 7 01374 3521 00 epp2 pr7|764 linfo 004142 aa 6 00360 2521 00 spri2 pr6|240 004143 aa 773661 3520 04 epp2 -2127,ic 000024 = 524000000026 004144 aa 6 00362 2521 00 spri2 pr6|242 004145 aa 773670 3520 04 epp2 -2120,ic 000035 = 524000001750 004146 aa 6 00364 2521 00 spri2 pr6|244 004147 aa 773703 3520 04 epp2 -2109,ic 000052 = 404000000021 004150 aa 6 00366 2521 00 spri2 pr6|246 004151 aa 773641 3520 04 epp2 -2143,ic 000012 = 524000000050 004152 aa 6 00370 2521 00 spri2 pr6|248 004153 aa 6 00042 3535 20 epp3 pr6|34,* 004154 aa 3 00002 3521 20 epp2 pr3|2,* 004155 aa 6 00372 2521 00 spri2 pr6|250 004156 aa 773647 3520 04 epp2 -2137,ic 000025 = 530000000764 004157 aa 6 00374 2521 00 spri2 pr6|252 004160 aa 6 00344 6211 00 eax1 pr6|228 004161 aa 030000 4310 07 fld 12288,dl 004162 aa 6 00044 3701 20 epp4 pr6|36,* 004163 la 4 00052 3521 20 epp2 pr4|42,* ioa_$rs 004164 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 666 end; STATEMENT 1 ON LINE 667 go to out; 004165 aa 776354 3520 04 epp2 -788,ic 002541 = 600126237100 004166 aa 000001 7270 07 lxl7 1,dl 004167 aa 0 00657 7101 00 tra pr0|431 tra_ext_1 STATEMENT 1 ON LINE 693 end blowup_handler_; BEGIN PROCEDURE format_name ENTRY TO format_name STATEMENT 1 ON LINE 670 format_name: proc (p, name); 004170 aa 6 00146 6501 00 spri4 pr6|102 004171 aa 6 00150 2521 00 spri2 pr6|104 STATEMENT 1 ON LINE 680 call find_pathname_ (p, addr (name_info), code); 004172 aa 6 00155 3735 00 epp7 pr6|109 name_info 004173 aa 6 00406 6535 00 spri7 pr6|262 004174 aa 2 00002 3521 20 epp2 pr2|2,* p 004175 aa 6 00412 2521 00 spri2 pr6|266 004176 aa 6 00406 3521 00 epp2 pr6|262 004177 aa 6 00414 2521 00 spri2 pr6|268 004200 aa 6 00154 3521 00 epp2 pr6|108 code 004201 aa 6 00416 2521 00 spri2 pr6|270 004202 aa 6 00410 6211 00 eax1 pr6|264 004203 aa 014000 4310 07 fld 6144,dl 004204 aa 6 00044 3701 20 epp4 pr6|36,* 004205 la 4 00106 3521 20 epp2 pr4|70,* find_pathname_ 004206 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 682 if name_info.component_ename ^= "" then /* use name from bindmap */ call ioa_$rsnnl ("^a^a (^a^a^a^a^a)^a", name, long, name_info.component_ename, name_info.adjusted_offset, name_info.dirname, name_info.gt_char, name_info.real_ename, name_info.real_offset, name_info.pdir_string, name_info.offset_msg); 004207 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 004210 aa 6 00155 00 0040 desc9a pr6|109,32 name_info.component_ename 004211 aa 000334 00 0000 desc9a 220,0 004543 = 777777777777 004212 aa 000072 6000 04 tze 58,ic 004304 004213 aa 000 100 100 404 mlr (ic),(pr),fill(000) 004214 aa 773742 00 0024 desc9a -2078,20 000155 = 136141136141 004215 aa 6 00410 00 0024 desc9a pr6|264,20 004216 aa 6 00410 3521 00 epp2 pr6|264 004217 aa 6 00422 2521 00 spri2 pr6|274 004220 aa 6 00150 3735 20 epp7 pr6|104,* 004221 aa 7 00004 3521 20 epp2 pr7|4,* name 004222 aa 6 00424 2521 00 spri2 pr6|276 004223 aa 6 00040 3715 20 epp5 pr6|32,* 004224 aa 5 00200 3521 00 epp2 pr5|128 long 004225 aa 6 00426 2521 00 spri2 pr6|278 004226 aa 6 00155 3521 00 epp2 pr6|109 name_info.component_ename 004227 aa 6 00430 2521 00 spri2 pr6|280 004230 aa 6 00165 3521 00 epp2 pr6|117 name_info.adjusted_offset 004231 aa 6 00432 2521 00 spri2 pr6|282 004232 aa 000003 7270 07 lxl7 3,dl 004233 aa 6 00166 3521 00 epp2 pr6|118 name_info.dirname 004234 aa 2 00000 5005 17 a9bd pr2|0,7 004235 aa 6 00434 2521 00 spri2 pr6|284 004236 aa 6 00240 3521 00 epp2 pr6|160 name_info.gt_char 004237 aa 2 00000 5005 17 a9bd pr2|0,7 004240 aa 6 00436 2521 00 spri2 pr6|286 004241 aa 6 00241 3521 00 epp2 pr6|161 name_info.real_ename 004242 aa 6 00440 2521 00 spri2 pr6|288 004243 aa 6 00251 3521 00 epp2 pr6|169 name_info.real_offset 004244 aa 6 00442 2521 00 spri2 pr6|290 004245 aa 6 00252 3521 00 epp2 pr6|170 name_info.pdir_string 004246 aa 2 00000 5005 17 a9bd pr2|0,7 004247 aa 6 00444 2521 00 spri2 pr6|292 004250 aa 6 00257 3521 00 epp2 pr6|175 name_info.offset_msg 004251 aa 6 00446 2521 00 spri2 pr6|294 004252 aa 773535 3520 04 epp2 -2211,ic 000007 = 524000000023 004253 aa 6 00450 2521 00 spri2 pr6|296 004254 aa 773547 3520 04 epp2 -2201,ic 000023 = 524000000764 004255 aa 6 00452 2521 00 spri2 pr6|298 004256 aa 773574 3520 04 epp2 -2180,ic 000052 = 404000000021 004257 aa 6 00454 2521 00 spri2 pr6|300 004260 aa 773526 3520 04 epp2 -2218,ic 000006 = 526000000040 004261 aa 6 00456 2521 00 spri2 pr6|302 004262 aa 6 00466 2521 00 spri2 pr6|310 004263 aa 773522 3520 04 epp2 -2222,ic 000005 = 526000000007 004264 aa 6 00460 2521 00 spri2 pr6|304 004265 aa 6 00470 2521 00 spri2 pr6|312 004266 aa 773516 3520 04 epp2 -2226,ic 000004 = 526000000250 004267 aa 6 00462 2521 00 spri2 pr6|306 004270 aa 773513 3520 04 epp2 -2229,ic 000003 = 526000000001 004271 aa 6 00464 2521 00 spri2 pr6|308 004272 aa 773510 3520 04 epp2 -2232,ic 000002 = 526000000021 004273 aa 6 00472 2521 00 spri2 pr6|314 004274 aa 773505 3520 04 epp2 -2235,ic 000001 = 526000000050 004275 aa 6 00474 2521 00 spri2 pr6|316 004276 aa 6 00420 6211 00 eax1 pr6|272 004277 aa 054000 4310 07 fld 22528,dl 004300 aa 6 00044 3701 20 epp4 pr6|36,* 004301 la 4 00054 3521 20 epp2 pr4|44,* ioa_$rsnnl 004302 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 004303 aa 000065 7100 04 tra 53,ic 004370 STATEMENT 1 ON LINE 688 else call ioa_$rsnnl ("^a^a^a^a^a^a", name, long, name_info.dirname, name_info.gt_char, name_info.real_ename, name_info.real_offset, name_info.pdir_string, name_info.offset_msg); 004304 aa 773575 2350 04 lda -2179,ic 000101 = 136141136141 004305 aa 773575 2360 04 ldq -2179,ic 000102 = 136141136141 004306 aa 6 00410 7571 00 staq pr6|264 004307 aa 773574 2350 04 lda -2180,ic 000103 = 136141136141 004310 aa 6 00412 7551 00 sta pr6|266 004311 aa 6 00410 3521 00 epp2 pr6|264 004312 aa 6 00422 2521 00 spri2 pr6|274 004313 aa 6 00150 3735 20 epp7 pr6|104,* 004314 aa 7 00004 3521 20 epp2 pr7|4,* name 004315 aa 6 00424 2521 00 spri2 pr6|276 004316 aa 6 00040 3715 20 epp5 pr6|32,* 004317 aa 5 00200 3521 00 epp2 pr5|128 long 004320 aa 6 00426 2521 00 spri2 pr6|278 004321 aa 000003 7270 07 lxl7 3,dl 004322 aa 6 00166 3521 00 epp2 pr6|118 name_info.dirname 004323 aa 2 00000 5005 17 a9bd pr2|0,7 004324 aa 6 00430 2521 00 spri2 pr6|280 004325 aa 6 00240 3521 00 epp2 pr6|160 name_info.gt_char 004326 aa 2 00000 5005 17 a9bd pr2|0,7 004327 aa 6 00432 2521 00 spri2 pr6|282 004330 aa 6 00241 3521 00 epp2 pr6|161 name_info.real_ename 004331 aa 6 00434 2521 00 spri2 pr6|284 004332 aa 6 00251 3521 00 epp2 pr6|169 name_info.real_offset 004333 aa 6 00436 2521 00 spri2 pr6|286 004334 aa 6 00252 3521 00 epp2 pr6|170 name_info.pdir_string 004335 aa 2 00000 5005 17 a9bd pr2|0,7 004336 aa 6 00440 2521 00 spri2 pr6|288 004337 aa 6 00257 3521 00 epp2 pr6|175 name_info.offset_msg 004340 aa 6 00442 2521 00 spri2 pr6|290 004341 aa 773437 3520 04 epp2 -2273,ic 000000 = 524000000014 004342 aa 6 00444 2521 00 spri2 pr6|292 004343 aa 773460 3520 04 epp2 -2256,ic 000023 = 524000000764 004344 aa 6 00446 2521 00 spri2 pr6|294 004345 aa 773505 3520 04 epp2 -2235,ic 000052 = 404000000021 004346 aa 6 00450 2521 00 spri2 pr6|296 004347 aa 773435 3520 04 epp2 -2275,ic 000004 = 526000000250 004350 aa 6 00452 2521 00 spri2 pr6|298 004351 aa 773432 3520 04 epp2 -2278,ic 000003 = 526000000001 004352 aa 6 00454 2521 00 spri2 pr6|300 004353 aa 773433 3520 04 epp2 -2277,ic 000006 = 526000000040 004354 aa 6 00456 2521 00 spri2 pr6|302 004355 aa 773430 3520 04 epp2 -2280,ic 000005 = 526000000007 004356 aa 6 00460 2521 00 spri2 pr6|304 004357 aa 773423 3520 04 epp2 -2285,ic 000002 = 526000000021 004360 aa 6 00462 2521 00 spri2 pr6|306 004361 aa 773420 3520 04 epp2 -2288,ic 000001 = 526000000050 004362 aa 6 00464 2521 00 spri2 pr6|308 004363 aa 6 00420 6211 00 eax1 pr6|272 004364 aa 044000 4310 07 fld 18432,dl 004365 aa 6 00044 3701 20 epp4 pr6|36,* 004366 la 4 00054 3521 20 epp2 pr4|44,* ioa_$rsnnl 004367 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 691 return; 004370 aa 6 00146 6101 00 rtcd pr6|102 STATEMENT 1 ON LINE 692 end format_name; END PROCEDURE format_name END PROCEDURE blowup_handler_ BEGIN PROCEDURE get_condition_info ENTRY TO get_condition_info STATEMENT 1 ON LINE 852 get_condition_info: procedure; 004371 aa 6 02230 6501 00 spri4 pr6|1176 STATEMENT 1 ON LINE 856 code_flag = "0"b; 004372 aa 6 02237 4501 00 stz pr6|1183 code_flag STATEMENT 1 ON LINE 857 goto common; 004373 aa 000007 7100 04 tra 7,ic 004402 ENTRY TO get_condition_info_code STATEMENT 1 ON LINE 859 get_condition_info_code: entry (a_code); 004374 aa 6 02230 6501 00 spri4 pr6|1176 004375 aa 6 02232 2521 00 spri2 pr6|1178 STATEMENT 1 ON LINE 862 code_flag = "1"b; 004376 aa 400000 2350 03 lda 131072,du 004377 aa 6 02237 7551 00 sta pr6|1183 code_flag STATEMENT 1 ON LINE 863 a_code = 0; 004400 aa 6 02232 3735 20 epp7 pr6|1178,* 004401 aa 7 00002 4501 20 stz pr7|2,* a_code STATEMENT 1 ON LINE 865 common: unspec (cond_info) = ""b; 004402 aa 000 100 100 400 mlr (),(pr),fill(000) 004403 aa 000000 00 0000 desc9a 0,0 004404 aa 6 02166 00 0150 desc9a pr6|1142,104 STATEMENT 1 ON LINE 867 cond_info.version = condition_info_version_1; 004405 aa 000001 2360 07 ldq 1,dl 004406 aa 6 02170 7561 00 stq pr6|1144 cond_info.version STATEMENT 1 ON LINE 868 cond_info.mc_ptr = null (); 004407 aa 773465 2370 04 ldaq -2251,ic 000074 = 077777000043 000001000000 004410 aa 6 02166 7571 00 staq pr6|1142 cond_info.mc_ptr STATEMENT 1 ON LINE 869 cond_info.wc_ptr = null (); 004411 aa 6 02204 7571 00 staq pr6|1156 cond_info.wc_ptr STATEMENT 1 ON LINE 870 cond_info.info_ptr = null (); 004412 aa 6 02202 7571 00 staq pr6|1154 cond_info.info_ptr STATEMENT 1 ON LINE 871 cond_info.user_loc_ptr = null (); 004413 aa 6 02212 7571 00 staq pr6|1162 cond_info.user_loc_ptr STATEMENT 1 ON LINE 872 pname1, pname2, pname3, tname1, tname2, linfo = ""; 004414 aa 040 100 100 400 mlr (),(pr),fill(040) 004415 aa 000000 00 0000 desc9a 0,0 004416 aa 6 00212 00 0764 desc9a pr6|138,500 pname1 004417 aa 040 100 100 400 mlr (),(pr),fill(040) 004420 aa 000000 00 0000 desc9a 0,0 004421 aa 6 00407 00 0764 desc9a pr6|263,500 pname2 004422 aa 040 100 100 400 mlr (),(pr),fill(040) 004423 aa 000000 00 0000 desc9a 0,0 004424 aa 6 00604 00 0764 desc9a pr6|388,500 pname3 004425 aa 040 100 100 400 mlr (),(pr),fill(040) 004426 aa 000000 00 0000 desc9a 0,0 004427 aa 6 01001 00 0764 desc9a pr6|513,500 tname1 004430 aa 040 100 100 400 mlr (),(pr),fill(040) 004431 aa 000000 00 0000 desc9a 0,0 004432 aa 6 01176 00 0764 desc9a pr6|638,500 tname2 004433 aa 6 01373 4501 00 stz pr6|763 linfo STATEMENT 1 ON LINE 874 if lsp = null () then lsp = find_condition_frame_ (null ()); 004434 aa 6 00162 6771 00 eraq pr6|114 lsp 004435 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 004436 aa 000014 6010 04 tnz 12,ic 004452 004437 aa 773435 3734 24 epp7 -2275,ic* 004440 aa 6 02506 6535 00 spri7 pr6|1350 004441 aa 6 02506 3521 00 epp2 pr6|1350 004442 aa 6 02512 2521 00 spri2 pr6|1354 004443 aa 6 00162 3521 00 epp2 pr6|114 lsp 004444 aa 6 02514 2521 00 spri2 pr6|1356 004445 aa 6 02510 6211 00 eax1 pr6|1352 004446 aa 010000 4310 07 fld 4096,dl 004447 aa 6 00044 3701 20 epp4 pr6|36,* 004450 la 4 00074 3521 20 epp2 pr4|60,* find_condition_frame_ 004451 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 876 call find_condition_info_ (lsp, addr (cond_info), code); 004452 aa 6 02166 3735 00 epp7 pr6|1142 cond_info 004453 aa 6 02506 6535 00 spri7 pr6|1350 004454 aa 6 00162 3521 00 epp2 pr6|114 lsp 004455 aa 6 02520 2521 00 spri2 pr6|1360 004456 aa 6 02506 3521 00 epp2 pr6|1350 004457 aa 6 02522 2521 00 spri2 pr6|1362 004460 aa 6 02236 3521 00 epp2 pr6|1182 code 004461 aa 6 02524 2521 00 spri2 pr6|1364 004462 aa 6 02516 6211 00 eax1 pr6|1358 004463 aa 014000 4310 07 fld 6144,dl 004464 aa 6 00044 3701 20 epp4 pr6|36,* 004465 la 4 00076 3521 20 epp2 pr4|62,* find_condition_info_ 004466 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 877 if code ^= 0 then do; 004467 aa 6 02236 2361 00 ldq pr6|1182 code 004470 aa 000006 6000 04 tze 6,ic 004476 STATEMENT 1 ON LINE 879 if code_flag then do; 004471 aa 6 02237 2351 00 lda pr6|1183 code_flag 004472 aa 776262 6000 04 tze -846,ic 002754 STATEMENT 1 ON LINE 881 a_code = code; 004473 aa 6 02232 3735 20 epp7 pr6|1178,* 004474 aa 7 00002 7561 20 stq pr7|2,* a_code STATEMENT 1 ON LINE 882 return; 004475 aa 6 02230 6101 00 rtcd pr6|1176 STATEMENT 1 ON LINE 883 end; STATEMENT 1 ON LINE 885 end; STATEMENT 1 ON LINE 887 condition_info_header_ptr = cond_info.info_ptr; 004476 aa 6 02202 3735 20 epp7 pr6|1154,* cond_info.info_ptr 004477 aa 6 02220 6535 00 spri7 pr6|1168 condition_info_header_ptr STATEMENT 1 ON LINE 888 end get_condition_info; 004500 aa 6 02230 6101 00 rtcd pr6|1176 END PROCEDURE get_condition_info BEGIN PROCEDURE terminate_process ENTRY TO terminate_process STATEMENT 1 ON LINE 890 terminate_process: procedure; 004501 da 000561200000 004502 aa 000140 6270 00 eax7 96 004503 aa 7 00034 3521 20 epp2 pr7|28,* 004504 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 004505 aa 000000000000 004506 aa 000000000000 STATEMENT 1 ON LINE 897 004507 aa 6 00100 4501 00 stz pr6|64 terminate_info.version STATEMENT 1 ON LINE 902 terminate_info.status_code = error_table_$unable_to_do_io; 004510 la 4 00112 2361 20 ldq pr4|74,* error_table_$unable_to_do_io 004511 aa 6 00101 7561 00 stq pr6|65 terminate_info.status_code STATEMENT 1 ON LINE 903 call terminate_process_ ("fatal_error", addr (terminate_info)); 004512 aa 773364 2370 04 ldaq -2316,ic 000076 = 146141164141 154137145162 004513 aa 6 00102 7571 00 staq pr6|66 004514 aa 773364 2350 04 lda -2316,ic 000100 = 162157162000 004515 aa 6 00104 7551 00 sta pr6|68 004516 aa 6 00100 3735 00 epp7 pr6|64 terminate_info 004517 aa 6 00106 6535 00 spri7 pr6|70 004520 aa 6 00102 3521 00 epp2 pr6|66 004521 aa 6 00112 2521 00 spri2 pr6|74 004522 aa 6 00106 3521 00 epp2 pr6|70 004523 aa 6 00114 2521 00 spri2 pr6|76 004524 aa 773305 3520 04 epp2 -2363,ic 000031 = 524000000013 004525 aa 6 00116 2521 00 spri2 pr6|78 004526 aa 773327 3520 04 epp2 -2345,ic 000055 = 464000000000 004527 aa 6 00120 2521 00 spri2 pr6|80 004530 aa 6 00110 6211 00 eax1 pr6|72 004531 aa 010000 4310 07 fld 4096,dl 004532 la 4 00110 3521 20 epp2 pr4|72,* terminate_process_ 004533 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 905 end terminate_process; 004534 aa 0 00631 7101 00 tra pr0|409 return_mac END PROCEDURE terminate_process END PROCEDURE dummy ----------------------------------------------------------- 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