COMPILATION LISTING OF SEGMENT edx_util_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-06-29_1716.94_Thu_mdt Options: optimize list 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Bull Inc., 1987 * 6* * * 7* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 8* * * 9* * Copyright (c) 1972 by Massachusetts Institute of * 10* * Technology and Honeywell Information Systems, Inc. * 11* * * 12* *********************************************************** */ 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(89-02-02,Huen), approve(89-02-02,MCR8057), audit(89-05-24,RWaters), 17* install(89-05-31,MR12.3-1051): 18* Fix Bug 203 in qedx 19* editor - Set up the wakeup table on the user_input switch when entering 20* append mode. 21* END HISTORY COMMENTS */ 22 23 /* format: off */ 24 25 /* Utility functions for Multics qedx Editor: handles input streams and manages buffers. */ 26 27 /* Initial coding by R. C. Daley, August 1970 */ 28 /* Latest change to use the search builtin and for large segments by M. A. Meer, August 1975 */ 29 /* Modified 9/9/81 by E. N. Kittlitz to remove b.default_len, clean up */ 30 /* Modifications to make qx efficient and change buffer operation by T. Oke, June 1980 */ 31 /* Modification to twbuf size to utilize the 512 character buffer length which is available. T. Oke 81-05-19 */ 32 /* Changes merged and edited 03/03/82 S. Herbst */ 33 /* Changed $list_buffers to list only modified buffers for quit query 04/16/82 S. Herbst */ 34 /* Fixed $read_ptr to use whole temp seg and not flush for long_record 04/29/82 S. Herbst */ 35 /* Modified: January 1983 by G. Palter as part of making qedx reentrant (includes using get/release_temp_segment_) */ 36 /* Modified April 1983 by K. Loepere to make run in Bootload Multics */ 37 /* Modified August 1983 by K. Loepere for new bce switches */ 38 /* Modified March 1985 by Keith Loepere to run in bce and Multics. */ 39 /* Modified Feb 1989 by S. Huen to set up the wakeup table on the user_input switch instead of the user_i/o switch when entering append mode. */ 40 41 /* format: on,style4,delnl,insnl,ifthenstmt,ifthen */ 42 43 edx_util_: 44 procedure; 45 46 dcl atp ptr; /* pointer to caller's input buffer */ 47 dcl code fixed bin (35); 48 dcl i fixed bin (21); 49 dcl indx fixed bin (17); /* index for special character after conceal */ 50 dcl j fixed bin (21); 51 dcl k fixed bin (21); 52 dcl ka fixed bin (21); 53 dcl ki fixed bin (21); 54 dcl kik fixed bin (21); 55 dcl kx fixed bin (21); /* check for special characters */ 56 dcl nelem fixed bin (21); /* maximum number of characters to read */ 57 dcl nelemt fixed bin (21); /* number of characters actually read (output) */ 58 dcl p ptr; /* temporary storage */ 59 dcl te fixed bin (21); 60 dcl ti fixed bin (21); 61 dcl tline char (512); /* NOTE: This variable can be no shorter than qedx's iline */ 62 dcl tp ptr; 63 64 dcl 1 edx_data aligned based (qid.edx_util_data_ptr), 65 2 cbname character (16), /* current buffer name */ 66 2 curp pointer, /* -> current input control block */ 67 2 level fixed binary, /* buffer recursion counter */ 68 2 top pointer, /* -> top of buffer stack (null for level 0) */ 69 2 swt aligned like swt_info; /* set_wakeup_table data */ 70 71 dcl NL char (1) static options (constant) init (" 72 "); 73 74 dcl special_char_string char (5) static options (constant) aligned init (" 75 \"); /* the string is \012 || \ || \c || \b || \r */ 76 77 dcl a_string char (sys_info$max_seg_size * 4) based aligned; 78 dcl wstring (sys_info$max_seg_size * 4) char (1) based; /* for use with iox_$put_chars */ 79 80 dcl error_table_$long_record fixed bin (35) ext; 81 dcl sys_info$max_seg_size fixed bin (18) external; 82 dcl sys_info$service_system bit (1) aligned external; 83 dcl bce_data$get_line entry (ptr, ptr, fixed bin (21), fixed bin (21), fixed bin (35)) external variable; 84 dcl bce_data$put_chars entry (ptr, ptr, fixed bin (21), fixed bin (35)) external variable; 85 dcl iox_$user_output external ptr; 86 dcl iox_$user_input external ptr; 87 88 dcl bce_check_abort entry; 89 dcl iox_$get_line entry (ptr, ptr, fixed bin (21), fixed bin (21), fixed bin (35)); 90 dcl iox_$put_chars entry (ptr, ptr, fixed bin (21), fixed bin (35)); 91 dcl ( 92 ioa_, 93 ioa_$ioa_switch, 94 com_err_ 95 ) entry options (variable), 96 iox_$control entry (ptr, char (*), ptr, fixed bin (35)), 97 iox_$modes entry (ptr, char (*), char (*), fixed bin (35)), 98 get_temp_segment_ entry (char (*), ptr, fixed bin (35)), 99 release_temp_segment_ entry (char (*), ptr, fixed bin (35)); 100 101 dcl (addr, divide, index, length, min, null, search, substr, string, unspec) builtin; 102 dcl (program_interrupt, sub_request_abort_) condition; 103 104 /* Initialize data required by an invocation of edx_util_: also initializes input stream, buffer 0, teletype buffer, and 105* gets the temporary segment used for buffer 0 */ 106 107 edx_init: 108 entry (P_qid_ptr, atwp, aifp, abp, acode); /* entry to initialize input stream and buffers */ 109 110 dcl P_qid_ptr pointer, /* -> qedx per-invocation data */ 111 atwp ptr, /* pointer to typewriter buffer (char(512)) */ 112 aifp ptr, /* pointer to buffer input file (output) */ 113 abp ptr, /* pointer to control block for buffer "0" (output) */ 114 acode fixed bin (35); /* error status code (output) */ 115 116 qid_ptr = P_qid_ptr; 117 118 allocate edx_data in (editor_area) set (qid.edx_util_data_ptr); 119 120 call get_temp_segment_ (qid.editor_name, aifp, acode); 121 if acode ^= 0 then do; /* could not create buffer 0 buffer */ 122 call com_err_ (acode, qid.editor_name, "Obtaining temporary space for buffer 0."); 123 return; 124 end; 125 126 top = null (); /* indicate buffer recursion stack is empty */ 127 level = 0; /* and set buffer level to 0 */ 128 cbname = "0"; /* set initial buffer name */ 129 130 b0.name = "0"; /* give it a name */ 131 b0.tw_sw = "0"b; 132 b0.next = null (); /* buffer "0" is first and only buffer on chain */ 133 b0.dp = aifp; /* initialize buffer "0" to input buffer file */ 134 b0.lb = 0; /* indicate that no data exists */ 135 if sys_info$service_system then 136 b0.de = 4 * 1024 * 4; /* indicate buffer empty */ 137 else b0.de = 4 * sys_info$max_seg_size; /* in bce, no need to grow buffers */ 138 b0.ft = b0.de + 1; 139 b0.default_path = ""; /* .. */ 140 b0.li = 1; /* no current line either */ 141 b0.le = 0; 142 b0.callers_idx = 0; 143 string (b0.flags) = ""b; 144 145 curp = addr (tw); /* set console typewriter as current input buffer */ 146 tw.name = "typewriter"; 147 tw.next = null (); 148 tw.dp = atwp; /* initialize pointer to tw buffer */ 149 tw.default_path = ""; /* no default path */ 150 tw.lb = 0; 151 tw.ft = 513; /* no top section */ 152 tw.de = 512; /* maximum tw buffer size */ 153 tw.li = 0; /* not used for tw */ 154 tw.le = 0; /* not used for tw */ 155 tw.ti = 1; /* force read by indicating buffer exhaust condition */ 156 tw.te = 0; /* .. */ 157 tw.tw_sw = "1"b; /* typewriter buffer switch (ON) */ 158 tw.callers_idx = 0; 159 string (tw.flags) = ""b; 160 161 if sys_info$service_system then do; 162 unspec (swt) = ""b; /* setup for cheap input later */ 163 swt.version = swt_info_version_1; 164 swt.new_table.wake_map (24), /* eb, octal 030 */ 165 swt.new_table.wake_map (25), /* ec, octal 031 */ 166 swt.new_table.wake_map (28), /* ef, octal 034 */ 167 swt.new_table.wake_map (30), /* er, octal 036 */ 168 swt.new_table.wake_map (92) = "1"b; /* backslash, octal 134 */ 169 call iox_$control (iox_$user_input, "set_wakeup_table", addr (swt), code); 170 end; 171 172 abp = addr (b0); /* return pointer to buffer "0" control block */ 173 acode = 0; /* indicate successful initialization */ 174 175 return; 176 177 /* Prime the terminal input buffer from the supplied string: setup length and pointer */ 178 179 prime: 180 entry (P_qid_ptr, pptr, plen); 181 182 dcl pptr ptr, /* pointer to string to place in tw input buffer */ 183 plen fixed bin (21); /* length of string to place in tw input buffer */ 184 185 qid_ptr = P_qid_ptr; 186 187 substr (tw.dp -> a_string, 1, plen) = substr (pptr -> a_string, 1, plen); 188 /* initialize tw input buffer */ 189 tw.ti = 1; /* .. */ 190 tw.te = plen; /* .. */ 191 tw.lb = plen; /* fill in first section */ 192 tw.ft = tw.de + 1; /* empty top */ 193 return; 194 195 /* Cleanup all data managed by edx_util_ */ 196 197 edx_cleanup: 198 entry (P_qid_ptr); 199 200 qid_ptr = P_qid_ptr; 201 if qid.edx_util_data_ptr = null () then return; /* nothing there */ 202 203 do while (level ^= 0); /* unwind buffer recursion stack */ 204 p = top; /* get pointer to top of stack */ 205 top = p -> sv.prev; /* find previous level */ 206 curp = p -> sv.bp; /* find previous buffer control block */ 207 free p -> sv in (editor_area); /* release top level of stack */ 208 level = level - 1; /* decrement recursion level count */ 209 end; 210 211 bp = addr (b0); /* start with buffer 0 */ 212 do while (bp ^= null ()); /* delete auxiliary buffers and free control blocks */ 213 p = b.next; /* pointer to next control block (if any) */ 214 call release_temp_segment_ (qid.editor_name, b.dp, (0)); 215 if bp ^= addr (b0) then free bp -> b in (editor_area); 216 bp = p; /* repeat for next buffer in chain (if any) */ 217 end; 218 219 if sys_info$service_system then do; 220 swt.new_table = swt.old_table; /* put back old table */ 221 call iox_$control (iox_$user_input, "set_wakeup_table", addr (swt), code); 222 end; 223 224 free qid.edx_util_data_ptr -> edx_data in (editor_area); 225 qid.edx_util_data_ptr = null (); 226 227 return; 228 229 /* Read_ptr is a moderately complex routine which will read data either 230* from the terminal, or from the supplied buffer. 231* 232* Read_ptr will also pop a buffer level with resetread if it empties the 233* buffer. 234* 235* Gap modifications are done to have the buffer divided into a lower and 236* upper half. Initially the lower half is processed, and when this is 237* exhausted, the upper half is tried. */ 238 239 240 read_ptr: 241 entry (P_qid_ptr, atp, nelem, nelemt); 242 243 qid_ptr = P_qid_ptr; 244 245 tp = atp; /* get pointer to caller's input buffer */ 246 te = nelem; /* also, get maximum characters to be read */ 247 if ^ sys_info$service_system then 248 on condition (sub_request_abort_) begin; 249 call resetread (qid_ptr); 250 go to restart; 251 end; 252 restart: 253 bp = curp; /* get pointer to current buffer control block */ 254 b.modified = b.modified & (b.default_path ^= ""); /* reading makes buffer unmodified if it has no pathname */ 255 ti = 1; /* start input into top of buffer */ 256 retry: 257 if ^ sys_info$service_system then call bce_check_abort; /* stop infinite loop */ 258 if b.ti > b.te then do; /* check if buffer being read is exhausted */ 259 if b.ti > b.lb & b.ti <= b.ft then do; /* move to top half */ 260 b.te = b.de; 261 b.ti = b.ft; 262 if b.ft <= b.de then goto retry; /* continue processing top half */ 263 end; 264 265 if b.tw_sw then do; /* was input from console typewriter (level 0) */ 266 if sys_info$service_system then 267 call iox_$get_line (iox_$user_input, b.dp, sys_info$max_seg_size * 4, b.te, code); 268 else call bce_data$get_line (addr (bce_data$get_line), b.dp, 256, b.te, code); 269 /* if so, refresh line from typewriter */ 270 if code ^= 0 then 271 if code ^= error_table_$long_record then do; 272 call com_err_ (code, qid.editor_name, "edx_util_$read_ptr"); 273 if sys_info$service_system then 274 call iox_$control (iox_$user_input, "resetread", null (), (0)); 275 b.ti = 1; /* re-start buffer */ 276 b.te = 0; /* setup to read again */ 277 go to retry; 278 end; 279 280 if b.te > b.de then b.de = 1024 * (divide (b.te, 1024, 21, 0) + 2); 281 b.ft = b.de + 1; /* make top section empty */ 282 b.lb = b.te; /* all text in bottom section */ 283 b.ti = 1; /* reset current read index */ 284 go to retry; /* and try again to read data to caller */ 285 end; 286 else do; /* here on end of buffer */ 287 call end_buffer (qid_ptr, (0)); /* pop buffer recursion level by one */ 288 bp = curp; /* re-establish previous buffer control block */ 289 go to retry; /* resume reading from previous buffer */ 290 end; 291 end; 292 k = search (substr (b.dp -> a_string, b.ti, (b.te - b.ti + 1)), special_char_string); 293 if k = 0 then do; 294 ki = (b.te - b.ti + 1); 295 copy_string: 296 substr (tp -> a_string, ti, ki) = substr (b.dp -> a_string, b.ti, ki); 297 ti = ti + ki; /* update input index */ 298 b.ti = b.ti + ki; /* update output index */ 299 if ki < k then 300 go to end_read; /* end of input buffer */ 301 else go to retry; /* get more */ 302 end; 303 304 if ti + k - 1 > te then do; 305 ki = te - ti + 1; 306 go to copy_string; 307 end; 308 309 kx = index (special_char_string, substr (b.dp -> a_string, b.ti + k - 1, 1)); 310 /* found which one */ 311 go to rd_case (kx); 312 313 rd_case (1): /* found an new line */ 314 substr (tp -> a_string, ti, k) = substr (b.dp -> a_string, b.ti, k); 315 /* copy thru new line */ 316 ti = ti + k - 1; /* update input index */ 317 b.ti = b.ti + k; /* update output index */ 318 nelemt = ti; 319 return; 320 321 rd_case (2): /* found an escape character "\" */ 322 if b.ti + k <= b.te then do; 323 ka = 1; /* possible two character symbol */ 324 kik = index ("cbrCBR", substr (b.dp -> a_string, b.ti + k, 1)); 325 /* if so, what is second character */ 326 if kik = 0 then do; 327 ki = k; 328 go to copy_string; 329 end; 330 go to rd_action (kik); /* go take appropriate action */ 331 end; 332 else go to past_end_of_input; 333 334 rd_case (3): /* single character conceal */ 335 ka = 0; 336 rd_action (1): 337 rd_action (4): 338 rd_conceal: 339 if b.ti + k + ka > b.te then do; /* beyond end of input */ 340 past_end_of_input: 341 k = 0; 342 ki = b.te - b.ti + 1; /* ignore action */ 343 go to copy_string; 344 end; 345 346 indx = index (special_char_string, substr (b.dp -> a_string, b.ti + k + ka, 1)); 347 348 if indx = 2 then do; /* found \ */ 349 /* is this a two character special */ 350 if index ("bcfrBCFR", substr (b.dp -> a_string, b.ti + k + ka + 1, 1)) ^= 0 then 351 ki = k + ka + 1; /* set for two character special */ 352 else ki = k + ka; /* not a special */ 353 go to copy_string; 354 end; 355 356 else if indx = 3 then do; /* single character conceal */ 357 ki = k + ka + 1; /* keep it */ 358 go to copy_string; 359 end; 360 361 else if indx ^= 0 /* some other special ? */ 362 then 363 go to add_special; /* single character special */ 364 365 else do; /* no special */ 366 ki = k + ka; /* set copy length */ 367 go to copy_string; 368 end; 369 370 371 add_special: 372 substr (tp -> a_string, ti, k) = 373 substr (b.dp -> a_string, b.ti, k - 1) || substr (b.dp -> a_string, b.ti + k + ka, 1); 374 /* copy thru special character */ 375 b.ti = b.ti + k + ka + 1; /* update input index */ 376 ti = ti + k; /* update output index */ 377 go to retry; /* try for more */ 378 379 380 rd_case (4): /* insert contents of buffer */ 381 ka = 0; 382 rd_action (2): 383 rd_action (5): 384 rd_exp_buff: 385 substr (tp -> a_string, ti, k - 1) = substr (b.dp -> a_string, b.ti, k - 1); 386 /* copy up to buffer expansion */ 387 ti = ti + k - 1; /* update output index */ 388 b.ti = b.ti + k + ka; /* update input index */ 389 rd_buff: 390 call find_buffer (b.dp, b.ti, b.te, p, "0"b); /* try to find named buffer */ 391 if p = null () then do; /* error if named buffer does not already exist */ 392 rd_err: 393 call resetread (qid_ptr); /* reset back to typewriter level (level 0) */ 394 go to restart; /* and restart this call from scratch */ 395 end; 396 if level > 500 then go to rd_err; /* check buffer recursion level */ 397 level = level + 1; /* bump recursion level */ 398 curp = p; /* make new buffer control block the current block */ 399 allocate sv in (editor_area) set (p); /* save current level of buffer recursion */ 400 p -> sv.prev = top; /* save current ptr to top of stack */ 401 p -> sv.bp = bp; /* save ptr to current buffer control block */ 402 p -> sv.ti = b.ti; /* save current position in current buffer */ 403 p -> sv.te = b.te; /* .. */ 404 top = p; /* push buffer recursion stack */ 405 bp = curp; /* set ptr to new current buffer control block */ 406 b.ti = 1; /* initialize buffer read index */ 407 b.te = b.lb; /* set index of last character in lower half of buffer */ 408 b.modified = b.modified & (b.default_path ^= ""); /* reading makes buffer unmodified if it has no pathname */ 409 go to retry; /* resume reading after processing */ 410 411 412 rd_case (5): /* read from console one line */ 413 ka = 0; 414 rd_action (3): 415 rd_action (6): 416 rd_read: 417 substr (tp -> a_string, ti, k - 1) = substr (b.dp -> a_string, b.ti, k - 1); 418 /* copy up to special symbol */ 419 b.ti = b.ti + k + ka; /* update input index */ 420 ti = ti + k - 1; /* update output index */ 421 422 if sys_info$service_system then 423 call iox_$modes (iox_$user_input, "^wake_tbl", "", (0)); 424 /* exit cheap input */ 425 read_one_line: /* NOTE modification here limits amount able to be read to remainder possible in 426* buffer. */ 427 if sys_info$service_system then 428 call iox_$get_line (iox_$user_input, addr (tline), min (length (tline), te - ti + 1), j, code); 429 else call bce_data$get_line (addr (bce_data$get_line), addr (tline), min (length (tline), te - ti + 1), j, code); 430 if code ^= 0 /* error reading from typewriter */ 431 then do; 432 call com_err_ (code, qid.editor_name, "edx_util_$read_ptr read one line - PLEASE RE-ENTER LINE"); 433 if sys_info$service_system then 434 call iox_$control (iox_$user_input, "resetread", null (), (0)); 435 go to read_one_line; 436 end; 437 438 substr (tp -> a_string, ti, j) = tline; /* move as much as will fit to caller's buffer */ 439 te = ti + j - 1; /* number of characters moved */ 440 go to end_read; /* and terminate the read call */ 441 442 end_read: 443 nelemt = te; /* here if caller's buffer full, return characters read */ 444 return; /* and return */ 445 446 /* Pops the buffer recursion level by one and returns the new (old) buffer */ 447 448 end_buffer: 449 entry (P_qid_ptr, ecode); 450 451 dcl ecode fixed bin; /* error code, 1= already at level 0, 0= ok */ 452 453 qid_ptr = P_qid_ptr; 454 455 if level = 0 then do; /* check recursion level */ 456 ecode = 1; /* error if level already 0 */ 457 return; /* return error condition to caller */ 458 end; 459 level = level - 1; /* decrement recursion level */ 460 p = top; /* pop buffer stack one level */ 461 top = p -> sv.prev; /* .. restore previous level */ 462 curp, bp = p -> sv.bp; /* .. restore previous buffer control block */ 463 b.ti = p -> sv.ti; /* .. restore current line index within buffer */ 464 b.te = p -> sv.te; /* .. */ 465 free p -> sv in (editor_area); /* release current stack level */ 466 ecode = 0; /* indicate that all is ok */ 467 return; /* and return to caller */ 468 469 /* Flush read-ahead: output unexecuted portion of current buffer (if any), revert input back to the terminal, and 470* perform a resetread on the terminal itself */ 471 472 resetread: 473 entry (P_qid_ptr); 474 475 qid_ptr = P_qid_ptr; 476 477 if level ^= 0 then do; /* if buffer recursion level > 0 */ 478 bp = curp; /* get pointer to current buffer control block */ 479 call ioa_ ("Error in buffer (^a) at level ^d.", b.name, level); 480 if sys_info$service_system then 481 on condition (program_interrupt) go to prskip; 482 else on condition (sub_request_abort_) go to prskip; 483 /* set up program interrupt handler */ 484 485 if b.ti > b.lb & b.ti < b.ft then b.ti = b.ft; 486 /* move across gap */ 487 if b.de > b.ft then 488 b.te = b.de; 489 else b.te = b.lb; 490 if b.te <= b.lb | b.ti >= b.ft then do; /* portion addressed is purely in bottom or top */ 491 i = b.te - b.ti + 1; 492 if i > 0 then do; 493 call ioa_ ("Unexecuted lines in buffer:"); 494 if sys_info$service_system then 495 call iox_$put_chars (iox_$user_output, addr (b.dp -> wstring (b.ti)), i, code); 496 else call bce_data$put_chars (addr (bce_data$put_chars), addr (b.dp -> wstring (b.ti)), i, code); 497 end; /* print specified portion of buffer on user's console */ 498 end; 499 else if b.ti <= b.lb then do; /* top in top, bottom in bottom */ 500 i = b.te - b.ft + 1 + b.lb - b.ti; 501 if i > 0 then do; 502 call ioa_ ("Unexecuted lines in buffer:"); 503 if sys_info$service_system then do; 504 call iox_$put_chars (iox_$user_output, addr (b.dp -> wstring (b.ti)), b.lb - b.ti + 1, code); 505 call iox_$put_chars (iox_$user_output, addr (b.dp -> wstring (b.ft)), b.te - b.ft + 1, code); 506 end; 507 else do; 508 call bce_data$put_chars (addr (bce_data$put_chars), addr (b.dp -> wstring (b.ti)), b.lb - b.ti + 1, code); 509 call bce_data$put_chars (addr (bce_data$put_chars), addr (b.dp -> wstring (b.ft)), b.te - b.ft + 1, code); 510 end; /* print specified portion of buffer on user's console */ 511 end; /* print specified portion of buffer on user's console */ 512 end; 513 prskip: 514 if sys_info$service_system then 515 revert condition (program_interrupt); 516 else revert condition (sub_request_abort_); 517 do while (level ^= 0); /* release buffer recursion stack */ 518 p = top; /* get pointer to top of stack */ 519 top = p -> sv.prev; /* find previous level */ 520 curp = p -> sv.bp; /* find previous buffer control block */ 521 free p -> sv in (editor_area); /* release top level of stack */ 522 level = level - 1; /* decrement recursion level */ 523 end; 524 call ioa_ ("^/Current buffer is (^a) at level 0. ^/", cbname); 525 end; 526 527 bp = curp; /* get pointer to level 0 control block */ 528 b.ti = 1; /* reset current line index */ 529 b.te = 0; /* .. to give buffer exhaust and re-read from typwriter */ 530 531 if sys_info$service_system then 532 call iox_$control (iox_$user_input, "resetread", null (), code); 533 /* reset "user_input" I/O stream */ 534 return; 535 536 /* Get a buffer from existing buffers or create one */ 537 538 get_buffer: 539 entry (P_qid_ptr, gtp, gti, gte, gtname, gtbp); 540 541 dcl gtp ptr, /* pointer to string containing buffer name */ 542 gti fixed bin (21), /* index of first character of buffer name */ 543 gte fixed bin (21), /* index of last character in string */ 544 gtname char (16), /* buffer name (returned) */ 545 gtbp ptr; /* pointer to buffer control block (returned) */ 546 547 qid_ptr = P_qid_ptr; 548 549 call find_buffer (gtp, gti, gte, bp, "1"b); /* find (or create) buffer control block */ 550 if bp = null () then do; /* reflect errors to caller if any */ 551 gtbp = null (); /* .. */ 552 return; /* and return */ 553 end; 554 gtbp = bp; /* otherwise, return pointer to buffer control block */ 555 gtname = b.name; /* return buffer name */ 556 cbname = b.name; /* save it here also */ 557 558 return; 559 560 /* Locate the specified buffer creating it if necessary */ 561 562 locate_buffer: 563 entry (P_qid_ptr, gtname, gtbp); 564 565 qid_ptr = P_qid_ptr; 566 567 call locate_buffer (gtname, bp, "1"b); /* find (or create) buffer control block */ 568 if bp = null () then do; /* reflect errors to caller if any */ 569 gtbp = null (); /* .. */ 570 return; /* and return */ 571 end; 572 gtbp = bp; /* otherwise, return pointer to buffer control block */ 573 cbname = b.name; /* save it here also */ 574 575 return; 576 577 dcl P_current_buffer character (16) parameter; 578 dcl (P_iocb_ptr, P_bp) pointer parameter; 579 dcl list_only_modified bit (1) aligned; 580 581 582 /* List status of all buffers */ 583 584 list_buffers: 585 entry (P_qid_ptr, P_current_buffer, P_iocb_ptr); 586 587 list_only_modified = "0"b; 588 go to BEGIN_LIST_BUFFERS; 589 590 591 /* List status of only those buffers which have been modified since the last write */ 592 593 list_modified_buffers: 594 entry (P_qid_ptr, P_current_buffer, P_iocb_ptr); 595 596 list_only_modified = "1"b; 597 go to BEGIN_LIST_BUFFERS; 598 599 BEGIN_LIST_BUFFERS: 600 qid_ptr = P_qid_ptr; 601 602 bp = addr (b0); /* get pointer to first buffer control block */ 603 do while (bp ^= null ()); /* list status of all buffers */ 604 call list_one_buffer (); 605 bp = b.next; /* get pointer to next control block (if any) */ 606 end; 607 return; /* return to caller */ 608 609 /* List status of a single buffer */ 610 611 list_single_buffer: 612 entry (P_qid_ptr, P_current_buffer, P_iocb_ptr, P_bp); 613 614 qid_ptr = P_qid_ptr; 615 list_only_modified = "0"b; 616 bp = P_bp; 617 618 call list_one_buffer (); /* does all the work */ 619 620 return; 621 622 /* Internal procedure which lists a single buffer (called by several different entrypoints) */ 623 624 list_one_buffer: 625 procedure (); 626 627 dcl (n_lines, start, nl_idx) fixed binary (21); 628 629 n_lines = 0; 630 631 if (b.de < b.ft) & (b.lb < 1) then /* don't need to count lines in an empty buffer */ 632 go to DISPLAY_BUFFER_STATUS; 633 634 start = 1; /* count lines in the buffer */ 635 do while (start <= b.de); 636 if (start > b.lb) & (start < b.ft) then /* switch to upper half of buffer */ 637 start = b.ft; 638 if start >= b.ft then /* search for next newline */ 639 nl_idx = index (substr (b.dp -> a_string, start, (b.de - start)), NL); 640 else nl_idx = index (substr (b.dp -> a_string, start, (b.lb - start)), NL); 641 if nl_idx ^= 0 then /* found a newline: move past it */ 642 start = start + nl_idx; 643 else if start >= b.ft then /* no more newlines in upper half: terminate the loop */ 644 start = b.de + 1; 645 else start = b.ft; /* no more newlines in lower half: move to upper */ 646 n_lines = n_lines + 1; /* count the line */ 647 end; 648 649 DISPLAY_BUFFER_STATUS: 650 if b.modified | ^list_only_modified then 651 call ioa_$ioa_switch (P_iocb_ptr, "^6d ^[->^;^2x^] ^[mod^;^3x^] (^a) ^[[untrusted] ^]^a", n_lines, 652 (b.name = P_current_buffer), (b.modified & ^list_only_modified), b.name, b.default_untrusted, 653 b.default_path); 654 655 return; 656 657 end list_one_buffer; 658 659 /* Check for modified buffers */ 660 661 modified_buffers: 662 entry (P_qid_ptr) returns (bit (1)); 663 664 qid_ptr = P_qid_ptr; 665 666 bp = addr (b0); /* start with the standard buffer */ 667 668 do while (bp ^= null ()); 669 670 if (b.de < b.ft) & (b.lb < 1) then /* ignore empty buffers */ 671 go to IGNORE_THIS_BUFFER; 672 673 if b.modified then do; /* a candidate... */ 674 if b.callers_idx ^= 0 then 675 if qid.qedx_info_ptr -> qedx_info.buffers (b.callers_idx).auto_write then 676 go to IGNORE_THIS_BUFFER; /* ... but it's gonna get written automaticaly */ 677 return ("1"b); /* ... found one */ 678 end; 679 680 IGNORE_THIS_BUFFER: /* try next buffer */ 681 bp = b.next; 682 end; 683 684 return ("0"b); /* can only get here if all not modified */ 685 686 /* Extract buffer name and find (or create) buffer */ 687 688 find_buffer: 689 procedure (ftp, fti, fte, fbp, crsw); 690 691 dcl ftp ptr, /* pointer to string containing buffer name */ 692 fti fixed bin (21), /* index in string to first character of buffer name */ 693 fte fixed bin (21), /* index of last character of string */ 694 fbp ptr, /* pointer to buffer control block if found (returned) */ 695 crsw bit (1), /* create switch ("1"b = create if not found) */ 696 p_name char (16); /* used by locate_buffer entrypoint */ 697 698 dcl lbp ptr, /* temporary storage */ 699 (i, j, l) fixed bin (21), 700 tch char (1), 701 tname char (16); 702 703 do fti = fti to fte; /* skip blanks */ 704 tch = substr (ftp -> a_string, fti, 1); /* get a character */ 705 if tch ^= " " then go to get_name; /* jump out on first non-blank character */ 706 end; 707 buf_err: 708 call ioa_ ("Syntax error in buffer name."); 709 fbp = null (); /* indicate error by returning null pointer */ 710 return; /* return to caller */ 711 712 get_name: 713 if tch ^= "(" /* if one character buffer name given */ 714 then 715 if tch ^= NL then do; 716 tname = tch; /* pick up single character name */ 717 fti = fti + 1; /* skip index over buffer name */ 718 end; 719 else go to buf_err; 720 else do; /* if multiple characters in name */ 721 l = fte - fti; /* find end of buffer name */ 722 if l < 2 then go to buf_err; /* by looking for matching ")" */ 723 i = fti + 1; /* start search next character after " (" */ 724 j = index (substr (ftp -> a_string, i, l), ")"); 725 /* look for ")" */ 726 if j < 2 then go to buf_err; /* error if not found or null buffer name */ 727 fti = i + j; /* move line index after ")" */ 728 tname = substr (ftp -> a_string, i, (j - 1));/* pick up buffer name */ 729 end; 730 go to SKIP_LOCATE_BUFFER_ENTRY; 731 732 733 /* Locates the buffer whose name is given */ 734 735 locate_buffer: 736 entry (p_name, fbp, crsw); 737 738 tname = p_name; 739 740 SKIP_LOCATE_BUFFER_ENTRY: 741 fbp = addr (b0); /* search existing buffers for buffer name */ 742 do while (fbp ^= null ()); /* .. */ 743 if fbp -> b.name = tname then return; /* if found, return pointer to buffer's control block */ 744 lbp = fbp; /* save pointer to this control block */ 745 fbp = fbp -> b.next; /* and move to next buffer (if any) in list */ 746 end; 747 if ^crsw then do; /* not found, take error return if crsw = "0"b */ 748 call ioa_ ("Buffer (^a) not found.", tname); 749 return; /* return with control block ptr (fbp) = null */ 750 end; 751 allocate b in (editor_area) set (fbp); /* otherwise, try to create new buffer */ 752 call get_temp_segment_ (qid.editor_name, fbp -> b.dp, code); 753 if code ^= 0 then do; /* if failed to create buffer */ 754 free fbp -> b in (editor_area); /* free buffer control block */ 755 call com_err_ (code, qid.editor_name, "Obtaining temporary space for buffer ^a.", tname); 756 fbp = null (); /* indicate failure by returning null pointer to caller */ 757 return; /* return to caller */ 758 end; 759 lbp -> b.next = fbp; /* buffer created, thread with previous control block */ 760 fbp -> b.name = tname; /* initialize new buffer control block */ 761 fbp -> b.next = null (); /* .. (now last block in chain) */ 762 fbp -> b.lb = 0; /* buffer is empty low */ 763 if sys_info$service_system then 764 fbp -> b.de = 4 * 4 * 1024; /* .. current buffer size */ 765 else fbp -> b.de = 4 * sys_info$max_seg_size; /* don't grow bce segs */ 766 fbp -> b.li = 1; /* .. current line index */ 767 fbp -> b.ft = fbp -> b.de + 1; /* buffer is empty high */ 768 fbp -> b.le = 0; /* .. current line end */ 769 fbp -> b.tw_sw = "0"b; /* .. current typewriter switch */ 770 fbp -> b.default_path = ""; /* .. current default pathname */ 771 fbp -> b.callers_idx = 0; /* .. don't know if caller asked us to create it yet */ 772 string (fbp -> b.flags) = ""b; /* .. all flags are off in the default state */ 773 774 return; 775 776 end find_buffer; 777 1 1 /* BEGIN INCLUDE FILE ... qedx_internal_data.incl.pl1 */ 1 2 /* Created: January 1983 by G. Palter */ 1 3 1 4 /* Data used by a single invocation of qedx or qedx_ */ 1 5 1 6 dcl 1 qid aligned based (qid_ptr), 1 7 2 editor_name character (72) unaligned, /* name of the editor (eg: "send_mail (qedx)") */ 1 8 2 editor_area_ptr pointer, /* -> area used to allocate data */ 1 9 2 qedx_info_ptr pointer, /* -> caller's definition of this qedx invocation */ 1 10 2 edx_util_data_ptr pointer, /* -> data used by edx_util_ */ 1 11 2 regexp_data_ptr pointer, /* -> data used by qx_search_file_ */ 1 12 2 flags, 1 13 3 no_rw_path bit (1) unaligned, 1 14 3 query_if_modified bit (1) unaligned, 1 15 3 pad bit (34) unaligned, 1 16 2 b0 like b, /* buffer 0 */ 1 17 2 tw like b; /* typewriter buffer */ 1 18 1 19 dcl qid_ptr pointer; 1 20 1 21 dcl editor_area area based (qid.editor_area_ptr); 1 22 1 23 1 24 /* Description of an element of the buffer recursion stack */ 1 25 1 26 dcl 1 sv based aligned, 1 27 2 prev pointer, /* pointer to previous element in stack */ 1 28 2 bp pointer, /* pointer to control block for this element */ 1 29 2 (ti, te) fixed binary (21); /* saved copies of buffer read indexes */ 1 30 1 31 /* Description of a single qedx buffer: Buffers are managed in two sections, a top and a bottom. The gap between the 1 32* sections is the end of the current line, and permits easy insertion and deletion of text, without extraineous data 1 33* movement. 1 34* 1 35* An empty section is indicated when the pointers are out-of-sequence. For example for the bottom section if lb 1 36* (last_bottom) is < 1 then the bottom is empty. If ft (first_top) is > (file_end) then the top is empty. 1 37* 1 38* In addition only one temporary file is needed to support operations on the buffers 1 39* 1 40* Line and range pointers: 1 41* li - Start index of current line. 1 42* le - End index of current line. Points to NL. 1 43* 1 44* lli - Start index of last line of range. 1 45* lle - End index of last line of range. Points to NL. 1 46* 1 47* fli - Start index of first line of range. 1 48* fle - End index of first line of range. 1 49* 1 50* Gapped buffer standards: 1 51* 1 - Start index of buffer. 1 52* ilb - End index of first part of buffer. Should point to NL. 1 53* ift - Start index of second part of buffer. 1 54* ife - End index of buffer. Should be one of: 1024*4*4, 1024*4*16, 1024*4*64, or 1024*4*255; 1 55* 1 56* Gapped standards permit the range to split across the gap, but a line of text cannot split across the gap. Therefore 1 57* when the gap is moved one should also move li and le if they are in the moved section of buffer. 1 58* 1 59* The gap, when processing insert, delete, change, substitute, is either immediately before, or immediately after the 1 60* range specified. This is dependant upon the type of operation. I/O such as writing and printing of buffer contents, 1 61* or searching and line indexing is done without moving the gap, and is done in sections as appropriate for the current 1 62* operational positioning and the current gap position */ 1 63 1 64 dcl 1 b based (bp) aligned, 1 65 2 name character (16), /* buffer name */ 1 66 2 next pointer, /* pointer to next buffer control block (if any) */ 1 67 2 dp pointer, /* pointer to beginning of buffer data */ 1 68 2 default_path character (256), /* default output pathname for this buffer */ 1 69 2 lb fixed binary (21), /* index of last character of bottom section */ 1 70 2 ft fixed binary (21), /* index of first character of top section */ 1 71 2 de fixed binary (21), /* index of last character in buffer */ 1 72 2 li fixed binary (21), /* index of first character of current line */ 1 73 2 le fixed binary (21), /* index of last character of current line */ 1 74 2 ti fixed binary (21), /* index of next char. to be read from buffer */ 1 75 2 te fixed binary (21), /* index of last char. of line being read from buffer */ 1 76 2 tw_sw bit (1), /* typewriter buffer switch (OFF for normal buffers) */ 1 77 2 callers_idx fixed binary, /* index in caller's qedx_info.buffers of this buffer */ 1 78 2 flags, 1 79 3 modified bit (1) unaligned, /* buffer has been modified since last write */ 1 80 3 default_was_region bit (1) unaligned, /* default pathname was originally caller's region */ 1 81 3 default_is_region bit (1) unaligned, /* default pathname is currently caller's region */ 1 82 3 default_locked bit (1) unaligned, /* default pathname can not be changed by r/w requests */ 1 83 3 default_untrusted bit (1) unaligned, /* buffer pathname is not trustworthy */ 1 84 3 pad bit (31) unaligned; 1 85 1 86 dcl bp pointer; 1 87 1 88 /* END INCLUDE FILE ... qedx_internal_data.incl.pl1 */ 778 779 2 1 /* BEGIN INCLUDE FILE ... qedx_info.incl.pl1 */ 2 2 /* Created: January 1983 by G. Palter */ 2 3 2 4 /* Data structure which supplies input/output arguments to qedx_ subroutine */ 2 5 2 6 dcl 1 qedx_info aligned based (qedx_info_ptr), 2 7 2 header, /* allows use of like to build automatic version */ 2 8 3 version character (8), 2 9 3 editor_name character (72) unaligned, 2 10 3 buffer_io entry (pointer, bit (1) aligned), /* procedure invoked to read/write an editor buffer */ 2 11 3 flags, 2 12 4 no_rw_path bit (1) unaligned, /* ON => no r/w may use a pathname and R/W are illegal */ 2 13 4 query_if_modified bit (1) unaligned, /* ON => query on exit if modified buffers exist */ 2 14 4 caller_does_io bit (1) unaligned, /* ON => caller does actual work of read/write requests */ 2 15 4 quit_forced bit (1) unaligned, /* set ON => user used Q or asked to punt modified buffers */ 2 16 4 buffers_truncated bit (1) unaligned, /* set ON => some editing lost when written */ 2 17 4 pad bit (29) unaligned, 2 18 3 n_buffers fixed binary, /* # of buffers supplied by caller */ 2 19 2 buffers (qedx_info_n_buffers refer (qedx_info.n_buffers)), 2 20 3 buffer_name character (16) unaligned, /* name of the buffer */ 2 21 3 buffer_pathname character (256) unaligned, /* initial default pathname of buffer */ 2 22 3 region_ptr pointer, /* -> caller's optional region */ 2 23 3 region_max_lth fixed binary (21), /* # of characters which will fit in caller's region */ 2 24 3 region_initial_lth fixed binary (21), /* # of characters in caller's region for initial read */ 2 25 3 region_final_lth fixed binary (21), /* set to # of characters placed in caller's region on exit */ 2 26 3 flags, 2 27 4 read_write_region bit (1) unaligned, /* ON => use caller's region as default for read/write; 2 28* OFF => use file specified by pathname as default */ 2 29 4 locked_pathname bit (1) unaligned, /* ON => read/write will never change default pathname or 2 30* prevent qedx from trusting the default path; 2 31* OFF => read with pathname sets ^trusted and write with 2 32* pathname changes the default */ 2 33 4 execute_buffer bit (1) unaligned, /* ON => execute it's contents before reading from terminal */ 2 34 /*** following switches apply only when read_write_region is ON ... */ 2 35 4 default_read_ok bit (1) unaligned, /* ON => r without explicit pathname is OK */ 2 36 4 default_write_ok bit (1) unaligned, /* ON => w without explicit pathname is OK */ 2 37 4 auto_write bit (1) unaligned, /* ON => automatically write buffer contents on "q" */ 2 38 4 truncated bit (1) unaligned, /* set ON => edited version is too long for caller's region */ 2 39 4 pad bit (29) unaligned; 2 40 2 41 dcl qedx_info_ptr pointer; 2 42 dcl qedx_info_n_buffers fixed binary; /* needed to allocate above structure */ 2 43 2 44 dcl QEDX_INFO_VERSION_1 character (8) static options (constant) initial ("qxi_01.1"); 2 45 2 46 /* END INCLUDE FILE ... qedx_info.incl.pl1 */ 780 781 3 1 /* BEGIN INCLUDE FILE ... set_wakeup_table_info.incl.pl1 */ 3 2 3 3 /* Created 3/1/79 by J. Stern */ 3 4 3 5 3 6 dcl swt_infop ptr; 3 7 dcl swt_info_version_1 fixed bin static options (constant) init (1); 3 8 3 9 dcl 1 swt_info aligned based (swt_infop), /* info structure for set_wakeup_table control order */ 3 10 2 version fixed bin, /* version number of this structure */ 3 11 2 new_table like wakeup_table, /* wakeup table to set */ 3 12 2 old_table like wakeup_table; /* previous wakeup table */ 3 13 3 14 dcl wakeup_tablep ptr; 3 15 3 16 dcl 1 wakeup_table aligned based (wakeup_tablep), 3 17 2 wake_map (0:127) bit (1) unal, /* bit i ON if ith char is wakeup char */ 3 18 2 mbz bit (16) unal; 3 19 3 20 3 21 /* END INCLUDE FILE ... set_wakeup_table_info.incl.pl1 */ 782 783 784 end edx_util_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 06/29/00 1716.9 edx_util_.pl1 >udd>sm>ds>w>ml>edx_util_.pl1 778 1 05/04/83 1217.9 qedx_internal_data.incl.pl1 >ldd>incl>qedx_internal_data.incl.pl1 780 2 05/04/83 1218.0 qedx_info.incl.pl1 >ldd>incl>qedx_info.incl.pl1 782 3 04/27/79 1715.0 set_wakeup_table_info.incl.pl1 >ldd>incl>set_wakeup_table_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. NL constant char(1) initial packed unaligned dcl 71 ref 638 640 712 P_bp parameter pointer dcl 578 ref 611 616 P_current_buffer parameter char(16) packed unaligned dcl 577 ref 584 593 611 649 P_iocb_ptr parameter pointer dcl 578 set ref 584 593 611 649* P_qid_ptr parameter pointer dcl 110 ref 107 116 179 185 197 200 240 243 448 453 472 475 538 547 562 565 584 593 599 611 614 661 664 a_string based char dcl 77 set ref 187* 187 292 295* 295 309 313* 313 324 346 350 371* 371 371 382* 382 414* 414 438* 638 640 704 724 728 abp parameter pointer dcl 110 set ref 107 172* acode parameter fixed bin(35,0) dcl 110 set ref 107 120* 121 122* 173* addr builtin function dcl 101 ref 145 169 169 172 211 215 221 221 268 268 425 425 429 429 429 429 494 494 496 496 496 496 504 504 505 505 508 508 508 508 509 509 509 509 602 666 740 aifp parameter pointer dcl 110 set ref 107 120* 133 atp parameter pointer dcl 46 ref 240 245 atwp parameter pointer dcl 110 ref 107 148 auto_write 143(05) based bit(1) array level 4 packed packed unaligned dcl 2-6 ref 674 b based structure level 1 dcl 1-64 set ref 215 751 754 b0 34 based structure level 2 dcl 1-6 set ref 172 211 215 602 666 740 bce_check_abort 000026 constant entry external dcl 88 ref 256 bce_data$get_line 000016 external static entry variable dcl 83 set ref 268 268 268 429 429 429 bce_data$put_chars 000020 external static entry variable dcl 84 set ref 496 496 496 508 508 508 509 509 509 bp 000340 automatic pointer dcl 1-86 in procedure "edx_util_" set ref 211* 212 213 214 215 215 216* 252* 254 254 254 258 258 259 259 259 259 260 260 261 261 262 262 265 266 266 268 268 275 276 280 280 280 280 281 281 282 282 283 288* 292 292 292 292 294 294 295 295 298 298 309 309 313 313 317 317 321 321 324 324 336 336 342 342 346 346 350 350 371 371 371 371 375 375 382 382 388 388 389 389 389 401 402 403 405* 406 407 407 408 408 408 414 414 419 419 462* 463 464 478* 479 485 485 485 485 485 485 487 487 487 487 489 489 490 490 490 490 491 491 494 494 494 494 496 496 496 496 499 499 500 500 500 500 504 504 504 504 504 504 505 505 505 505 505 505 508 508 508 508 508 508 509 509 509 509 509 509 527* 528 529 549* 550 554 555 556 567* 568 572 573 602* 603 605* 605 616* 631 631 631 635 636 636 636 638 638 638 640 640 643 643 645 649 649 649 649 649 649 666* 668 670 670 670 673 674 674 680* 680 bp 2 based pointer level 2 in structure "sv" dcl 1-26 in procedure "edx_util_" set ref 206 401* 462 520 buffers 32 based structure array level 2 dcl 2-6 callers_idx 154 based fixed bin(17,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 142* callers_idx 276 based fixed bin(17,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 158* callers_idx 120 based fixed bin(17,0) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 674 674 771* cbname based char(16) level 2 dcl 64 set ref 128* 524* 556* 573* code 000100 automatic fixed bin(35,0) dcl 47 set ref 169* 221* 266* 268* 270 270 272* 425* 429* 430 432* 494* 496* 504* 505* 508* 509* 531* 752* 753 755* com_err_ 000040 constant entry external dcl 91 ref 122 272 432 755 crsw parameter bit(1) packed unaligned dcl 691 ref 688 735 747 curp 4 based pointer level 2 dcl 64 set ref 145* 206* 252 288 398* 405 462* 478 520* 527 de 112 based fixed bin(21,0) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 260 262 280 280* 281 487 487 631 635 638 643 670 763* 765* 767 de 270 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 152* 192 de 146 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 135* 137* 138 default_path 10 based char(256) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 254 408 649* 770* default_path 166 based char(256) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 149* default_path 44 based char(256) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 139* default_untrusted 121(04) based bit(1) level 3 packed packed unaligned dcl 1-64 set ref 649* divide builtin function dcl 101 ref 280 dp 42 based pointer level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 133* dp 6 based pointer level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 214* 266* 268* 292 295 309 313 324 346 350 371 371 382 389* 414 494 494 496 496 504 504 505 505 508 508 509 509 638 640 752* dp 164 based pointer level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 148* 187 ecode parameter fixed bin(17,0) dcl 451 set ref 448 456* 466* editor_area based area(1024) dcl 1-21 ref 118 207 215 224 399 465 521 751 754 editor_area_ptr 22 based pointer level 2 dcl 1-6 ref 118 207 215 224 399 465 521 751 754 editor_name based char(72) level 2 packed packed unaligned dcl 1-6 set ref 120* 122* 214* 272* 432* 752* 755* edx_data based structure level 1 dcl 64 set ref 118 224 edx_util_data_ptr 26 based pointer level 2 dcl 1-6 set ref 118* 126 127 128 145 162 163 164 164 164 164 164 169 169 201 203 204 205 206 208 208 220 220 221 221 224 225* 252 288 396 397 397 398 400 404 405 455 459 459 460 461 462 477 478 479 517 518 519 520 522 522 524 527 556 573 error_table_$long_record 000010 external static fixed bin(35,0) dcl 80 ref 270 fbp parameter pointer dcl 691 set ref 688 709* 735 740* 742 743 744 745* 745 751* 752 754 756* 759 760 761 762 763 765 766 767 767 768 769 770 771 772 flags 121 based structure level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 772* flags 143 based structure array level 3 in structure "qedx_info" dcl 2-6 in procedure "edx_util_" flags 155 based structure level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 143* flags 277 based structure level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 159* ft 111 based fixed bin(21,0) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 259 261 262 281* 485 485 487 490 500 505 505 505 509 509 509 631 636 636 638 643 645 670 767* ft 267 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 151* 192* ft 145 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 138* fte parameter fixed bin(21,0) dcl 691 ref 688 703 721 fti parameter fixed bin(21,0) dcl 691 set ref 688 703* 703* 704* 717* 717 721 723 727* ftp parameter pointer dcl 691 ref 688 704 724 728 get_temp_segment_ 000046 constant entry external dcl 91 ref 120 752 gtbp parameter pointer dcl 541 set ref 538 551* 554* 562 569* 572* gte parameter fixed bin(21,0) dcl 541 set ref 538 549* gti parameter fixed bin(21,0) dcl 541 set ref 538 549* gtname parameter char(16) packed unaligned dcl 541 set ref 538 555* 562 567* gtp parameter pointer dcl 541 set ref 538 549* i 000101 automatic fixed bin(21,0) dcl 48 in procedure "edx_util_" set ref 491* 492 494* 496* 500* 501 i 000372 automatic fixed bin(21,0) dcl 698 in procedure "find_buffer" set ref 723* 724 727 728 index builtin function dcl 101 ref 309 324 346 350 638 640 724 indx 000102 automatic fixed bin(17,0) dcl 49 set ref 346* 348 356 361 ioa_ 000034 constant entry external dcl 91 ref 479 493 502 524 707 748 ioa_$ioa_switch 000036 constant entry external dcl 91 ref 649 iox_$control 000042 constant entry external dcl 91 ref 169 221 273 433 531 iox_$get_line 000030 constant entry external dcl 89 ref 266 425 iox_$modes 000044 constant entry external dcl 91 ref 422 iox_$put_chars 000032 constant entry external dcl 90 ref 494 504 505 iox_$user_input 000024 external static pointer dcl 86 set ref 169* 221* 266* 273* 422* 425* 433* 531* iox_$user_output 000022 external static pointer dcl 85 set ref 494* 504* 505* j 000103 automatic fixed bin(21,0) dcl 50 in procedure "edx_util_" set ref 425* 429* 438 439 j 000373 automatic fixed bin(21,0) dcl 698 in procedure "find_buffer" set ref 724* 726 727 728 k 000104 automatic fixed bin(21,0) dcl 51 set ref 292* 293 299 304 309 313 313 316 317 321 324 327 336 340* 346 350 350 352 357 366 371 371 371 375 376 382 382 387 388 414 414 419 420 ka 000105 automatic fixed bin(21,0) dcl 52 set ref 323* 334* 336 346 350 350 352 357 366 371 375 380* 388 412* 419 ki 000106 automatic fixed bin(21,0) dcl 53 set ref 294* 295 295 297 298 299 305* 327* 342* 350* 352* 357* 366* kik 000107 automatic fixed bin(21,0) dcl 54 set ref 324* 326 330 kx 000110 automatic fixed bin(21,0) dcl 55 set ref 309* 311 l 000374 automatic fixed bin(21,0) dcl 698 set ref 721* 722 724 lb 110 based fixed bin(21,0) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 259 282* 407 485 489 490 499 500 504 508 631 636 640 670 762* lb 144 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 134* lb 266 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 150* 191* lbp 000370 automatic pointer dcl 698 set ref 744* 759 le 114 based fixed bin(21,0) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 768* le 272 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 154* le 150 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 141* length builtin function dcl 101 ref 425 425 429 429 level 6 based fixed bin(17,0) level 2 dcl 64 set ref 127* 203 208* 208 396 397* 397 455 459* 459 477 479* 517 522* 522 li 147 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 140* li 271 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 153* li 113 based fixed bin(21,0) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 766* list_only_modified 000334 automatic bit(1) dcl 579 set ref 587* 596* 615* 649 649 min builtin function dcl 101 ref 425 425 429 429 modified 121 based bit(1) level 3 packed packed unaligned dcl 1-64 set ref 254* 254 408* 408 649 649 673 n_lines 000356 automatic fixed bin(21,0) dcl 627 set ref 629* 646* 646 649* name based char(16) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 479* 555 556 573 649 649* 743 760* name 34 based char(16) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 130* name 156 based char(16) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 146* nelem parameter fixed bin(21,0) dcl 56 ref 240 246 nelemt parameter fixed bin(21,0) dcl 57 set ref 240 318* 442* new_table 13 based structure level 3 dcl 64 set ref 220* next 4 based pointer level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 213 605 680 745 759* 761* next 162 based pointer level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 147* next 40 based pointer level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 132* nl_idx 000360 automatic fixed bin(21,0) dcl 627 set ref 638* 640* 641 641 null builtin function dcl 101 ref 126 132 147 201 212 225 273 273 391 433 433 531 531 550 551 568 569 603 668 709 742 756 761 old_table 17 based structure level 3 dcl 64 set ref 220 p 000112 automatic pointer dcl 58 set ref 204* 205 206 207 213* 216 389* 391 398 399* 400 401 402 403 404 460* 461 462 463 464 465 518* 519 520 521 p_name parameter char(16) packed unaligned dcl 691 ref 735 738 plen parameter fixed bin(21,0) dcl 182 ref 179 187 187 190 191 pptr parameter pointer dcl 182 ref 179 187 prev based pointer level 2 dcl 1-26 set ref 205 400* 461 519 program_interrupt 000320 stack reference condition dcl 102 ref 480 513 qedx_info based structure level 1 dcl 2-6 qedx_info_ptr 24 based pointer level 2 dcl 1-6 ref 674 qid based structure level 1 dcl 1-6 qid_ptr 000336 automatic pointer dcl 1-19 set ref 116* 118 118 120 122 126 127 128 130 131 132 133 134 135 137 138 138 139 140 141 142 143 145 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 162 163 164 164 164 164 164 169 169 172 185* 187 189 190 191 192 192 200* 201 203 204 205 206 207 208 208 211 214 215 215 220 220 221 221 224 224 225 243* 249* 252 272 287* 288 392* 396 397 397 398 399 400 404 405 432 453* 455 459 459 460 461 462 465 475* 477 478 479 517 518 519 520 521 522 522 524 527 547* 556 565* 573 599* 602 614* 664* 666 674 740 751 752 754 755 release_temp_segment_ 000050 constant entry external dcl 91 ref 214 search builtin function dcl 101 ref 292 special_char_string 000014 constant char(5) initial dcl 74 ref 292 309 346 start 000357 automatic fixed bin(21,0) dcl 627 set ref 634* 635 636 636 636* 638 638 638 640 640 641* 641 643 643* 645* string builtin function dcl 101 set ref 143* 159* 772* sub_request_abort_ 000326 stack reference condition dcl 102 ref 247 482 516 substr builtin function dcl 101 set ref 187* 187 292 295* 295 309 313* 313 324 346 350 371* 371 371 382* 382 414* 414 438* 638 640 704 724 728 sv based structure level 1 dcl 1-26 set ref 207 399 465 521 swt 12 based structure level 2 dcl 64 set ref 162* 169 169 221 221 swt_info based structure level 1 dcl 3-9 swt_info_version_1 constant fixed bin(17,0) initial dcl 3-7 ref 163 sys_info$max_seg_size 000012 external static fixed bin(18,0) dcl 81 ref 137 187 187 266 292 295 295 309 313 313 324 346 350 371 371 371 382 382 414 414 438 638 640 704 724 728 765 sys_info$service_system 000014 external static bit(1) dcl 82 ref 135 161 219 247 256 266 273 422 425 433 480 494 503 513 531 763 tch 000375 automatic char(1) packed unaligned dcl 698 set ref 704* 705 712 712 716 te 116 based fixed bin(21,0) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 258 260* 266* 268* 276* 280 280 282 292 294 321 336 342 389* 403 407* 464* 487* 489* 490 491 500 505 509 529* te 274 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 156* 190* te 000114 automatic fixed bin(21,0) dcl 59 in procedure "edx_util_" set ref 246* 304 305 425 425 429 429 439* 442 te 5 based fixed bin(21,0) level 2 in structure "sv" dcl 1-26 in procedure "edx_util_" set ref 403* 464 ti 115 based fixed bin(21,0) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 258 259 259 261* 275* 283* 292 292 294 295 298* 298 309 313 317* 317 321 324 336 342 346 350 371 371 375* 375 382 388* 388 389* 402 406* 414 419* 419 463* 485 485 485* 490 491 494 494 496 496 499 500 504 504 504 508 508 508 528* ti 273 based fixed bin(21,0) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 155* 189* ti 000115 automatic fixed bin(21,0) dcl 60 in procedure "edx_util_" set ref 255* 295 297* 297 304 305 313 316* 316 318 371 376* 376 382 387* 387 414 420* 420 425 425 429 429 438 439 ti 4 based fixed bin(21,0) level 2 in structure "sv" dcl 1-26 in procedure "edx_util_" set ref 402* 463 tline 000116 automatic char(512) packed unaligned dcl 61 set ref 425 425 425 425 429 429 429 429 438 tname 000376 automatic char(16) packed unaligned dcl 698 set ref 716* 728* 738* 743 748* 755* 760 top 10 based pointer level 2 dcl 64 set ref 126* 204 205* 400 404* 460 461* 518 519* tp 000316 automatic pointer dcl 62 set ref 245* 295 313 371 382 414 438 tw 156 based structure level 2 dcl 1-6 set ref 145 tw_sw 275 based bit(1) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 157* tw_sw 117 based bit(1) level 2 in structure "b" dcl 1-64 in procedure "edx_util_" set ref 265 769* tw_sw 153 based bit(1) level 3 in structure "qid" dcl 1-6 in procedure "edx_util_" set ref 131* unspec builtin function dcl 101 set ref 162* version 12 based fixed bin(17,0) level 3 dcl 64 set ref 163* wake_map 13 based bit(1) array level 4 packed packed unaligned dcl 64 set ref 164* 164* 164* 164* 164* wakeup_table based structure level 1 dcl 3-16 wstring based char(1) array packed unaligned dcl 78 set ref 494 494 496 496 504 504 505 505 508 508 509 509 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. QEDX_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 2-44 qedx_info_n_buffers automatic fixed bin(17,0) dcl 2-42 qedx_info_ptr automatic pointer dcl 2-41 swt_infop automatic pointer dcl 3-6 wakeup_tablep automatic pointer dcl 3-14 NAMES DECLARED BY EXPLICIT CONTEXT. BEGIN_LIST_BUFFERS 003352 constant label dcl 599 ref 588 597 DISPLAY_BUFFER_STATUS 003635 constant label dcl 649 ref 631 IGNORE_THIS_BUFFER 003516 constant label dcl 680 ref 670 674 SKIP_LOCATE_BUFFER_ENTRY 004063 constant label dcl 740 ref 730 add_special 001614 constant label dcl 371 ref 361 buf_err 003763 constant label dcl 707 ref 712 722 726 copy_string 001401 constant label dcl 295 ref 306 328 343 353 358 367 edx_cleanup 000626 constant entry external dcl 197 edx_init 000260 constant entry external dcl 107 edx_util_ 000243 constant entry external dcl 43 end_buffer 002270 constant entry external dcl 448 ref 287 end_read 002252 constant label dcl 442 ref 299 440 find_buffer 003732 constant entry internal dcl 688 ref 389 549 get_buffer 003131 constant entry external dcl 538 get_name 004002 constant label dcl 712 ref 705 list_buffers 003325 constant entry external dcl 584 list_modified_buffers 003340 constant entry external dcl 593 list_one_buffer 003535 constant entry internal dcl 624 ref 604 618 list_single_buffer 003405 constant entry external dcl 611 locate_buffer 004050 constant entry internal dcl 735 in procedure "edx_util_" ref 567 locate_buffer 003234 constant entry external dcl 562 modified_buffers 003440 constant entry external dcl 661 past_end_of_input 001534 constant label dcl 340 ref 321 prime 000561 constant entry external dcl 179 prskip 003000 constant label dcl 513 ref 480 482 rd_action 000005 constant label array(6) dcl 336 ref 330 rd_buff 001677 constant label dcl 389 rd_case 000000 constant label array(5) dcl 313 ref 311 rd_conceal 001527 constant label dcl 336 rd_err 001723 constant label dcl 392 ref 396 rd_exp_buff 001655 constant label dcl 382 rd_read 002011 constant label dcl 414 read_one_line 002067 constant label dcl 425 ref 435 read_ptr 001033 constant entry external dcl 240 resetread 002354 constant entry external dcl 472 ref 249 392 restart 001104 constant label dcl 252 ref 250 394 retry 001125 constant label dcl 256 ref 262 277 284 289 301 377 409 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5056 5130 4476 5066 Length 5460 4476 52 313 357 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME edx_util_ 426 external procedure is an external procedure. on unit on line 247 68 on unit on unit on line 480 64 on unit on unit on line 482 64 on unit list_one_buffer internal procedure shares stack frame of external procedure edx_util_. find_buffer internal procedure shares stack frame of external procedure edx_util_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME edx_util_ 000100 code edx_util_ 000101 i edx_util_ 000102 indx edx_util_ 000103 j edx_util_ 000104 k edx_util_ 000105 ka edx_util_ 000106 ki edx_util_ 000107 kik edx_util_ 000110 kx edx_util_ 000112 p edx_util_ 000114 te edx_util_ 000115 ti edx_util_ 000116 tline edx_util_ 000316 tp edx_util_ 000334 list_only_modified edx_util_ 000336 qid_ptr edx_util_ 000340 bp edx_util_ 000356 n_lines list_one_buffer 000357 start list_one_buffer 000360 nl_idx list_one_buffer 000370 lbp find_buffer 000372 i find_buffer 000373 j find_buffer 000374 l find_buffer 000375 tch find_buffer 000376 tname find_buffer THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as r_ne_as alloc_char_temp call_ent_var call_ext_in call_ext_out_desc call_ext_out return_mac tra_ext_1 signal_op enable_op shorten_stack ext_entry int_entry op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. bce_check_abort com_err_ get_temp_segment_ ioa_ ioa_$ioa_switch iox_$control iox_$get_line iox_$modes iox_$put_chars release_temp_segment_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. bce_data$get_line bce_data$put_chars error_table_$long_record iox_$user_input iox_$user_output sys_info$max_seg_size sys_info$service_system CONSTANTS 004275 aa 000 000 000 000 004276 aa 000 000 000 000 004277 aa 000 000 777 000 ÿ 004300 aa 000 000 000 000 004301 aa 000 000 000 000 004302 aa 000 000 000 000 004303 aa 777 777 000 000 ÿÿ 004304 aa 000 000 777 000 ÿ 004305 aa 000 000 000 000 004306 aa 000 000 000 000 004307 aa 000 000 000 000 004310 aa 000 000 000 000 004311 aa 000 000 000 000 004312 aa 000 000 000 000 004313 aa 000 000 000 000 004314 aa 000 000 000 000 004315 aa 000 000 000 000 004316 aa 000 000 000 000 004317 aa 000 000 000 000 004320 aa 000 000 000 000 004321 aa 000 000 000 000 004322 aa 000 000 000 000 004323 aa 000 000 000 000 004324 aa 777 000 000 000 ÿ 004325 aa 000 000 000 000 004326 aa 000 000 000 000 004327 aa 000 000 000 000 004330 aa 000 000 000 000 004331 aa 000 000 000 000 004332 aa 000 000 000 000 004333 aa 000 000 000 000 004334 aa 000 000 000 000 004335 aa 000 000 000 000 004336 aa 000 000 000 000 004337 aa 000 000 000 000 004340 aa 000 000 000 000 004341 aa 000 000 000 000 004342 aa 000 000 000 000 004343 aa 000 000 000 000 004344 aa 000 000 000 000 004345 aa 000 000 000 000 004346 aa 000 000 000 000 004347 aa 000 000 000 000 004350 aa 000 000 000 000 004351 aa 000 000 000 000 004352 aa 000 000 000 000 004353 aa 000 000 000 000 004354 aa 000 000 000 000 004355 aa 000 000 000 000 004356 aa 000 000 000 000 004357 aa 000 000 000 000 004360 aa 000 000 000 000 004361 aa 000 000 000 000 004362 aa 000 000 000 000 004363 aa 000 000 000 000 004364 aa 000 000 000 000 004365 aa 000 000 000 000 004366 aa 000 000 000 000 004367 aa 000 000 000 000 004370 aa 000 000 000 000 004371 aa 000 000 000 000 004372 aa 000 000 000 000 004373 aa 000 000 000 000 004374 aa 000 000 000 000 004375 aa 000 000 000 000 004376 aa 000 000 000 000 004377 aa 000 000 000 000 004400 aa 000 000 000 000 004401 aa 000 000 000 000 004402 aa 000 000 000 000 004403 aa 000 000 000 000 004404 aa 000 000 000 000 004405 aa 000 000 000 000 004406 aa 000 000 000 000 004407 aa 000 000 000 000 004410 aa 000 000 000 000 004411 aa 000 000 000 000 004412 aa 000 000 000 000 004413 aa 000 000 000 000 004414 aa 000 000 000 000 004415 aa 000 000 000 000 004416 aa 000 000 000 000 004417 aa 000 000 000 000 004420 aa 000 000 000 000 004421 aa 000 000 000 000 004422 aa 000 000 000 000 004423 aa 000 000 000 000 004424 aa 000 000 000 000 004425 aa 000 000 000 000 004426 aa 000 000 000 000 004427 aa 000 000 000 000 004430 aa 000 000 000 000 004431 aa 000 000 000 000 004432 aa 000 000 000 000 004433 aa 000 000 000 000 004434 aa 000 000 000 000 004435 aa 000 000 000 000 004436 aa 000 000 000 000 004437 aa 000 000 000 000 004440 aa 000 000 000 000 004441 aa 000 000 000 000 004442 aa 000 000 000 000 004443 aa 000 000 000 000 004444 aa 000 000 000 000 004445 aa 000 000 000 000 004446 aa 000 000 000 000 004447 aa 000 000 000 000 004450 aa 000 000 000 000 004451 aa 000 000 000 000 004452 aa 000 000 000 000 004453 aa 000 000 000 000 004454 aa 000 000 000 000 004455 aa 000 000 000 000 004456 aa 000 000 000 000 004457 aa 000 000 000 000 004460 aa 000 000 000 000 004461 aa 000 000 000 000 004462 aa 000 000 000 000 004463 aa 000 000 000 000 004464 aa 000 000 000 000 004465 aa 000 000 000 000 004466 aa 000 000 000 000 004467 aa 000 000 000 000 004470 aa 000 000 000 000 004471 aa 000 000 000 000 004472 aa 000 000 000 000 004473 aa 000 000 000 000 004474 aa 000 000 000 000 000014 aa 012 134 031 030 \ 000015 aa 036 000 000 000  000016 aa 524000000050 000017 aa 524000000026 000020 aa 524000000034 000021 aa 524000000400 000022 aa 514000000001 000023 aa 524000000064 000024 aa 524000000033 000025 aa 524000000041 000026 aa 524000000067 000027 aa 524000000000 000030 aa 524000000011 000031 aa 524000000022 000032 aa 524000000020 004475 aa 060 000 000 000 0 000033 aa 524000000047 000034 aa 526000000110 000035 aa 526000000020 000036 aa 404000000021 000037 aa 404000000043 000040 aa 404000000025 000041 aa 464000000000 000042 aa 516000000001 000044 aa 142 143 146 162 bcfr 000045 aa 102 103 106 122 BCFR 000046 aa 143 142 162 103 cbrC 000047 aa 102 122 000 000 BR 000050 aa 077777000043 000051 aa 000001000000 000052 aa 136 167 141 153 ^wak 000053 aa 145 137 164 142 e_tb 000054 aa 154 000 000 000 l 000055 aa 162 145 163 145 rese 000056 aa 164 162 145 141 trea 000057 aa 144 000 000 000 d 000060 aa 164 171 160 145 type 000061 aa 167 162 151 164 writ 000062 aa 145 162 000 000 er 000063 aa 163 145 164 137 set_ 000064 aa 167 141 153 145 wake 000065 aa 165 160 137 164 up_t 000066 aa 141 142 154 145 able 000067 aa 145 144 170 137 edx_ 000070 aa 165 164 151 154 util 000071 aa 137 044 162 145 _$re 000072 aa 141 144 137 160 ad_p 000073 aa 164 162 000 000 tr 000074 aa 163 165 142 137 sub_ 000075 aa 162 145 161 165 requ 000076 aa 145 163 164 137 est_ 000077 aa 141 142 157 162 abor 000100 aa 164 137 000 000 t_ 000101 aa 160 162 157 147 prog 000102 aa 162 141 155 137 ram_ 000103 aa 151 156 164 145 inte 000104 aa 162 162 165 160 rrup 000105 aa 164 000 000 000 t 000106 aa 102 165 146 146 Buff 000107 aa 145 162 040 050 er ( 000110 aa 136 141 051 040 ^a) 000111 aa 156 157 164 040 not 000112 aa 146 157 165 156 foun 000113 aa 144 056 000 000 d. 000114 aa 162 145 164 165 retu 000115 aa 162 156 137 143 rn_c 000116 aa 157 156 166 145 onve 000117 aa 162 163 151 157 rsio 000120 aa 156 137 145 162 n_er 000121 aa 162 157 162 000 ror 000122 aa 123 171 156 164 Synt 000123 aa 141 170 040 145 ax e 000124 aa 162 162 157 162 rror 000125 aa 040 151 156 040 in 000126 aa 142 165 146 146 buff 000127 aa 145 162 040 156 er n 000130 aa 141 155 145 056 ame. 000131 aa 125 156 145 170 Unex 000132 aa 145 143 165 164 ecut 000133 aa 145 144 040 154 ed l 000134 aa 151 156 145 163 ines 000135 aa 040 151 156 040 in 000136 aa 142 165 146 146 buff 000137 aa 145 162 072 000 er: 000140 aa 105 162 162 157 Erro 000141 aa 162 040 151 156 r in 000142 aa 040 142 165 146 buf 000143 aa 146 145 162 040 fer 000144 aa 050 136 141 051 (^a) 000145 aa 040 141 164 040 at 000146 aa 154 145 166 145 leve 000147 aa 154 040 136 144 l ^d 000150 aa 056 000 000 000 . 000151 aa 117 142 164 141 Obta 000152 aa 151 156 151 156 inin 000153 aa 147 040 164 145 g te 000154 aa 155 160 157 162 mpor 000155 aa 141 162 171 040 ary 000156 aa 163 160 141 143 spac 000157 aa 145 040 146 157 e fo 000160 aa 162 040 142 165 r bu 000161 aa 146 146 145 162 ffer 000162 aa 040 136 141 056 ^a. 000163 aa 136 057 103 165 ^/Cu 000164 aa 162 162 145 156 rren 000165 aa 164 040 142 165 t bu 000166 aa 146 146 145 162 ffer 000167 aa 040 151 163 040 is 000170 aa 050 136 141 051 (^a) 000171 aa 040 141 164 040 at 000172 aa 154 145 166 145 leve 000173 aa 154 040 060 056 l 0. 000174 aa 040 136 057 000 ^/ 000175 aa 117 142 164 141 Obta 000176 aa 151 156 151 156 inin 000177 aa 147 040 164 145 g te 000200 aa 155 160 157 162 mpor 000201 aa 141 162 171 040 ary 000202 aa 163 160 141 143 spac 000203 aa 145 040 146 157 e fo 000204 aa 162 040 142 165 r bu 000205 aa 146 146 145 162 ffer 000206 aa 040 060 056 000 0. 000207 aa 136 066 144 040 ^6d 000210 aa 136 133 055 076 ^[-> 000211 aa 136 073 136 062 ^;^2 000212 aa 170 136 135 040 x^] 000213 aa 136 133 155 157 ^[mo 000214 aa 144 136 073 136 d^;^ 000215 aa 063 170 136 135 3x^] 000216 aa 040 050 136 141 (^a 000217 aa 051 040 136 133 ) ^[ 000220 aa 133 165 156 164 [unt 000221 aa 162 165 163 164 rust 000222 aa 145 144 135 040 ed] 000223 aa 136 135 136 141 ^]^a 000224 aa 145 144 170 137 edx_ 000225 aa 165 164 151 154 util 000226 aa 137 044 162 145 _$re 000227 aa 141 144 137 160 ad_p 000230 aa 164 162 040 162 tr r 000231 aa 145 141 144 040 ead 000232 aa 157 156 145 040 one 000233 aa 154 151 156 145 line 000234 aa 040 055 040 120 - P 000235 aa 114 105 101 123 LEAS 000236 aa 105 040 122 105 E RE 000237 aa 055 105 116 124 -ENT 000240 aa 105 122 040 114 ER L 000241 aa 111 116 105 000 INE LABEL ARRAYS 000000 aa 001452 7100 04 tra 810,ic 001452 000001 aa 001501 7100 04 tra 833,ic 001502 000002 aa 001524 7100 04 tra 852,ic 001526 000003 aa 001651 7100 04 tra 937,ic 001654 000004 aa 002004 7100 04 tra 1028,ic 002010 000005 aa 001522 7100 04 tra 850,ic 001527 000006 aa 001647 7100 04 tra 935,ic 001655 000007 aa 002002 7100 04 tra 1026,ic 002011 000010 aa 001517 7100 04 tra 847,ic 001527 000011 aa 001644 7100 04 tra 932,ic 001655 000012 aa 001777 7100 04 tra 1023,ic 002011 BEGIN PROCEDURE edx_util_ ENTRY TO edx_util_ STATEMENT 1 ON LINE 43 edx_util_: procedure; 000242 da 000201200000 000243 aa 000660 6270 00 eax7 432 000244 aa 7 00034 3521 20 epp2 pr7|28,* 000245 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000246 aa 000000000000 000247 aa 000000000000 000250 aa 000001 2360 07 ldq 1,dl 000251 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 107 edx_init: entry (P_qid_ptr, atwp, aifp, abp, acode); 000252 aa 000015 7100 04 tra 13,ic 000267 ENTRY TO edx_init STATEMENT 1 ON LINE 107 edx_init: entry (P_qid_ptr, atwp, aifp, abp, acode); 000253 at 000005000041 000254 tt 000041000041 000255 tt 000041000037 000256 ta 000253000000 000257 da 000207300000 000260 aa 000660 6270 00 eax7 432 000261 aa 7 00034 3521 20 epp2 pr7|28,* 000262 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000263 aa 000012000000 000264 aa 000000000000 000265 aa 000001 2360 07 ldq 1,dl 000266 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 116 qid_ptr = P_qid_ptr; 000267 aa 6 00032 3735 20 epp7 pr6|26,* 000270 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 000271 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 000272 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 118 allocate edx_data in (editor_area) set (qid.edx_util_data_ptr); 000273 aa 000023 2360 07 ldq 19,dl 000274 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 000275 aa 7 00022 3521 20 epp2 pr7|18,* editor_area 000276 aa 0 01402 7001 00 tsx0 pr0|770 op_alloc_ 000277 aa 777774 7100 04 tra -4,ic 000273 000300 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 000301 aa 7 00026 2521 00 spri2 pr7|22 qid.edx_util_data_ptr STATEMENT 1 ON LINE 120 call get_temp_segment_ (qid.editor_name, aifp, acode); 000302 aa 7 00000 3521 00 epp2 pr7|0 qid.editor_name 000303 aa 6 00412 2521 00 spri2 pr6|266 000304 aa 6 00032 3715 20 epp5 pr6|26,* 000305 aa 5 00006 3521 20 epp2 pr5|6,* aifp 000306 aa 6 00414 2521 00 spri2 pr6|268 000307 aa 5 00012 3521 20 epp2 pr5|10,* acode 000310 aa 6 00416 2521 00 spri2 pr6|270 000311 aa 777523 3520 04 epp2 -173,ic 000034 = 526000000110 000312 aa 6 00420 2521 00 spri2 pr6|272 000313 aa 777526 3520 04 epp2 -170,ic 000041 = 464000000000 000314 aa 6 00422 2521 00 spri2 pr6|274 000315 aa 777522 3520 04 epp2 -174,ic 000037 = 404000000043 000316 aa 6 00424 2521 00 spri2 pr6|276 000317 aa 6 00410 6211 00 eax1 pr6|264 000320 aa 014000 4310 07 fld 6144,dl 000321 aa 6 00044 3701 20 epp4 pr6|36,* 000322 la 4 00046 3521 20 epp2 pr4|38,* get_temp_segment_ 000323 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 121 if acode ^= 0 then do; 000324 aa 6 00032 3735 20 epp7 pr6|26,* 000325 aa 7 00012 2361 20 ldq pr7|10,* acode 000326 aa 000034 6000 04 tze 28,ic 000362 STATEMENT 1 ON LINE 122 call com_err_ (acode, qid.editor_name, "Obtaining temporary space for buffer 0."); 000327 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000330 aa 777646 00 0050 desc9a -90,40 000175 = 117142164141 000331 aa 6 00410 00 0050 desc9a pr6|264,40 000332 aa 7 00012 3521 20 epp2 pr7|10,* acode 000333 aa 6 00430 2521 00 spri2 pr6|280 000334 aa 6 00336 3521 20 epp2 pr6|222,* qid.editor_name 000335 aa 6 00432 2521 00 spri2 pr6|282 000336 aa 6 00410 3521 00 epp2 pr6|264 000337 aa 6 00434 2521 00 spri2 pr6|284 000340 aa 777477 3520 04 epp2 -193,ic 000037 = 404000000043 000341 aa 6 00436 2521 00 spri2 pr6|286 000342 aa 777472 3520 04 epp2 -198,ic 000034 = 526000000110 000343 aa 6 00440 2521 00 spri2 pr6|288 000344 aa 777467 3520 04 epp2 -201,ic 000033 = 524000000047 000345 aa 6 00442 2521 00 spri2 pr6|290 000346 aa 6 00426 6211 00 eax1 pr6|278 000347 aa 014000 4310 07 fld 6144,dl 000350 aa 6 00044 3701 20 epp4 pr6|36,* 000351 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 000352 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 123 return; 000353 aa 6 00342 2361 00 ldq pr6|226 000354 aa 000005 6010 04 tnz 5,ic 000361 000355 aa 000027 7260 07 lxl6 23,dl 000356 aa 777536 3520 04 epp2 -162,ic 000114 = 162145164165 000357 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 000360 aa 0 00631 7101 00 tra pr0|409 return_mac 000361 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 124 end; STATEMENT 1 ON LINE 126 top = null (); 000362 aa 777466 2370 04 ldaq -202,ic 000050 = 077777000043 000001000000 000363 aa 6 00336 3715 20 epp5 pr6|222,* qid_ptr 000364 aa 5 00026 3535 20 epp3 pr5|22,* qid.edx_util_data_ptr 000365 aa 3 00010 7571 00 staq pr3|8 edx_data.top STATEMENT 1 ON LINE 127 level = 0; 000366 aa 5 00026 3515 20 epp1 pr5|22,* qid.edx_util_data_ptr 000367 aa 1 00006 4501 00 stz pr1|6 edx_data.level STATEMENT 1 ON LINE 128 cbname = "0"; 000370 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000371 aa 004105 00 0001 desc9a 2117,1 004475 = 060000000000 000372 aa 1 00000 00 0020 desc9a pr1|0,16 edx_data.cbname STATEMENT 1 ON LINE 130 b0.name = "0"; 000373 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000374 aa 004102 00 0001 desc9a 2114,1 004475 = 060000000000 000375 aa 5 00034 00 0020 desc9a pr5|28,16 qid.name STATEMENT 1 ON LINE 131 b0.tw_sw = "0"b; 000376 aa 5 00153 4501 00 stz pr5|107 qid.tw_sw STATEMENT 1 ON LINE 132 b0.next = null (); 000377 aa 5 00040 7571 00 staq pr5|32 qid.next STATEMENT 1 ON LINE 133 b0.dp = aifp; 000400 aa 7 00006 3535 20 epp3 pr7|6,* aifp 000401 aa 3 00000 3535 20 epp3 pr3|0,* aifp 000402 aa 5 00042 2535 00 spri3 pr5|34 qid.dp STATEMENT 1 ON LINE 134 b0.lb = 0; 000403 aa 5 00144 4501 00 stz pr5|100 qid.lb STATEMENT 1 ON LINE 135 if sys_info$service_system then b0.de = 4 * 1024 * 4; 000404 aa 6 00044 3701 20 epp4 pr6|36,* 000405 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 000406 aa 000004 6000 04 tze 4,ic 000412 000407 aa 040000 2360 07 ldq 16384,dl 000410 aa 5 00146 7561 00 stq pr5|102 qid.de 000411 aa 000004 7100 04 tra 4,ic 000415 STATEMENT 1 ON LINE 137 else b0.de = 4 * sys_info$max_seg_size; 000412 la 4 00012 2361 20 ldq pr4|10,* sys_info$max_seg_size 000413 aa 000002 7360 00 qls 2 000414 aa 5 00146 7561 00 stq pr5|102 qid.de STATEMENT 1 ON LINE 138 b0.ft = b0.de + 1; 000415 aa 5 00146 2361 00 ldq pr5|102 qid.de 000416 aa 000001 0760 07 adq 1,dl 000417 aa 5 00145 7561 00 stq pr5|101 qid.ft STATEMENT 1 ON LINE 139 b0.default_path = ""; 000420 aa 040 100 100 400 mlr (),(pr),fill(040) 000421 aa 000000 00 0000 desc9a 0,0 000422 aa 5 00044 00 0400 desc9a pr5|36,256 qid.default_path STATEMENT 1 ON LINE 140 b0.li = 1; 000423 aa 000001 2360 07 ldq 1,dl 000424 aa 5 00147 7561 00 stq pr5|103 qid.li STATEMENT 1 ON LINE 141 b0.le = 0; 000425 aa 5 00150 4501 00 stz pr5|104 qid.le STATEMENT 1 ON LINE 142 b0.callers_idx = 0; 000426 aa 5 00154 4501 00 stz pr5|108 qid.callers_idx STATEMENT 1 ON LINE 143 string (b0.flags) = ""b; 000427 aa 5 00155 4501 00 stz pr5|109 STATEMENT 1 ON LINE 145 curp = addr (tw); 000430 aa 5 00156 3515 00 epp1 pr5|110 qid.tw 000431 aa 5 00026 3535 20 epp3 pr5|22,* qid.edx_util_data_ptr 000432 aa 3 00004 2515 00 spri1 pr3|4 edx_data.curp STATEMENT 1 ON LINE 146 tw.name = "typewriter"; 000433 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000434 aa 777425 00 0012 desc9a -235,10 000060 = 164171160145 000435 aa 5 00156 00 0020 desc9a pr5|110,16 qid.name STATEMENT 1 ON LINE 147 tw.next = null (); 000436 aa 777412 2370 04 ldaq -246,ic 000050 = 077777000043 000001000000 000437 aa 5 00162 7571 00 staq pr5|114 qid.next STATEMENT 1 ON LINE 148 tw.dp = atwp; 000440 aa 7 00004 3515 20 epp1 pr7|4,* atwp 000441 aa 1 00000 3515 20 epp1 pr1|0,* atwp 000442 aa 5 00164 2515 00 spri1 pr5|116 qid.dp STATEMENT 1 ON LINE 149 tw.default_path = ""; 000443 aa 040 100 100 400 mlr (),(pr),fill(040) 000444 aa 000000 00 0000 desc9a 0,0 000445 aa 5 00166 00 0400 desc9a pr5|118,256 qid.default_path STATEMENT 1 ON LINE 150 tw.lb = 0; 000446 aa 5 00266 4501 00 stz pr5|182 qid.lb STATEMENT 1 ON LINE 151 tw.ft = 513; 000447 aa 001001 2360 07 ldq 513,dl 000450 aa 5 00267 7561 00 stq pr5|183 qid.ft STATEMENT 1 ON LINE 152 tw.de = 512; 000451 aa 001000 2360 07 ldq 512,dl 000452 aa 5 00270 7561 00 stq pr5|184 qid.de STATEMENT 1 ON LINE 153 tw.li = 0; 000453 aa 5 00271 4501 00 stz pr5|185 qid.li STATEMENT 1 ON LINE 154 tw.le = 0; 000454 aa 5 00272 4501 00 stz pr5|186 qid.le STATEMENT 1 ON LINE 155 tw.ti = 1; 000455 aa 000001 2360 07 ldq 1,dl 000456 aa 5 00273 7561 00 stq pr5|187 qid.ti STATEMENT 1 ON LINE 156 tw.te = 0; 000457 aa 5 00274 4501 00 stz pr5|188 qid.te STATEMENT 1 ON LINE 157 tw.tw_sw = "1"b; 000460 aa 400000 2350 03 lda 131072,du 000461 aa 5 00275 7551 00 sta pr5|189 qid.tw_sw STATEMENT 1 ON LINE 158 tw.callers_idx = 0; 000462 aa 5 00276 4501 00 stz pr5|190 qid.callers_idx STATEMENT 1 ON LINE 159 string (tw.flags) = ""b; 000463 aa 5 00277 4501 00 stz pr5|191 STATEMENT 1 ON LINE 161 if sys_info$service_system then do; 000464 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 000465 aa 000054 6000 04 tze 44,ic 000541 STATEMENT 1 ON LINE 162 unspec (swt) = ""b; 000466 aa 5 00026 3535 20 epp3 pr5|22,* qid.edx_util_data_ptr 000467 aa 000 100 100 400 mlr (),(pr),fill(000) 000470 aa 000000 00 0000 desc9a 0,0 000471 aa 3 00012 00 0044 desc9a pr3|10,36 STATEMENT 1 ON LINE 163 swt.version = swt_info_version_1; 000472 aa 000001 2360 07 ldq 1,dl 000473 aa 3 00012 7561 00 stq pr3|10 edx_data.version STATEMENT 1 ON LINE 164 swt.new_table.wake_map (24), /* eb, octal 030 */ swt.new_table.wake_map (25), /* ec, octal 031 */ swt.new_table.wake_map (28), /* ef, octal 034 */ swt.new_table.wake_map (30), /* er, octal 036 */ swt.new_table.wake_map (92) = "1"b; 000474 aa 004000 2350 07 lda 2048,dl 000475 aa 3 00013 2551 00 orsa pr3|11 edx_data.wake_map 000476 aa 002000 2350 07 lda 1024,dl 000477 aa 3 00013 2551 00 orsa pr3|11 edx_data.wake_map 000500 aa 000200 2350 07 lda 128,dl 000501 aa 3 00013 2551 00 orsa pr3|11 edx_data.wake_map 000502 aa 000040 2350 07 lda 32,dl 000503 aa 3 00013 2551 00 orsa pr3|11 edx_data.wake_map 000504 aa 100000 2350 07 lda 32768,dl 000505 aa 3 00015 2551 00 orsa pr3|13 edx_data.wake_map STATEMENT 1 ON LINE 169 call iox_$control (iox_$user_input, "set_wakeup_table", addr (swt), code); 000506 aa 777355 2350 04 lda -275,ic 000063 = 163145164137 000507 aa 777355 2360 04 ldq -275,ic 000064 = 167141153145 000510 aa 6 00426 7571 00 staq pr6|278 000511 aa 777354 2350 04 lda -276,ic 000065 = 165160137164 000512 aa 777354 2360 04 ldq -276,ic 000066 = 141142154145 000513 aa 6 00430 7571 00 staq pr6|280 000514 aa 3 00012 3515 00 epp1 pr3|10 edx_data.swt 000515 aa 6 00444 2515 00 spri1 pr6|292 000516 la 4 00024 3521 20 epp2 pr4|20,* iox_$user_input 000517 aa 6 00450 2521 00 spri2 pr6|296 000520 aa 6 00426 3521 00 epp2 pr6|278 000521 aa 6 00452 2521 00 spri2 pr6|298 000522 aa 6 00444 3521 00 epp2 pr6|292 000523 aa 6 00454 2521 00 spri2 pr6|300 000524 aa 6 00100 3521 00 epp2 pr6|64 code 000525 aa 6 00456 2521 00 spri2 pr6|302 000526 aa 777313 3520 04 epp2 -309,ic 000041 = 464000000000 000527 aa 6 00460 2521 00 spri2 pr6|304 000530 aa 6 00464 2521 00 spri2 pr6|308 000531 aa 777301 3520 04 epp2 -319,ic 000032 = 524000000020 000532 aa 6 00462 2521 00 spri2 pr6|306 000533 aa 777304 3520 04 epp2 -316,ic 000037 = 404000000043 000534 aa 6 00466 2521 00 spri2 pr6|310 000535 aa 6 00446 6211 00 eax1 pr6|294 000536 aa 020000 4310 07 fld 8192,dl 000537 la 4 00042 3521 20 epp2 pr4|34,* iox_$control 000540 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 170 end; STATEMENT 1 ON LINE 172 abp = addr (b0); 000541 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 000542 aa 7 00034 3735 00 epp7 pr7|28 qid.b0 000543 aa 6 00032 3715 20 epp5 pr6|26,* 000544 aa 5 00010 6535 20 spri7 pr5|8,* abp STATEMENT 1 ON LINE 173 acode = 0; 000545 aa 5 00012 4501 20 stz pr5|10,* acode STATEMENT 1 ON LINE 175 return; 000546 aa 6 00342 2361 00 ldq pr6|226 000547 aa 000005 6010 04 tnz 5,ic 000554 000550 aa 000027 7260 07 lxl6 23,dl 000551 aa 777343 3520 04 epp2 -285,ic 000114 = 162145164165 000552 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 000553 aa 0 00631 7101 00 tra pr0|409 return_mac 000554 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO prime STATEMENT 1 ON LINE 179 prime: entry (P_qid_ptr, pptr, plen); 000555 at 000003000041 000556 tt 000041000040 000557 ta 000555000000 000560 da 000214300000 000561 aa 000660 6270 00 eax7 432 000562 aa 7 00034 3521 20 epp2 pr7|28,* 000563 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000564 aa 000006000000 000565 aa 000000000000 000566 aa 000001 2360 07 ldq 1,dl 000567 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 185 qid_ptr = P_qid_ptr; 000570 aa 6 00032 3735 20 epp7 pr6|26,* 000571 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 000572 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 000573 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 187 substr (tw.dp -> a_string, 1, plen) = substr (pptr -> a_string, 1, plen); 000574 aa 5 00164 3535 20 epp3 pr5|116,* qid.dp 000575 aa 7 00004 3515 20 epp1 pr7|4,* pptr 000576 aa 1 00000 3515 20 epp1 pr1|0,* pptr 000577 aa 7 00006 2351 20 lda pr7|6,* plen 000600 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 000601 aa 1 00000 00 0005 desc9a pr1|0,al a_string 000602 aa 3 00000 00 0005 desc9a pr3|0,al a_string STATEMENT 1 ON LINE 189 tw.ti = 1; 000603 aa 000001 2360 07 ldq 1,dl 000604 aa 5 00273 7561 00 stq pr5|187 qid.ti STATEMENT 1 ON LINE 190 tw.te = plen; 000605 aa 7 00006 2361 20 ldq pr7|6,* plen 000606 aa 5 00274 7561 00 stq pr5|188 qid.te STATEMENT 1 ON LINE 191 tw.lb = plen; 000607 aa 7 00006 2361 20 ldq pr7|6,* plen 000610 aa 5 00266 7561 00 stq pr5|182 qid.lb STATEMENT 1 ON LINE 192 tw.ft = tw.de + 1; 000611 aa 5 00270 2361 00 ldq pr5|184 qid.de 000612 aa 000001 0760 07 adq 1,dl 000613 aa 5 00267 7561 00 stq pr5|183 qid.ft STATEMENT 1 ON LINE 193 return; 000614 aa 6 00342 2361 00 ldq pr6|226 000615 aa 000005 6010 04 tnz 5,ic 000622 000616 aa 000027 7260 07 lxl6 23,dl 000617 aa 777275 3520 04 epp2 -323,ic 000114 = 162145164165 000620 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 000621 aa 0 00631 7101 00 tra pr0|409 return_mac 000622 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO edx_cleanup STATEMENT 1 ON LINE 197 edx_cleanup: entry (P_qid_ptr); 000623 at 000001000041 000624 ta 000623000000 000625 da 000222300000 000626 aa 000660 6270 00 eax7 432 000627 aa 7 00034 3521 20 epp2 pr7|28,* 000630 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000631 aa 000002000000 000632 aa 000000000000 000633 aa 000001 2360 07 ldq 1,dl 000634 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 200 qid_ptr = P_qid_ptr; 000635 aa 6 00032 3735 20 epp7 pr6|26,* 000636 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 000637 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 000640 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 201 if qid.edx_util_data_ptr = null () then return; 000641 aa 5 00026 2371 00 ldaq pr5|22 qid.edx_util_data_ptr 000642 aa 777206 6770 04 eraq -378,ic 000050 = 077777000043 000001000000 000643 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000644 aa 000010 6010 04 tnz 8,ic 000654 000645 aa 6 00342 2361 00 ldq pr6|226 000646 aa 000005 6010 04 tnz 5,ic 000653 000647 aa 000027 7260 07 lxl6 23,dl 000650 aa 777244 3520 04 epp2 -348,ic 000114 = 162145164165 000651 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 000652 aa 0 00631 7101 00 tra pr0|409 return_mac 000653 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 203 do while (level ^= 0); 000654 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 000655 aa 7 00026 3715 20 epp5 pr7|22,* qid.edx_util_data_ptr 000656 aa 5 00006 2361 00 ldq pr5|6 edx_data.level 000657 aa 000017 6000 04 tze 15,ic 000676 STATEMENT 1 ON LINE 204 p = top; 000660 aa 5 00010 3535 20 epp3 pr5|8,* edx_data.top 000661 aa 6 00112 2535 00 spri3 pr6|74 p STATEMENT 1 ON LINE 205 top = p -> sv.prev; 000662 aa 3 00000 3515 20 epp1 pr3|0,* sv.prev 000663 aa 5 00010 2515 00 spri1 pr5|8 edx_data.top STATEMENT 1 ON LINE 206 curp = p -> sv.bp; 000664 aa 3 00002 3715 20 epp5 pr3|2,* sv.bp 000665 aa 7 00026 3515 20 epp1 pr7|22,* qid.edx_util_data_ptr 000666 aa 1 00004 6515 00 spri5 pr1|4 edx_data.curp STATEMENT 1 ON LINE 207 free p -> sv in (editor_area); 000667 aa 6 00112 3715 00 epp5 pr6|74 p 000670 aa 0 01404 7001 00 tsx0 pr0|772 op_freen_ STATEMENT 1 ON LINE 208 level = level - 1; 000671 aa 000001 3360 07 lcq 1,dl 000672 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 000673 aa 7 00026 3715 20 epp5 pr7|22,* qid.edx_util_data_ptr 000674 aa 5 00006 0561 00 asq pr5|6 edx_data.level STATEMENT 1 ON LINE 209 end; 000675 aa 777757 7100 04 tra -17,ic 000654 STATEMENT 1 ON LINE 211 bp = addr (b0); 000676 aa 7 00034 3535 00 epp3 pr7|28 qid.b0 000677 aa 6 00340 2535 00 spri3 pr6|224 bp STATEMENT 1 ON LINE 212 do while (bp ^= null ()); 000700 aa 6 00340 2371 00 ldaq pr6|224 bp 000701 aa 777147 6770 04 eraq -409,ic 000050 = 077777000043 000001000000 000702 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000703 aa 000043 6000 04 tze 35,ic 000746 STATEMENT 1 ON LINE 213 p = b.next; 000704 aa 6 00340 3735 20 epp7 pr6|224,* bp 000705 aa 7 00004 3735 20 epp7 pr7|4,* b.next 000706 aa 6 00112 6535 00 spri7 pr6|74 p STATEMENT 1 ON LINE 214 call release_temp_segment_ (qid.editor_name, b.dp, (0)); 000707 aa 6 00407 4501 00 stz pr6|263 000710 aa 6 00336 3521 20 epp2 pr6|222,* qid.editor_name 000711 aa 6 00412 2521 00 spri2 pr6|266 000712 aa 6 00340 3715 20 epp5 pr6|224,* bp 000713 aa 5 00006 3521 00 epp2 pr5|6 b.dp 000714 aa 6 00414 2521 00 spri2 pr6|268 000715 aa 6 00407 3521 00 epp2 pr6|263 000716 aa 6 00416 2521 00 spri2 pr6|270 000717 aa 777115 3520 04 epp2 -435,ic 000034 = 526000000110 000720 aa 6 00420 2521 00 spri2 pr6|272 000721 aa 777120 3520 04 epp2 -432,ic 000041 = 464000000000 000722 aa 6 00422 2521 00 spri2 pr6|274 000723 aa 777114 3520 04 epp2 -436,ic 000037 = 404000000043 000724 aa 6 00424 2521 00 spri2 pr6|276 000725 aa 6 00410 6211 00 eax1 pr6|264 000726 aa 014000 4310 07 fld 6144,dl 000727 aa 6 00044 3701 20 epp4 pr6|36,* 000730 la 4 00050 3521 20 epp2 pr4|40,* release_temp_segment_ 000731 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 215 if bp ^= addr (b0) then free bp -> b in (editor_area); 000732 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 000733 aa 7 00034 3735 00 epp7 pr7|28 qid.b0 000734 aa 6 00444 6535 00 spri7 pr6|292 000735 aa 6 00444 2371 00 ldaq pr6|292 000736 aa 6 00340 6771 00 eraq pr6|224 bp 000737 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000740 aa 000003 6000 04 tze 3,ic 000743 000741 aa 6 00340 3715 00 epp5 pr6|224 bp 000742 aa 0 01404 7001 00 tsx0 pr0|772 op_freen_ STATEMENT 1 ON LINE 216 bp = p; 000743 aa 6 00112 3735 20 epp7 pr6|74,* p 000744 aa 6 00340 6535 00 spri7 pr6|224 bp STATEMENT 1 ON LINE 217 end; 000745 aa 777733 7100 04 tra -37,ic 000700 STATEMENT 1 ON LINE 219 if sys_info$service_system then do; 000746 aa 6 00044 3701 20 epp4 pr6|36,* 000747 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 000750 aa 000041 6000 04 tze 33,ic 001011 STATEMENT 1 ON LINE 220 swt.new_table = swt.old_table; 000751 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 000752 aa 7 00026 3715 20 epp5 pr7|22,* qid.edx_util_data_ptr 000753 aa 000 100 100 500 mlr (pr),(pr),fill(000) 000754 aa 5 00017 00 0020 desc9a pr5|15,16 edx_data.old_table 000755 aa 5 00013 00 0020 desc9a pr5|11,16 edx_data.new_table STATEMENT 1 ON LINE 221 call iox_$control (iox_$user_input, "set_wakeup_table", addr (swt), code); 000756 aa 777105 2350 04 lda -443,ic 000063 = 163145164137 000757 aa 777105 2360 04 ldq -443,ic 000064 = 167141153145 000760 aa 6 00426 7571 00 staq pr6|278 000761 aa 777104 2350 04 lda -444,ic 000065 = 165160137164 000762 aa 777104 2360 04 ldq -444,ic 000066 = 141142154145 000763 aa 6 00430 7571 00 staq pr6|280 000764 aa 5 00012 3535 00 epp3 pr5|10 edx_data.swt 000765 aa 6 00470 2535 00 spri3 pr6|312 000766 la 4 00024 3521 20 epp2 pr4|20,* iox_$user_input 000767 aa 6 00450 2521 00 spri2 pr6|296 000770 aa 6 00426 3521 00 epp2 pr6|278 000771 aa 6 00452 2521 00 spri2 pr6|298 000772 aa 6 00470 3521 00 epp2 pr6|312 000773 aa 6 00454 2521 00 spri2 pr6|300 000774 aa 6 00100 3521 00 epp2 pr6|64 code 000775 aa 6 00456 2521 00 spri2 pr6|302 000776 aa 777043 3520 04 epp2 -477,ic 000041 = 464000000000 000777 aa 6 00460 2521 00 spri2 pr6|304 001000 aa 6 00464 2521 00 spri2 pr6|308 001001 aa 777031 3520 04 epp2 -487,ic 000032 = 524000000020 001002 aa 6 00462 2521 00 spri2 pr6|306 001003 aa 777034 3520 04 epp2 -484,ic 000037 = 404000000043 001004 aa 6 00466 2521 00 spri2 pr6|310 001005 aa 6 00446 6211 00 eax1 pr6|294 001006 aa 020000 4310 07 fld 8192,dl 001007 la 4 00042 3521 20 epp2 pr4|34,* iox_$control 001010 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 222 end; STATEMENT 1 ON LINE 224 free qid.edx_util_data_ptr -> edx_data in (editor_area); 001011 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 001012 aa 7 00026 3715 00 epp5 pr7|22 qid.edx_util_data_ptr 001013 aa 0 01404 7001 00 tsx0 pr0|772 op_freen_ STATEMENT 1 ON LINE 225 qid.edx_util_data_ptr = null (); 001014 aa 777034 2370 04 ldaq -484,ic 000050 = 077777000043 000001000000 001015 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 001016 aa 7 00026 7571 00 staq pr7|22 qid.edx_util_data_ptr STATEMENT 1 ON LINE 227 return; 001017 aa 6 00342 2361 00 ldq pr6|226 001020 aa 000005 6010 04 tnz 5,ic 001025 001021 aa 000027 7260 07 lxl6 23,dl 001022 aa 777072 3520 04 epp2 -454,ic 000114 = 162145164165 001023 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 001024 aa 0 00631 7101 00 tra pr0|409 return_mac 001025 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO read_ptr STATEMENT 1 ON LINE 240 read_ptr: entry (P_qid_ptr, atp, nelem, nelemt); 001026 at 000004000041 001027 tt 000041000040 001030 ta 000040000000 001031 ta 001026000000 001032 da 000230300000 001033 aa 000660 6270 00 eax7 432 001034 aa 7 00034 3521 20 epp2 pr7|28,* 001035 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 001036 aa 000010000000 001037 aa 000000000000 001040 aa 000001 2360 07 ldq 1,dl 001041 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 243 qid_ptr = P_qid_ptr; 001042 aa 6 00032 3735 20 epp7 pr6|26,* 001043 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 001044 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 001045 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 245 tp = atp; 001046 aa 7 00004 3535 20 epp3 pr7|4,* atp 001047 aa 3 00000 3535 20 epp3 pr3|0,* atp 001050 aa 6 00316 2535 00 spri3 pr6|206 tp STATEMENT 1 ON LINE 246 te = nelem; 001051 aa 7 00006 2361 20 ldq pr7|6,* nelem 001052 aa 6 00114 7561 00 stq pr6|76 te STATEMENT 1 ON LINE 247 if ^ sys_info$service_system then on condition (sub_request_abort_) begin; 001053 aa 6 00044 3701 20 epp4 pr6|36,* 001054 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 001055 aa 000027 6010 04 tnz 23,ic 001104 001056 aa 000022 7260 07 lxl6 18,dl 001057 aa 777015 3520 04 epp2 -499,ic 000074 = 163165142137 001060 aa 0 00717 7001 00 tsx0 pr0|463 enable_op 001061 aa 000004 7100 04 tra 4,ic 001065 001062 aa 000326000000 001063 aa 000021 7100 04 tra 17,ic 001104 BEGIN CONDITION sub_request_abort_.1 ENTRY TO sub_request_abort_.1 STATEMENT 1 ON LINE 247 if ^ sys_info$service_system then on condition (sub_request_abort_) begin; 001064 da 000241200000 001065 aa 000120 6270 00 eax7 80 001066 aa 7 00034 3521 20 epp2 pr7|28,* 001067 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 001070 aa 000000000000 001071 aa 000000000000 STATEMENT 1 ON LINE 249 call resetread (qid_ptr); 001072 aa 6 00040 3735 20 epp7 pr6|32,* 001073 aa 7 00336 3521 00 epp2 pr7|222 qid_ptr 001074 aa 6 00102 2521 00 spri2 pr6|66 001075 aa 6 00100 6211 00 eax1 pr6|64 001076 aa 004000 4310 07 fld 2048,dl 001077 aa 001255 3520 04 epp2 685,ic 002354 = 000660627000 001100 aa 0 00621 7001 00 tsx0 pr0|401 call_ext_in STATEMENT 1 ON LINE 250 go to restart; 001101 aa 000003 3520 04 epp2 3,ic 001104 = 600336373520 001102 aa 000001 7270 07 lxl7 1,dl 001103 aa 0 00657 7101 00 tra pr0|431 tra_ext_1 STATEMENT 1 ON LINE 251 end; END CONDITION sub_request_abort_.1 STATEMENT 1 ON LINE 252 restart: bp = curp; 001104 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 001105 aa 7 00026 3715 20 epp5 pr7|22,* qid.edx_util_data_ptr 001106 aa 5 00004 3735 20 epp7 pr5|4,* edx_data.curp 001107 aa 6 00340 6535 00 spri7 pr6|224 bp STATEMENT 1 ON LINE 254 b.modified = b.modified & (b.default_path ^= ""); 001110 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001111 aa 7 00010 00 0400 desc9a pr7|8,256 b.default_path 001112 aa 003365 00 0000 desc9a 1781,0 004475 = 060000000000 001113 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 001114 aa 6 00407 7551 00 sta pr6|263 001115 aa 7 00121 2351 00 lda pr7|81 b.modified 001116 aa 0 00002 3771 00 anaq pr0|2 = 400000000000 000000000000 001117 aa 6 00407 3751 00 ana pr6|263 001120 aa 7 00121 6751 00 era pr7|81 b.modified 001121 aa 0 00002 3751 00 ana pr0|2 = 400000000000 001122 aa 7 00121 6551 00 ersa pr7|81 b.modified STATEMENT 1 ON LINE 255 ti = 1; 001123 aa 000001 2360 07 ldq 1,dl 001124 aa 6 00115 7561 00 stq pr6|77 ti STATEMENT 1 ON LINE 256 retry: if ^ sys_info$service_system then call bce_check_abort; 001125 aa 6 00044 3701 20 epp4 pr6|36,* 001126 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 001127 aa 000005 6010 04 tnz 5,ic 001134 001130 aa 6 00056 6211 00 eax1 pr6|46 001131 aa 000000 4310 07 fld 0,dl 001132 la 4 00026 3521 20 epp2 pr4|22,* bce_check_abort 001133 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 258 if b.ti > b.te then do; 001134 aa 6 00340 3735 20 epp7 pr6|224,* bp 001135 aa 7 00115 2361 00 ldq pr7|77 b.ti 001136 aa 7 00116 1161 00 cmpq pr7|78 b.te 001137 aa 000216 6044 04 tmoz 142,ic 001355 STATEMENT 1 ON LINE 259 if b.ti > b.lb & b.ti <= b.ft then do; 001140 aa 7 00110 1161 00 cmpq pr7|72 b.lb 001141 aa 000012 6044 04 tmoz 10,ic 001153 001142 aa 7 00111 1161 00 cmpq pr7|73 b.ft 001143 aa 000010 6054 04 tpnz 8,ic 001153 STATEMENT 1 ON LINE 260 b.te = b.de; 001144 aa 7 00112 2361 00 ldq pr7|74 b.de 001145 aa 7 00116 7561 00 stq pr7|78 b.te STATEMENT 1 ON LINE 261 b.ti = b.ft; 001146 aa 7 00111 2361 00 ldq pr7|73 b.ft 001147 aa 7 00115 7561 00 stq pr7|77 b.ti STATEMENT 1 ON LINE 262 if b.ft <= b.de then goto retry; 001150 aa 7 00111 2361 00 ldq pr7|73 b.ft 001151 aa 7 00112 1161 00 cmpq pr7|74 b.de 001152 aa 777753 6044 04 tmoz -21,ic 001125 STATEMENT 1 ON LINE 263 end; STATEMENT 1 ON LINE 265 if b.tw_sw then do; 001153 aa 7 00117 2351 00 lda pr7|79 b.tw_sw 001154 aa 000163 6000 04 tze 115,ic 001337 STATEMENT 1 ON LINE 266 if sys_info$service_system then call iox_$get_line (iox_$user_input, b.dp, sys_info$max_seg_size * 4, b.te, code); 001155 aa 6 00044 3701 20 epp4 pr6|36,* 001156 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 001157 aa 000023 6000 04 tze 19,ic 001202 001160 la 4 00012 2361 20 ldq pr4|10,* sys_info$max_seg_size 001161 aa 000002 7360 00 qls 2 001162 aa 6 00407 7561 00 stq pr6|263 001163 la 4 00024 3521 20 epp2 pr4|20,* iox_$user_input 001164 aa 6 00412 2521 00 spri2 pr6|266 001165 aa 7 00006 3521 00 epp2 pr7|6 b.dp 001166 aa 6 00414 2521 00 spri2 pr6|268 001167 aa 6 00407 3521 00 epp2 pr6|263 001170 aa 6 00416 2521 00 spri2 pr6|270 001171 aa 7 00116 3521 00 epp2 pr7|78 b.te 001172 aa 6 00420 2521 00 spri2 pr6|272 001173 aa 6 00100 3521 00 epp2 pr6|64 code 001174 aa 6 00422 2521 00 spri2 pr6|274 001175 aa 6 00410 6211 00 eax1 pr6|264 001176 aa 024000 4310 07 fld 10240,dl 001177 la 4 00030 3521 20 epp2 pr4|24,* iox_$get_line 001200 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 001201 aa 000023 7100 04 tra 19,ic 001224 STATEMENT 1 ON LINE 268 else call bce_data$get_line (addr (bce_data$get_line), b.dp, 256, b.te, code); 001202 la 4 00016 3715 20 epp5 pr4|14,* bce_data$get_line 001203 aa 6 00470 6515 00 spri5 pr6|312 001204 aa 000400 2360 07 ldq 256,dl 001205 aa 6 00407 7561 00 stq pr6|263 001206 aa 6 00470 3521 00 epp2 pr6|312 001207 aa 6 00430 2521 00 spri2 pr6|280 001210 aa 7 00006 3521 00 epp2 pr7|6 b.dp 001211 aa 6 00432 2521 00 spri2 pr6|282 001212 aa 6 00407 3521 00 epp2 pr6|263 001213 aa 6 00434 2521 00 spri2 pr6|284 001214 aa 7 00116 3521 00 epp2 pr7|78 b.te 001215 aa 6 00436 2521 00 spri2 pr6|286 001216 aa 6 00100 3521 00 epp2 pr6|64 code 001217 aa 6 00440 2521 00 spri2 pr6|288 001220 aa 6 00426 6211 00 eax1 pr6|278 001221 aa 024000 4310 07 fld 10240,dl 001222 la 4 00016 3521 20 epp2 pr4|14,* bce_data$get_line 001223 aa 0 00617 7001 00 tsx0 pr0|399 call_ent_var STATEMENT 1 ON LINE 270 if code ^= 0 then if code ^= error_table_$long_record then do; 001224 aa 6 00100 2361 00 ldq pr6|64 code 001225 aa 000072 6000 04 tze 58,ic 001317 001226 aa 6 00044 3701 20 epp4 pr6|36,* 001227 la 4 00010 1161 20 cmpq pr4|8,* error_table_$long_record 001230 aa 000067 6000 04 tze 55,ic 001317 STATEMENT 1 ON LINE 272 call com_err_ (code, qid.editor_name, "edx_util_$read_ptr"); 001231 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001232 aa 776636 00 0024 desc9a -610,20 000067 = 145144170137 001233 aa 6 00410 00 0024 desc9a pr6|264,20 001234 aa 6 00100 3521 00 epp2 pr6|64 code 001235 aa 6 00430 2521 00 spri2 pr6|280 001236 aa 6 00336 3521 20 epp2 pr6|222,* qid.editor_name 001237 aa 6 00432 2521 00 spri2 pr6|282 001240 aa 6 00410 3521 00 epp2 pr6|264 001241 aa 6 00434 2521 00 spri2 pr6|284 001242 aa 776575 3520 04 epp2 -643,ic 000037 = 404000000043 001243 aa 6 00436 2521 00 spri2 pr6|286 001244 aa 776570 3520 04 epp2 -648,ic 000034 = 526000000110 001245 aa 6 00440 2521 00 spri2 pr6|288 001246 aa 776563 3520 04 epp2 -653,ic 000031 = 524000000022 001247 aa 6 00442 2521 00 spri2 pr6|290 001250 aa 6 00426 6211 00 eax1 pr6|278 001251 aa 014000 4310 07 fld 6144,dl 001252 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 001253 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 273 if sys_info$service_system then call iox_$control (iox_$user_input, "resetread", null (), (0)); 001254 aa 6 00044 3701 20 epp4 pr6|36,* 001255 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 001256 aa 000034 6000 04 tze 28,ic 001312 001257 aa 776576 2350 04 lda -642,ic 000055 = 162145163145 001260 aa 776576 2360 04 ldq -642,ic 000056 = 164162145141 001261 aa 6 00426 7571 00 staq pr6|278 001262 aa 144000 2350 03 lda 51200,du 001263 aa 6 00430 7551 00 sta pr6|280 001264 aa 776564 3734 24 epp7 -652,ic* 001265 aa 6 00470 6535 00 spri7 pr6|312 001266 aa 6 00407 4501 00 stz pr6|263 001267 la 4 00024 3521 20 epp2 pr4|20,* iox_$user_input 001270 aa 6 00450 2521 00 spri2 pr6|296 001271 aa 6 00426 3521 00 epp2 pr6|278 001272 aa 6 00452 2521 00 spri2 pr6|298 001273 aa 6 00470 3521 00 epp2 pr6|312 001274 aa 6 00454 2521 00 spri2 pr6|300 001275 aa 6 00407 3521 00 epp2 pr6|263 001276 aa 6 00456 2521 00 spri2 pr6|302 001277 aa 776542 3520 04 epp2 -670,ic 000041 = 464000000000 001300 aa 6 00460 2521 00 spri2 pr6|304 001301 aa 6 00464 2521 00 spri2 pr6|308 001302 aa 776526 3520 04 epp2 -682,ic 000030 = 524000000011 001303 aa 6 00462 2521 00 spri2 pr6|306 001304 aa 776533 3520 04 epp2 -677,ic 000037 = 404000000043 001305 aa 6 00466 2521 00 spri2 pr6|310 001306 aa 6 00446 6211 00 eax1 pr6|294 001307 aa 020000 4310 07 fld 8192,dl 001310 la 4 00042 3521 20 epp2 pr4|34,* iox_$control 001311 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 275 b.ti = 1; 001312 aa 000001 2360 07 ldq 1,dl 001313 aa 6 00340 3735 20 epp7 pr6|224,* bp 001314 aa 7 00115 7561 00 stq pr7|77 b.ti STATEMENT 1 ON LINE 276 b.te = 0; 001315 aa 7 00116 4501 00 stz pr7|78 b.te STATEMENT 1 ON LINE 277 go to retry; 001316 aa 777607 7100 04 tra -121,ic 001125 STATEMENT 1 ON LINE 278 end; STATEMENT 1 ON LINE 280 if b.te > b.de then b.de = 1024 * (divide (b.te, 1024, 21, 0) + 2); 001317 aa 6 00340 3735 20 epp7 pr6|224,* bp 001320 aa 7 00116 2361 00 ldq pr7|78 b.te 001321 aa 7 00112 1161 00 cmpq pr7|74 b.de 001322 aa 000005 6044 04 tmoz 5,ic 001327 001323 aa 002000 5060 07 div 1024,dl 001324 aa 000002 0760 07 adq 2,dl 001325 aa 002000 4020 07 mpy 1024,dl 001326 aa 7 00112 7561 00 stq pr7|74 b.de STATEMENT 1 ON LINE 281 b.ft = b.de + 1; 001327 aa 7 00112 2361 00 ldq pr7|74 b.de 001330 aa 000001 0760 07 adq 1,dl 001331 aa 7 00111 7561 00 stq pr7|73 b.ft STATEMENT 1 ON LINE 282 b.lb = b.te; 001332 aa 7 00116 2361 00 ldq pr7|78 b.te 001333 aa 7 00110 7561 00 stq pr7|72 b.lb STATEMENT 1 ON LINE 283 b.ti = 1; 001334 aa 000001 2360 07 ldq 1,dl 001335 aa 7 00115 7561 00 stq pr7|77 b.ti STATEMENT 1 ON LINE 284 go to retry; 001336 aa 777567 7100 04 tra -137,ic 001125 STATEMENT 1 ON LINE 285 end; STATEMENT 1 ON LINE 286 else do; STATEMENT 1 ON LINE 287 call end_buffer (qid_ptr, (0)); 001337 aa 6 00407 4501 00 stz pr6|263 001340 aa 6 00336 3521 00 epp2 pr6|222 qid_ptr 001341 aa 6 00412 2521 00 spri2 pr6|266 001342 aa 6 00407 3521 00 epp2 pr6|263 001343 aa 6 00414 2521 00 spri2 pr6|268 001344 aa 6 00410 6211 00 eax1 pr6|264 001345 aa 010000 4310 07 fld 4096,dl 001346 aa 000722 3520 04 epp2 466,ic 002270 = 000660627000 001347 aa 0 00621 7001 00 tsx0 pr0|401 call_ext_in STATEMENT 1 ON LINE 288 bp = curp; 001350 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 001351 aa 7 00026 3715 20 epp5 pr7|22,* qid.edx_util_data_ptr 001352 aa 5 00004 3735 20 epp7 pr5|4,* edx_data.curp 001353 aa 6 00340 6535 00 spri7 pr6|224 bp STATEMENT 1 ON LINE 289 go to retry; 001354 aa 777551 7100 04 tra -151,ic 001125 STATEMENT 1 ON LINE 290 end; STATEMENT 1 ON LINE 291 end; STATEMENT 1 ON LINE 292 k = search (substr (b.dp -> a_string, b.ti, (b.te - b.ti + 1)), special_char_string); 001355 aa 7 00116 2361 00 ldq pr7|78 b.te 001356 aa 7 00115 1761 00 sbq pr7|77 b.ti 001357 aa 6 00407 7561 00 stq pr6|263 001360 aa 000001 0760 07 adq 1,dl 001361 aa 7 00115 2351 00 lda pr7|77 b.ti 001362 aa 7 00006 3715 20 epp5 pr7|6,* b.dp 001363 aa 000 000 164 545 tct (pr,rl,al) 001364 aa 5 77777 60 0006 desc9a pr5|-1(3),ql a_string 001365 aa 002712 0000 04 arg 1482,ic 004275 = 000000000000 001366 aa 6 00056 0001 00 arg pr6|46 001367 aa 6 00056 2361 00 ldq pr6|46 001370 aa 0 00242 3761 00 anq pr0|162 = 000777777777 001371 aa 000002 6070 04 ttf 2,ic 001373 001372 aa 000001 3360 07 lcq 1,dl 001373 aa 000001 0760 07 adq 1,dl 001374 aa 6 00104 7561 00 stq pr6|68 k STATEMENT 1 ON LINE 293 if k = 0 then do; 001375 aa 000026 6010 04 tnz 22,ic 001423 STATEMENT 1 ON LINE 294 ki = (b.te - b.ti + 1); 001376 aa 6 00407 2361 00 ldq pr6|263 001377 aa 000001 0760 07 adq 1,dl 001400 aa 6 00106 7561 00 stq pr6|70 ki STATEMENT 1 ON LINE 295 copy_string: substr (tp -> a_string, ti, ki) = substr (b.dp -> a_string, b.ti, ki); 001401 aa 6 00115 2351 00 lda pr6|77 ti 001402 aa 6 00316 3735 20 epp7 pr6|206,* tp 001403 aa 6 00340 3715 20 epp5 pr6|224,* bp 001404 aa 5 00115 2361 00 ldq pr5|77 b.ti 001405 aa 5 00006 3535 20 epp3 pr5|6,* b.dp 001406 aa 000003 0750 07 ada 3,dl 001407 aa 7 77777 3515 00 epp1 pr7|-1 a_string 001410 aa 1 00000 5005 05 a9bd pr1|0,al 001411 aa 6 00106 2351 00 lda pr6|70 ki 001412 aa 040 140 100 546 mlr (pr,rl,ql),(pr,rl),fill(040) 001413 aa 3 77777 60 0005 desc9a pr3|-1(3),al a_string 001414 aa 1 00000 00 0005 desc9a pr1|0,al a_string STATEMENT 1 ON LINE 297 ti = ti + ki; 001415 aa 6 00106 2361 00 ldq pr6|70 ki 001416 aa 6 00115 0561 00 asq pr6|77 ti STATEMENT 1 ON LINE 298 b.ti = b.ti + ki; 001417 aa 5 00115 0561 00 asq pr5|77 b.ti STATEMENT 1 ON LINE 299 if ki < k then go to end_read; 001420 aa 6 00104 1161 00 cmpq pr6|68 k 001421 aa 000631 6040 04 tmi 409,ic 002252 STATEMENT 1 ON LINE 301 else go to retry; 001422 aa 777503 7100 04 tra -189,ic 001125 STATEMENT 1 ON LINE 302 end; STATEMENT 1 ON LINE 304 if ti + k - 1 > te then do; 001423 aa 6 00115 0761 00 adq pr6|77 ti 001424 aa 6 00472 7561 00 stq pr6|314 001425 aa 000001 1760 07 sbq 1,dl 001426 aa 6 00114 1161 00 cmpq pr6|76 te 001427 aa 000006 6044 04 tmoz 6,ic 001435 STATEMENT 1 ON LINE 305 ki = te - ti + 1; 001430 aa 6 00114 2361 00 ldq pr6|76 te 001431 aa 6 00115 1761 00 sbq pr6|77 ti 001432 aa 000001 0760 07 adq 1,dl 001433 aa 6 00106 7561 00 stq pr6|70 ki STATEMENT 1 ON LINE 306 go to copy_string; 001434 aa 777745 7100 04 tra -27,ic 001401 STATEMENT 1 ON LINE 307 end; STATEMENT 1 ON LINE 309 kx = index (special_char_string, substr (b.dp -> a_string, b.ti + k - 1, 1)); 001435 aa 7 00115 2361 00 ldq pr7|77 b.ti 001436 aa 6 00104 0761 00 adq pr6|68 k 001437 aa 6 00473 7561 00 stq pr6|315 001440 aa 000 106 124 404 scm (ic),(pr,ql),mask(000) 001441 aa 776354 00 0005 desc9a -788,5 000014 = 012134031030 001442 aa 5 77777 40 0001 desc9a pr5|-1(2),1 a_string 001443 aa 6 00056 0001 00 arg pr6|46 001444 aa 6 00056 2361 00 ldq pr6|46 001445 aa 000002 6070 04 ttf 2,ic 001447 001446 aa 000001 3360 07 lcq 1,dl 001447 aa 000001 0760 07 adq 1,dl 001450 aa 6 00110 7561 00 stq pr6|72 kx STATEMENT 1 ON LINE 311 go to rd_case (kx); 001451 ta 777777 7100 06 tra -1,ql STATEMENT 1 ON LINE 313 rd_case (1): /* found an new line */ substr (tp -> a_string, ti, k) = substr (b.dp -> a_string, b.ti, k); 001452 aa 6 00115 2361 00 ldq pr6|77 ti 001453 aa 6 00316 3535 20 epp3 pr6|206,* tp 001454 aa 000003 0750 07 ada 3,dl 001455 aa 5 77777 3515 00 epp1 pr5|-1 a_string 001456 aa 1 00000 5005 05 a9bd pr1|0,al 001457 aa 6 00104 2351 00 lda pr6|68 k 001460 aa 040 146 100 540 mlr (pr,rl),(pr,rl,ql),fill(040) 001461 aa 1 00000 00 0005 desc9a pr1|0,al a_string 001462 aa 3 77777 60 0005 desc9a pr3|-1(3),al a_string STATEMENT 1 ON LINE 316 ti = ti + k - 1; 001463 aa 6 00472 2361 00 ldq pr6|314 001464 aa 000001 1760 07 sbq 1,dl 001465 aa 6 00115 7561 00 stq pr6|77 ti STATEMENT 1 ON LINE 317 b.ti = b.ti + k; 001466 aa 6 00104 2361 00 ldq pr6|68 k 001467 aa 7 00115 0561 00 asq pr7|77 b.ti STATEMENT 1 ON LINE 318 nelemt = ti; 001470 aa 6 00115 2361 00 ldq pr6|77 ti 001471 aa 6 00032 3515 20 epp1 pr6|26,* 001472 aa 1 00010 7561 20 stq pr1|8,* nelemt STATEMENT 1 ON LINE 319 return; 001473 aa 6 00342 2361 00 ldq pr6|226 001474 aa 000005 6010 04 tnz 5,ic 001501 001475 aa 000027 7260 07 lxl6 23,dl 001476 aa 776416 3520 04 epp2 -754,ic 000114 = 162145164165 001477 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 001500 aa 0 00631 7101 00 tra pr0|409 return_mac 001501 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 321 rd_case (2): /* found an escape character "\" */ if b.ti + k <= b.te then do; 001502 aa 6 00473 2361 00 ldq pr6|315 001503 aa 7 00116 1161 00 cmpq pr7|78 b.te 001504 aa 000030 6054 04 tpnz 24,ic 001534 STATEMENT 1 ON LINE 323 ka = 1; 001505 aa 000001 2360 07 ldq 1,dl 001506 aa 6 00105 7561 00 stq pr6|69 ka STATEMENT 1 ON LINE 324 kik = index ("cbrCBR", substr (b.dp -> a_string, b.ti + k, 1)); 001507 aa 6 00473 2361 00 ldq pr6|315 001510 aa 000 106 124 404 scm (ic),(pr,ql),mask(000) 001511 aa 776336 00 0006 desc9a -802,6 000046 = 143142162103 001512 aa 5 77777 60 0001 desc9a pr5|-1(3),1 a_string 001513 aa 6 00056 0001 00 arg pr6|46 001514 aa 6 00056 2361 00 ldq pr6|46 001515 aa 000002 6070 04 ttf 2,ic 001517 001516 aa 000001 3360 07 lcq 1,dl 001517 aa 000001 0760 07 adq 1,dl 001520 aa 6 00107 7561 00 stq pr6|71 kik STATEMENT 1 ON LINE 326 if kik = 0 then do; 001521 aa 000004 6010 04 tnz 4,ic 001525 STATEMENT 1 ON LINE 327 ki = k; 001522 aa 6 00104 2361 00 ldq pr6|68 k 001523 aa 6 00106 7561 00 stq pr6|70 ki STATEMENT 1 ON LINE 328 go to copy_string; 001524 aa 777655 7100 04 tra -83,ic 001401 STATEMENT 1 ON LINE 329 end; STATEMENT 1 ON LINE 330 go to rd_action (kik); 001525 ta 000004 7100 06 tra 4,ql STATEMENT 1 ON LINE 331 end; STATEMENT 1 ON LINE 334 rd_case (3): /* single character conceal */ ka = 0; 001526 aa 6 00105 4501 00 stz pr6|69 ka STATEMENT 1 ON LINE 336 rd_action (1): rd_action (4): rd_conceal: if b.ti + k + ka > b.te then do; 001527 aa 6 00473 2361 00 ldq pr6|315 001530 aa 6 00105 0761 00 adq pr6|69 ka 001531 aa 7 00116 1161 00 cmpq pr7|78 b.te 001532 aa 6 00474 7561 00 stq pr6|316 001533 aa 000006 6044 04 tmoz 6,ic 001541 STATEMENT 1 ON LINE 340 past_end_of_input: k = 0; 001534 aa 6 00104 4501 00 stz pr6|68 k STATEMENT 1 ON LINE 342 ki = b.te - b.ti + 1; 001535 aa 6 00407 2361 00 ldq pr6|263 001536 aa 000001 0760 07 adq 1,dl 001537 aa 6 00106 7561 00 stq pr6|70 ki STATEMENT 1 ON LINE 343 go to copy_string; 001540 aa 777641 7100 04 tra -95,ic 001401 STATEMENT 1 ON LINE 344 end; STATEMENT 1 ON LINE 346 indx = index (special_char_string, substr (b.dp -> a_string, b.ti + k + ka, 1)); 001541 aa 000 106 124 404 scm (ic),(pr,ql),mask(000) 001542 aa 776253 00 0005 desc9a -853,5 000014 = 012134031030 001543 aa 5 77777 60 0001 desc9a pr5|-1(3),1 a_string 001544 aa 6 00056 0001 00 arg pr6|46 001545 aa 6 00056 2361 00 ldq pr6|46 001546 aa 000002 6070 04 ttf 2,ic 001550 001547 aa 000001 3360 07 lcq 1,dl 001550 aa 000001 0760 07 adq 1,dl 001551 aa 6 00102 7561 00 stq pr6|66 indx STATEMENT 1 ON LINE 348 if indx = 2 then do; 001552 aa 000002 1160 07 cmpq 2,dl 001553 aa 000024 6010 04 tnz 20,ic 001577 STATEMENT 1 ON LINE 350 if index ("bcfrBCFR", substr (b.dp -> a_string, b.ti + k + ka + 1, 1)) ^= 0 then ki = k + ka + 1; 001554 aa 6 00474 2361 00 ldq pr6|316 001555 aa 000 106 124 404 scm (ic),(pr,ql),mask(000) 001556 aa 776267 00 0010 desc9a -841,8 000044 = 142143146162 001557 aa 5 00000 00 0001 desc9a pr5|0,1 a_string 001560 aa 6 00056 0001 00 arg pr6|46 001561 aa 6 00056 2361 00 ldq pr6|46 001562 aa 000002 6070 04 ttf 2,ic 001564 001563 aa 000001 3360 07 lcq 1,dl 001564 aa 000001 0760 07 adq 1,dl 001565 aa 000006 6000 04 tze 6,ic 001573 001566 aa 6 00104 2361 00 ldq pr6|68 k 001567 aa 6 00105 0761 00 adq pr6|69 ka 001570 aa 000001 0760 07 adq 1,dl 001571 aa 6 00106 7561 00 stq pr6|70 ki 001572 aa 777607 7100 04 tra -121,ic 001401 STATEMENT 1 ON LINE 352 else ki = k + ka; 001573 aa 6 00104 2361 00 ldq pr6|68 k 001574 aa 6 00105 0761 00 adq pr6|69 ka 001575 aa 6 00106 7561 00 stq pr6|70 ki STATEMENT 1 ON LINE 353 go to copy_string; 001576 aa 777603 7100 04 tra -125,ic 001401 STATEMENT 1 ON LINE 354 end; STATEMENT 1 ON LINE 356 else if indx = 3 then do; 001577 aa 000003 1160 07 cmpq 3,dl 001600 aa 000006 6010 04 tnz 6,ic 001606 STATEMENT 1 ON LINE 357 ki = k + ka + 1; 001601 aa 6 00104 2361 00 ldq pr6|68 k 001602 aa 6 00105 0761 00 adq pr6|69 ka 001603 aa 000001 0760 07 adq 1,dl 001604 aa 6 00106 7561 00 stq pr6|70 ki STATEMENT 1 ON LINE 358 go to copy_string; 001605 aa 777574 7100 04 tra -132,ic 001401 STATEMENT 1 ON LINE 359 end; STATEMENT 1 ON LINE 361 else if indx ^= 0 /* some other special ? */ then go to add_special; 001606 aa 6 00102 2361 00 ldq pr6|66 indx 001607 aa 000005 6010 04 tnz 5,ic 001614 STATEMENT 1 ON LINE 365 else do; STATEMENT 1 ON LINE 366 ki = k + ka; 001610 aa 6 00104 2361 00 ldq pr6|68 k 001611 aa 6 00105 0761 00 adq pr6|69 ka 001612 aa 6 00106 7561 00 stq pr6|70 ki STATEMENT 1 ON LINE 367 go to copy_string; 001613 aa 777566 7100 04 tra -138,ic 001401 STATEMENT 1 ON LINE 368 end; STATEMENT 1 ON LINE 371 add_special: substr (tp -> a_string, ti, k) = substr (b.dp -> a_string, b.ti, k - 1) || substr (b.dp -> a_string, b.ti + k + ka, 1); 001614 aa 6 00104 2361 00 ldq pr6|68 k 001615 aa 000001 1760 07 sbq 1,dl 001616 aa 6 00407 7561 00 stq pr6|263 001617 aa 000001 0760 07 adq 1,dl 001620 aa 0 00551 7001 00 tsx0 pr0|361 alloc_char_temp 001621 aa 7 00115 2351 00 lda pr7|77 b.ti 001622 aa 6 00475 7561 00 stq pr6|317 001623 aa 6 00407 2361 00 ldq pr6|263 001624 aa 040 140 100 545 mlr (pr,rl,al),(pr,rl),fill(040) 001625 aa 5 77777 60 0006 desc9a pr5|-1(3),ql a_string 001626 aa 2 00000 00 0006 desc9a pr2|0,ql 001627 aa 6 00474 2351 00 lda pr6|316 001630 aa 040 106 100 505 mlr (pr,al),(pr,ql),fill(040) 001631 aa 5 77777 60 0001 desc9a pr5|-1(3),1 a_string 001632 aa 2 00000 00 0001 desc9a pr2|0,1 001633 aa 6 00115 2361 00 ldq pr6|77 ti 001634 aa 6 00316 3535 20 epp3 pr6|206,* tp 001635 aa 6 00104 2351 00 lda pr6|68 k 001636 aa 000003 0760 07 adq 3,dl 001637 aa 3 77777 3515 00 epp1 pr3|-1 a_string 001640 aa 1 00000 5005 06 a9bd pr1|0,ql 001641 aa 6 00475 2361 00 ldq pr6|317 001642 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001643 aa 2 00000 00 0006 desc9a pr2|0,ql 001644 aa 1 00000 00 0005 desc9a pr1|0,al a_string STATEMENT 1 ON LINE 375 b.ti = b.ti + k + ka + 1; 001645 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001646 aa 6 00474 2361 00 ldq pr6|316 001647 aa 000001 0760 07 adq 1,dl 001650 aa 7 00115 7561 00 stq pr7|77 b.ti STATEMENT 1 ON LINE 376 ti = ti + k; 001651 aa 6 00104 2361 00 ldq pr6|68 k 001652 aa 6 00115 0561 00 asq pr6|77 ti STATEMENT 1 ON LINE 377 go to retry; 001653 aa 777252 7100 04 tra -342,ic 001125 STATEMENT 1 ON LINE 380 rd_case (4): /* insert contents of buffer */ ka = 0; 001654 aa 6 00105 4501 00 stz pr6|69 ka STATEMENT 1 ON LINE 382 rd_action (2): rd_action (5): rd_exp_buff: substr (tp -> a_string, ti, k - 1) = substr (b.dp -> a_string, b.ti, k - 1); 001655 aa 6 00104 2361 00 ldq pr6|68 k 001656 aa 000001 1760 07 sbq 1,dl 001657 aa 6 00474 7561 00 stq pr6|316 001660 aa 6 00115 2361 00 ldq pr6|77 ti 001661 aa 6 00316 3535 20 epp3 pr6|206,* tp 001662 aa 000003 0750 07 ada 3,dl 001663 aa 5 77777 3515 00 epp1 pr5|-1 a_string 001664 aa 1 00000 5005 05 a9bd pr1|0,al 001665 aa 6 00474 2351 00 lda pr6|316 001666 aa 040 146 100 540 mlr (pr,rl),(pr,rl,ql),fill(040) 001667 aa 1 00000 00 0005 desc9a pr1|0,al a_string 001670 aa 3 77777 60 0005 desc9a pr3|-1(3),al a_string STATEMENT 1 ON LINE 387 ti = ti + k - 1; 001671 aa 6 00472 2361 00 ldq pr6|314 001672 aa 000001 1760 07 sbq 1,dl 001673 aa 6 00115 7561 00 stq pr6|77 ti STATEMENT 1 ON LINE 388 b.ti = b.ti + k + ka; 001674 aa 6 00473 2361 00 ldq pr6|315 001675 aa 6 00105 0761 00 adq pr6|69 ka 001676 aa 7 00115 7561 00 stq pr7|77 b.ti STATEMENT 1 ON LINE 389 rd_buff: call find_buffer (b.dp, b.ti, b.te, p, "0"b); 001677 aa 000000 2350 07 lda 0,dl 001700 aa 6 00474 7551 00 sta pr6|316 001701 aa 7 00006 3521 00 epp2 pr7|6 b.dp 001702 aa 6 00430 2521 00 spri2 pr6|280 001703 aa 7 00115 3521 00 epp2 pr7|77 b.ti 001704 aa 6 00432 2521 00 spri2 pr6|282 001705 aa 7 00116 3521 00 epp2 pr7|78 b.te 001706 aa 6 00434 2521 00 spri2 pr6|284 001707 aa 6 00112 3521 00 epp2 pr6|74 p 001710 aa 6 00436 2521 00 spri2 pr6|286 001711 aa 6 00474 3521 00 epp2 pr6|316 001712 aa 6 00440 2521 00 spri2 pr6|288 001713 aa 6 00426 3521 00 epp2 pr6|278 001714 aa 024000 4310 07 fld 10240,dl 001715 aa 2 00000 7571 00 staq pr2|0 001716 aa 002014 6700 04 tsp4 1036,ic 003732 STATEMENT 1 ON LINE 391 if p = null () then do; 001717 aa 6 00112 2371 00 ldaq pr6|74 p 001720 aa 776130 6770 04 eraq -936,ic 000050 = 077777000043 000001000000 001721 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 001722 aa 000010 6010 04 tnz 8,ic 001732 STATEMENT 1 ON LINE 392 rd_err: call resetread (qid_ptr); 001723 aa 6 00336 3521 00 epp2 pr6|222 qid_ptr 001724 aa 6 00412 2521 00 spri2 pr6|266 001725 aa 6 00410 6211 00 eax1 pr6|264 001726 aa 004000 4310 07 fld 2048,dl 001727 aa 000425 3520 04 epp2 277,ic 002354 = 000660627000 001730 aa 0 00621 7001 00 tsx0 pr0|401 call_ext_in STATEMENT 1 ON LINE 394 go to restart; 001731 aa 777153 7100 04 tra -405,ic 001104 STATEMENT 1 ON LINE 395 end; STATEMENT 1 ON LINE 396 if level > 500 then go to rd_err; 001732 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 001733 aa 7 00026 3715 20 epp5 pr7|22,* qid.edx_util_data_ptr 001734 aa 5 00006 2361 00 ldq pr5|6 edx_data.level 001735 aa 000764 1160 07 cmpq 500,dl 001736 aa 777765 6054 04 tpnz -11,ic 001723 STATEMENT 1 ON LINE 397 level = level + 1; 001737 aa 5 00006 0541 00 aos pr5|6 edx_data.level STATEMENT 1 ON LINE 398 curp = p; 001740 aa 6 00112 3535 20 epp3 pr6|74,* p 001741 aa 5 00004 2535 00 spri3 pr5|4 edx_data.curp STATEMENT 1 ON LINE 399 allocate sv in (editor_area) set (p); 001742 aa 000006 2360 07 ldq 6,dl 001743 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 001744 aa 7 00022 3521 20 epp2 pr7|18,* editor_area 001745 aa 0 01402 7001 00 tsx0 pr0|770 op_alloc_ 001746 aa 777774 7100 04 tra -4,ic 001742 001747 aa 6 00112 2521 00 spri2 pr6|74 p STATEMENT 1 ON LINE 400 p -> sv.prev = top; 001750 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 001751 aa 7 00026 3715 20 epp5 pr7|22,* qid.edx_util_data_ptr 001752 aa 5 00010 3735 20 epp7 pr5|8,* edx_data.top 001753 aa 2 00000 6535 00 spri7 pr2|0 sv.prev STATEMENT 1 ON LINE 401 p -> sv.bp = bp; 001754 aa 6 00340 3535 20 epp3 pr6|224,* bp 001755 aa 2 00002 2535 00 spri3 pr2|2 sv.bp STATEMENT 1 ON LINE 402 p -> sv.ti = b.ti; 001756 aa 3 00115 2361 00 ldq pr3|77 b.ti 001757 aa 2 00004 7561 00 stq pr2|4 sv.ti STATEMENT 1 ON LINE 403 p -> sv.te = b.te; 001760 aa 3 00116 2361 00 ldq pr3|78 b.te 001761 aa 2 00005 7561 00 stq pr2|5 sv.te STATEMENT 1 ON LINE 404 top = p; 001762 aa 6 00336 3515 20 epp1 pr6|222,* qid_ptr 001763 aa 1 00026 3715 20 epp5 pr1|22,* qid.edx_util_data_ptr 001764 aa 5 00010 2521 00 spri2 pr5|8 edx_data.top STATEMENT 1 ON LINE 405 bp = curp; 001765 aa 1 00026 3735 20 epp7 pr1|22,* qid.edx_util_data_ptr 001766 aa 7 00004 3715 20 epp5 pr7|4,* edx_data.curp 001767 aa 6 00340 6515 00 spri5 pr6|224 bp STATEMENT 1 ON LINE 406 b.ti = 1; 001770 aa 000001 2360 07 ldq 1,dl 001771 aa 5 00115 7561 00 stq pr5|77 b.ti STATEMENT 1 ON LINE 407 b.te = b.lb; 001772 aa 5 00110 2361 00 ldq pr5|72 b.lb 001773 aa 5 00116 7561 00 stq pr5|78 b.te STATEMENT 1 ON LINE 408 b.modified = b.modified & (b.default_path ^= ""); 001774 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001775 aa 5 00010 00 0400 desc9a pr5|8,256 b.default_path 001776 aa 002501 00 0000 desc9a 1345,0 004475 = 060000000000 001777 aa 0 00515 7001 00 tsx0 pr0|333 r_ne_as 002000 aa 6 00474 7551 00 sta pr6|316 002001 aa 5 00121 2351 00 lda pr5|81 b.modified 002002 aa 0 00002 3771 00 anaq pr0|2 = 400000000000 000000000000 002003 aa 6 00474 3751 00 ana pr6|316 002004 aa 5 00121 6751 00 era pr5|81 b.modified 002005 aa 0 00002 3751 00 ana pr0|2 = 400000000000 002006 aa 5 00121 6551 00 ersa pr5|81 b.modified STATEMENT 1 ON LINE 409 go to retry; 002007 aa 777116 7100 04 tra -434,ic 001125 STATEMENT 1 ON LINE 412 rd_case (5): /* read from console one line */ ka = 0; 002010 aa 6 00105 4501 00 stz pr6|69 ka STATEMENT 1 ON LINE 414 rd_action (3): rd_action (6): rd_read: substr (tp -> a_string, ti, k - 1) = substr (b.dp -> a_string, b.ti, k - 1); 002011 aa 6 00104 2361 00 ldq pr6|68 k 002012 aa 000001 1760 07 sbq 1,dl 002013 aa 6 00474 7561 00 stq pr6|316 002014 aa 6 00115 2361 00 ldq pr6|77 ti 002015 aa 6 00316 3535 20 epp3 pr6|206,* tp 002016 aa 000003 0750 07 ada 3,dl 002017 aa 5 77777 3515 00 epp1 pr5|-1 a_string 002020 aa 1 00000 5005 05 a9bd pr1|0,al 002021 aa 6 00474 2351 00 lda pr6|316 002022 aa 040 146 100 540 mlr (pr,rl),(pr,rl,ql),fill(040) 002023 aa 1 00000 00 0005 desc9a pr1|0,al a_string 002024 aa 3 77777 60 0005 desc9a pr3|-1(3),al a_string STATEMENT 1 ON LINE 419 b.ti = b.ti + k + ka; 002025 aa 6 00473 2361 00 ldq pr6|315 002026 aa 6 00105 0761 00 adq pr6|69 ka 002027 aa 7 00115 7561 00 stq pr7|77 b.ti STATEMENT 1 ON LINE 420 ti = ti + k - 1; 002030 aa 6 00472 2361 00 ldq pr6|314 002031 aa 000001 1760 07 sbq 1,dl 002032 aa 6 00115 7561 00 stq pr6|77 ti STATEMENT 1 ON LINE 422 if sys_info$service_system then call iox_$modes (iox_$user_input, "^wake_tbl", "", (0)); 002033 aa 6 00044 3701 20 epp4 pr6|36,* 002034 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 002035 aa 000032 6000 04 tze 26,ic 002067 002036 aa 776014 2370 04 ldaq -1012,ic 000052 = 136167141153 145137164142 002037 aa 6 00426 7571 00 staq pr6|278 002040 aa 154000 2350 03 lda 55296,du 002041 aa 6 00430 7551 00 sta pr6|280 002042 aa 6 00473 4501 00 stz pr6|315 002043 la 4 00024 3521 20 epp2 pr4|20,* iox_$user_input 002044 aa 6 00450 2521 00 spri2 pr6|296 002045 aa 6 00426 3521 00 epp2 pr6|278 002046 aa 6 00452 2521 00 spri2 pr6|298 002047 aa 6 00472 3521 00 epp2 pr6|314 002050 aa 6 00454 2521 00 spri2 pr6|300 002051 aa 6 00473 3521 00 epp2 pr6|315 002052 aa 6 00456 2521 00 spri2 pr6|302 002053 aa 775766 3520 04 epp2 -1034,ic 000041 = 464000000000 002054 aa 6 00460 2521 00 spri2 pr6|304 002055 aa 775753 3520 04 epp2 -1045,ic 000030 = 524000000011 002056 aa 6 00462 2521 00 spri2 pr6|306 002057 aa 775750 3520 04 epp2 -1048,ic 000027 = 524000000000 002060 aa 6 00464 2521 00 spri2 pr6|308 002061 aa 775756 3520 04 epp2 -1042,ic 000037 = 404000000043 002062 aa 6 00466 2521 00 spri2 pr6|310 002063 aa 6 00446 6211 00 eax1 pr6|294 002064 aa 020000 4310 07 fld 8192,dl 002065 la 4 00044 3521 20 epp2 pr4|36,* iox_$modes 002066 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 425 read_one_line: /* NOTE modification here limits amount able to be read to remainder possible in buffer. */ if sys_info$service_system then call iox_$get_line (iox_$user_input, addr (tline), min (length (tline), te - ti + 1), j, code); 002067 aa 6 00044 3701 20 epp4 pr6|36,* 002070 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 002071 aa 000031 6000 04 tze 25,ic 002122 002072 aa 6 00116 3735 00 epp7 pr6|78 tline 002073 aa 6 00470 6535 00 spri7 pr6|312 002074 aa 6 00114 2361 00 ldq pr6|76 te 002075 aa 6 00115 1761 00 sbq pr6|77 ti 002076 aa 000001 0760 07 adq 1,dl 002077 aa 001000 1160 07 cmpq 512,dl 002100 aa 000002 6040 04 tmi 2,ic 002102 002101 aa 001000 2360 07 ldq 512,dl 002102 aa 6 00473 7561 00 stq pr6|315 002103 la 4 00024 3521 20 epp2 pr4|20,* iox_$user_input 002104 aa 6 00412 2521 00 spri2 pr6|266 002105 aa 6 00470 3521 00 epp2 pr6|312 002106 aa 6 00414 2521 00 spri2 pr6|268 002107 aa 6 00473 3521 00 epp2 pr6|315 002110 aa 6 00416 2521 00 spri2 pr6|270 002111 aa 6 00103 3521 00 epp2 pr6|67 j 002112 aa 6 00420 2521 00 spri2 pr6|272 002113 aa 6 00100 3521 00 epp2 pr6|64 code 002114 aa 6 00422 2521 00 spri2 pr6|274 002115 aa 6 00410 6211 00 eax1 pr6|264 002116 aa 024000 4310 07 fld 10240,dl 002117 la 4 00030 3521 20 epp2 pr4|24,* iox_$get_line 002120 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002121 aa 000032 7100 04 tra 26,ic 002153 STATEMENT 1 ON LINE 429 else call bce_data$get_line (addr (bce_data$get_line), addr (tline), min (length (tline), te - ti + 1), j, code); 002122 la 4 00016 3735 20 epp7 pr4|14,* bce_data$get_line 002123 aa 6 00470 6535 00 spri7 pr6|312 002124 aa 6 00116 3715 00 epp5 pr6|78 tline 002125 aa 6 00476 6515 00 spri5 pr6|318 002126 aa 6 00114 2361 00 ldq pr6|76 te 002127 aa 6 00115 1761 00 sbq pr6|77 ti 002130 aa 000001 0760 07 adq 1,dl 002131 aa 001000 1160 07 cmpq 512,dl 002132 aa 000002 6040 04 tmi 2,ic 002134 002133 aa 001000 2360 07 ldq 512,dl 002134 aa 6 00473 7561 00 stq pr6|315 002135 aa 6 00470 3521 00 epp2 pr6|312 002136 aa 6 00430 2521 00 spri2 pr6|280 002137 aa 6 00476 3521 00 epp2 pr6|318 002140 aa 6 00432 2521 00 spri2 pr6|282 002141 aa 6 00473 3521 00 epp2 pr6|315 002142 aa 6 00434 2521 00 spri2 pr6|284 002143 aa 6 00103 3521 00 epp2 pr6|67 j 002144 aa 6 00436 2521 00 spri2 pr6|286 002145 aa 6 00100 3521 00 epp2 pr6|64 code 002146 aa 6 00440 2521 00 spri2 pr6|288 002147 aa 6 00426 6211 00 eax1 pr6|278 002150 aa 024000 4310 07 fld 10240,dl 002151 la 4 00016 3521 20 epp2 pr4|14,* bce_data$get_line 002152 aa 0 00617 7001 00 tsx0 pr0|399 call_ent_var STATEMENT 1 ON LINE 430 if code ^= 0 /* error reading from typewriter */ then do; 002153 aa 6 00100 2361 00 ldq pr6|64 code 002154 aa 000064 6000 04 tze 52,ic 002240 STATEMENT 1 ON LINE 432 call com_err_ (code, qid.editor_name, "edx_util_$read_ptr read one line - PLEASE RE-ENTER LINE"); 002155 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002156 aa 776047 00 0070 desc9a -985,56 000224 = 145144170137 002157 aa 6 00410 00 0070 desc9a pr6|264,56 002160 aa 6 00100 3521 00 epp2 pr6|64 code 002161 aa 6 00430 2521 00 spri2 pr6|280 002162 aa 6 00336 3521 20 epp2 pr6|222,* qid.editor_name 002163 aa 6 00432 2521 00 spri2 pr6|282 002164 aa 6 00410 3521 00 epp2 pr6|264 002165 aa 6 00434 2521 00 spri2 pr6|284 002166 aa 775651 3520 04 epp2 -1111,ic 000037 = 404000000043 002167 aa 6 00436 2521 00 spri2 pr6|286 002170 aa 775644 3520 04 epp2 -1116,ic 000034 = 526000000110 002171 aa 6 00440 2521 00 spri2 pr6|288 002172 aa 775634 3520 04 epp2 -1124,ic 000026 = 524000000067 002173 aa 6 00442 2521 00 spri2 pr6|290 002174 aa 6 00426 6211 00 eax1 pr6|278 002175 aa 014000 4310 07 fld 6144,dl 002176 aa 6 00044 3701 20 epp4 pr6|36,* 002177 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 002200 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 433 if sys_info$service_system then call iox_$control (iox_$user_input, "resetread", null (), (0)); 002201 aa 6 00044 3701 20 epp4 pr6|36,* 002202 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 002203 aa 777664 6000 04 tze -76,ic 002067 002204 aa 775651 2350 04 lda -1111,ic 000055 = 162145163145 002205 aa 775651 2360 04 ldq -1111,ic 000056 = 164162145141 002206 aa 6 00426 7571 00 staq pr6|278 002207 aa 144000 2350 03 lda 51200,du 002210 aa 6 00430 7551 00 sta pr6|280 002211 aa 775637 3734 24 epp7 -1121,ic* 002212 aa 6 00476 6535 00 spri7 pr6|318 002213 aa 6 00473 4501 00 stz pr6|315 002214 la 4 00024 3521 20 epp2 pr4|20,* iox_$user_input 002215 aa 6 00450 2521 00 spri2 pr6|296 002216 aa 6 00426 3521 00 epp2 pr6|278 002217 aa 6 00452 2521 00 spri2 pr6|298 002220 aa 6 00476 3521 00 epp2 pr6|318 002221 aa 6 00454 2521 00 spri2 pr6|300 002222 aa 6 00473 3521 00 epp2 pr6|315 002223 aa 6 00456 2521 00 spri2 pr6|302 002224 aa 775615 3520 04 epp2 -1139,ic 000041 = 464000000000 002225 aa 6 00460 2521 00 spri2 pr6|304 002226 aa 6 00464 2521 00 spri2 pr6|308 002227 aa 775601 3520 04 epp2 -1151,ic 000030 = 524000000011 002230 aa 6 00462 2521 00 spri2 pr6|306 002231 aa 775606 3520 04 epp2 -1146,ic 000037 = 404000000043 002232 aa 6 00466 2521 00 spri2 pr6|310 002233 aa 6 00446 6211 00 eax1 pr6|294 002234 aa 020000 4310 07 fld 8192,dl 002235 la 4 00042 3521 20 epp2 pr4|34,* iox_$control 002236 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 435 go to read_one_line; 002237 aa 777630 7100 04 tra -104,ic 002067 STATEMENT 1 ON LINE 436 end; STATEMENT 1 ON LINE 438 substr (tp -> a_string, ti, j) = tline; 002240 aa 6 00115 2351 00 lda pr6|77 ti 002241 aa 6 00316 3735 20 epp7 pr6|206,* tp 002242 aa 6 00103 2361 00 ldq pr6|67 j 002243 aa 040 145 100 500 mlr (pr),(pr,rl,al),fill(040) 002244 aa 6 00116 00 1000 desc9a pr6|78,512 tline 002245 aa 7 77777 60 0006 desc9a pr7|-1(3),ql a_string STATEMENT 1 ON LINE 439 te = ti + j - 1; 002246 aa 6 00115 0761 00 adq pr6|77 ti 002247 aa 000001 1760 07 sbq 1,dl 002250 aa 6 00114 7561 00 stq pr6|76 te STATEMENT 1 ON LINE 440 go to end_read; 002251 aa 000001 7100 04 tra 1,ic 002252 STATEMENT 1 ON LINE 442 end_read: nelemt = te; 002252 aa 6 00114 2361 00 ldq pr6|76 te 002253 aa 6 00032 3715 20 epp5 pr6|26,* 002254 aa 5 00010 7561 20 stq pr5|8,* nelemt STATEMENT 1 ON LINE 444 return; 002255 aa 6 00342 2361 00 ldq pr6|226 002256 aa 000005 6010 04 tnz 5,ic 002263 002257 aa 000027 7260 07 lxl6 23,dl 002260 aa 775634 3520 04 epp2 -1124,ic 000114 = 162145164165 002261 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 002262 aa 0 00631 7101 00 tra pr0|409 return_mac 002263 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO end_buffer STATEMENT 1 ON LINE 448 end_buffer: entry (P_qid_ptr, ecode); 002264 at 000002000041 002265 ta 000036000000 002266 ta 002264000000 002267 da 000247300000 002270 aa 000660 6270 00 eax7 432 002271 aa 7 00034 3521 20 epp2 pr7|28,* 002272 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 002273 aa 000004000000 002274 aa 000000000000 002275 aa 000001 2360 07 ldq 1,dl 002276 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 453 qid_ptr = P_qid_ptr; 002277 aa 6 00032 3735 20 epp7 pr6|26,* 002300 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 002301 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 002302 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 455 if level = 0 then do; 002303 aa 5 00026 3535 20 epp3 pr5|22,* qid.edx_util_data_ptr 002304 aa 3 00006 2361 00 ldq pr3|6 edx_data.level 002305 aa 000012 6010 04 tnz 10,ic 002317 STATEMENT 1 ON LINE 456 ecode = 1; 002306 aa 000001 2360 07 ldq 1,dl 002307 aa 7 00004 7561 20 stq pr7|4,* ecode STATEMENT 1 ON LINE 457 return; 002310 aa 6 00342 2361 00 ldq pr6|226 002311 aa 000005 6010 04 tnz 5,ic 002316 002312 aa 000027 7260 07 lxl6 23,dl 002313 aa 775601 3520 04 epp2 -1151,ic 000114 = 162145164165 002314 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 002315 aa 0 00631 7101 00 tra pr0|409 return_mac 002316 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 458 end; STATEMENT 1 ON LINE 459 level = level - 1; 002317 aa 000001 3360 07 lcq 1,dl 002320 aa 3 00006 0561 00 asq pr3|6 edx_data.level STATEMENT 1 ON LINE 460 p = top; 002321 aa 3 00010 3515 20 epp1 pr3|8,* edx_data.top 002322 aa 6 00112 2515 00 spri1 pr6|74 p STATEMENT 1 ON LINE 461 top = p -> sv.prev; 002323 aa 1 00000 3715 20 epp5 pr1|0,* sv.prev 002324 aa 3 00010 6515 00 spri5 pr3|8 edx_data.top STATEMENT 1 ON LINE 462 curp, bp = p -> sv.bp; 002325 aa 1 00002 3535 20 epp3 pr1|2,* sv.bp 002326 aa 6 00336 3715 20 epp5 pr6|222,* qid_ptr 002327 aa 5 00026 3515 20 epp1 pr5|22,* qid.edx_util_data_ptr 002330 aa 1 00004 2535 00 spri3 pr1|4 edx_data.curp 002331 aa 6 00340 2535 00 spri3 pr6|224 bp STATEMENT 1 ON LINE 463 b.ti = p -> sv.ti; 002332 aa 6 00112 3515 20 epp1 pr6|74,* p 002333 aa 1 00004 2361 00 ldq pr1|4 sv.ti 002334 aa 3 00115 7561 00 stq pr3|77 b.ti STATEMENT 1 ON LINE 464 b.te = p -> sv.te; 002335 aa 1 00005 2361 00 ldq pr1|5 sv.te 002336 aa 3 00116 7561 00 stq pr3|78 b.te STATEMENT 1 ON LINE 465 free p -> sv in (editor_area); 002337 aa 6 00112 3715 00 epp5 pr6|74 p 002340 aa 0 01404 7001 00 tsx0 pr0|772 op_freen_ STATEMENT 1 ON LINE 466 ecode = 0; 002341 aa 6 00032 3735 20 epp7 pr6|26,* 002342 aa 7 00004 4501 20 stz pr7|4,* ecode STATEMENT 1 ON LINE 467 return; 002343 aa 6 00342 2361 00 ldq pr6|226 002344 aa 000005 6010 04 tnz 5,ic 002351 002345 aa 000027 7260 07 lxl6 23,dl 002346 aa 775546 3520 04 epp2 -1178,ic 000114 = 162145164165 002347 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 002350 aa 0 00631 7101 00 tra pr0|409 return_mac 002351 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO resetread STATEMENT 1 ON LINE 472 resetread: entry (P_qid_ptr); 002352 ta 000623000000 002353 da 000255300000 002354 aa 000660 6270 00 eax7 432 002355 aa 7 00034 3521 20 epp2 pr7|28,* 002356 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 002357 aa 000002000000 002360 aa 000000000000 002361 aa 000001 2360 07 ldq 1,dl 002362 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 475 qid_ptr = P_qid_ptr; 002363 aa 6 00032 3735 20 epp7 pr6|26,* 002364 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 002365 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 002366 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 477 if level ^= 0 then do; 002367 aa 5 00026 3535 20 epp3 pr5|22,* qid.edx_util_data_ptr 002370 aa 3 00006 2361 00 ldq pr3|6 edx_data.level 002371 aa 000457 6000 04 tze 303,ic 003050 STATEMENT 1 ON LINE 478 bp = curp; 002372 aa 3 00004 3515 20 epp1 pr3|4,* edx_data.curp 002373 aa 6 00340 2515 00 spri1 pr6|224 bp STATEMENT 1 ON LINE 479 call ioa_ ("Error in buffer (^a) at level ^d.", b.name, level); 002374 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002375 aa 775544 00 0044 desc9a -1180,36 000140 = 105162162157 002376 aa 6 00410 00 0044 desc9a pr6|264,36 002377 aa 6 00410 3521 00 epp2 pr6|264 002400 aa 6 00430 2521 00 spri2 pr6|280 002401 aa 1 00000 3521 00 epp2 pr1|0 b.name 002402 aa 6 00432 2521 00 spri2 pr6|282 002403 aa 3 00006 3521 00 epp2 pr3|6 edx_data.level 002404 aa 6 00434 2521 00 spri2 pr6|284 002405 aa 775420 3520 04 epp2 -1264,ic 000025 = 524000000041 002406 aa 6 00436 2521 00 spri2 pr6|286 002407 aa 775423 3520 04 epp2 -1261,ic 000032 = 524000000020 002410 aa 6 00440 2521 00 spri2 pr6|288 002411 aa 775425 3520 04 epp2 -1259,ic 000036 = 404000000021 002412 aa 6 00442 2521 00 spri2 pr6|290 002413 aa 6 00426 6211 00 eax1 pr6|278 002414 aa 014000 4310 07 fld 6144,dl 002415 aa 6 00044 3701 20 epp4 pr6|36,* 002416 la 4 00034 3521 20 epp2 pr4|28,* ioa_ 002417 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 480 if sys_info$service_system then on condition (program_interrupt) go to prskip; 002420 aa 6 00044 3701 20 epp4 pr6|36,* 002421 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 002422 aa 000021 6000 04 tze 17,ic 002443 002423 aa 000021 7260 07 lxl6 17,dl 002424 aa 775455 3520 04 epp2 -1235,ic 000101 = 160162157147 002425 aa 0 00717 7001 00 tsx0 pr0|463 enable_op 002426 aa 000004 7100 04 tra 4,ic 002432 002427 aa 000320000000 002430 aa 000012 7100 04 tra 10,ic 002442 BEGIN CONDITION program_interrupt.2 ENTRY TO program_interrupt.2 STATEMENT 1 ON LINE 480 if sys_info$service_system then on condition (program_interrupt) go to prskip; 002431 da 000265200000 002432 aa 000100 6270 00 eax7 64 002433 aa 7 00034 3521 20 epp2 pr7|28,* 002434 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 002435 aa 000000000000 002436 aa 000000000000 002437 aa 000341 3520 04 epp2 225,ic 003000 = 600044370120 002440 aa 000001 7270 07 lxl7 1,dl 002441 aa 0 00657 7101 00 tra pr0|431 tra_ext_1 END CONDITION program_interrupt.2 002442 aa 000020 7100 04 tra 16,ic 002462 STATEMENT 1 ON LINE 482 else on condition (sub_request_abort_) go to prskip; 002443 aa 000022 7260 07 lxl6 18,dl 002444 aa 775430 3520 04 epp2 -1256,ic 000074 = 163165142137 002445 aa 0 00717 7001 00 tsx0 pr0|463 enable_op 002446 aa 000004 7100 04 tra 4,ic 002452 002447 aa 000326000000 002450 aa 000012 7100 04 tra 10,ic 002462 BEGIN CONDITION sub_request_abort_.3 ENTRY TO sub_request_abort_.3 STATEMENT 1 ON LINE 482 else on condition (sub_request_abort_) go to prskip; 002451 da 000276200000 002452 aa 000100 6270 00 eax7 64 002453 aa 7 00034 3521 20 epp2 pr7|28,* 002454 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 002455 aa 000000000000 002456 aa 000000000000 002457 aa 000321 3520 04 epp2 209,ic 003000 = 600044370120 002460 aa 000001 7270 07 lxl7 1,dl 002461 aa 0 00657 7101 00 tra pr0|431 tra_ext_1 END CONDITION sub_request_abort_.3 STATEMENT 1 ON LINE 485 if b.ti > b.lb & b.ti < b.ft then b.ti = b.ft; 002462 aa 6 00340 3735 20 epp7 pr6|224,* bp 002463 aa 7 00115 2361 00 ldq pr7|77 b.ti 002464 aa 7 00110 1161 00 cmpq pr7|72 b.lb 002465 aa 000005 6044 04 tmoz 5,ic 002472 002466 aa 7 00111 1161 00 cmpq pr7|73 b.ft 002467 aa 000003 6050 04 tpl 3,ic 002472 002470 aa 7 00111 2361 00 ldq pr7|73 b.ft 002471 aa 7 00115 7561 00 stq pr7|77 b.ti STATEMENT 1 ON LINE 487 if b.de > b.ft then b.te = b.de; 002472 aa 7 00112 2361 00 ldq pr7|74 b.de 002473 aa 7 00111 1161 00 cmpq pr7|73 b.ft 002474 aa 000003 6044 04 tmoz 3,ic 002477 002475 aa 7 00116 7561 00 stq pr7|78 b.te 002476 aa 000003 7100 04 tra 3,ic 002501 STATEMENT 1 ON LINE 489 else b.te = b.lb; 002477 aa 7 00110 2361 00 ldq pr7|72 b.lb 002500 aa 7 00116 7561 00 stq pr7|78 b.te STATEMENT 1 ON LINE 490 if b.te <= b.lb | b.ti >= b.ft then do; 002501 aa 7 00116 2361 00 ldq pr7|78 b.te 002502 aa 7 00110 1161 00 cmpq pr7|72 b.lb 002503 aa 000004 6044 04 tmoz 4,ic 002507 002504 aa 7 00115 2361 00 ldq pr7|77 b.ti 002505 aa 7 00111 1161 00 cmpq pr7|73 b.ft 002506 aa 000077 6040 04 tmi 63,ic 002605 STATEMENT 1 ON LINE 491 i = b.te - b.ti + 1; 002507 aa 7 00116 2361 00 ldq pr7|78 b.te 002510 aa 7 00115 1761 00 sbq pr7|77 b.ti 002511 aa 000001 0760 07 adq 1,dl 002512 aa 6 00101 7561 00 stq pr6|65 i STATEMENT 1 ON LINE 492 if i > 0 then do; 002513 aa 000265 6044 04 tmoz 181,ic 003000 STATEMENT 1 ON LINE 493 call ioa_ ("Unexecuted lines in buffer:"); 002514 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002515 aa 775415 00 0034 desc9a -1267,28 000131 = 125156145170 002516 aa 6 00426 00 0034 desc9a pr6|278,28 002517 aa 6 00426 3521 00 epp2 pr6|278 002520 aa 6 00412 2521 00 spri2 pr6|266 002521 aa 775303 3520 04 epp2 -1341,ic 000024 = 524000000033 002522 aa 6 00414 2521 00 spri2 pr6|268 002523 aa 6 00410 6211 00 eax1 pr6|264 002524 aa 004000 4310 07 fld 2048,dl 002525 aa 6 00044 3701 20 epp4 pr6|36,* 002526 la 4 00034 3521 20 epp2 pr4|28,* ioa_ 002527 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 494 if sys_info$service_system then call iox_$put_chars (iox_$user_output, addr (b.dp -> wstring (b.ti)), i, code); 002530 aa 6 00044 3701 20 epp4 pr6|36,* 002531 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 002532 aa 000025 6000 04 tze 21,ic 002557 002533 aa 6 00340 3735 20 epp7 pr6|224,* bp 002534 aa 7 00115 2361 00 ldq pr7|77 b.ti 002535 aa 000003 0760 07 adq 3,dl 002536 aa 7 00006 3715 20 epp5 pr7|6,* b.dp 002537 aa 5 77777 3521 00 epp2 pr5|-1 wstring 002540 aa 2 00000 5005 06 a9bd pr2|0,ql 002541 aa 6 00476 2521 00 spri2 pr6|318 002542 la 4 00022 3521 20 epp2 pr4|18,* iox_$user_output 002543 aa 6 00412 2521 00 spri2 pr6|266 002544 aa 6 00476 3521 00 epp2 pr6|318 002545 aa 6 00414 2521 00 spri2 pr6|268 002546 aa 6 00101 3521 00 epp2 pr6|65 i 002547 aa 6 00416 2521 00 spri2 pr6|270 002550 aa 6 00100 3521 00 epp2 pr6|64 code 002551 aa 6 00420 2521 00 spri2 pr6|272 002552 aa 6 00410 6211 00 eax1 pr6|264 002553 aa 020000 4310 07 fld 8192,dl 002554 la 4 00032 3521 20 epp2 pr4|26,* iox_$put_chars 002555 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out 002556 aa 000222 7100 04 tra 146,ic 003000 STATEMENT 1 ON LINE 496 else call bce_data$put_chars (addr (bce_data$put_chars), addr (b.dp -> wstring (b.ti)), i, code); 002557 la 4 00020 3735 20 epp7 pr4|16,* bce_data$put_chars 002560 aa 6 00476 6535 00 spri7 pr6|318 002561 aa 6 00340 3715 20 epp5 pr6|224,* bp 002562 aa 5 00115 2361 00 ldq pr5|77 b.ti 002563 aa 000003 0760 07 adq 3,dl 002564 aa 5 00006 3535 20 epp3 pr5|6,* b.dp 002565 aa 3 77777 3521 00 epp2 pr3|-1 wstring 002566 aa 2 00000 5005 06 a9bd pr2|0,ql 002567 aa 6 00470 2521 00 spri2 pr6|312 002570 aa 6 00476 3521 00 epp2 pr6|318 002571 aa 6 00430 2521 00 spri2 pr6|280 002572 aa 6 00470 3521 00 epp2 pr6|312 002573 aa 6 00432 2521 00 spri2 pr6|282 002574 aa 6 00101 3521 00 epp2 pr6|65 i 002575 aa 6 00434 2521 00 spri2 pr6|284 002576 aa 6 00100 3521 00 epp2 pr6|64 code 002577 aa 6 00436 2521 00 spri2 pr6|286 002600 aa 6 00426 6211 00 eax1 pr6|278 002601 aa 020000 4310 07 fld 8192,dl 002602 la 4 00020 3521 20 epp2 pr4|16,* bce_data$put_chars 002603 aa 0 00617 7001 00 tsx0 pr0|399 call_ent_var STATEMENT 1 ON LINE 497 end; STATEMENT 1 ON LINE 498 end; 002604 aa 000174 7100 04 tra 124,ic 003000 STATEMENT 1 ON LINE 499 else if b.ti <= b.lb then do; 002605 aa 7 00110 1161 00 cmpq pr7|72 b.lb 002606 aa 000172 6054 04 tpnz 122,ic 003000 STATEMENT 1 ON LINE 500 i = b.te - b.ft + 1 + b.lb - b.ti; 002607 aa 7 00116 2361 00 ldq pr7|78 b.te 002610 aa 7 00111 1761 00 sbq pr7|73 b.ft 002611 aa 000001 0760 07 adq 1,dl 002612 aa 7 00110 0761 00 adq pr7|72 b.lb 002613 aa 7 00115 1761 00 sbq pr7|77 b.ti 002614 aa 6 00101 7561 00 stq pr6|65 i STATEMENT 1 ON LINE 501 if i > 0 then do; 002615 aa 000163 6044 04 tmoz 115,ic 003000 STATEMENT 1 ON LINE 502 call ioa_ ("Unexecuted lines in buffer:"); 002616 aa 000 100 100 404 mlr (ic),(pr),fill(000) 002617 aa 775313 00 0034 desc9a -1333,28 000131 = 125156145170 002620 aa 6 00410 00 0034 desc9a pr6|264,28 002621 aa 6 00410 3521 00 epp2 pr6|264 002622 aa 6 00430 2521 00 spri2 pr6|280 002623 aa 775201 3520 04 epp2 -1407,ic 000024 = 524000000033 002624 aa 6 00432 2521 00 spri2 pr6|282 002625 aa 6 00426 6211 00 eax1 pr6|278 002626 aa 004000 4310 07 fld 2048,dl 002627 aa 6 00044 3701 20 epp4 pr6|36,* 002630 la 4 00034 3521 20 epp2 pr4|28,* ioa_ 002631 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 503 if sys_info$service_system then do; 002632 aa 6 00044 3701 20 epp4 pr6|36,* 002633 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 002634 aa 000061 6000 04 tze 49,ic 002715 STATEMENT 1 ON LINE 504 call iox_$put_chars (iox_$user_output, addr (b.dp -> wstring (b.ti)), b.lb - b.ti + 1, code); 002635 aa 6 00340 3735 20 epp7 pr6|224,* bp 002636 aa 7 00115 2361 00 ldq pr7|77 b.ti 002637 aa 000003 0760 07 adq 3,dl 002640 aa 7 00006 3715 20 epp5 pr7|6,* b.dp 002641 aa 5 77777 3521 00 epp2 pr5|-1 wstring 002642 aa 2 00000 5005 06 a9bd pr2|0,ql 002643 aa 6 00470 2521 00 spri2 pr6|312 002644 aa 7 00110 2361 00 ldq pr7|72 b.lb 002645 aa 7 00115 1761 00 sbq pr7|77 b.ti 002646 aa 000001 0760 07 adq 1,dl 002647 aa 6 00473 7561 00 stq pr6|315 002650 la 4 00022 3521 20 epp2 pr4|18,* iox_$user_output 002651 aa 6 00430 2521 00 spri2 pr6|280 002652 aa 6 00470 3521 00 epp2 pr6|312 002653 aa 6 00432 2521 00 spri2 pr6|282 002654 aa 6 00473 3521 00 epp2 pr6|315 002655 aa 6 00434 2521 00 spri2 pr6|284 002656 aa 6 00100 3521 00 epp2 pr6|64 code 002657 aa 6 00436 2521 00 spri2 pr6|286 002660 aa 6 00426 6211 00 eax1 pr6|278 002661 aa 020000 4310 07 fld 8192,dl 002662 la 4 00032 3521 20 epp2 pr4|26,* iox_$put_chars 002663 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 505 call iox_$put_chars (iox_$user_output, addr (b.dp -> wstring (b.ft)), b.te - b.ft + 1, code); 002664 aa 6 00340 3735 20 epp7 pr6|224,* bp 002665 aa 7 00111 2351 00 lda pr7|73 b.ft 002666 aa 000003 0750 07 ada 3,dl 002667 aa 7 00006 3715 20 epp5 pr7|6,* b.dp 002670 aa 5 77777 3521 00 epp2 pr5|-1 wstring 002671 aa 2 00000 5005 05 a9bd pr2|0,al 002672 aa 6 00470 2521 00 spri2 pr6|312 002673 aa 7 00116 2361 00 ldq pr7|78 b.te 002674 aa 7 00111 1761 00 sbq pr7|73 b.ft 002675 aa 000001 0760 07 adq 1,dl 002676 aa 6 00473 7561 00 stq pr6|315 002677 aa 6 00044 3701 20 epp4 pr6|36,* 002700 la 4 00022 3521 20 epp2 pr4|18,* iox_$user_output 002701 aa 6 00412 2521 00 spri2 pr6|266 002702 aa 6 00470 3521 00 epp2 pr6|312 002703 aa 6 00414 2521 00 spri2 pr6|268 002704 aa 6 00473 3521 00 epp2 pr6|315 002705 aa 6 00416 2521 00 spri2 pr6|270 002706 aa 6 00100 3521 00 epp2 pr6|64 code 002707 aa 6 00420 2521 00 spri2 pr6|272 002710 aa 6 00410 6211 00 eax1 pr6|264 002711 aa 020000 4310 07 fld 8192,dl 002712 la 4 00032 3521 20 epp2 pr4|26,* iox_$put_chars 002713 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 506 end; 002714 aa 000064 7100 04 tra 52,ic 003000 STATEMENT 1 ON LINE 507 else do; STATEMENT 1 ON LINE 508 call bce_data$put_chars (addr (bce_data$put_chars), addr (b.dp -> wstring (b.ti)), b.lb - b.ti + 1, code); 002715 la 4 00020 3735 20 epp7 pr4|16,* bce_data$put_chars 002716 aa 6 00470 6535 00 spri7 pr6|312 002717 aa 6 00340 3715 20 epp5 pr6|224,* bp 002720 aa 5 00115 2361 00 ldq pr5|77 b.ti 002721 aa 000003 0760 07 adq 3,dl 002722 aa 5 00006 3535 20 epp3 pr5|6,* b.dp 002723 aa 3 77777 3521 00 epp2 pr3|-1 wstring 002724 aa 2 00000 5005 06 a9bd pr2|0,ql 002725 aa 6 00476 2521 00 spri2 pr6|318 002726 aa 5 00110 2361 00 ldq pr5|72 b.lb 002727 aa 5 00115 1761 00 sbq pr5|77 b.ti 002730 aa 000001 0760 07 adq 1,dl 002731 aa 6 00473 7561 00 stq pr6|315 002732 aa 6 00470 3521 00 epp2 pr6|312 002733 aa 6 00430 2521 00 spri2 pr6|280 002734 aa 6 00476 3521 00 epp2 pr6|318 002735 aa 6 00432 2521 00 spri2 pr6|282 002736 aa 6 00473 3521 00 epp2 pr6|315 002737 aa 6 00434 2521 00 spri2 pr6|284 002740 aa 6 00100 3521 00 epp2 pr6|64 code 002741 aa 6 00436 2521 00 spri2 pr6|286 002742 aa 6 00426 6211 00 eax1 pr6|278 002743 aa 020000 4310 07 fld 8192,dl 002744 la 4 00020 3521 20 epp2 pr4|16,* bce_data$put_chars 002745 aa 0 00617 7001 00 tsx0 pr0|399 call_ent_var STATEMENT 1 ON LINE 509 call bce_data$put_chars (addr (bce_data$put_chars), addr (b.dp -> wstring (b.ft)), b.te - b.ft + 1, code); 002746 aa 6 00044 3701 20 epp4 pr6|36,* 002747 la 4 00020 3735 20 epp7 pr4|16,* bce_data$put_chars 002750 aa 6 00476 6535 00 spri7 pr6|318 002751 aa 6 00340 3715 20 epp5 pr6|224,* bp 002752 aa 5 00111 2351 00 lda pr5|73 b.ft 002753 aa 000003 0750 07 ada 3,dl 002754 aa 5 00006 3535 20 epp3 pr5|6,* b.dp 002755 aa 3 77777 3521 00 epp2 pr3|-1 wstring 002756 aa 2 00000 5005 05 a9bd pr2|0,al 002757 aa 6 00470 2521 00 spri2 pr6|312 002760 aa 5 00116 2361 00 ldq pr5|78 b.te 002761 aa 5 00111 1761 00 sbq pr5|73 b.ft 002762 aa 000001 0760 07 adq 1,dl 002763 aa 6 00473 7561 00 stq pr6|315 002764 aa 6 00476 3521 00 epp2 pr6|318 002765 aa 6 00412 2521 00 spri2 pr6|266 002766 aa 6 00470 3521 00 epp2 pr6|312 002767 aa 6 00414 2521 00 spri2 pr6|268 002770 aa 6 00473 3521 00 epp2 pr6|315 002771 aa 6 00416 2521 00 spri2 pr6|270 002772 aa 6 00100 3521 00 epp2 pr6|64 code 002773 aa 6 00420 2521 00 spri2 pr6|272 002774 aa 6 00410 6211 00 eax1 pr6|264 002775 aa 020000 4310 07 fld 8192,dl 002776 la 4 00020 3521 20 epp2 pr4|16,* bce_data$put_chars 002777 aa 0 00617 7001 00 tsx0 pr0|399 call_ent_var STATEMENT 1 ON LINE 510 end; STATEMENT 1 ON LINE 511 end; STATEMENT 1 ON LINE 512 end; STATEMENT 1 ON LINE 513 prskip: if sys_info$service_system then revert condition (program_interrupt); 003000 aa 6 00044 3701 20 epp4 pr6|36,* 003001 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 003002 aa 000003 6000 04 tze 3,ic 003005 003003 aa 6 00324 4501 00 stz pr6|212 003004 aa 000002 7100 04 tra 2,ic 003006 STATEMENT 1 ON LINE 516 else revert condition (sub_request_abort_); 003005 aa 6 00332 4501 00 stz pr6|218 STATEMENT 1 ON LINE 517 do while (level ^= 0); 003006 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 003007 aa 7 00026 3715 20 epp5 pr7|22,* qid.edx_util_data_ptr 003010 aa 5 00006 2361 00 ldq pr5|6 edx_data.level 003011 aa 000017 6000 04 tze 15,ic 003030 STATEMENT 1 ON LINE 518 p = top; 003012 aa 5 00010 3535 20 epp3 pr5|8,* edx_data.top 003013 aa 6 00112 2535 00 spri3 pr6|74 p STATEMENT 1 ON LINE 519 top = p -> sv.prev; 003014 aa 3 00000 3515 20 epp1 pr3|0,* sv.prev 003015 aa 5 00010 2515 00 spri1 pr5|8 edx_data.top STATEMENT 1 ON LINE 520 curp = p -> sv.bp; 003016 aa 3 00002 3515 20 epp1 pr3|2,* sv.bp 003017 aa 7 00026 3535 20 epp3 pr7|22,* qid.edx_util_data_ptr 003020 aa 3 00004 2515 00 spri1 pr3|4 edx_data.curp STATEMENT 1 ON LINE 521 free p -> sv in (editor_area); 003021 aa 6 00112 3715 00 epp5 pr6|74 p 003022 aa 0 01404 7001 00 tsx0 pr0|772 op_freen_ STATEMENT 1 ON LINE 522 level = level - 1; 003023 aa 000001 3360 07 lcq 1,dl 003024 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 003025 aa 7 00026 3715 20 epp5 pr7|22,* qid.edx_util_data_ptr 003026 aa 5 00006 0561 00 asq pr5|6 edx_data.level STATEMENT 1 ON LINE 523 end; 003027 aa 777757 7100 04 tra -17,ic 003006 STATEMENT 1 ON LINE 524 call ioa_ ("^/Current buffer is (^a) at level 0. ^/", cbname); 003030 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003031 aa 775133 00 0050 desc9a -1445,40 000163 = 136057103165 003032 aa 6 00426 00 0050 desc9a pr6|278,40 003033 aa 6 00426 3521 00 epp2 pr6|278 003034 aa 6 00412 2521 00 spri2 pr6|266 003035 aa 5 00000 3521 00 epp2 pr5|0 edx_data.cbname 003036 aa 6 00414 2521 00 spri2 pr6|268 003037 aa 774774 3520 04 epp2 -1540,ic 000033 = 524000000047 003040 aa 6 00416 2521 00 spri2 pr6|270 003041 aa 774771 3520 04 epp2 -1543,ic 000032 = 524000000020 003042 aa 6 00420 2521 00 spri2 pr6|272 003043 aa 6 00410 6211 00 eax1 pr6|264 003044 aa 010000 4310 07 fld 4096,dl 003045 aa 6 00044 3701 20 epp4 pr6|36,* 003046 la 4 00034 3521 20 epp2 pr4|28,* ioa_ 003047 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 525 end; STATEMENT 1 ON LINE 527 bp = curp; 003050 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 003051 aa 7 00026 3715 20 epp5 pr7|22,* qid.edx_util_data_ptr 003052 aa 5 00004 3735 20 epp7 pr5|4,* edx_data.curp 003053 aa 6 00340 6535 00 spri7 pr6|224 bp STATEMENT 1 ON LINE 528 b.ti = 1; 003054 aa 000001 2360 07 ldq 1,dl 003055 aa 7 00115 7561 00 stq pr7|77 b.ti STATEMENT 1 ON LINE 529 b.te = 0; 003056 aa 7 00116 4501 00 stz pr7|78 b.te STATEMENT 1 ON LINE 531 if sys_info$service_system then call iox_$control (iox_$user_input, "resetread", null (), code); 003057 aa 6 00044 3701 20 epp4 pr6|36,* 003060 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 003061 aa 000033 6000 04 tze 27,ic 003114 003062 aa 774773 2350 04 lda -1541,ic 000055 = 162145163145 003063 aa 774773 2360 04 ldq -1541,ic 000056 = 164162145141 003064 aa 6 00410 7571 00 staq pr6|264 003065 aa 144000 2350 03 lda 51200,du 003066 aa 6 00412 7551 00 sta pr6|266 003067 aa 774761 3534 24 epp3 -1551,ic* 003070 aa 6 00470 2535 00 spri3 pr6|312 003071 la 4 00024 3521 20 epp2 pr4|20,* iox_$user_input 003072 aa 6 00450 2521 00 spri2 pr6|296 003073 aa 6 00410 3521 00 epp2 pr6|264 003074 aa 6 00452 2521 00 spri2 pr6|298 003075 aa 6 00470 3521 00 epp2 pr6|312 003076 aa 6 00454 2521 00 spri2 pr6|300 003077 aa 6 00100 3521 00 epp2 pr6|64 code 003100 aa 6 00456 2521 00 spri2 pr6|302 003101 aa 774740 3520 04 epp2 -1568,ic 000041 = 464000000000 003102 aa 6 00460 2521 00 spri2 pr6|304 003103 aa 6 00464 2521 00 spri2 pr6|308 003104 aa 774724 3520 04 epp2 -1580,ic 000030 = 524000000011 003105 aa 6 00462 2521 00 spri2 pr6|306 003106 aa 774731 3520 04 epp2 -1575,ic 000037 = 404000000043 003107 aa 6 00466 2521 00 spri2 pr6|310 003110 aa 6 00446 6211 00 eax1 pr6|294 003111 aa 020000 4310 07 fld 8192,dl 003112 la 4 00042 3521 20 epp2 pr4|34,* iox_$control 003113 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 534 return; 003114 aa 6 00342 2361 00 ldq pr6|226 003115 aa 000005 6010 04 tnz 5,ic 003122 003116 aa 000027 7260 07 lxl6 23,dl 003117 aa 774775 3520 04 epp2 -1539,ic 000114 = 162145164165 003120 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 003121 aa 0 00631 7101 00 tra pr0|409 return_mac 003122 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO get_buffer STATEMENT 1 ON LINE 538 get_buffer: entry (P_qid_ptr, gtp, gti, gte, gtname, gtbp); 003123 at 000006000041 003124 tt 000041000040 003125 tt 000040000035 003126 ta 000041000000 003127 ta 003123000000 003130 da 000304300000 003131 aa 000660 6270 00 eax7 432 003132 aa 7 00034 3521 20 epp2 pr7|28,* 003133 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 003134 aa 000014000000 003135 aa 000000000000 003136 aa 6 00032 3735 20 epp7 pr6|26,* 003137 aa 7 00012 3715 20 epp5 pr7|10,* 003140 aa 6 00344 6515 00 spri5 pr6|228 003141 aa 7 00014 3535 20 epp3 pr7|12,* 003142 aa 6 00346 2535 00 spri3 pr6|230 003143 aa 000001 2360 07 ldq 1,dl 003144 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 547 qid_ptr = P_qid_ptr; 003145 aa 6 00032 3735 20 epp7 pr6|26,* 003146 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 003147 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 003150 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 549 call find_buffer (gtp, gti, gte, bp, "1"b); 003151 aa 400000 2350 03 lda 131072,du 003152 aa 6 00473 7551 00 sta pr6|315 003153 aa 7 00004 3521 20 epp2 pr7|4,* gtp 003154 aa 6 00430 2521 00 spri2 pr6|280 003155 aa 7 00006 3521 20 epp2 pr7|6,* gti 003156 aa 6 00432 2521 00 spri2 pr6|282 003157 aa 7 00010 3521 20 epp2 pr7|8,* gte 003160 aa 6 00434 2521 00 spri2 pr6|284 003161 aa 6 00340 3521 00 epp2 pr6|224 bp 003162 aa 6 00436 2521 00 spri2 pr6|286 003163 aa 6 00473 3521 00 epp2 pr6|315 003164 aa 6 00440 2521 00 spri2 pr6|288 003165 aa 6 00426 3521 00 epp2 pr6|278 003166 aa 024000 4310 07 fld 10240,dl 003167 aa 2 00000 7571 00 staq pr2|0 003170 aa 000542 6700 04 tsp4 354,ic 003732 STATEMENT 1 ON LINE 550 if bp = null () then do; 003171 aa 6 00340 2371 00 ldaq pr6|224 bp 003172 aa 774656 6770 04 eraq -1618,ic 000050 = 077777000043 000001000000 003173 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003174 aa 000012 6010 04 tnz 10,ic 003206 STATEMENT 1 ON LINE 551 gtbp = null (); 003175 aa 774653 2370 04 ldaq -1621,ic 000050 = 077777000043 000001000000 003176 aa 6 00346 7571 20 staq pr6|230,* gtbp STATEMENT 1 ON LINE 552 return; 003177 aa 6 00342 2361 00 ldq pr6|226 003200 aa 000005 6010 04 tnz 5,ic 003205 003201 aa 000027 7260 07 lxl6 23,dl 003202 aa 774712 3520 04 epp2 -1590,ic 000114 = 162145164165 003203 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 003204 aa 0 00631 7101 00 tra pr0|409 return_mac 003205 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 553 end; STATEMENT 1 ON LINE 554 gtbp = bp; 003206 aa 6 00340 3735 20 epp7 pr6|224,* bp 003207 aa 6 00346 6535 20 spri7 pr6|230,* gtbp STATEMENT 1 ON LINE 555 gtname = b.name; 003210 aa 6 00344 3715 20 epp5 pr6|228,* 003211 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003212 aa 7 00000 00 0020 desc9a pr7|0,16 b.name 003213 aa 5 00000 00 0020 desc9a pr5|0,16 gtname STATEMENT 1 ON LINE 556 cbname = b.name; 003214 aa 6 00336 3535 20 epp3 pr6|222,* qid_ptr 003215 aa 3 00026 3515 20 epp1 pr3|22,* qid.edx_util_data_ptr 003216 aa 000 100 100 500 mlr (pr),(pr),fill(000) 003217 aa 7 00000 00 0020 desc9a pr7|0,16 b.name 003220 aa 1 00000 00 0020 desc9a pr1|0,16 edx_data.cbname STATEMENT 1 ON LINE 558 return; 003221 aa 6 00342 2361 00 ldq pr6|226 003222 aa 000005 6010 04 tnz 5,ic 003227 003223 aa 000027 7260 07 lxl6 23,dl 003224 aa 774670 3520 04 epp2 -1608,ic 000114 = 162145164165 003225 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 003226 aa 0 00631 7101 00 tra pr0|409 return_mac 003227 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO locate_buffer STATEMENT 1 ON LINE 562 locate_buffer: entry (P_qid_ptr, gtname, gtbp); 003230 at 000003000041 003231 tt 000035000041 003232 ta 003230000000 003233 da 000313300000 003234 aa 000660 6270 00 eax7 432 003235 aa 7 00034 3521 20 epp2 pr7|28,* 003236 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 003237 aa 000006000000 003240 aa 000000000000 003241 aa 6 00032 3735 20 epp7 pr6|26,* 003242 aa 7 00004 3715 20 epp5 pr7|4,* 003243 aa 6 00344 6515 00 spri5 pr6|228 003244 aa 7 00006 3535 20 epp3 pr7|6,* 003245 aa 6 00346 2535 00 spri3 pr6|230 003246 aa 000001 2360 07 ldq 1,dl 003247 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 565 qid_ptr = P_qid_ptr; 003250 aa 6 00032 3735 20 epp7 pr6|26,* 003251 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 003252 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 003253 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 567 call locate_buffer (gtname, bp, "1"b); 003254 aa 400000 2350 03 lda 131072,du 003255 aa 6 00473 7551 00 sta pr6|315 003256 aa 6 00344 3521 20 epp2 pr6|228,* gtname 003257 aa 6 00412 2521 00 spri2 pr6|266 003260 aa 6 00340 3521 00 epp2 pr6|224 bp 003261 aa 6 00414 2521 00 spri2 pr6|268 003262 aa 6 00473 3521 00 epp2 pr6|315 003263 aa 6 00416 2521 00 spri2 pr6|270 003264 aa 6 00410 3521 00 epp2 pr6|264 003265 aa 014000 4310 07 fld 6144,dl 003266 aa 2 00000 7571 00 staq pr2|0 003267 aa 000561 6700 04 tsp4 369,ic 004050 STATEMENT 1 ON LINE 568 if bp = null () then do; 003270 aa 6 00340 2371 00 ldaq pr6|224 bp 003271 aa 774557 6770 04 eraq -1681,ic 000050 = 077777000043 000001000000 003272 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003273 aa 000012 6010 04 tnz 10,ic 003305 STATEMENT 1 ON LINE 569 gtbp = null (); 003274 aa 774554 2370 04 ldaq -1684,ic 000050 = 077777000043 000001000000 003275 aa 6 00346 7571 20 staq pr6|230,* gtbp STATEMENT 1 ON LINE 570 return; 003276 aa 6 00342 2361 00 ldq pr6|226 003277 aa 000005 6010 04 tnz 5,ic 003304 003300 aa 000027 7260 07 lxl6 23,dl 003301 aa 774613 3520 04 epp2 -1653,ic 000114 = 162145164165 003302 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 003303 aa 0 00631 7101 00 tra pr0|409 return_mac 003304 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 571 end; STATEMENT 1 ON LINE 572 gtbp = bp; 003305 aa 6 00340 3735 20 epp7 pr6|224,* bp 003306 aa 6 00346 6535 20 spri7 pr6|230,* gtbp STATEMENT 1 ON LINE 573 cbname = b.name; 003307 aa 6 00336 3715 20 epp5 pr6|222,* qid_ptr 003310 aa 5 00026 3535 20 epp3 pr5|22,* qid.edx_util_data_ptr 003311 aa 000 100 100 500 mlr (pr),(pr),fill(000) 003312 aa 7 00000 00 0020 desc9a pr7|0,16 b.name 003313 aa 3 00000 00 0020 desc9a pr3|0,16 edx_data.cbname STATEMENT 1 ON LINE 575 return; 003314 aa 6 00342 2361 00 ldq pr6|226 003315 aa 000005 6010 04 tnz 5,ic 003322 003316 aa 000027 7260 07 lxl6 23,dl 003317 aa 774575 3520 04 epp2 -1667,ic 000114 = 162145164165 003320 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 003321 aa 0 00631 7101 00 tra pr0|409 return_mac 003322 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO list_buffers STATEMENT 1 ON LINE 584 list_buffers: entry (P_qid_ptr, P_current_buffer, P_iocb_ptr); 003323 ta 003230000000 003324 da 000322300000 003325 aa 000660 6270 00 eax7 432 003326 aa 7 00034 3521 20 epp2 pr7|28,* 003327 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 003330 aa 000006000000 003331 aa 000000000000 003332 aa 000001 2360 07 ldq 1,dl 003333 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 587 list_only_modified = "0"b; 003334 aa 6 00334 4501 00 stz pr6|220 list_only_modified STATEMENT 1 ON LINE 588 go to BEGIN_LIST_BUFFERS; 003335 aa 000015 7100 04 tra 13,ic 003352 ENTRY TO list_modified_buffers STATEMENT 1 ON LINE 593 list_modified_buffers: entry (P_qid_ptr, P_current_buffer, P_iocb_ptr); 003336 ta 003230000000 003337 da 000333300000 003340 aa 000660 6270 00 eax7 432 003341 aa 7 00034 3521 20 epp2 pr7|28,* 003342 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 003343 aa 000006000000 003344 aa 000000000000 003345 aa 000001 2360 07 ldq 1,dl 003346 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 596 list_only_modified = "1"b; 003347 aa 400000 2350 03 lda 131072,du 003350 aa 6 00334 7551 00 sta pr6|220 list_only_modified STATEMENT 1 ON LINE 597 go to BEGIN_LIST_BUFFERS; 003351 aa 000001 7100 04 tra 1,ic 003352 STATEMENT 1 ON LINE 599 BEGIN_LIST_BUFFERS: qid_ptr = P_qid_ptr; 003352 aa 6 00032 3735 20 epp7 pr6|26,* 003353 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 003354 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 003355 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 602 bp = addr (b0); 003356 aa 5 00034 3535 00 epp3 pr5|28 qid.b0 003357 aa 6 00340 2535 00 spri3 pr6|224 bp STATEMENT 1 ON LINE 603 do while (bp ^= null ()); 003360 aa 6 00340 2371 00 ldaq pr6|224 bp 003361 aa 774467 6770 04 eraq -1737,ic 000050 = 077777000043 000001000000 003362 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003363 aa 000006 6000 04 tze 6,ic 003371 STATEMENT 1 ON LINE 604 call list_one_buffer (); 003364 aa 000151 6700 04 tsp4 105,ic 003535 STATEMENT 1 ON LINE 605 bp = b.next; 003365 aa 6 00340 3735 20 epp7 pr6|224,* bp 003366 aa 7 00004 3735 20 epp7 pr7|4,* b.next 003367 aa 6 00340 6535 00 spri7 pr6|224 bp STATEMENT 1 ON LINE 606 end; 003370 aa 777770 7100 04 tra -8,ic 003360 STATEMENT 1 ON LINE 607 return; 003371 aa 6 00342 2361 00 ldq pr6|226 003372 aa 000005 6010 04 tnz 5,ic 003377 003373 aa 000027 7260 07 lxl6 23,dl 003374 aa 774520 3520 04 epp2 -1712,ic 000114 = 162145164165 003375 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 003376 aa 0 00631 7101 00 tra pr0|409 return_mac 003377 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO list_single_buffer STATEMENT 1 ON LINE 611 list_single_buffer: entry (P_qid_ptr, P_current_buffer, P_iocb_ptr, P_bp); 003400 at 000004000041 003401 tt 000035000041 003402 ta 000041000000 003403 ta 003400000000 003404 da 000343300000 003405 aa 000660 6270 00 eax7 432 003406 aa 7 00034 3521 20 epp2 pr7|28,* 003407 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 003410 aa 000010000000 003411 aa 000000000000 003412 aa 000001 2360 07 ldq 1,dl 003413 aa 6 00342 7561 00 stq pr6|226 STATEMENT 1 ON LINE 614 qid_ptr = P_qid_ptr; 003414 aa 6 00032 3735 20 epp7 pr6|26,* 003415 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 003416 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 003417 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 615 list_only_modified = "0"b; 003420 aa 6 00334 4501 00 stz pr6|220 list_only_modified STATEMENT 1 ON LINE 616 bp = P_bp; 003421 aa 7 00010 3535 20 epp3 pr7|8,* P_bp 003422 aa 3 00000 3535 20 epp3 pr3|0,* P_bp 003423 aa 6 00340 2535 00 spri3 pr6|224 bp STATEMENT 1 ON LINE 618 call list_one_buffer (); 003424 aa 000111 6700 04 tsp4 73,ic 003535 STATEMENT 1 ON LINE 620 return; 003425 aa 6 00342 2361 00 ldq pr6|226 003426 aa 000005 6010 04 tnz 5,ic 003433 003427 aa 000027 7260 07 lxl6 23,dl 003430 aa 774464 3520 04 epp2 -1740,ic 000114 = 162145164165 003431 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 003432 aa 0 00631 7101 00 tra pr0|409 return_mac 003433 aa 0 00631 7101 00 tra pr0|409 return_mac ENTRY TO modified_buffers STATEMENT 1 ON LINE 661 modified_buffers: entry (P_qid_ptr) returns (bit (1)); 003434 at 000002000041 003435 ta 000042000000 003436 ta 003434000000 003437 da 000353320000 003440 aa 000660 6270 00 eax7 432 003441 aa 7 00034 3521 20 epp2 pr7|28,* 003442 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 003443 aa 000004000000 003444 aa 000000000000 003445 aa 6 00342 4501 00 stz pr6|226 STATEMENT 1 ON LINE 664 qid_ptr = P_qid_ptr; 003446 aa 6 00032 3735 20 epp7 pr6|26,* 003447 aa 7 00002 3715 20 epp5 pr7|2,* P_qid_ptr 003450 aa 5 00000 3715 20 epp5 pr5|0,* P_qid_ptr 003451 aa 6 00336 6515 00 spri5 pr6|222 qid_ptr STATEMENT 1 ON LINE 666 bp = addr (b0); 003452 aa 5 00034 3535 00 epp3 pr5|28 qid.b0 003453 aa 6 00340 2535 00 spri3 pr6|224 bp STATEMENT 1 ON LINE 668 do while (bp ^= null ()); 003454 aa 6 00340 2371 00 ldaq pr6|224 bp 003455 aa 774373 6770 04 eraq -1797,ic 000050 = 077777000043 000001000000 003456 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003457 aa 000042 6000 04 tze 34,ic 003521 STATEMENT 1 ON LINE 670 if (b.de < b.ft) & (b.lb < 1) then /* ignore empty buffers */ go to IGNORE_THIS_BUFFER; 003460 aa 6 00340 3735 20 epp7 pr6|224,* bp 003461 aa 7 00112 2361 00 ldq pr7|74 b.de 003462 aa 7 00111 1161 00 cmpq pr7|73 b.ft 003463 aa 000004 6050 04 tpl 4,ic 003467 003464 aa 7 00110 2361 00 ldq pr7|72 b.lb 003465 aa 000001 1160 07 cmpq 1,dl 003466 aa 000030 6040 04 tmi 24,ic 003516 STATEMENT 1 ON LINE 673 if b.modified then do; 003467 aa 7 00121 2351 00 lda pr7|81 b.modified 003470 aa 400000 3150 03 cana 131072,du 003471 aa 000025 6000 04 tze 21,ic 003516 STATEMENT 1 ON LINE 674 if b.callers_idx ^= 0 then if qid.qedx_info_ptr -> qedx_info.buffers (b.callers_idx).auto_write then go to IGNORE_THIS_BUFFER; 003472 aa 7 00120 2361 00 ldq pr7|80 b.callers_idx 003473 aa 000007 6000 04 tze 7,ic 003502 003474 aa 000112 4020 07 mpy 74,dl 003475 aa 6 00336 3715 20 epp5 pr6|222,* qid_ptr 003476 aa 5 00024 3535 20 epp3 pr5|20,* qid.qedx_info_ptr 003477 aa 3 00031 2351 06 lda pr3|25,ql qedx_info.auto_write 003500 aa 010000 3150 03 cana 4096,du 003501 aa 000015 6010 04 tnz 13,ic 003516 STATEMENT 1 ON LINE 677 return ("1"b); 003502 aa 6 00342 2361 00 ldq pr6|226 003503 aa 000007 6010 04 tnz 7,ic 003512 003504 aa 6 00032 3715 20 epp5 pr6|26,* 003505 aa 5 00004 3535 20 epp3 pr5|4,* 003506 aa 403 100 060 400 csl (),(pr),fill(1),bool(move) 003507 aa 000000 00 0000 descb 0,0 003510 aa 3 00000 00 0001 descb pr3|0,1 003511 aa 0 00631 7101 00 tra pr0|409 return_mac 003512 aa 000027 7260 07 lxl6 23,dl 003513 aa 774401 3520 04 epp2 -1791,ic 000114 = 162145164165 003514 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 003515 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 678 end; STATEMENT 1 ON LINE 680 IGNORE_THIS_BUFFER: /* try next buffer */ bp = b.next; 003516 aa 7 00004 3715 20 epp5 pr7|4,* b.next 003517 aa 6 00340 6515 00 spri5 pr6|224 bp STATEMENT 1 ON LINE 682 end; 003520 aa 777734 7100 04 tra -36,ic 003454 STATEMENT 1 ON LINE 684 return ("0"b); 003521 aa 6 00342 2361 00 ldq pr6|226 003522 aa 000007 6010 04 tnz 7,ic 003531 003523 aa 6 00032 3735 20 epp7 pr6|26,* 003524 aa 7 00004 3715 20 epp5 pr7|4,* 003525 aa 003 100 060 400 csl (),(pr),fill(0),bool(move) 003526 aa 000000 00 0000 descb 0,0 003527 aa 5 00000 00 0001 descb pr5|0,1 003530 aa 0 00631 7101 00 tra pr0|409 return_mac 003531 aa 000027 7260 07 lxl6 23,dl 003532 aa 774362 3520 04 epp2 -1806,ic 000114 = 162145164165 003533 aa 0 00716 7001 00 tsx0 pr0|462 signal_op 003534 aa 0 00631 7101 00 tra pr0|409 return_mac STATEMENT 1 ON LINE 784 end edx_util_; BEGIN PROCEDURE list_one_buffer ENTRY TO list_one_buffer STATEMENT 1 ON LINE 624 list_one_buffer: procedure (); 003535 aa 6 00350 6501 00 spri4 pr6|232 STATEMENT 1 ON LINE 629 n_lines = 0; 003536 aa 6 00356 4501 00 stz pr6|238 n_lines STATEMENT 1 ON LINE 631 if (b.de < b.ft) & (b.lb < 1) then /* don't need to count lines in an empty buffer */ go to DISPLAY_BUFFER_STATUS; 003537 aa 6 00340 3735 20 epp7 pr6|224,* bp 003540 aa 7 00112 2361 00 ldq pr7|74 b.de 003541 aa 7 00111 1161 00 cmpq pr7|73 b.ft 003542 aa 000004 6050 04 tpl 4,ic 003546 003543 aa 7 00110 2361 00 ldq pr7|72 b.lb 003544 aa 000001 1160 07 cmpq 1,dl 003545 aa 000070 6040 04 tmi 56,ic 003635 STATEMENT 1 ON LINE 634 start = 1; 003546 aa 000001 2360 07 ldq 1,dl 003547 aa 6 00357 7561 00 stq pr6|239 start STATEMENT 1 ON LINE 635 do while (start <= b.de); 003550 aa 6 00357 2361 00 ldq pr6|239 start 003551 aa 6 00340 3735 20 epp7 pr6|224,* bp 003552 aa 7 00112 1161 00 cmpq pr7|74 b.de 003553 aa 000062 6054 04 tpnz 50,ic 003635 STATEMENT 1 ON LINE 636 if (start > b.lb) & (start < b.ft) then /* switch to upper half of buffer */ start = b.ft; 003554 aa 7 00110 1161 00 cmpq pr7|72 b.lb 003555 aa 000005 6044 04 tmoz 5,ic 003562 003556 aa 7 00111 1161 00 cmpq pr7|73 b.ft 003557 aa 000003 6050 04 tpl 3,ic 003562 003560 aa 7 00111 2361 00 ldq pr7|73 b.ft 003561 aa 6 00357 7561 00 stq pr6|239 start STATEMENT 1 ON LINE 638 if start >= b.ft then /* search for next newline */ nl_idx = index (substr (b.dp -> a_string, start, (b.de - start)), NL); 003562 aa 7 00111 1161 00 cmpq pr7|73 b.ft 003563 aa 000017 6040 04 tmi 15,ic 003602 003564 aa 7 00112 2361 00 ldq pr7|74 b.de 003565 aa 6 00357 1761 00 sbq pr6|239 start 003566 aa 6 00357 2351 00 lda pr6|239 start 003567 aa 7 00006 3715 20 epp5 pr7|6,* b.dp 003570 aa 000 003 124 545 scm (pr,rl,al),(du),mask(000) 003571 aa 5 77777 60 0006 desc9a pr5|-1(3),ql a_string 003572 aa 012000 00 0001 desc9a 5120,1 003573 aa 6 00056 0001 00 arg pr6|46 003574 aa 6 00056 2361 00 ldq pr6|46 003575 aa 000002 6070 04 ttf 2,ic 003577 003576 aa 000001 3360 07 lcq 1,dl 003577 aa 000001 0760 07 adq 1,dl 003600 aa 6 00360 7561 00 stq pr6|240 nl_idx 003601 aa 000016 7100 04 tra 14,ic 003617 STATEMENT 1 ON LINE 640 else nl_idx = index (substr (b.dp -> a_string, start, (b.lb - start)), NL); 003602 aa 7 00110 2361 00 ldq pr7|72 b.lb 003603 aa 6 00357 1761 00 sbq pr6|239 start 003604 aa 6 00357 2351 00 lda pr6|239 start 003605 aa 7 00006 3715 20 epp5 pr7|6,* b.dp 003606 aa 000 003 124 545 scm (pr,rl,al),(du),mask(000) 003607 aa 5 77777 60 0006 desc9a pr5|-1(3),ql a_string 003610 aa 012000 00 0001 desc9a 5120,1 003611 aa 6 00056 0001 00 arg pr6|46 003612 aa 6 00056 2361 00 ldq pr6|46 003613 aa 000002 6070 04 ttf 2,ic 003615 003614 aa 000001 3360 07 lcq 1,dl 003615 aa 000001 0760 07 adq 1,dl 003616 aa 6 00360 7561 00 stq pr6|240 nl_idx STATEMENT 1 ON LINE 641 if nl_idx ^= 0 then /* found a newline: move past it */ start = start + nl_idx; 003617 aa 000003 6000 04 tze 3,ic 003622 003620 aa 6 00357 0561 00 asq pr6|239 start 003621 aa 000012 7100 04 tra 10,ic 003633 STATEMENT 1 ON LINE 643 else if start >= b.ft then /* no more newlines in upper half: terminate the loop */ start = b.de + 1; 003622 aa 6 00357 2361 00 ldq pr6|239 start 003623 aa 7 00111 1161 00 cmpq pr7|73 b.ft 003624 aa 000005 6040 04 tmi 5,ic 003631 003625 aa 7 00112 2361 00 ldq pr7|74 b.de 003626 aa 000001 0760 07 adq 1,dl 003627 aa 6 00357 7561 00 stq pr6|239 start 003630 aa 000003 7100 04 tra 3,ic 003633 STATEMENT 1 ON LINE 645 else start = b.ft; 003631 aa 7 00111 2361 00 ldq pr7|73 b.ft 003632 aa 6 00357 7561 00 stq pr6|239 start STATEMENT 1 ON LINE 646 n_lines = n_lines + 1; 003633 aa 6 00356 0541 00 aos pr6|238 n_lines STATEMENT 1 ON LINE 647 end; 003634 aa 777714 7100 04 tra -52,ic 003550 STATEMENT 1 ON LINE 649 DISPLAY_BUFFER_STATUS: if b.modified | ^list_only_modified then call ioa_$ioa_switch (P_iocb_ptr, "^6d ^[->^;^2x^] ^[mod^;^3x^] (^a) ^[[untrusted] ^]^a", n_lines, (b.name = P_current_buffer), (b.modified & ^list_only_modified), b.name, b.default_untrusted, b.default_path); 003635 aa 6 00334 2351 00 lda pr6|220 list_only_modified 003636 aa 0 00002 6751 00 era pr0|2 = 400000000000 003637 aa 6 00500 7551 00 sta pr6|320 003640 aa 7 00121 2351 00 lda pr7|81 b.modified 003641 aa 0 00002 3771 00 anaq pr0|2 = 400000000000 000000000000 003642 aa 6 00501 7551 00 sta pr6|321 b.modified 003643 aa 000003 6010 04 tnz 3,ic 003646 003644 aa 6 00500 2351 00 lda pr6|320 003645 aa 000064 6000 04 tze 52,ic 003731 003646 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003647 aa 774341 00 0064 desc9a -1823,52 000207 = 136066144040 003650 aa 6 00502 00 0064 desc9a pr6|322,52 003651 aa 6 00032 3715 20 epp5 pr6|26,* 003652 aa 5 00004 3535 20 epp3 pr5|4,* 003653 aa 040 100 106 500 cmpc (pr),(pr),fill(040) 003654 aa 7 00000 00 0020 desc9a pr7|0,16 b.name 003655 aa 3 00000 00 0020 desc9a pr3|0,16 P_current_buffer 003656 aa 0 00512 7001 00 tsx0 pr0|330 r_e_as 003657 aa 6 00517 7551 00 sta pr6|335 003660 aa 6 00501 2351 00 lda pr6|321 b.modified 003661 aa 6 00500 3751 00 ana pr6|320 003662 aa 6 00500 7551 00 sta pr6|320 003663 aa 5 00006 3521 20 epp2 pr5|6,* P_iocb_ptr 003664 aa 6 00522 2521 00 spri2 pr6|338 003665 aa 6 00502 3521 00 epp2 pr6|322 003666 aa 6 00524 2521 00 spri2 pr6|340 003667 aa 6 00356 3521 00 epp2 pr6|238 n_lines 003670 aa 6 00526 2521 00 spri2 pr6|342 003671 aa 6 00517 3521 00 epp2 pr6|335 003672 aa 6 00530 2521 00 spri2 pr6|344 003673 aa 6 00500 3521 00 epp2 pr6|320 003674 aa 6 00532 2521 00 spri2 pr6|346 003675 aa 7 00000 3521 00 epp2 pr7|0 b.name 003676 aa 6 00534 2521 00 spri2 pr6|348 003677 aa 000004 7270 07 lxl7 4,dl 003700 aa 7 00121 3521 00 epp2 pr7|81 b.default_untrusted 003701 aa 2 00000 5035 17 abd pr2|0,7 003702 aa 6 00536 2521 00 spri2 pr6|350 003703 aa 7 00010 3521 00 epp2 pr7|8 b.default_path 003704 aa 6 00540 2521 00 spri2 pr6|352 003705 aa 774134 3520 04 epp2 -1956,ic 000041 = 464000000000 003706 aa 6 00542 2521 00 spri2 pr6|354 003707 aa 774114 3520 04 epp2 -1972,ic 000023 = 524000000064 003710 aa 6 00544 2521 00 spri2 pr6|356 003711 aa 774127 3520 04 epp2 -1961,ic 000040 = 404000000025 003712 aa 6 00546 2521 00 spri2 pr6|358 003713 aa 774107 3520 04 epp2 -1977,ic 000022 = 514000000001 003714 aa 6 00550 2521 00 spri2 pr6|360 003715 aa 6 00552 2521 00 spri2 pr6|362 003716 aa 774114 3520 04 epp2 -1972,ic 000032 = 524000000020 003717 aa 6 00554 2521 00 spri2 pr6|364 003720 aa 774122 3520 04 epp2 -1966,ic 000042 = 516000000001 003721 aa 6 00556 2521 00 spri2 pr6|366 003722 aa 774077 3520 04 epp2 -1985,ic 000021 = 524000000400 003723 aa 6 00560 2521 00 spri2 pr6|368 003724 aa 6 00520 6211 00 eax1 pr6|336 003725 aa 040000 4310 07 fld 16384,dl 003726 aa 6 00044 3701 20 epp4 pr6|36,* 003727 la 4 00036 3521 20 epp2 pr4|30,* ioa_$ioa_switch 003730 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 655 return; 003731 aa 6 00350 6101 00 rtcd pr6|232 STATEMENT 1 ON LINE 657 end list_one_buffer; END PROCEDURE list_one_buffer BEGIN PROCEDURE find_buffer ENTRY TO find_buffer STATEMENT 1 ON LINE 688 find_buffer: procedure (ftp, fti, fte, fbp, crsw); 003732 aa 6 00362 6501 00 spri4 pr6|242 003733 aa 6 00364 2521 00 spri2 pr6|244 003734 aa 2 00010 3735 20 epp7 pr2|8,* 003735 aa 6 00402 6535 00 spri7 pr6|258 003736 aa 2 00012 3715 20 epp5 pr2|10,* 003737 aa 6 00404 6515 00 spri5 pr6|260 STATEMENT 1 ON LINE 703 do fti = fti to fte; 003740 aa 2 00006 2361 20 ldq pr2|6,* fte 003741 aa 6 00406 7561 00 stq pr6|262 003742 aa 2 00004 2361 20 ldq pr2|4,* fti 003743 aa 2 00004 7561 20 stq pr2|4,* fti 003744 aa 6 00364 3735 20 epp7 pr6|244,* 003745 aa 7 00004 2361 20 ldq pr7|4,* fti 003746 aa 6 00406 1161 00 cmpq pr6|262 003747 aa 000014 6054 04 tpnz 12,ic 003763 STATEMENT 1 ON LINE 704 tch = substr (ftp -> a_string, fti, 1); 003750 aa 6 00375 4501 00 stz pr6|253 tch 003751 aa 7 00002 3715 20 epp5 pr7|2,* ftp 003752 aa 5 00000 3715 20 epp5 pr5|0,* ftp 003753 aa 040 100 100 506 mlr (pr,ql),(pr),fill(040) 003754 aa 5 77777 60 0001 desc9a pr5|-1(3),1 a_string 003755 aa 6 00375 00 0001 desc9a pr6|253,1 tch STATEMENT 1 ON LINE 705 if tch ^= " " then go to get_name; 003756 aa 6 00375 2351 00 lda pr6|253 tch 003757 aa 040000 1150 03 cmpa 16384,du 003760 aa 000022 6010 04 tnz 18,ic 004002 STATEMENT 1 ON LINE 706 end; 003761 aa 7 00004 0541 20 aos pr7|4,* fti 003762 aa 777762 7100 04 tra -14,ic 003744 STATEMENT 1 ON LINE 707 buf_err: call ioa_ ("Syntax error in buffer name."); 003763 aa 000 100 100 404 mlr (ic),(pr),fill(000) 003764 aa 774137 00 0034 desc9a -1953,28 000122 = 123171156164 003765 aa 6 00562 00 0034 desc9a pr6|370,28 003766 aa 6 00562 3521 00 epp2 pr6|370 003767 aa 6 00574 2521 00 spri2 pr6|380 003770 aa 774030 3520 04 epp2 -2024,ic 000020 = 524000000034 003771 aa 6 00576 2521 00 spri2 pr6|382 003772 aa 6 00572 6211 00 eax1 pr6|378 003773 aa 004000 4310 07 fld 2048,dl 003774 aa 6 00044 3701 20 epp4 pr6|36,* 003775 la 4 00034 3521 20 epp2 pr4|28,* ioa_ 003776 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 709 fbp = null (); 003777 aa 774051 2370 04 ldaq -2007,ic 000050 = 077777000043 000001000000 004000 aa 6 00402 7571 20 staq pr6|258,* fbp STATEMENT 1 ON LINE 710 return; 004001 aa 6 00362 6101 00 rtcd pr6|242 STATEMENT 1 ON LINE 712 get_name: if tch ^= "(" /* if one character buffer name given */ then if tch ^= NL then do; 004002 aa 050000 1150 03 cmpa 20480,du 004003 aa 000010 6000 04 tze 8,ic 004013 004004 aa 012000 1150 03 cmpa 5120,du 004005 aa 777756 6000 04 tze -18,ic 003763 STATEMENT 1 ON LINE 716 tname = tch; 004006 aa 040 100 100 500 mlr (pr),(pr),fill(040) 004007 aa 6 00375 00 0001 desc9a pr6|253,1 tch 004010 aa 6 00376 00 0020 desc9a pr6|254,16 tname STATEMENT 1 ON LINE 717 fti = fti + 1; 004011 aa 7 00004 0541 20 aos pr7|4,* fti STATEMENT 1 ON LINE 718 end; 004012 aa 000051 7100 04 tra 41,ic 004063 STATEMENT 1 ON LINE 720 else do; STATEMENT 1 ON LINE 721 l = fte - fti; 004013 aa 7 00006 2361 20 ldq pr7|6,* fte 004014 aa 7 00004 1761 20 sbq pr7|4,* fti 004015 aa 6 00374 7561 00 stq pr6|252 l STATEMENT 1 ON LINE 722 if l < 2 then go to buf_err; 004016 aa 000002 1160 07 cmpq 2,dl 004017 aa 777744 6040 04 tmi -28,ic 003763 STATEMENT 1 ON LINE 723 i = fti + 1; 004020 aa 7 00004 2361 20 ldq pr7|4,* fti 004021 aa 000001 0760 07 adq 1,dl 004022 aa 6 00372 7561 00 stq pr6|250 i STATEMENT 1 ON LINE 724 j = index (substr (ftp -> a_string, i, l), ")"); 004023 aa 6 00374 2351 00 lda pr6|252 l 004024 aa 000 003 124 546 scm (pr,rl,ql),(du),mask(000) 004025 aa 5 77777 60 0005 desc9a pr5|-1(3),al a_string 004026 aa 051000 00 0001 desc9a 20992,1 004027 aa 6 00056 0001 00 arg pr6|46 004030 aa 6 00056 2361 00 ldq pr6|46 004031 aa 000002 6070 04 ttf 2,ic 004033 004032 aa 000001 3360 07 lcq 1,dl 004033 aa 000001 0760 07 adq 1,dl 004034 aa 6 00373 7561 00 stq pr6|251 j STATEMENT 1 ON LINE 726 if j < 2 then go to buf_err; 004035 aa 000002 1160 07 cmpq 2,dl 004036 aa 777725 6040 04 tmi -43,ic 003763 STATEMENT 1 ON LINE 727 fti = i + j; 004037 aa 6 00372 0761 00 adq pr6|250 i 004040 aa 7 00004 7561 20 stq pr7|4,* fti STATEMENT 1 ON LINE 728 tname = substr (ftp -> a_string, i, (j - 1)); 004041 aa 6 00373 2361 00 ldq pr6|251 j 004042 aa 000001 1760 07 sbq 1,dl 004043 aa 6 00372 2351 00 lda pr6|250 i 004044 aa 040 100 100 545 mlr (pr,rl,al),(pr),fill(040) 004045 aa 5 77777 60 0006 desc9a pr5|-1(3),ql a_string 004046 aa 6 00376 00 0020 desc9a pr6|254,16 tname STATEMENT 1 ON LINE 729 end; STATEMENT 1 ON LINE 730 go to SKIP_LOCATE_BUFFER_ENTRY; 004047 aa 000014 7100 04 tra 12,ic 004063 ENTRY TO locate_buffer STATEMENT 1 ON LINE 735 locate_buffer: entry (p_name, fbp, crsw); 004050 aa 6 00362 6501 00 spri4 pr6|242 004051 aa 6 00364 2521 00 spri2 pr6|244 004052 aa 2 00004 3735 20 epp7 pr2|4,* 004053 aa 6 00402 6535 00 spri7 pr6|258 004054 aa 2 00006 3715 20 epp5 pr2|6,* 004055 aa 6 00404 6515 00 spri5 pr6|260 STATEMENT 1 ON LINE 738 tname = p_name; 004056 aa 6 00364 3735 20 epp7 pr6|244,* 004057 aa 7 00002 3715 20 epp5 pr7|2,* 004060 aa 040 100 100 500 mlr (pr),(pr),fill(040) 004061 aa 5 00000 00 0020 desc9a pr5|0,16 p_name 004062 aa 6 00376 00 0020 desc9a pr6|254,16 tname STATEMENT 1 ON LINE 740 SKIP_LOCATE_BUFFER_ENTRY: fbp = addr (b0); 004063 aa 6 00336 3715 20 epp5 pr6|222,* qid_ptr 004064 aa 5 00034 3715 00 epp5 pr5|28 qid.b0 004065 aa 6 00402 6515 20 spri5 pr6|258,* fbp STATEMENT 1 ON LINE 742 do while (fbp ^= null ()); 004066 aa 6 00402 2371 20 ldaq pr6|258,* fbp 004067 aa 773761 6770 04 eraq -2063,ic 000050 = 077777000043 000001000000 004070 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 004071 aa 000014 6000 04 tze 12,ic 004105 STATEMENT 1 ON LINE 743 if fbp -> b.name = tname then return; 004072 aa 6 00402 3735 20 epp7 pr6|258,* fbp 004073 aa 7 00000 3735 20 epp7 pr7|0,* fbp 004074 aa 040 100 106 500 cmpc (pr),(pr),fill(040) 004075 aa 7 00000 00 0020 desc9a pr7|0,16 b.name 004076 aa 6 00376 00 0020 desc9a pr6|254,16 tname 004077 aa 000002 6010 04 tnz 2,ic 004101 004100 aa 6 00362 6101 00 rtcd pr6|242 STATEMENT 1 ON LINE 744 lbp = fbp; 004101 aa 6 00370 6535 00 spri7 pr6|248 lbp STATEMENT 1 ON LINE 745 fbp = fbp -> b.next; 004102 aa 7 00004 3715 20 epp5 pr7|4,* b.next 004103 aa 6 00402 6515 20 spri5 pr6|258,* fbp STATEMENT 1 ON LINE 746 end; 004104 aa 777762 7100 04 tra -14,ic 004066 STATEMENT 1 ON LINE 747 if ^crsw then do; 004105 aa 6 00404 3735 20 epp7 pr6|260,* 004106 aa 000 000 066 500 cmpb (pr),(),fill(0) 004107 aa 7 00000 00 0001 descb pr7|0,1 crsw 004110 aa 000000 00 0000 descb 0,0 004111 aa 000025 6010 04 tnz 21,ic 004136 STATEMENT 1 ON LINE 748 call ioa_ ("Buffer (^a) not found.", tname); 004112 aa 773774 2370 04 ldaq -2052,ic 000106 = 102165146146 145162040050 004113 aa 6 00572 7571 00 staq pr6|378 004114 aa 773774 2370 04 ldaq -2052,ic 000110 = 136141051040 156157164040 004115 aa 6 00574 7571 00 staq pr6|380 004116 aa 773774 2370 04 ldaq -2052,ic 000112 = 146157165156 144056000000 004117 aa 6 00576 7571 00 staq pr6|382 004120 aa 6 00572 3521 00 epp2 pr6|378 004121 aa 6 00602 2521 00 spri2 pr6|386 004122 aa 6 00376 3521 00 epp2 pr6|254 tname 004123 aa 6 00604 2521 00 spri2 pr6|388 004124 aa 773673 3520 04 epp2 -2117,ic 000017 = 524000000026 004125 aa 6 00606 2521 00 spri2 pr6|390 004126 aa 773707 3520 04 epp2 -2105,ic 000035 = 526000000020 004127 aa 6 00610 2521 00 spri2 pr6|392 004130 aa 6 00600 6211 00 eax1 pr6|384 004131 aa 010000 4310 07 fld 4096,dl 004132 aa 6 00044 3701 20 epp4 pr6|36,* 004133 la 4 00034 3521 20 epp2 pr4|28,* ioa_ 004134 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 749 return; 004135 aa 6 00362 6101 00 rtcd pr6|242 STATEMENT 1 ON LINE 750 end; STATEMENT 1 ON LINE 751 allocate b in (editor_area) set (fbp); 004136 aa 000122 2360 07 ldq 82,dl 004137 aa 6 00336 3735 20 epp7 pr6|222,* qid_ptr 004140 aa 7 00022 3521 20 epp2 pr7|18,* editor_area 004141 aa 0 01402 7001 00 tsx0 pr0|770 op_alloc_ 004142 aa 777774 7100 04 tra -4,ic 004136 004143 aa 6 00402 2521 20 spri2 pr6|258,* fbp STATEMENT 1 ON LINE 752 call get_temp_segment_ (qid.editor_name, fbp -> b.dp, code); 004144 aa 6 00336 3521 20 epp2 pr6|222,* qid.editor_name 004145 aa 6 00614 2521 00 spri2 pr6|396 004146 aa 6 00402 3735 20 epp7 pr6|258,* fbp 004147 aa 7 00000 3735 20 epp7 pr7|0,* fbp 004150 aa 7 00006 3521 00 epp2 pr7|6 b.dp 004151 aa 6 00616 2521 00 spri2 pr6|398 004152 aa 6 00100 3521 00 epp2 pr6|64 code 004153 aa 6 00620 2521 00 spri2 pr6|400 004154 aa 773660 3520 04 epp2 -2128,ic 000034 = 526000000110 004155 aa 6 00622 2521 00 spri2 pr6|402 004156 aa 773663 3520 04 epp2 -2125,ic 000041 = 464000000000 004157 aa 6 00624 2521 00 spri2 pr6|404 004160 aa 773657 3520 04 epp2 -2129,ic 000037 = 404000000043 004161 aa 6 00626 2521 00 spri2 pr6|406 004162 aa 6 00612 6211 00 eax1 pr6|394 004163 aa 014000 4310 07 fld 6144,dl 004164 aa 6 00044 3701 20 epp4 pr6|36,* 004165 la 4 00046 3521 20 epp2 pr4|38,* get_temp_segment_ 004166 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 753 if code ^= 0 then do; 004167 aa 6 00100 2361 00 ldq pr6|64 code 004170 aa 000036 6000 04 tze 30,ic 004226 STATEMENT 1 ON LINE 754 free fbp -> b in (editor_area); 004171 aa 6 00402 3715 20 epp5 pr6|258,* fbp 004172 aa 0 01404 7001 00 tsx0 pr0|772 op_freen_ STATEMENT 1 ON LINE 755 call com_err_ (code, qid.editor_name, "Obtaining temporary space for buffer ^a.", tname); 004173 aa 000 100 100 404 mlr (ic),(pr),fill(000) 004174 aa 773756 00 0050 desc9a -2066,40 000151 = 117142164141 004175 aa 6 00600 00 0050 desc9a pr6|384,40 004176 aa 6 00100 3521 00 epp2 pr6|64 code 004177 aa 6 00632 2521 00 spri2 pr6|410 004200 aa 6 00336 3521 20 epp2 pr6|222,* qid.editor_name 004201 aa 6 00634 2521 00 spri2 pr6|412 004202 aa 6 00600 3521 00 epp2 pr6|384 004203 aa 6 00636 2521 00 spri2 pr6|414 004204 aa 6 00376 3521 00 epp2 pr6|254 tname 004205 aa 6 00640 2521 00 spri2 pr6|416 004206 aa 773631 3520 04 epp2 -2151,ic 000037 = 404000000043 004207 aa 6 00642 2521 00 spri2 pr6|418 004210 aa 773624 3520 04 epp2 -2156,ic 000034 = 526000000110 004211 aa 6 00644 2521 00 spri2 pr6|420 004212 aa 773604 3520 04 epp2 -2172,ic 000016 = 524000000050 004213 aa 6 00646 2521 00 spri2 pr6|422 004214 aa 773621 3520 04 epp2 -2159,ic 000035 = 526000000020 004215 aa 6 00650 2521 00 spri2 pr6|424 004216 aa 6 00630 6211 00 eax1 pr6|408 004217 aa 020000 4310 07 fld 8192,dl 004220 aa 6 00044 3701 20 epp4 pr6|36,* 004221 la 4 00040 3521 20 epp2 pr4|32,* com_err_ 004222 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 756 fbp = null (); 004223 aa 773625 2370 04 ldaq -2155,ic 000050 = 077777000043 000001000000 004224 aa 6 00402 7571 20 staq pr6|258,* fbp STATEMENT 1 ON LINE 757 return; 004225 aa 6 00362 6101 00 rtcd pr6|242 STATEMENT 1 ON LINE 758 end; STATEMENT 1 ON LINE 759 lbp -> b.next = fbp; 004226 aa 6 00402 3735 20 epp7 pr6|258,* fbp 004227 aa 7 00000 3735 20 epp7 pr7|0,* fbp 004230 aa 6 00370 3715 20 epp5 pr6|248,* lbp 004231 aa 5 00004 6535 00 spri7 pr5|4 b.next STATEMENT 1 ON LINE 760 fbp -> b.name = tname; 004232 aa 6 00402 3535 20 epp3 pr6|258,* fbp 004233 aa 3 00000 3535 20 epp3 pr3|0,* fbp 004234 aa 6 00376 2371 00 ldaq pr6|254 tname 004235 aa 3 00000 7551 00 sta pr3|0 b.name 004236 aa 3 00001 7561 00 stq pr3|1 b.name 004237 aa 6 00400 2371 00 ldaq pr6|256 tname 004240 aa 3 00002 7551 00 sta pr3|2 b.name 004241 aa 3 00003 7561 00 stq pr3|3 b.name STATEMENT 1 ON LINE 761 fbp -> b.next = null (); 004242 aa 773606 2370 04 ldaq -2170,ic 000050 = 077777000043 000001000000 004243 aa 3 00004 7571 00 staq pr3|4 b.next STATEMENT 1 ON LINE 762 fbp -> b.lb = 0; 004244 aa 6 00402 3515 20 epp1 pr6|258,* fbp 004245 aa 1 00000 3515 20 epp1 pr1|0,* fbp 004246 aa 1 00110 4501 00 stz pr1|72 b.lb STATEMENT 1 ON LINE 763 if sys_info$service_system then fbp -> b.de = 4 * 4 * 1024; 004247 aa 6 00044 3701 20 epp4 pr6|36,* 004250 la 4 00014 2351 20 lda pr4|12,* sys_info$service_system 004251 aa 000004 6000 04 tze 4,ic 004255 004252 aa 040000 2360 07 ldq 16384,dl 004253 aa 1 00112 7561 00 stq pr1|74 b.de 004254 aa 000004 7100 04 tra 4,ic 004260 STATEMENT 1 ON LINE 765 else fbp -> b.de = 4 * sys_info$max_seg_size; 004255 la 4 00012 2361 20 ldq pr4|10,* sys_info$max_seg_size 004256 aa 000002 7360 00 qls 2 004257 aa 1 00112 7561 00 stq pr1|74 b.de STATEMENT 1 ON LINE 766 fbp -> b.li = 1; 004260 aa 000001 2360 07 ldq 1,dl 004261 aa 1 00113 7561 00 stq pr1|75 b.li STATEMENT 1 ON LINE 767 fbp -> b.ft = fbp -> b.de + 1; 004262 aa 1 00112 2361 00 ldq pr1|74 b.de 004263 aa 000001 0760 07 adq 1,dl 004264 aa 1 00111 7561 00 stq pr1|73 b.ft STATEMENT 1 ON LINE 768 fbp -> b.le = 0; 004265 aa 1 00114 4501 00 stz pr1|76 b.le STATEMENT 1 ON LINE 769 fbp -> b.tw_sw = "0"b; 004266 aa 1 00117 4501 00 stz pr1|79 b.tw_sw STATEMENT 1 ON LINE 770 fbp -> b.default_path = ""; 004267 aa 040 100 100 400 mlr (),(pr),fill(040) 004270 aa 000000 00 0000 desc9a 0,0 004271 aa 1 00010 00 0400 desc9a pr1|8,256 b.default_path STATEMENT 1 ON LINE 771 fbp -> b.callers_idx = 0; 004272 aa 1 00120 4501 00 stz pr1|80 b.callers_idx STATEMENT 1 ON LINE 772 string (fbp -> b.flags) = ""b; 004273 aa 1 00121 4501 00 stz pr1|81 STATEMENT 1 ON LINE 774 return; 004274 aa 6 00362 6101 00 rtcd pr6|242 STATEMENT 1 ON LINE 776 end find_buffer; END PROCEDURE find_buffer END PROCEDURE edx_util_ ----------------------------------------------------------- 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