COMPILATION LISTING OF SEGMENT read_early_dump_tape Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/22/85 1508.3 mst Tue Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 read_early_dump_tape: redt: proc () options (variable); 7 8 /* Command level utility to read in the tape produced by the early dump 9*feature of Multics initialization. The output of this program is a dump 10*compatible with the standard analysis tools. 11*Keith Loepere, November 1983. */ 12 13 /* Modified November of 1984 by Allen Ball to fix bad reference to error_table_. */ 14 15 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 16 17 dcl Magic_number bit (36) aligned init ("654365234214"b3) options (constant) static; /* present in dump records to identify them */ 18 dcl addr builtin; 19 dcl addrel builtin; 20 dcl arg char (arg_len) based (arg_ptr); 21 dcl arg_len fixed bin (21); 22 dcl arg_num fixed bin; 23 dcl arg_ptr ptr; 24 dcl attach_descr char (256); /* attach description for tape */ 25 dcl bin builtin; 26 dcl bit builtin; 27 dcl character builtin; 28 dcl cleanup condition; 29 dcl clock builtin; 30 dcl code fixed bin (35); 31 dcl codeptr builtin; 32 dcl com_err_ entry () options (variable); 33 dcl current_dump_record fixed bin; /* record in dump (0 is first in 1st seg, 255 is 1st in 2nd...) */ 34 dcl crash_dbr bit (72) aligned; /* from dump record */ 35 dcl crash_system_type fixed bin; /* from dump record */ 36 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 37 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 38 dcl cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin (35)); 39 dcl date builtin; 40 dcl date_str char (6); /* for building dump seg names */ 41 dcl density char (4); /* current density we're trying */ 42 dcl dimension builtin; 43 dcl divide builtin; 44 dcl dummy_ptr ptr; 45 dcl dump_dir char (168); /* directory in which to place dump segs */ 46 dcl dump_name char (12); /* base name of dump segs */ 47 dcl dump_number fixed bin; /* used when naming dump */ 48 dcl dump_seg_ptrs (0:63) ptr init ((64) null); /* ptrs to successive segs of dump */ 49 dcl dump_segment fixed bin; /* current number (0 orig) of current seg we're writing */ 50 dcl dump_segment_name char (32); /* name of current dump seg */ 51 dcl 1 dump_record aligned, /* record read from tape */ 52 2 magic_number bit (36) aligned, /* as in Magic_number above */ 53 2 address fixed bin (26), /* starting address of page this is */ 54 2 dbr bit (72) aligned, /* at time of dump */ 55 2 system_type fixed bin, 56 2 pad fixed bin, 57 2 memory_record bit (1024 * 36); /* page of memory */ 58 dcl ed_appending_simulation_$get_virtual entry (ptr, fixed bin (26), fixed bin (18), ptr, fixed bin (35)); 59 dcl ed_appending_simulation_$init entry ((4) ptr, fixed bin); 60 dcl ed_appending_simulation_$new_dbr entry (bit (72) aligned, fixed bin (15), fixed bin (35)); 61 dcl ed_appending_simulation_$new_segment entry (fixed bin (15), ptr, fixed bin (35)); 62 dcl entry char (32); /* from dump_dir expansion */ 63 dcl error_count fixed bin; /* while reading current record */ 64 dcl error_table_$bad_arg fixed bin (35) ext static; 65 dcl error_table_$bad_density fixed bin (35) ext static; 66 dcl error_table_$improper_data_format fixed bin (35) ext static; 67 dcl error_table_$noarg fixed bin (35) ext static; 68 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 69 dcl get_temp_segments_ entry (char (*), (*) ptr, fixed bin (35)); 70 dcl good_records fixed bin; /* number read so far */ 71 dcl hbound builtin; 72 dcl hcs_$make_seg entry (char (*), char (*), char (*), fixed bin (5), ptr, fixed bin (35)); 73 dcl hcs_$set_bc_seg entry (ptr, fixed bin (24), fixed bin (35)); 74 dcl hcs_$terminate_noname entry (ptr, fixed bin (35)); 75 dcl ioa_ entry () options (variable); 76 dcl iocb_ptr ptr; /* for tape */ 77 dcl iox_$attach_name entry (char (*), ptr, char (*), ptr, fixed bin (35)); 78 dcl iox_$close entry (ptr, fixed bin (35)); 79 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 80 dcl iox_$detach_iocb entry (ptr, fixed bin (35)); 81 dcl iox_$open entry (ptr, fixed bin, bit (1) aligned, fixed bin (35)); 82 dcl iox_$read_record entry (ptr, ptr, fixed bin (21), fixed bin (21), fixed bin (35)); 83 dcl last_non_null_page fixed bin; /* used when writing seg pages to dump so we don't write trailing null pages */ 84 dcl last_segnum fixed bin (15); /* last valid segnum in dump */ 85 dcl ltrim builtin; 86 dcl me char (20) static options (constant) init ("read_early_dump_tape"); 87 dcl memory_block_num fixed bin; /* which memory page we're reading */ 88 dcl memory_block_ptrs (4) ptr init ((4) null); /* forms a set of 4 128k areas */ 89 dcl memory_blocks (0:127) bit (1024 * 36) based; /* a 128k area */ 90 dcl mod builtin; 91 dcl 1 my_dump aligned like dump; /* header for dump */ 92 dcl my_page_buffer bit (36 * 1024) based (addr (dump_record.memory_record)); /* area for appending simulation reading of memory blocks */ 93 dcl 1 my_seg_info aligned like seg_info;/* describe current segment being dumped */ 94 dcl n_args fixed bin; 95 dcl new_memory_block_num fixed bin; /* memory block alleged to be in current tape record */ 96 dcl null builtin; 97 dcl null_page_num fixed bin; /* loop counter */ 98 dcl page_num fixed bin; /* loop counter */ 99 dcl original_density char (4); /* command level specified initial density */ 100 dcl release_temp_segments_ entry (char (*), (*) ptr, fixed bin (35)); 101 dcl rtrim builtin; 102 dcl segnum fixed bin (15); /* loop counter */ 103 dcl size builtin; 104 dcl substr builtin; 105 dcl tape_record_len fixed bin (21); /* for checking for valid records */ 106 dcl tape_reel char (32); /* user name */ 107 dcl time builtin; 108 dcl time_str char (12); /* for building dump seg name */ 109 dcl unspec builtin; 110 dcl write bit (1) aligned; /* mount with ring */ 111 112 113 /* Process arguments */ 114 115 call cu_$arg_count (n_args, code); 116 if n_args = 0 | code ^= 0 then do; 117 call com_err_ (code, me, "Usage is: read_early_dump_tape -dump {-dump_dir } {-density } {-ring}"); 118 return; 119 end; 120 dump_number = -1; 121 original_density = "1600"; 122 tape_reel = ""; 123 dump_dir = ">dumps"; 124 write = "0"b; 125 do arg_num = 1 to n_args; 126 call cu_$arg_ptr (arg_num, arg_ptr, arg_len, code); 127 if arg_len > 0 then do; 128 if substr (arg, 1, 1) ^= "-" then tape_reel = arg; 129 else if arg = "-dump" then do; 130 arg_num = arg_num + 1; 131 if arg_num > n_args then do; 132 call com_err_ (error_table_$noarg, me, "dump number"); 133 return; 134 end; 135 call cu_$arg_ptr (arg_num, arg_ptr, arg_len, code); 136 dump_number = cv_dec_check_ (arg, code); 137 if code ^= 0 | dump_number < 1 then do; 138 call com_err_ (error_table_$bad_arg, me, "dump number ^a", arg); 139 return; 140 end; 141 end; 142 else if arg = "-ring" | arg = "-rg" then write = "1"b; 143 else if arg = "-dump_dir" then do; 144 arg_num = arg_num + 1; 145 if arg_num > n_args then do; 146 call com_err_ (error_table_$noarg, me, "dump dir"); 147 return; 148 end; 149 call cu_$arg_ptr (arg_num, arg_ptr, arg_len, code); 150 call expand_pathname_ (arg, dump_dir, entry, code); 151 if code ^= 0 then do; 152 call com_err_ (code, me, "dump dir ^a", arg); 153 return; 154 end; 155 dump_dir = rtrim (dump_dir) || ">" || entry; 156 end; 157 else if arg = "-density" | arg = "-den" then do; 158 arg_num = arg_num + 1; 159 if arg_num > n_args then do; 160 call com_err_ (error_table_$noarg, me, "density"); 161 return; 162 end; 163 call cu_$arg_ptr (arg_num, arg_ptr, arg_len, code); 164 if arg ^= "800" & arg ^= "1600" & arg ^= "6250" then do; 165 call com_err_ (error_table_$bad_density, me, "^a", arg); 166 return; 167 end; 168 original_density = arg; 169 end; 170 else do; 171 call com_err_ (error_table_$bad_arg, me, "^a", arg); 172 return; 173 end; 174 end; 175 end; 176 177 if tape_reel = "" then do; 178 call com_err_ (0, me, "A tape reel name must be specified."); 179 return; 180 end; 181 if dump_number < 1 then do; 182 call com_err_ (0, me, "-dump must be specified"); 183 return; 184 end; 185 186 187 /* Read the dump tape into temp segments. */ 188 189 on cleanup call clean_up; 190 191 density = original_density; 192 attach_descr = "tape_nstd_ " || rtrim (tape_reel) || " -den " || density; 193 if write then attach_descr = rtrim (attach_descr) || " -write"; 194 call iox_$attach_name ("redt_switch_", iocb_ptr, attach_descr, codeptr (read_early_dump_tape), code); 195 if code ^= 0 then go to iox_error; 196 call iox_$open (iocb_ptr, Sequential_input, "0"b, code); 197 if code ^= 0 then do; 198 iox_error: call com_err_ (code, me, "^a", attach_descr); 199 go to abort; 200 end; 201 call get_temp_segments_ (me, memory_block_ptrs, code); 202 if code ^= 0 then do; 203 call com_err_ (code, me, "Getting temp segments."); 204 go to abort; 205 end; 206 207 read: memory_block_num = -1; 208 good_records = 0; 209 do while (memory_block_num < 511); 210 code = -1; 211 do error_count = 1 to 16 while (code ^= 0); 212 call iox_$read_record (iocb_ptr, addr (dump_record), 4 * size (dump_record), tape_record_len, code); 213 end; 214 if code ^= 0 then 215 if density = original_density & good_records = 0 then do; /* try another density */ 216 if original_density = "6250" then density = "1600"; 217 else if original_density = "1600" then density = "6250"; 218 else density = "1600"; 219 call iox_$control (iocb_ptr, "rewind", null, code); 220 call iox_$control (iocb_ptr, "d" || density, null, code); 221 go to read; 222 end; 223 else do; 224 call com_err_ (code, me, "More than 16 errors."); 225 go to abort; 226 end; 227 else do; 228 new_memory_block_num = divide (dump_record.address, 1024, 9); 229 if tape_record_len ^= 4 * size (dump_record) | /* valid record? */ 230 dump_record.magic_number ^= Magic_number | 231 new_memory_block_num < memory_block_num | /* the one we expect? */ 232 memory_block_num + 1 < new_memory_block_num then do; 233 call com_err_ (error_table_$improper_data_format, me); 234 go to abort; 235 end; 236 else do; 237 good_records = good_records + 1; 238 memory_block_num = new_memory_block_num; 239 crash_dbr = dump_record.dbr; 240 crash_system_type = dump_record.system_type; 241 memory_block_ptrs (divide (memory_block_num, 128, 7) + 1) -> memory_blocks (mod (memory_block_num, 128)) = dump_record.memory_record; 242 end; 243 end; 244 end; 245 call clean_up_tape; 246 247 248 /* Now get the data into a regular format dump. */ 249 250 dumpptr = addr (my_dump); 251 seg_info_ptr = addr (my_seg_info); 252 253 unspec (my_dump) = "0"b; 254 call ed_appending_simulation_$init (memory_block_ptrs, crash_system_type); 255 call ed_appending_simulation_$new_dbr (crash_dbr, last_segnum, code); 256 if code ^= 0 then do; 257 call com_err_ (code, me, "Bad dbr value in dump"); 258 go to abort; 259 end; 260 dump.valid = "0"b; 261 dump.erfno = dump_number; 262 263 dump.words_dumped = 0; 264 begin; 265 dcl kludge_valid bit (36) aligned based (addr (dump.valid)); 266 kludge_valid = "111111111111111111111111111111111111"b; /* azm expects it */ 267 end; 268 dump.time = clock; 269 dump.num_segs = 0; 270 dump.valid_355 = "0"b; 271 dump.dumped_355s = "0"b; 272 dump.time_355 = 0; 273 dump.version = DUMP_VERSION_2; 274 275 dump.dbr = crash_dbr; 276 277 time_str = time; 278 date_str = date; 279 dump_name = substr (date_str, 3, 2) || substr (date_str, 5, 2) || substr (date_str, 1, 2) || "." || substr (time_str, 1, 4) || "."; 280 dump_segment = 0; 281 current_dump_record = 2; /* header */ 282 283 dump_segment_name = dump_name || ltrim (character (dump_segment)) || "." || ltrim (character (dump_number)); 284 call hcs_$make_seg (dump_dir, dump_segment_name, "", 10, dump_seg_ptrs (dump_segment), code); 285 if dump_seg_ptrs (dump_segment) = null then do; 286 call com_err_ (code, me, dump_segment_name); 287 go to abort; 288 end; 289 290 do segnum = 0 to last_segnum; 291 call ed_appending_simulation_$new_segment (segnum, seg_info_ptr, code); 292 if code ^= 0 then go to next_seg; 293 294 if dump.num_segs = dimension (dump.segs, 1) then do; 295 call ioa_ ("Segment array overflow."); 296 go to end_dump; 297 end; 298 dump.num_segs = dump.num_segs + 1; 299 dump.segs.segno (dump.num_segs) = bit (bin (segnum, 18), 18); 300 dump.segs.length (dump.num_segs) = "0"b; 301 302 /* read pages from simulated segment, writing to dump. Don't write null pages. 303*If we do find a non-null page, write it and any null pages we didn't write 304*before. */ 305 306 last_non_null_page = -1; 307 do page_num = 0 to divide (seg_info.size + 1023, 1024, 8) - 1; 308 call ed_appending_simulation_$get_virtual (seg_info_ptr, page_num * 1024, 1024, addr (my_page_buffer), code); 309 if my_page_buffer ^= "0"b then do; /* output non-null page and all null pages up to it */ 310 do null_page_num = last_non_null_page + 1 to page_num - 1; 311 dummy_ptr = get_put (); 312 end; 313 get_put () -> my_page_buffer = my_page_buffer; 314 last_non_null_page = page_num; 315 end; 316 end; 317 dump.segs.length (dump.num_segs) = bit (bin ((last_non_null_page + 1) * 16, 18), 18); 318 dump.words_dumped = dump.words_dumped + (last_non_null_page + 1) * 1024; 319 next_seg: 320 end; 321 322 /* Write out header */ 323 end_dump: 324 dump_seg_ptrs (0) -> dump = my_dump; 325 call hcs_$set_bc_seg (dump_seg_ptrs (dump_segment), (mod (current_dump_record - 1, 255) + 1) * 1024 * 36, code); 326 327 abort: call clean_up; 328 return; 329 330 clean_up: proc; 331 332 call release_temp_segments_ (me, memory_block_ptrs, code); 333 do dump_segment = 0 to hbound (dump_seg_ptrs, 1); 334 if dump_seg_ptrs (dump_segment) ^= null then call hcs_$terminate_noname (dump_seg_ptrs (dump_segment), code); 335 end; 336 337 clean_up_tape: entry; 338 339 call iox_$close (iocb_ptr, code); 340 call iox_$detach_iocb (iocb_ptr, code); 341 return; 342 end; 343 344 get_put: proc () returns (ptr); 345 346 /* add page to dump (returns ptr to page to place data) */ 347 348 if mod (current_dump_record, 255) = 0 then do; 349 call hcs_$set_bc_seg (dump_seg_ptrs (dump_segment), 255 * 1024 * 36, code); 350 dump_segment = dump_segment + 1; 351 dump_segment_name = dump_name || ltrim (character (dump_segment)) || "." || ltrim (character (dump_number)); 352 call hcs_$make_seg (dump_dir, dump_segment_name, "", 10, dump_seg_ptrs (dump_segment), code); 353 if dump_seg_ptrs (dump_segment) = null then do; 354 call com_err_ (code, me, dump_segment_name); 355 go to abort; 356 end; 357 end; 358 current_dump_record = current_dump_record + 1; 359 return (addrel (dump_seg_ptrs (dump_segment), mod (current_dump_record - 1, 255) * 1024)); 360 end; 361 /* BEGIN include file bce_appending_seg_info.incl.pl1 */ 1 2 1 3 /* Description of data returned by bce_appending_simulation$new_segment. 1 4*Keith Loepere, November 1983. */ 1 5 1 6 /* format: style4,indattr,ifthenstmt,ifthen,idind33,^indcomtxt */ 1 7 1 8 dcl seg_info_ptr ptr; 1 9 dcl 1 seg_info aligned based (seg_info_ptr), 1 10 2 sst_data aligned like aste, 1 11 2 page_table (0:255) bit (36) aligned, 1 12 2 sdwi aligned like sdw_info; 1 13 1 14 /* BEGIN INCLUDE FILE ...aste.incl.pl1 ... */ 2 2 2 3 /* Template for an AST entry. Length = 12 words. */ 2 4 2 5 /* Words 0 to 7, and 11 are read by PC; they are read and modified by SC. 2 6* Words 8, 9 and 10 are modified by PC; they should never be modified without locking the PC lock */ 2 7 /* Modified January 1985 by Keith Loepere for multi_class. */ 2 8 2 9 dcl astep ptr; 2 10 2 11 dcl 1 aste based (astep) aligned, 2 12 2 13 (2 fp bit (18), /* forward used list rel pointer */ 2 14 2 bp bit (18), /* backward used list rel pointer */ 2 15 2 16 2 infl bit (18), /* ptr to NEXT in list of ASTE's of my brothers */ 2 17 2 infp bit (18), /* ptr to FIRST in list of ASTE's of my children */ 2 18 2 19 2 strp bit (18), /* rel pointer to process trailer */ 2 20 2 par_astep bit (18), /* rel pointer to parent aste */ 2 21 2 22 2 uid bit (36), /* segment unique id */ 2 23 2 24 2 msl bit (9), /* maximum segment length in 1024 word units */ 2 25 2 pvtx fixed bin (8), /* physical volume table index */ 2 26 2 vtocx fixed bin (17), /* vtoc entry index */ 2 27 2 28 2 usedf bit (1), /* ast entry is being used if non-zero */ 2 29 2 init bit (1), /* used bit - insure 1 lap */ 2 30 2 gtus bit (1), /* global transparent usage switch */ 2 31 2 gtms bit (1), /* global transparent modified switch */ 2 32 2 hc bit (1), /* hard core segment */ 2 33 2 hc_sdw bit (1), /* aste with sdw for hardcore seg if non-zero */ 2 34 2 any_access_on bit (1), /* any sdw allows access, unless write_access_on */ 2 35 2 write_access_on bit (1), /* any sdw allows write access */ 2 36 2 inhibit_cache bit (1), /* flag not to reset above bits */ 2 37 2 explicit_deact_ok bit (1), /* set if user can deactivate seg */ 2 38 2 deact_error bit (1), /* set if error occurred while deactivating */ 2 39 2 hc_part bit (1), /* set if pages are in a hardcore partition */ 2 40 2 fm_damaged bit (1), /* set if filemap checksum was ever bad */ 2 41 2 multi_class bit (1), /* set if page_control should watch state changes to this segment */ 2 42 2 pad1 bit (2), /* OO */ 2 43 2 dius bit (1), /* dumper in use switch */ 2 44 2 nid bit (1), /* if on prevents addtion to incremental dump map */ 2 45 2 dmpr_pad bit (1), 2 46 2 ehs bit (1), /* entry hold switch */ 2 47 2 nqsw bit (1), /* no quota switch - no checking for pages of this seg */ 2 48 2 dirsw bit (1), /* directory switch */ 2 49 2 master_dir bit (1), /* master dir - a root for the log volume */ 2 50 2 volmap_seg bit (1), /* volmap_seg for some volume */ 2 51 2 tqsw (0:1) bit (1), /* terminal quota switch - (0) for non dir pages */ 2 52 2 pad_ic bit (10), /* Used to be aste.ic */ 2 53 2 54 2 dtu bit (36), /* date and time segment last used */ 2 55 2 56 2 dtm bit (36), /* date and time segment last modified */ 2 57 2 58 2 59 2 quota (0:1) fixed bin (18) unsigned, /* sec storage quota - (0) for non dir pages */ 2 60 2 61 2 used (0:1) fixed bin (18) unsigned, /* sec storage used - (0) for non dir pages */ 2 62 2 63 2 csl bit (9), /* current segment length in 1024 words units */ 2 64 2 fmchanged bit (1), /* turned on by page if file map changed */ 2 65 2 fms bit (1), /* file modified switch */ 2 66 2 npfs bit (1), /* no page fault switch */ 2 67 2 gtpd bit (1), /* global transparent paging device switch */ 2 68 2 dnzp bit (1), /* don't null out if zero page switch */ 2 69 2 per_process bit (1), /* use master quota for this entry */ 2 70 2 ddnp bit (1), /* don't deposit nulled pages */ 2 71 2 pad2 bit (2), 2 72 2 records bit (9), /* number of records used by the seg in sec storage */ 2 73 2 np bit (9), /* number of pages in core */ 2 74 2 75 2 76 2 ht_fp bit (18), /* hash table forward rel pointer */ 2 77 2 fmchanged1 bit (1), /* value of "fmchanged" saved by pc$get_file_map */ 2 78 2 damaged bit (1), /* PC declared segment unusable */ 2 79 2 pack_ovfl bit (1), /* page fault on seg would cause pack overflow */ 2 80 2 synchronized bit (1), /* Data Management synchronized segment */ 2 81 2 pad3 bit (6), /* OOOOOOOOO */ 2 82 2 ptsi bit (2), /* page table size index */ 2 83 2 marker bit (6)) unaligned; /* marker to indicate last word of ASTE */ 2 84 2 85 2 86 dcl asta (0 : 8000) bit (36*12 /* sst-> sst.astsize */) based aligned; 2 87 2 88 2 89 dcl 1 aste_part aligned based (astep), 2 90 2 91 2 one bit (36) unaligned, /* fp and bp */ 2 92 2 two bit (36*11 - 8) unaligned, /* part that has to be zeroed when ASTE is freed */ 2 93 2 three bit (8) unaligned; /* ptsi and marker */ 2 94 2 95 2 96 dcl 1 seg_aste based (astep) aligned, /* Overlay because quota is only for dirs */ 2 97 2 pad1 bit (8*36), 2 98 2 usage fixed bin (35), /* page fault count: overlays quota */ 2 99 2 pad2 bit (3*36); 2 100 2 101 /* END INCLUDE FILE ... aste.incl.pl1 */ 1 14 1 15 /* BEGIN INCLUDE FILE ... sdw_info.incl.pl1 ... 12/16/80, for ADP conversion */ 3 2 /* Note: This include file has an ALM counterpart made with cif. Keep it up to date */ 3 3 3 4 dcl sdw_info_ptr pointer; 3 5 3 6 dcl 1 sdw_info aligned based (sdw_info_ptr), /* Structure describing SDW contents */ 3 7 2 address fixed bin (26), /* Address of seg base or of page table */ 3 8 2 size fixed bin (19), /* Max length of segment (NOT offset of last word) */ 3 9 3 10 2 access unaligned, /* REWP */ 3 11 3 read bit (1) unaligned, 3 12 3 execute bit (1) unaligned, 3 13 3 write bit (1) unaligned, 3 14 3 privileged bit (1) unaligned, 3 15 3 16 2 pad1 bit (32) unaligned, 3 17 3 18 2 rings unaligned, /* Ring brackets */ 3 19 3 r1 bit (3) unaligned, 3 20 3 r2 bit (3) unaligned, 3 21 3 r3 bit (3) unaligned, 3 22 3 23 2 pad2 bit (27) unaligned, 3 24 3 25 2 flags aligned, 3 26 3 paged bit (1) unaligned, /* "1"b => Segment is paged */ 3 27 3 faulted bit (1) unaligned, /* "1"b => SDW has fault set */ 3 28 3 cache bit (1) unaligned, /* "1"b => Segment is encacheable */ 3 29 3 pad3 bit (33) unaligned, 3 30 3 31 2 gate_entry_bound fixed bin (14); /* Number of entrypoints in gate, or zero */ 3 32 3 33 /* END INCLUDE FILE ... sdw_info.incl.pl1 */ 1 15 1 16 1 17 /* END include file bce_appending_seg_info.incl.pl1 */ 361 362 /* BEGIN INCLUDE FILE ... bos_dump.incl.pl1 ... */ 4 2 /* Modified 1 September 1976 */ 4 3 /* Modified 11/11/80 by J. A. Bush for the DPS8/70M CPU */ 4 4 /* Modified 6/12/81 by Rich Coppola to extend the dps8 extended fault reg to 4 5* 15 bits */ 4 6 /* Modified 02/23/81, W. Olin Sibert, to describe old and new FDUMP styles */ 4 7 4 8 4 9 dcl dumpptr ptr; /* pointer to following structure */ 4 10 4 11 dcl 1 dump based (dumpptr) aligned, /* header of dump by fdump */ 4 12 2 dump_header aligned like dump_header, 4 13 4 14 2 segs (1008), /* segment array */ 4 15 3 segno bit (18) unal, /* segment number */ 4 16 3 length bit (18) unal, /* length of segment in sector sized blocks */ 4 17 4 18 2 amptwregs (0 : 63) bit (36), /* assoc. mem. page table word regs */ 4 19 2 amptwptrs (0 : 63) bit (36), /* assoc. mem. page table word pointers */ 4 20 2 amsdwregs (0 : 63) bit (72), /* assoc. mem. segment descriptor word registers */ 4 21 2 amsdwptrs (0 : 63) bit (36), /* assoc. mem. segment descriptor word pointers */ 4 22 4 23 2 ouhist (0 : 63) bit (72), /* operations unit history registers */ 4 24 2 cuhist (0 : 63) bit (72), /* control unit history registers */ 4 25 2 duhist (0 : 63) bit (72), /* decimal unit history registers */ 4 26 2 auhist (0 : 63) bit (72), /* appending unit history registers */ 4 27 4 28 2 prs (0 : 7) ptr, /* pointer registers */ 4 29 4 30 2 regs aligned like dump_registers, /* assorted machine registers */ 4 31 4 32 2 low_order_port bit (3), /* from which clock is read */ 4 33 2 pad4 bit (36), 4 34 2 mctime fixed bin (52), /* time conditions were taken */ 4 35 2 pad5 (0 : 3) bit (36), 4 36 4 37 2 misc_registers like dump_misc_registers, /* Assorted registers & processor data */ 4 38 4 39 2 ptrlen (0 : 7) bit (36), /* pointers and lengths for EIS */ 4 40 4 41 2 coreblocks (0 : 7), 4 42 3 num_first bit (18) unal, /* first addr in coreblock */ 4 43 3 num_blocks bit (18) unal, /* number of blocks used */ 4 44 2 pad7 (112) fixed bin; 4 45 4 46 4 47 dcl 1 dump_header aligned based, /* Standard header for FDUMP */ 4 48 2 words_dumped fixed bin (35), /* total words in dump */ 4 49 2 valid bit (1), /* = 1 if there is a 6180 dump to be had */ 4 50 2 time fixed bin (71), /* time of dump */ 4 51 2 erfno fixed bin (18), /* Error Report Form Number */ 4 52 2 num_segs fixed bin, /* number of segments dumped */ 4 53 2 valid_355 bit (1), /* = 1 if there is a dn355 dump to be had */ 4 54 2 dumped_355s bit (4), /* indicates which 355s were dumped */ 4 55 2 time_355 fixed bin (71), /* time of 355 dump */ 4 56 2 version fixed bin, /* currently 2 */ 4 57 2 pad0 (5) fixed bin; /* pad0 to 16 words */ 4 58 4 59 dcl 1 dump_registers aligned based, /* Standard (SREG) arrangement of registers in dump */ 4 60 (2 x (0 : 7) bit (18), /* index registers */ 4 61 2 a bit (36), /* the a register */ 4 62 2 q bit (36), /* the q register */ 4 63 2 e bit (8), /* the e register */ 4 64 2 pad2 bit (28), /* pad */ 4 65 2 t bit (27), /* timer register */ 4 66 2 pad3 bit (6), /* pad */ 4 67 2 ralr bit (3)) unaligned; /* ring alarm register */ 4 68 4 69 dcl 1 dump_misc_registers aligned based, 4 70 2 scu (0 : 7) bit (36), /* from store control unit instr. */ 4 71 2 mcm (0 : 7) bit (72), /* memory controller masks every 64 K */ 4 72 2 dbr bit (72), /* descriptor segment base register */ 4 73 2 intrpts bit (36), /* interrupts */ 4 74 2 bar bit (36), /* base address register */ 4 75 2 modereg bit (36), /* mode register */ 4 76 2 cmodereg bit (36), /* cache mode register */ 4 77 2 faultreg bit (36), /* fault register */ 4 78 2 ext_fault_reg bit (15) unaligned, /* DPS8 extended fault register */ 4 79 2 pad6 bit (21) unaligned; 4 80 4 81 4 82 4 83 dcl 1 v1_dump aligned based (dumpptr), /* Old version of FDUMP (pre March, 1981) */ 4 84 2 dump_header aligned like dump_header, 4 85 4 86 2 segs (688), /* segment array */ 4 87 3 segno bit (18) unal, /* segment number */ 4 88 3 length bit (18) unal, /* length of segment in sector sized blocks */ 4 89 4 90 2 amsdwregs (0 : 15) bit (72), /* assoc. mem. segment descriptor word registers */ 4 91 2 amsdwptrs (0 : 15) bit (36), /* assoc. mem. segment descriptor word pointers */ 4 92 2 amptwregs (0 : 15) bit (36), /* assoc. mem. page table word regs */ 4 93 2 amptwptrs (0 : 15) bit (36), /* assoc. mem. page table word pointers */ 4 94 2 pad1 (0 : 15) bit (36), 4 95 4 96 2 ouhist (0 : 15) bit (72), /* operations unit history registers */ 4 97 2 cuhist (0 : 15) bit (72), /* control unit history registers */ 4 98 2 auhist (0 : 15) bit (72), /* appending unit history registers */ 4 99 2 duhist (0 : 15) bit (72), /* decimal unit history registers */ 4 100 4 101 2 prs (0 : 7) ptr, /* pointer registers */ 4 102 4 103 2 regs aligned like dump_registers, /* assorted machine registers */ 4 104 4 105 2 mctime fixed bin (52), /* time conditions were taken */ 4 106 2 pad4 (0 : 5) bit (36), 4 107 4 108 2 misc_registers aligned like dump_misc_registers, /* Assorted registers */ 4 109 4 110 2 pad5 bit (36), 4 111 2 ptrlen (0 : 7) bit (36), /* pointers and lengths for EIS */ 4 112 2 pad6 (15) bit (36), 4 113 2 low_order_port bit (3), /* from which clock was read */ 4 114 4 115 2 coreblocks (0 : 7), 4 116 3 num_first bit (18) unal, /* first addr in coreblock */ 4 117 3 num_blocks bit (18) unal; /* number of blocks used */ 4 118 4 119 4 120 dcl DUMP_VERSION_1 fixed bin internal static options (constant) init (1); 4 121 dcl DUMP_VERSION_2 fixed bin internal static options (constant) init (2); 4 122 4 123 /* END INCLUDE FILE ... bos_dump.incl.pl1 ... */ 362 363 /* Begin include file ..... iox_modes.incl.pl1 */ 5 2 5 3 /* Written by C. D. Tavares, 03/17/75 */ 5 4 /* Updated 10/31/77 by CDT to include short iox mode strings */ 5 5 5 6 dcl iox_modes (13) char (24) int static options (constant) aligned initial 5 7 ("stream_input", "stream_output", "stream_input_output", 5 8 "sequential_input", "sequential_output", "sequential_input_output", "sequential_update", 5 9 "keyed_sequential_input", "keyed_sequential_output", "keyed_sequential_update", 5 10 "direct_input", "direct_output", "direct_update"); 5 11 5 12 dcl short_iox_modes (13) char (4) int static options (constant) aligned initial 5 13 ("si", "so", "sio", "sqi", "sqo", "sqio", "squ", "ksqi", "ksqo", "ksqu", "di", "do", "du"); 5 14 5 15 dcl (Stream_input initial (1), 5 16 Stream_output initial (2), 5 17 Stream_input_output initial (3), 5 18 Sequential_input initial (4), 5 19 Sequential_output initial (5), 5 20 Sequential_input_output initial (6), 5 21 Sequential_update initial (7), 5 22 Keyed_sequential_input initial (8), 5 23 Keyed_sequential_output initial (9), 5 24 Keyed_sequential_update initial (10), 5 25 Direct_input initial (11), 5 26 Direct_output initial (12), 5 27 Direct_update initial (13)) fixed bin int static options (constant); 5 28 5 29 /* End include file ..... iox_modes.incl.pl1 */ 363 364 end; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/22/85 1300.8 read_early_dump_tape.pl1 >spec>temp>41-5>read_early_dump_tape.pl1 361 1 07/11/84 0937.3 bce_appending_seg_info.incl.pl1 >ldd>include>bce_appending_seg_info.incl.pl1 1-14 2 01/22/85 1321.5 aste.incl.pl1 >spec>temp>41-5>aste.incl.pl1 1-15 3 03/27/82 0430.3 sdw_info.incl.pl1 >ldd>include>sdw_info.incl.pl1 362 4 08/12/81 2025.8 bos_dump.incl.pl1 >ldd>include>bos_dump.incl.pl1 363 5 02/02/78 1229.7 iox_modes.incl.pl1 >ldd>include>iox_modes.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. DUMP_VERSION_2 constant fixed bin(17,0) initial dcl 4-121 ref 273 Magic_number 000005 constant bit(36) initial dcl 17 ref 229 Sequential_input 000041 constant fixed bin(17,0) initial dcl 5-15 set ref 196* addr builtin function dcl 18 ref 212 212 250 251 266 308 308 308 308 309 313 addrel builtin function dcl 19 ref 359 address 1 000515 automatic fixed bin(26,0) level 2 dcl 51 set ref 228 arg based char unaligned dcl 20 set ref 128 128 129 136* 138* 142 142 143 150* 152* 157 157 164 164 164 165* 168 171* arg_len 000100 automatic fixed bin(21,0) dcl 21 set ref 126* 127 128 128 129 135* 136 136 138 138 142 142 143 149* 150 150 152 152 157 157 163* 164 164 164 165 165 168 171 171 arg_num 000101 automatic fixed bin(17,0) dcl 22 set ref 125* 126* 130* 130 131 135* 144* 144 145 149* 158* 158 159 163* arg_ptr 000102 automatic pointer dcl 23 set ref 126* 128 128 129 135* 136 138 142 142 143 149* 150 152 157 157 163* 164 164 164 165 168 171 aste based structure level 1 dcl 2-11 attach_descr 000104 automatic char(256) unaligned dcl 24 set ref 192* 193* 193 194* 198* bin builtin function dcl 25 ref 299 317 bit builtin function dcl 26 ref 299 317 character builtin function dcl 27 ref 283 283 351 351 cleanup 000204 stack reference condition dcl 28 ref 189 clock builtin function dcl 29 ref 268 code 000212 automatic fixed bin(35,0) dcl 30 set ref 115* 116 117* 126* 135* 136* 137 149* 150* 151 152* 163* 194* 195 196* 197 198* 201* 202 203* 210* 211 212* 214 219* 220* 224* 255* 256 257* 284* 286* 291* 292 308* 325* 332* 334* 339* 340* 349* 352* 354* codeptr builtin function dcl 31 ref 194 194 com_err_ 000014 constant entry external dcl 32 ref 117 132 138 146 152 160 165 171 178 182 198 203 224 233 257 286 354 crash_dbr 000214 automatic bit(72) dcl 34 set ref 239* 255* 275 crash_system_type 000216 automatic fixed bin(17,0) dcl 35 set ref 240* 254* cu_$arg_count 000016 constant entry external dcl 36 ref 115 cu_$arg_ptr 000020 constant entry external dcl 37 ref 126 135 149 163 current_dump_record 000213 automatic fixed bin(17,0) dcl 33 set ref 281* 325 348 358* 358 359 cv_dec_check_ 000022 constant entry external dcl 38 ref 136 date builtin function dcl 39 ref 278 date_str 000220 automatic char(6) unaligned dcl 40 set ref 278* 279 279 279 dbr 3570 based bit(72) level 3 in structure "dump" dcl 4-11 in procedure "redt" set ref 275* dbr 2 000515 automatic bit(72) level 2 in structure "dump_record" dcl 51 in procedure "redt" set ref 239 density 000222 automatic char(4) unaligned dcl 41 set ref 191* 192 214 216* 217* 218* 220 dimension builtin function dcl 42 ref 294 divide builtin function dcl 43 ref 228 241 307 dummy_ptr 000224 automatic pointer dcl 44 set ref 311* dump based structure level 1 dcl 4-11 set ref 323* dump_dir 000226 automatic char(168) unaligned dcl 45 set ref 123* 150* 155* 155 284* 352* dump_header based structure level 2 in structure "dump" dcl 4-11 in procedure "redt" dump_header based structure level 1 dcl 4-47 in procedure "redt" dump_misc_registers based structure level 1 dcl 4-69 dump_name 000300 automatic char(12) unaligned dcl 46 set ref 279* 283 351 dump_number 000303 automatic fixed bin(17,0) dcl 47 set ref 120* 136* 137 181 261 283 351 dump_record 000515 automatic structure level 1 dcl 51 set ref 212 212 212 229 dump_registers based structure level 1 dcl 4-59 dump_seg_ptrs 000304 automatic pointer initial array dcl 48 set ref 48* 284* 285 323 325* 333 334 334* 349* 352* 353 359 dump_segment 000504 automatic fixed bin(17,0) dcl 49 set ref 280* 283 284 285 325 333* 334 334* 349 350* 350 351 352 353 359 dump_segment_name 000505 automatic char(32) unaligned dcl 50 set ref 283* 284* 286* 351* 352* 354* dumped_355s 7 based bit(4) level 3 dcl 4-11 set ref 271* dumpptr 007224 automatic pointer dcl 4-9 set ref 250* 260 261 263 266 268 269 270 271 272 273 275 294 294 298 298 299 299 300 300 317 317 318 318 ed_appending_simulation_$get_virtual 000024 constant entry external dcl 58 ref 308 ed_appending_simulation_$init 000026 constant entry external dcl 59 ref 254 ed_appending_simulation_$new_dbr 000030 constant entry external dcl 60 ref 255 ed_appending_simulation_$new_segment 000032 constant entry external dcl 61 ref 291 entry 002523 automatic char(32) unaligned dcl 62 set ref 150* 155 erfno 4 based fixed bin(18,0) level 3 dcl 4-11 set ref 261* error_count 002533 automatic fixed bin(17,0) dcl 63 set ref 211* error_table_$bad_arg 000034 external static fixed bin(35,0) dcl 64 set ref 138* 171* error_table_$bad_density 000036 external static fixed bin(35,0) dcl 65 set ref 165* error_table_$improper_data_format 000040 external static fixed bin(35,0) dcl 66 set ref 233* error_table_$noarg 000042 external static fixed bin(35,0) dcl 67 set ref 132* 146* 160* expand_pathname_ 000044 constant entry external dcl 68 ref 150 get_temp_segments_ 000046 constant entry external dcl 69 ref 201 good_records 002534 automatic fixed bin(17,0) dcl 70 set ref 208* 214 237* 237 hbound builtin function dcl 71 ref 333 hcs_$make_seg 000050 constant entry external dcl 72 ref 284 352 hcs_$set_bc_seg 000052 constant entry external dcl 73 ref 325 349 hcs_$terminate_noname 000054 constant entry external dcl 74 ref 334 ioa_ 000056 constant entry external dcl 75 ref 295 iocb_ptr 002536 automatic pointer dcl 76 set ref 194* 196* 212* 219* 220* 339* 340* iox_$attach_name 000060 constant entry external dcl 77 ref 194 iox_$close 000062 constant entry external dcl 78 ref 339 iox_$control 000064 constant entry external dcl 79 ref 219 220 iox_$detach_iocb 000066 constant entry external dcl 80 ref 340 iox_$open 000070 constant entry external dcl 81 ref 196 iox_$read_record 000072 constant entry external dcl 82 ref 212 kludge_valid based bit(36) dcl 265 set ref 266* last_non_null_page 002540 automatic fixed bin(17,0) dcl 83 set ref 306* 310 314* 317 318 last_segnum 002541 automatic fixed bin(15,0) dcl 84 set ref 255* 290 length 20(18) based bit(18) array level 3 packed unaligned dcl 4-11 set ref 300* 317* ltrim builtin function dcl 85 ref 283 283 351 351 magic_number 000515 automatic bit(36) level 2 dcl 51 set ref 229 me 000000 constant char(20) initial unaligned dcl 86 set ref 117* 132* 138* 146* 152* 160* 165* 171* 178* 182* 198* 201* 203* 224* 233* 257* 286* 332* 354* memory_block_num 002542 automatic fixed bin(17,0) dcl 87 set ref 207* 209 229 229 238* 241 241 memory_block_ptrs 002544 automatic pointer initial array dcl 88 set ref 88* 88* 88* 88* 201* 241 254* 332* memory_blocks based bit(36864) array unaligned dcl 89 set ref 241* memory_record 6 000515 automatic bit(36864) level 2 dcl 51 set ref 241 308 308 309 313 misc_registers 3540 based structure level 2 dcl 4-11 mod builtin function dcl 90 ref 241 325 348 359 my_dump 002554 automatic structure level 1 dcl 91 set ref 250 253* 323 my_page_buffer based bit(36864) unaligned dcl 92 set ref 308 308 309 313* 313 my_seg_info 006554 automatic structure level 1 dcl 93 set ref 251 n_args 007176 automatic fixed bin(17,0) dcl 94 set ref 115* 116 125 131 145 159 new_memory_block_num 007177 automatic fixed bin(17,0) dcl 95 set ref 228* 229 229 238 null builtin function dcl 96 ref 48 88 88 88 88 219 219 220 220 285 334 353 null_page_num 007200 automatic fixed bin(17,0) dcl 97 set ref 310* num_segs 5 based fixed bin(17,0) level 3 dcl 4-11 set ref 269* 294 298* 298 299 300 317 original_density 007202 automatic char(4) unaligned dcl 99 set ref 121* 168* 191 214 216 217 page_num 007201 automatic fixed bin(17,0) dcl 98 set ref 307* 308 310 314* release_temp_segments_ 000074 constant entry external dcl 100 ref 332 rtrim builtin function dcl 101 ref 155 192 193 sdw_info based structure level 1 dcl 3-6 sdwi 414 based structure level 2 dcl 1-9 seg_info based structure level 1 dcl 1-9 seg_info_ptr 007222 automatic pointer dcl 1-8 set ref 251* 291* 307 308* segno 20 based bit(18) array level 3 packed unaligned dcl 4-11 set ref 299* segnum 007203 automatic fixed bin(15,0) dcl 102 set ref 290* 291* 299* segs 20 based structure array level 2 dcl 4-11 set ref 294 size 415 based fixed bin(19,0) level 3 in structure "seg_info" dcl 1-9 in procedure "redt" ref 307 size builtin function dcl 103 in procedure "redt" ref 212 229 substr builtin function dcl 104 ref 128 279 279 279 279 system_type 4 000515 automatic fixed bin(17,0) level 2 dcl 51 set ref 240 tape_record_len 007204 automatic fixed bin(21,0) dcl 105 set ref 212* 229 tape_reel 007205 automatic char(32) unaligned dcl 106 set ref 122* 128* 177 192 time 2 based fixed bin(71,0) level 3 in structure "dump" dcl 4-11 in procedure "redt" set ref 268* time builtin function dcl 107 in procedure "redt" ref 277 time_355 10 based fixed bin(71,0) level 3 dcl 4-11 set ref 272* time_str 007215 automatic char(12) unaligned dcl 108 set ref 277* 279 unspec builtin function dcl 109 set ref 253* valid 1 based bit(1) level 3 dcl 4-11 set ref 260* 266 valid_355 6 based bit(1) level 3 dcl 4-11 set ref 270* version 12 based fixed bin(17,0) level 3 dcl 4-11 set ref 273* words_dumped based fixed bin(35,0) level 3 dcl 4-11 set ref 263* 318* 318 write 007220 automatic bit(1) dcl 110 set ref 124* 142* 193 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. DUMP_VERSION_1 internal static fixed bin(17,0) initial dcl 4-120 Direct_input internal static fixed bin(17,0) initial dcl 5-15 Direct_output internal static fixed bin(17,0) initial dcl 5-15 Direct_update internal static fixed bin(17,0) initial dcl 5-15 Keyed_sequential_input internal static fixed bin(17,0) initial dcl 5-15 Keyed_sequential_output internal static fixed bin(17,0) initial dcl 5-15 Keyed_sequential_update internal static fixed bin(17,0) initial dcl 5-15 Sequential_input_output internal static fixed bin(17,0) initial dcl 5-15 Sequential_output internal static fixed bin(17,0) initial dcl 5-15 Sequential_update internal static fixed bin(17,0) initial dcl 5-15 Stream_input internal static fixed bin(17,0) initial dcl 5-15 Stream_input_output internal static fixed bin(17,0) initial dcl 5-15 Stream_output internal static fixed bin(17,0) initial dcl 5-15 asta based bit(432) array dcl 2-86 aste_part based structure level 1 dcl 2-89 astep automatic pointer dcl 2-9 iox_modes internal static char(24) initial array dcl 5-6 sdw_info_ptr automatic pointer dcl 3-4 seg_aste based structure level 1 dcl 2-96 short_iox_modes internal static char(4) initial array dcl 5-12 v1_dump based structure level 1 dcl 4-83 NAMES DECLARED BY EXPLICIT CONTEXT. abort 002733 constant label dcl 327 ref 199 204 225 234 258 287 355 clean_up 002741 constant entry internal dcl 330 ref 189 327 clean_up_tape 003023 constant entry internal dcl 337 ref 245 end_dump 002700 constant label dcl 323 ref 296 get_put 003055 constant entry internal dcl 344 ref 311 313 iox_error 001476 constant label dcl 198 ref 195 next_seg 002676 constant label dcl 319 ref 292 read 001601 constant label dcl 207 ref 221 read_early_dump_tape 000310 constant entry external dcl 6 ref 194 194 redt 000300 constant entry external dcl 6 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3714 4012 3346 3724 Length 4354 3346 76 325 345 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME redt 3874 external procedure is an external procedure. on unit on line 189 64 on unit begin block on line 264 begin block shares stack frame of external procedure redt. clean_up 79 internal procedure is called by several nonquick procedures. get_put internal procedure shares stack frame of external procedure redt. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME redt 000100 arg_len redt 000101 arg_num redt 000102 arg_ptr redt 000104 attach_descr redt 000212 code redt 000213 current_dump_record redt 000214 crash_dbr redt 000216 crash_system_type redt 000220 date_str redt 000222 density redt 000224 dummy_ptr redt 000226 dump_dir redt 000300 dump_name redt 000303 dump_number redt 000304 dump_seg_ptrs redt 000504 dump_segment redt 000505 dump_segment_name redt 000515 dump_record redt 002523 entry redt 002533 error_count redt 002534 good_records redt 002536 iocb_ptr redt 002540 last_non_null_page redt 002541 last_segnum redt 002542 memory_block_num redt 002544 memory_block_ptrs redt 002554 my_dump redt 006554 my_seg_info redt 007176 n_args redt 007177 new_memory_block_num redt 007200 null_page_num redt 007201 page_num redt 007202 original_density redt 007203 segnum redt 007204 tape_record_len redt 007205 tape_reel redt 007215 time_str redt 007220 write redt 007222 seg_info_ptr redt 007224 dumpptr redt THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out call_int_this call_int_other return mod_fx1 enable shorten_stack ext_entry int_entry clock THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr cv_dec_check_ ed_appending_simulation_$get_virtual ed_appending_simulation_$init ed_appending_simulation_$new_dbr ed_appending_simulation_$new_segment expand_pathname_ get_temp_segments_ hcs_$make_seg hcs_$set_bc_seg hcs_$terminate_noname ioa_ iox_$attach_name iox_$close iox_$control iox_$detach_iocb iox_$open iox_$read_record pl1_date_ pl1_time_ release_temp_segments_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$bad_density error_table_$improper_data_format error_table_$noarg CONSTANTS 003326 aa 000002000000 003327 aa 000000000000 003330 aa 600000000041 003331 aa 007324000000 003332 aa 000002000000 003333 aa 000000000000 003334 aa 600000000041 003335 aa 000224000000 003336 aa 403 040 022 146  f 003337 aa 040 321 000 000 Ñ 000000 aa 162 145 141 144 read 000001 aa 137 145 141 162 _ear 000002 aa 154 171 137 144 ly_d 000003 aa 165 155 160 137 ump_ 000004 aa 164 141 160 145 tape 000005 aa 654365234214 000006 aa 053063066000 003341 aa 000000000377 000007 aa 524000000000 003342 aa 056 000 000 000 . 000010 aa 524000000025 003343 aa 000000000200 000011 aa 524000000024 000012 aa 524000000005 000013 aa 524000000006 000014 aa 524000000026 000015 aa 526000000400 000016 aa 524000000014 000017 aa 524000000027 000020 aa 524000000043 000021 aa 404000000005 000022 aa 524000000002 000023 aa 066 062 065 060 6250 000024 aa 070 060 060 000 800 000025 aa 524000000007 003344 aa 076 000 000 000 > 000026 aa 526000000040 000027 aa 526000000250 000030 aa 524000000010 000031 aa 055 162 147 000 -rg 000032 aa 524000000016 000033 aa 526000000000 000034 aa 524000000013 003345 aa 055 000 000 000 - 000035 aa 061 066 060 060 1600 003340 aa 777777777777 000036 aa 524000000144 000037 aa 526000000024 000040 aa 464000000000 000041 aa 000000000004 000042 aa 404000000043 000044 aa 053062066061 000045 aa 061062060000 000046 aa 000000000000 000047 aa 000000000000 000050 aa 077777000043 000051 aa 000001000000 000052 aa 162 145 167 151 rewi 000053 aa 156 144 000 000 nd 000054 aa 040 055 167 162 -wr 000055 aa 151 164 145 000 ite 000056 aa 040 055 144 145 -de 000057 aa 156 040 000 000 n 000060 aa 144 145 156 163 dens 000061 aa 151 164 171 000 ity 000062 aa 055 144 145 156 -den 000063 aa 163 151 164 171 sity 000064 aa 144 165 155 160 dump 000065 aa 040 144 151 162 dir 000066 aa 055 162 151 156 -rin 000067 aa 147 000 000 000 g 000070 aa 055 144 165 155 -dum 000071 aa 160 000 000 000 p 000072 aa 076 144 165 155 >dum 000073 aa 160 163 000 000 ps 000074 aa 143 154 145 141 clea 000075 aa 156 165 160 000 nup 000076 aa 162 145 144 164 redt 000077 aa 137 163 167 151 _swi 000100 aa 164 143 150 137 tch_ 000101 aa 164 141 160 145 tape 000102 aa 137 156 163 164 _nst 000103 aa 144 137 040 000 d_ 000104 aa 144 165 155 160 dump 000105 aa 040 144 151 162 dir 000106 aa 040 136 141 000 ^a 000107 aa 055 144 165 155 -dum 000110 aa 160 137 144 151 p_di 000111 aa 162 000 000 000 r 000112 aa 144 165 155 160 dump 000113 aa 040 156 165 155 num 000114 aa 142 145 162 000 ber 000115 aa 464100000000 000116 aa 000000000001 000117 aa 000000000004 000120 aa 000000000002 000121 aa 144 165 155 160 dump 000122 aa 040 156 165 155 num 000123 aa 142 145 162 040 ber 000124 aa 136 141 000 000 ^a 000125 aa 115 157 162 145 More 000126 aa 040 164 150 141 tha 000127 aa 156 040 061 066 n 16 000130 aa 040 145 162 162 err 000131 aa 157 162 163 056 ors. 000132 aa 123 145 147 155 Segm 000133 aa 145 156 164 040 ent 000134 aa 141 162 162 141 arra 000135 aa 171 040 157 166 y ov 000136 aa 145 162 146 154 erfl 000137 aa 157 167 056 000 ow. 000140 aa 102 141 144 040 Bad 000141 aa 144 142 162 040 dbr 000142 aa 166 141 154 165 valu 000143 aa 145 040 151 156 e in 000144 aa 040 144 165 155 dum 000145 aa 160 000 000 000 p 000146 aa 107 145 164 164 Gett 000147 aa 151 156 147 040 ing 000150 aa 164 145 155 160 temp 000151 aa 040 163 145 147 seg 000152 aa 155 145 156 164 ment 000153 aa 163 056 000 000 s. 000154 aa 055 144 165 155 -dum 000155 aa 160 040 155 165 p mu 000156 aa 163 164 040 142 st b 000157 aa 145 040 163 160 e sp 000160 aa 145 143 151 146 ecif 000161 aa 151 145 144 000 ied 000162 aa 101 040 164 141 A ta 000163 aa 160 145 040 162 pe r 000164 aa 145 145 154 040 eel 000165 aa 156 141 155 145 name 000166 aa 040 155 165 163 mus 000167 aa 164 040 142 145 t be 000170 aa 040 163 160 145 spe 000171 aa 143 151 146 151 cifi 000172 aa 145 144 056 000 ed. 000173 aa 125 163 141 147 Usag 000174 aa 145 040 151 163 e is 000175 aa 072 040 162 145 : re 000176 aa 141 144 137 145 ad_e 000177 aa 141 162 154 171 arly 000200 aa 137 144 165 155 _dum 000201 aa 160 137 164 141 p_ta 000202 aa 160 145 040 074 pe < 000203 aa 164 141 160 145 tape 000204 aa 040 162 145 145 ree 000205 aa 154 076 040 055 l> - 000206 aa 144 165 155 160 dump 000207 aa 040 074 144 165 000212 aa 173 055 144 165 {-du 000213 aa 155 160 137 144 mp_d 000214 aa 151 162 040 074 ir < 000215 aa 144 151 162 076 dir> 000216 aa 175 040 173 055 } {- 000217 aa 144 145 156 163 dens 000220 aa 151 164 171 040 ity 000221 aa 074 156 076 175 } 000222 aa 040 173 055 162 {-r 000223 aa 151 156 147 175 ing} BEGIN PROCEDURE redt PROLOGUE SEQUENCE 000224 aa 6 07244 4401 00 sxl0 pr6|3748 STATEMENT 1 ON LINE 48 000225 aa 000001 3360 07 lcq 1,dl 000226 aa 6 07226 7561 00 stq pr6|3734 000227 aa 000001 2360 07 ldq 1,dl 000230 aa 6 07227 7561 00 stq pr6|3735 000231 aa 000000 0110 03 nop 0,du 000232 aa 6 07226 0541 00 aos pr6|3734 000233 aa 6 07226 2361 00 ldq pr6|3734 000234 aa 000001 7360 00 qls 1 000235 aa 000000 6270 06 eax7 0,ql 000236 aa 777612 2370 04 ldaq -118,ic 000050 = 077777000043 000001000000 000237 aa 6 00304 7571 17 staq pr6|196,7 dump_seg_ptrs 000240 aa 6 07227 2361 00 ldq pr6|3735 000241 aa 6 07227 0541 00 aos pr6|3735 000242 aa 000100 1160 07 cmpq 64,dl 000243 aa 777767 6040 04 tmi -9,ic 000232 STATEMENT 1 ON LINE 88 000244 aa 6 07230 4501 00 stz pr6|3736 000245 aa 6 07230 0541 00 aos pr6|3736 000246 aa 6 07230 2361 00 ldq pr6|3736 000247 aa 000001 7360 00 qls 1 000250 aa 000000 6260 06 eax6 0,ql 000251 aa 777577 2370 04 ldaq -129,ic 000050 = 077777000043 000001000000 000252 aa 6 02542 7571 16 staq pr6|1378,6 memory_block_ptrs 000253 aa 6 07230 0541 00 aos pr6|3736 000254 aa 6 07230 2361 00 ldq pr6|3736 000255 aa 000001 7360 00 qls 1 000256 aa 000000 6250 06 eax5 0,ql 000257 aa 777571 2370 04 ldaq -135,ic 000050 = 077777000043 000001000000 000260 aa 6 02542 7571 15 staq pr6|1378,5 memory_block_ptrs 000261 aa 6 07230 0541 00 aos pr6|3736 000262 aa 6 07230 2361 00 ldq pr6|3736 000263 aa 000001 7360 00 qls 1 000264 aa 000000 6240 06 eax4 0,ql 000265 aa 777563 2370 04 ldaq -141,ic 000050 = 077777000043 000001000000 000266 aa 6 02542 7571 14 staq pr6|1378,4 memory_block_ptrs 000267 aa 6 07230 0541 00 aos pr6|3736 000270 aa 6 07230 2361 00 ldq pr6|3736 000271 aa 000001 7360 00 qls 1 000272 aa 000000 6230 06 eax3 0,ql 000273 aa 777555 2370 04 ldaq -147,ic 000050 = 077777000043 000001000000 000274 aa 6 02542 7571 13 staq pr6|1378,3 memory_block_ptrs 000275 aa 6 07244 7201 00 lxl0 pr6|3748 000276 aa 000000 7100 10 tra 0,0 MAIN SEQUENCE ENTRY TO redt STATEMENT 1 ON LINE 6 read_early_dump_tape: redt: proc () options (variable); 000277 da 000313240000 000300 aa 007460 6270 00 eax7 3888 000301 aa 7 00034 3521 20 epp2 pr7|28,* 000302 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000303 aa 000000000000 000304 aa 000000000000 000305 aa 777717 7000 04 tsx0 -49,ic 000224 000306 aa 000010 7100 04 tra 8,ic 000316 ENTRY TO read_early_dump_tape STATEMENT 1 ON LINE 6 read_early_dump_tape: redt: proc () options (variable); 000307 da 000316240000 000310 aa 007460 6270 00 eax7 3888 000311 aa 7 00034 3521 20 epp2 pr7|28,* 000312 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000313 aa 000000000000 000314 aa 000000000000 000315 aa 777707 7000 04 tsx0 -57,ic 000224 STATEMENT 1 ON LINE 115 call cu_$arg_count (n_args, code); 000316 aa 6 07176 3521 00 epp2 pr6|3710 n_args 000317 aa 6 07250 2521 00 spri2 pr6|3752 000320 aa 6 00212 3521 00 epp2 pr6|138 code 000321 aa 6 07252 2521 00 spri2 pr6|3754 000322 aa 6 07246 6211 00 eax1 pr6|3750 000323 aa 010000 4310 07 fld 4096,dl 000324 aa 6 00044 3701 20 epp4 pr6|36,* 000325 la 4 00016 3521 20 epp2 pr4|14,* cu_$arg_count 000326 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 116 if n_args = 0 | code ^= 0 then do; 000327 aa 6 07176 2361 00 ldq pr6|3710 n_args 000330 aa 000003 6000 04 tze 3,ic 000333 000331 aa 6 00212 2361 00 ldq pr6|138 code 000332 aa 000026 6000 04 tze 22,ic 000360 STATEMENT 1 ON LINE 117 call com_err_ (code, me, "Usage is: read_early_dump_tape -dump {-dump_dir } {-density } {-ring}"); 000333 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000334 aa 777640 00 0144 desc9a -96,100 000173 = 125163141147 000335 aa 6 07254 00 0144 desc9a pr6|3756,100 000336 aa 6 00212 3521 00 epp2 pr6|138 code 000337 aa 6 07310 2521 00 spri2 pr6|3784 000340 aa 777440 3520 04 epp2 -224,ic 000000 = 162145141144 000341 aa 6 07312 2521 00 spri2 pr6|3786 000342 aa 6 07254 3521 00 epp2 pr6|3756 000343 aa 6 07314 2521 00 spri2 pr6|3788 000344 aa 777476 3520 04 epp2 -194,ic 000042 = 404000000043 000345 aa 6 07316 2521 00 spri2 pr6|3790 000346 aa 777471 3520 04 epp2 -199,ic 000037 = 526000000024 000347 aa 6 07320 2521 00 spri2 pr6|3792 000350 aa 777466 3520 04 epp2 -202,ic 000036 = 524000000144 000351 aa 6 07322 2521 00 spri2 pr6|3794 000352 aa 6 07306 6211 00 eax1 pr6|3782 000353 aa 014000 4310 07 fld 6144,dl 000354 aa 6 00044 3701 20 epp4 pr6|36,* 000355 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 000356 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 118 return; 000357 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 119 end; STATEMENT 1 ON LINE 120 dump_number = -1; 000360 aa 000001 3360 07 lcq 1,dl 000361 aa 6 00303 7561 00 stq pr6|195 dump_number STATEMENT 1 ON LINE 121 original_density = "1600"; 000362 aa 777453 2350 04 lda -213,ic 000035 = 061066060060 000363 aa 6 07202 7551 00 sta pr6|3714 original_density STATEMENT 1 ON LINE 122 tape_reel = ""; 000364 aa 040 100 100 400 mlr (),(pr),fill(040) 000365 aa 000000 00 0000 desc9a 0,0 000366 aa 6 07205 00 0040 desc9a pr6|3717,32 tape_reel STATEMENT 1 ON LINE 123 dump_dir = ">dumps"; 000367 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000370 aa 777503 00 0006 desc9a -189,6 000072 = 076144165155 000371 aa 6 00226 00 0250 desc9a pr6|150,168 dump_dir STATEMENT 1 ON LINE 124 write = "0"b; 000372 aa 6 07220 4501 00 stz pr6|3728 write STATEMENT 1 ON LINE 125 do arg_num = 1 to n_args; 000373 aa 6 07176 2361 00 ldq pr6|3710 n_args 000374 aa 6 07231 7561 00 stq pr6|3737 000375 aa 000001 2360 07 ldq 1,dl 000376 aa 6 00101 7561 00 stq pr6|65 arg_num 000377 aa 000000 0110 03 nop 0,du 000400 aa 6 00101 2361 00 ldq pr6|65 arg_num 000401 aa 6 07231 1161 00 cmpq pr6|3737 000402 aa 000600 6054 04 tpnz 384,ic 001202 STATEMENT 1 ON LINE 126 call cu_$arg_ptr (arg_num, arg_ptr, arg_len, code); 000403 aa 6 00101 3521 00 epp2 pr6|65 arg_num 000404 aa 6 07310 2521 00 spri2 pr6|3784 000405 aa 6 00102 3521 00 epp2 pr6|66 arg_ptr 000406 aa 6 07312 2521 00 spri2 pr6|3786 000407 aa 6 00100 3521 00 epp2 pr6|64 arg_len 000410 aa 6 07314 2521 00 spri2 pr6|3788 000411 aa 6 00212 3521 00 epp2 pr6|138 code 000412 aa 6 07316 2521 00 spri2 pr6|3790 000413 aa 6 07306 6211 00 eax1 pr6|3782 000414 aa 020000 4310 07 fld 8192,dl 000415 aa 6 00044 3701 20 epp4 pr6|36,* 000416 la 4 00020 3521 20 epp2 pr4|16,* cu_$arg_ptr 000417 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 127 if arg_len > 0 then do; 000420 aa 6 00100 2361 00 ldq pr6|64 arg_len 000421 aa 000557 6044 04 tmoz 367,ic 001200 STATEMENT 1 ON LINE 128 if substr (arg, 1, 1) ^= "-" then tape_reel = arg; 000422 aa 6 00102 3735 20 epp7 pr6|66,* arg_ptr 000423 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 000424 aa 7 00000 00 0001 desc9a pr7|0,1 arg 000425 aa 002722 00 0001 desc9a 1490,1 003345 = 055000000000 000426 aa 000005 6000 04 tze 5,ic 000433 000427 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 000430 aa 7 00000 00 0006 desc9a pr7|0,ql arg 000431 aa 6 07205 00 0040 desc9a pr6|3717,32 tape_reel 000432 aa 000546 7100 04 tra 358,ic 001200 STATEMENT 1 ON LINE 129 else if arg = "-dump" then do; 000433 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000434 aa 7 00000 00 0006 desc9a pr7|0,ql arg 000435 aa 777435 00 0005 desc9a -227,5 000070 = 055144165155 000436 aa 000142 6010 04 tnz 98,ic 000600 STATEMENT 1 ON LINE 130 arg_num = arg_num + 1; 000437 aa 6 00101 0541 00 aos pr6|65 arg_num STATEMENT 1 ON LINE 131 if arg_num > n_args then do; 000440 aa 6 00101 2361 00 ldq pr6|65 arg_num 000441 aa 6 07176 1161 00 cmpq pr6|3710 n_args 000442 aa 000027 6044 04 tmoz 23,ic 000471 STATEMENT 1 ON LINE 132 call com_err_ (error_table_$noarg, me, "dump number"); 000443 aa 777447 2370 04 ldaq -217,ic 000112 = 144165155160 040156165155 000444 aa 6 07246 7571 00 staq pr6|3750 000445 aa 777447 2350 04 lda -217,ic 000114 = 142145162000 000446 aa 6 07250 7551 00 sta pr6|3752 000447 aa 6 00044 3701 20 epp4 pr6|36,* 000450 la 4 00042 3521 20 epp2 pr4|34,* error_table_$noarg 000451 aa 6 07310 2521 00 spri2 pr6|3784 000452 aa 777326 3520 04 epp2 -298,ic 000000 = 162145141144 000453 aa 6 07312 2521 00 spri2 pr6|3786 000454 aa 6 07246 3521 00 epp2 pr6|3750 000455 aa 6 07314 2521 00 spri2 pr6|3788 000456 aa 777364 3520 04 epp2 -268,ic 000042 = 404000000043 000457 aa 6 07316 2521 00 spri2 pr6|3790 000460 aa 777357 3520 04 epp2 -273,ic 000037 = 526000000024 000461 aa 6 07320 2521 00 spri2 pr6|3792 000462 aa 777352 3520 04 epp2 -278,ic 000034 = 524000000013 000463 aa 6 07322 2521 00 spri2 pr6|3794 000464 aa 6 07306 6211 00 eax1 pr6|3782 000465 aa 014000 4310 07 fld 6144,dl 000466 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 000467 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 133 return; 000470 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 134 end; STATEMENT 1 ON LINE 135 call cu_$arg_ptr (arg_num, arg_ptr, arg_len, code); 000471 aa 6 00101 3521 00 epp2 pr6|65 arg_num 000472 aa 6 07310 2521 00 spri2 pr6|3784 000473 aa 6 00102 3521 00 epp2 pr6|66 arg_ptr 000474 aa 6 07312 2521 00 spri2 pr6|3786 000475 aa 6 00100 3521 00 epp2 pr6|64 arg_len 000476 aa 6 07314 2521 00 spri2 pr6|3788 000477 aa 6 00212 3521 00 epp2 pr6|138 code 000500 aa 6 07316 2521 00 spri2 pr6|3790 000501 aa 6 07306 6211 00 eax1 pr6|3782 000502 aa 020000 4310 07 fld 8192,dl 000503 aa 6 00044 3701 20 epp4 pr6|36,* 000504 la 4 00020 3521 20 epp2 pr4|16,* cu_$arg_ptr 000505 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 136 dump_number = cv_dec_check_ (arg, code); 000506 aa 6 00100 2361 00 ldq pr6|64 arg_len 000507 aa 526000 2760 03 orq 175104,du 000510 aa 6 07305 7561 00 stq pr6|3781 000511 aa 6 00102 3521 20 epp2 pr6|66,* arg 000512 aa 6 07310 2521 00 spri2 pr6|3784 000513 aa 6 00212 3521 00 epp2 pr6|138 code 000514 aa 6 07312 2521 00 spri2 pr6|3786 000515 aa 6 07245 3521 00 epp2 pr6|3749 000516 aa 6 07314 2521 00 spri2 pr6|3788 000517 aa 6 07305 3521 00 epp2 pr6|3781 000520 aa 6 07316 2521 00 spri2 pr6|3790 000521 aa 777321 3520 04 epp2 -303,ic 000042 = 404000000043 000522 aa 6 07320 2521 00 spri2 pr6|3792 000523 aa 6 07322 2521 00 spri2 pr6|3794 000524 aa 6 07306 6211 00 eax1 pr6|3782 000525 aa 014000 4310 07 fld 6144,dl 000526 aa 6 00044 3701 20 epp4 pr6|36,* 000527 la 4 00022 3521 20 epp2 pr4|18,* cv_dec_check_ 000530 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 000531 aa 6 07245 2361 00 ldq pr6|3749 000532 aa 6 00303 7561 00 stq pr6|195 dump_number STATEMENT 1 ON LINE 137 if code ^= 0 | dump_number < 1 then do; 000533 aa 6 00212 2361 00 ldq pr6|138 code 000534 aa 000004 6010 04 tnz 4,ic 000540 000535 aa 6 00303 2361 00 ldq pr6|195 dump_number 000536 aa 000001 1160 07 cmpq 1,dl 000537 aa 000441 6050 04 tpl 289,ic 001200 STATEMENT 1 ON LINE 138 call com_err_ (error_table_$bad_arg, me, "dump number ^a", arg); 000540 aa 6 00100 2361 00 ldq pr6|64 arg_len 000541 aa 526000 2760 03 orq 175104,du 000542 aa 6 07305 7561 00 stq pr6|3781 000543 aa 777356 2350 04 lda -274,ic 000121 = 144165155160 000544 aa 777356 2360 04 ldq -274,ic 000122 = 040156165155 000545 aa 6 07246 7571 00 staq pr6|3750 000546 aa 777355 2350 04 lda -275,ic 000123 = 142145162040 000547 aa 136141 2360 03 ldq 48225,du 000550 aa 6 07250 7571 00 staq pr6|3752 000551 aa 6 00044 3701 20 epp4 pr6|36,* 000552 la 4 00034 3521 20 epp2 pr4|28,* error_table_$bad_arg 000553 aa 6 07256 2521 00 spri2 pr6|3758 000554 aa 777224 3520 04 epp2 -364,ic 000000 = 162145141144 000555 aa 6 07260 2521 00 spri2 pr6|3760 000556 aa 6 07246 3521 00 epp2 pr6|3750 000557 aa 6 07262 2521 00 spri2 pr6|3762 000560 aa 6 00102 3521 20 epp2 pr6|66,* arg 000561 aa 6 07264 2521 00 spri2 pr6|3764 000562 aa 777260 3520 04 epp2 -336,ic 000042 = 404000000043 000563 aa 6 07266 2521 00 spri2 pr6|3766 000564 aa 777253 3520 04 epp2 -341,ic 000037 = 526000000024 000565 aa 6 07270 2521 00 spri2 pr6|3768 000566 aa 777244 3520 04 epp2 -348,ic 000032 = 524000000016 000567 aa 6 07272 2521 00 spri2 pr6|3770 000570 aa 6 07305 3521 00 epp2 pr6|3781 000571 aa 6 07274 2521 00 spri2 pr6|3772 000572 aa 6 07254 6211 00 eax1 pr6|3756 000573 aa 020000 4310 07 fld 8192,dl 000574 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 000575 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 139 return; 000576 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 140 end; STATEMENT 1 ON LINE 141 end; 000577 aa 000401 7100 04 tra 257,ic 001200 STATEMENT 1 ON LINE 142 else if arg = "-ring" | arg = "-rg" then write = "1"b; 000600 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000601 aa 7 00000 00 0006 desc9a pr7|0,ql arg 000602 aa 777266 00 0005 desc9a -330,5 000066 = 055162151156 000603 aa 000005 6000 04 tze 5,ic 000610 000604 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000605 aa 7 00000 00 0006 desc9a pr7|0,ql arg 000606 aa 777225 00 0003 desc9a -363,3 000031 = 055162147000 000607 aa 000004 6010 04 tnz 4,ic 000613 000610 aa 400000 2350 03 lda 131072,du 000611 aa 6 07220 7551 00 sta pr6|3728 write 000612 aa 000366 7100 04 tra 246,ic 001200 STATEMENT 1 ON LINE 143 else if arg = "-dump_dir" then do; 000613 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000614 aa 7 00000 00 0006 desc9a pr7|0,ql arg 000615 aa 777274 00 0011 desc9a -324,9 000107 = 055144165155 000616 aa 000176 6010 04 tnz 126,ic 001014 STATEMENT 1 ON LINE 144 arg_num = arg_num + 1; 000617 aa 6 00101 0541 00 aos pr6|65 arg_num STATEMENT 1 ON LINE 145 if arg_num > n_args then do; 000620 aa 6 00101 2361 00 ldq pr6|65 arg_num 000621 aa 6 07176 1161 00 cmpq pr6|3710 n_args 000622 aa 000025 6044 04 tmoz 21,ic 000647 STATEMENT 1 ON LINE 146 call com_err_ (error_table_$noarg, me, "dump dir"); 000623 aa 777241 2370 04 ldaq -351,ic 000064 = 144165155160 040144151162 000624 aa 6 07324 7571 00 staq pr6|3796 000625 aa 6 00044 3701 20 epp4 pr6|36,* 000626 la 4 00042 3521 20 epp2 pr4|34,* error_table_$noarg 000627 aa 6 07310 2521 00 spri2 pr6|3784 000630 aa 777150 3520 04 epp2 -408,ic 000000 = 162145141144 000631 aa 6 07312 2521 00 spri2 pr6|3786 000632 aa 6 07324 3521 00 epp2 pr6|3796 000633 aa 6 07314 2521 00 spri2 pr6|3788 000634 aa 777206 3520 04 epp2 -378,ic 000042 = 404000000043 000635 aa 6 07316 2521 00 spri2 pr6|3790 000636 aa 777201 3520 04 epp2 -383,ic 000037 = 526000000024 000637 aa 6 07320 2521 00 spri2 pr6|3792 000640 aa 777170 3520 04 epp2 -392,ic 000030 = 524000000010 000641 aa 6 07322 2521 00 spri2 pr6|3794 000642 aa 6 07306 6211 00 eax1 pr6|3782 000643 aa 014000 4310 07 fld 6144,dl 000644 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 000645 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 147 return; 000646 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 148 end; STATEMENT 1 ON LINE 149 call cu_$arg_ptr (arg_num, arg_ptr, arg_len, code); 000647 aa 6 00101 3521 00 epp2 pr6|65 arg_num 000650 aa 6 07310 2521 00 spri2 pr6|3784 000651 aa 6 00102 3521 00 epp2 pr6|66 arg_ptr 000652 aa 6 07312 2521 00 spri2 pr6|3786 000653 aa 6 00100 3521 00 epp2 pr6|64 arg_len 000654 aa 6 07314 2521 00 spri2 pr6|3788 000655 aa 6 00212 3521 00 epp2 pr6|138 code 000656 aa 6 07316 2521 00 spri2 pr6|3790 000657 aa 6 07306 6211 00 eax1 pr6|3782 000660 aa 020000 4310 07 fld 8192,dl 000661 aa 6 00044 3701 20 epp4 pr6|36,* 000662 la 4 00020 3521 20 epp2 pr4|16,* cu_$arg_ptr 000663 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 150 call expand_pathname_ (arg, dump_dir, entry, code); 000664 aa 6 00100 2361 00 ldq pr6|64 arg_len 000665 aa 526000 2760 03 orq 175104,du 000666 aa 6 07305 7561 00 stq pr6|3781 000667 aa 6 00102 3521 20 epp2 pr6|66,* arg 000670 aa 6 07256 2521 00 spri2 pr6|3758 000671 aa 6 00226 3521 00 epp2 pr6|150 dump_dir 000672 aa 6 07260 2521 00 spri2 pr6|3760 000673 aa 6 02523 3521 00 epp2 pr6|1363 entry 000674 aa 6 07262 2521 00 spri2 pr6|3762 000675 aa 6 00212 3521 00 epp2 pr6|138 code 000676 aa 6 07264 2521 00 spri2 pr6|3764 000677 aa 6 07305 3521 00 epp2 pr6|3781 000700 aa 6 07266 2521 00 spri2 pr6|3766 000701 aa 777126 3520 04 epp2 -426,ic 000027 = 526000000250 000702 aa 6 07270 2521 00 spri2 pr6|3768 000703 aa 777123 3520 04 epp2 -429,ic 000026 = 526000000040 000704 aa 6 07272 2521 00 spri2 pr6|3770 000705 aa 777135 3520 04 epp2 -419,ic 000042 = 404000000043 000706 aa 6 07274 2521 00 spri2 pr6|3772 000707 aa 6 07254 6211 00 eax1 pr6|3756 000710 aa 020000 4310 07 fld 8192,dl 000711 aa 6 00044 3701 20 epp4 pr6|36,* 000712 la 4 00044 3521 20 epp2 pr4|36,* expand_pathname_ 000713 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 151 if code ^= 0 then do; 000714 aa 6 00212 2361 00 ldq pr6|138 code 000715 aa 000036 6000 04 tze 30,ic 000753 STATEMENT 1 ON LINE 152 call com_err_ (code, me, "dump dir ^a", arg); 000716 aa 6 00100 2361 00 ldq pr6|64 arg_len 000717 aa 526000 2760 03 orq 175104,du 000720 aa 6 07305 7561 00 stq pr6|3781 000721 aa 777163 2370 04 ldaq -397,ic 000104 = 144165155160 040144151162 000722 aa 6 07246 7571 00 staq pr6|3750 000723 aa 777163 2350 04 lda -397,ic 000106 = 040136141000 000724 aa 6 07250 7551 00 sta pr6|3752 000725 aa 6 00212 3521 00 epp2 pr6|138 code 000726 aa 6 07256 2521 00 spri2 pr6|3758 000727 aa 777051 3520 04 epp2 -471,ic 000000 = 162145141144 000730 aa 6 07260 2521 00 spri2 pr6|3760 000731 aa 6 07246 3521 00 epp2 pr6|3750 000732 aa 6 07262 2521 00 spri2 pr6|3762 000733 aa 6 00102 3521 20 epp2 pr6|66,* arg 000734 aa 6 07264 2521 00 spri2 pr6|3764 000735 aa 777105 3520 04 epp2 -443,ic 000042 = 404000000043 000736 aa 6 07266 2521 00 spri2 pr6|3766 000737 aa 777100 3520 04 epp2 -448,ic 000037 = 526000000024 000740 aa 6 07270 2521 00 spri2 pr6|3768 000741 aa 777073 3520 04 epp2 -453,ic 000034 = 524000000013 000742 aa 6 07272 2521 00 spri2 pr6|3770 000743 aa 6 07305 3521 00 epp2 pr6|3781 000744 aa 6 07274 2521 00 spri2 pr6|3772 000745 aa 6 07254 6211 00 eax1 pr6|3756 000746 aa 020000 4310 07 fld 8192,dl 000747 aa 6 00044 3701 20 epp4 pr6|36,* 000750 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 000751 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 153 return; 000752 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 154 end; STATEMENT 1 ON LINE 155 dump_dir = rtrim (dump_dir) || ">" || entry; 000753 aa 000 000 165 500 tctr (pr) 000754 aa 6 00226 00 0250 desc9a pr6|150,168 dump_dir 000755 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 000756 aa 6 00056 0001 00 arg pr6|46 000757 aa 6 00056 2361 00 ldq pr6|46 000760 aa 0 00242 3761 00 anq pr0|162 = 000777777777 000761 aa 6 07305 7561 00 stq pr6|3781 000762 aa 000250 2360 07 ldq 168,dl 000763 aa 6 07305 1761 00 sbq pr6|3781 000764 aa 6 07305 7561 00 stq pr6|3781 000765 aa 000001 0760 07 adq 1,dl 000766 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 000767 aa 6 07305 2351 00 lda pr6|3781 000770 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 000771 aa 6 00226 00 0005 desc9a pr6|150,al dump_dir 000772 aa 2 00000 00 0005 desc9a pr2|0,al 000773 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 000774 aa 002351 00 0001 desc9a 1257,1 003344 = 076000000000 000775 aa 2 00000 00 0001 desc9a pr2|0,1 000776 aa 6 07305 7561 00 stq pr6|3781 000777 aa 000040 0760 07 adq 32,dl 001000 aa 6 07245 7561 00 stq pr6|3749 001001 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 001002 aa 6 07305 2351 00 lda pr6|3781 001003 aa 040 105 100 500 mlr (pr),(pr,al),fill(040) 001004 aa 6 02523 00 0040 desc9a pr6|1363,32 entry 001005 aa 2 00000 00 0040 desc9a pr2|0,32 001006 aa 6 07245 2361 00 ldq pr6|3749 001007 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001010 aa 2 00000 00 0006 desc9a pr2|0,ql 001011 aa 6 00226 00 0250 desc9a pr6|150,168 dump_dir STATEMENT 1 ON LINE 156 end; 001012 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001013 aa 000165 7100 04 tra 117,ic 001200 STATEMENT 1 ON LINE 157 else if arg = "-density" | arg = "-den" then do; 001014 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001015 aa 7 00000 00 0006 desc9a pr7|0,ql arg 001016 aa 777046 00 0010 desc9a -474,8 000062 = 055144145156 001017 aa 000005 6000 04 tze 5,ic 001024 001020 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001021 aa 7 00000 00 0006 desc9a pr7|0,ql arg 001022 aa 777042 00 0004 desc9a -478,4 000062 = 055144145156 001023 aa 000123 6010 04 tnz 83,ic 001146 STATEMENT 1 ON LINE 158 arg_num = arg_num + 1; 001024 aa 6 00101 0541 00 aos pr6|65 arg_num STATEMENT 1 ON LINE 159 if arg_num > n_args then do; 001025 aa 6 00101 2361 00 ldq pr6|65 arg_num 001026 aa 6 07176 1161 00 cmpq pr6|3710 n_args 001027 aa 000025 6044 04 tmoz 21,ic 001054 STATEMENT 1 ON LINE 160 call com_err_ (error_table_$noarg, me, "density"); 001030 aa 777030 2370 04 ldaq -488,ic 000060 = 144145156163 151164171000 001031 aa 6 07324 7571 00 staq pr6|3796 001032 aa 6 00044 3701 20 epp4 pr6|36,* 001033 la 4 00042 3521 20 epp2 pr4|34,* error_table_$noarg 001034 aa 6 07310 2521 00 spri2 pr6|3784 001035 aa 776743 3520 04 epp2 -541,ic 000000 = 162145141144 001036 aa 6 07312 2521 00 spri2 pr6|3786 001037 aa 6 07324 3521 00 epp2 pr6|3796 001040 aa 6 07314 2521 00 spri2 pr6|3788 001041 aa 777001 3520 04 epp2 -511,ic 000042 = 404000000043 001042 aa 6 07316 2521 00 spri2 pr6|3790 001043 aa 776774 3520 04 epp2 -516,ic 000037 = 526000000024 001044 aa 6 07320 2521 00 spri2 pr6|3792 001045 aa 776760 3520 04 epp2 -528,ic 000025 = 524000000007 001046 aa 6 07322 2521 00 spri2 pr6|3794 001047 aa 6 07306 6211 00 eax1 pr6|3782 001050 aa 014000 4310 07 fld 6144,dl 001051 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001052 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 161 return; 001053 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 162 end; STATEMENT 1 ON LINE 163 call cu_$arg_ptr (arg_num, arg_ptr, arg_len, code); 001054 aa 6 00101 3521 00 epp2 pr6|65 arg_num 001055 aa 6 07310 2521 00 spri2 pr6|3784 001056 aa 6 00102 3521 00 epp2 pr6|66 arg_ptr 001057 aa 6 07312 2521 00 spri2 pr6|3786 001060 aa 6 00100 3521 00 epp2 pr6|64 arg_len 001061 aa 6 07314 2521 00 spri2 pr6|3788 001062 aa 6 00212 3521 00 epp2 pr6|138 code 001063 aa 6 07316 2521 00 spri2 pr6|3790 001064 aa 6 07306 6211 00 eax1 pr6|3782 001065 aa 020000 4310 07 fld 8192,dl 001066 aa 6 00044 3701 20 epp4 pr6|36,* 001067 la 4 00020 3521 20 epp2 pr4|16,* cu_$arg_ptr 001070 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 164 if arg ^= "800" & arg ^= "1600" & arg ^= "6250" then do; 001071 aa 6 00102 3735 20 epp7 pr6|66,* arg_ptr 001072 aa 6 00100 2351 00 lda pr6|64 arg_len 001073 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001074 aa 7 00000 00 0005 desc9a pr7|0,al arg 001075 aa 776731 00 0003 desc9a -551,3 000024 = 070060060000 001076 aa 000044 6000 04 tze 36,ic 001142 001077 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001100 aa 7 00000 00 0005 desc9a pr7|0,al arg 001101 aa 776736 00 0004 desc9a -546,4 000035 = 061066060060 001102 aa 000040 6000 04 tze 32,ic 001142 001103 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 001104 aa 7 00000 00 0005 desc9a pr7|0,al arg 001105 aa 776720 00 0004 desc9a -560,4 000023 = 066062065060 001106 aa 000034 6000 04 tze 28,ic 001142 STATEMENT 1 ON LINE 165 call com_err_ (error_table_$bad_density, me, "^a", arg); 001107 aa 6 00100 2361 00 ldq pr6|64 arg_len 001110 aa 526000 2760 03 orq 175104,du 001111 aa 6 07245 7561 00 stq pr6|3749 001112 aa 136141 2350 03 lda 48225,du 001113 aa 6 07305 7551 00 sta pr6|3781 001114 aa 6 00044 3701 20 epp4 pr6|36,* 001115 la 4 00036 3521 20 epp2 pr4|30,* error_table_$bad_density 001116 aa 6 07256 2521 00 spri2 pr6|3758 001117 aa 776661 3520 04 epp2 -591,ic 000000 = 162145141144 001120 aa 6 07260 2521 00 spri2 pr6|3760 001121 aa 6 07305 3521 00 epp2 pr6|3781 001122 aa 6 07262 2521 00 spri2 pr6|3762 001123 aa 7 00000 3521 00 epp2 pr7|0 arg 001124 aa 6 07264 2521 00 spri2 pr6|3764 001125 aa 776715 3520 04 epp2 -563,ic 000042 = 404000000043 001126 aa 6 07266 2521 00 spri2 pr6|3766 001127 aa 776710 3520 04 epp2 -568,ic 000037 = 526000000024 001130 aa 6 07270 2521 00 spri2 pr6|3768 001131 aa 776671 3520 04 epp2 -583,ic 000022 = 524000000002 001132 aa 6 07272 2521 00 spri2 pr6|3770 001133 aa 6 07245 3521 00 epp2 pr6|3749 001134 aa 6 07274 2521 00 spri2 pr6|3772 001135 aa 6 07254 6211 00 eax1 pr6|3756 001136 aa 020000 4310 07 fld 8192,dl 001137 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001140 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 166 return; 001141 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 167 end; STATEMENT 1 ON LINE 168 original_density = arg; 001142 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001143 aa 7 00000 00 0005 desc9a pr7|0,al arg 001144 aa 6 07202 00 0004 desc9a pr6|3714,4 original_density STATEMENT 1 ON LINE 169 end; 001145 aa 000033 7100 04 tra 27,ic 001200 STATEMENT 1 ON LINE 170 else do; STATEMENT 1 ON LINE 171 call com_err_ (error_table_$bad_arg, me, "^a", arg); 001146 aa 526000 2760 03 orq 175104,du 001147 aa 6 07245 7561 00 stq pr6|3749 001150 aa 136141 2350 03 lda 48225,du 001151 aa 6 07305 7551 00 sta pr6|3781 001152 aa 6 00044 3701 20 epp4 pr6|36,* 001153 la 4 00034 3521 20 epp2 pr4|28,* error_table_$bad_arg 001154 aa 6 07256 2521 00 spri2 pr6|3758 001155 aa 776623 3520 04 epp2 -621,ic 000000 = 162145141144 001156 aa 6 07260 2521 00 spri2 pr6|3760 001157 aa 6 07305 3521 00 epp2 pr6|3781 001160 aa 6 07262 2521 00 spri2 pr6|3762 001161 aa 7 00000 3521 00 epp2 pr7|0 arg 001162 aa 6 07264 2521 00 spri2 pr6|3764 001163 aa 776657 3520 04 epp2 -593,ic 000042 = 404000000043 001164 aa 6 07266 2521 00 spri2 pr6|3766 001165 aa 776652 3520 04 epp2 -598,ic 000037 = 526000000024 001166 aa 6 07270 2521 00 spri2 pr6|3768 001167 aa 776633 3520 04 epp2 -613,ic 000022 = 524000000002 001170 aa 6 07272 2521 00 spri2 pr6|3770 001171 aa 6 07245 3521 00 epp2 pr6|3749 001172 aa 6 07274 2521 00 spri2 pr6|3772 001173 aa 6 07254 6211 00 eax1 pr6|3756 001174 aa 020000 4310 07 fld 8192,dl 001175 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001176 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 172 return; 001177 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 173 end; STATEMENT 1 ON LINE 174 end; STATEMENT 1 ON LINE 175 end; 001200 aa 6 00101 0541 00 aos pr6|65 arg_num 001201 aa 777177 7100 04 tra -385,ic 000400 STATEMENT 1 ON LINE 177 if tape_reel = "" then do; 001202 aa 040 004 106 500 cmpc (pr),(ic),fill(040) 001203 aa 6 07205 00 0040 desc9a pr6|3717,32 tape_reel 001204 aa 002136 00 0000 desc9a 1118,0 003340 = 777777777777 001205 aa 000027 6010 04 tnz 23,ic 001234 STATEMENT 1 ON LINE 178 call com_err_ (0, me, "A tape reel name must be specified."); 001206 aa 6 07245 4501 00 stz pr6|3749 001207 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001210 aa 776753 00 0044 desc9a -533,36 000162 = 101040164141 001211 aa 6 07306 00 0044 desc9a pr6|3782,36 001212 aa 6 07245 3521 00 epp2 pr6|3749 001213 aa 6 07256 2521 00 spri2 pr6|3758 001214 aa 776564 3520 04 epp2 -652,ic 000000 = 162145141144 001215 aa 6 07260 2521 00 spri2 pr6|3760 001216 aa 6 07306 3521 00 epp2 pr6|3782 001217 aa 6 07262 2521 00 spri2 pr6|3762 001220 aa 776601 3520 04 epp2 -639,ic 000021 = 404000000005 001221 aa 6 07264 2521 00 spri2 pr6|3764 001222 aa 776615 3520 04 epp2 -627,ic 000037 = 526000000024 001223 aa 6 07266 2521 00 spri2 pr6|3766 001224 aa 776574 3520 04 epp2 -644,ic 000020 = 524000000043 001225 aa 6 07270 2521 00 spri2 pr6|3768 001226 aa 6 07254 6211 00 eax1 pr6|3756 001227 aa 014000 4310 07 fld 6144,dl 001230 aa 6 00044 3701 20 epp4 pr6|36,* 001231 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001232 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 179 return; 001233 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 180 end; STATEMENT 1 ON LINE 181 if dump_number < 1 then do; 001234 aa 6 00303 2361 00 ldq pr6|195 dump_number 001235 aa 000001 1160 07 cmpq 1,dl 001236 aa 000032 6050 04 tpl 26,ic 001270 STATEMENT 1 ON LINE 182 call com_err_ (0, me, "-dump must be specified"); 001237 aa 6 07245 4501 00 stz pr6|3749 001240 aa 776714 2370 04 ldaq -564,ic 000154 = 055144165155 160040155165 001241 aa 6 07246 7571 00 staq pr6|3750 001242 aa 776714 2370 04 ldaq -564,ic 000156 = 163164040142 145040163160 001243 aa 6 07250 7571 00 staq pr6|3752 001244 aa 776714 2370 04 ldaq -564,ic 000160 = 145143151146 151145144000 001245 aa 6 07252 7571 00 staq pr6|3754 001246 aa 6 07245 3521 00 epp2 pr6|3749 001247 aa 6 07310 2521 00 spri2 pr6|3784 001250 aa 776530 3520 04 epp2 -680,ic 000000 = 162145141144 001251 aa 6 07312 2521 00 spri2 pr6|3786 001252 aa 6 07246 3521 00 epp2 pr6|3750 001253 aa 6 07314 2521 00 spri2 pr6|3788 001254 aa 776545 3520 04 epp2 -667,ic 000021 = 404000000005 001255 aa 6 07316 2521 00 spri2 pr6|3790 001256 aa 776561 3520 04 epp2 -655,ic 000037 = 526000000024 001257 aa 6 07320 2521 00 spri2 pr6|3792 001260 aa 776537 3520 04 epp2 -673,ic 000017 = 524000000027 001261 aa 6 07322 2521 00 spri2 pr6|3794 001262 aa 6 07306 6211 00 eax1 pr6|3782 001263 aa 014000 4310 07 fld 6144,dl 001264 aa 6 00044 3701 20 epp4 pr6|36,* 001265 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001266 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 183 return; 001267 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 184 end; STATEMENT 1 ON LINE 189 on cleanup call clean_up; 001270 aa 000007 7260 07 lxl6 7,dl 001271 aa 776603 3520 04 epp2 -637,ic 000074 = 143154145141 001272 aa 0 00717 7001 00 tsx0 pr0|463 enable 001273 aa 000004 7100 04 tra 4,ic 001277 001274 aa 000204000000 001275 aa 000015 7100 04 tra 13,ic 001312 BEGIN CONDITION cleanup.1 ENTRY TO cleanup.1 STATEMENT 1 ON LINE 189 on cleanup call clean_up; 001276 da 000324200000 001277 aa 000100 6270 00 eax7 64 001300 aa 7 00034 3521 20 epp2 pr7|28,* 001301 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 001302 aa 000000000000 001303 aa 000000000000 001304 aa 000001 7270 07 lxl7 1,dl 001305 aa 6 00056 6211 00 eax1 pr6|46 001306 aa 000000 4310 07 fld 0,dl 001307 aa 001432 3520 04 epp2 794,ic 002741 = 000120627000 001310 aa 0 00627 7001 00 tsx0 pr0|407 call_int_other 001311 aa 0 00631 7101 00 tra pr0|409 return END CONDITION cleanup.1 STATEMENT 1 ON LINE 191 density = original_density; 001312 aa 6 07202 2351 00 lda pr6|3714 original_density 001313 aa 6 00222 7551 00 sta pr6|146 density STATEMENT 1 ON LINE 192 attach_descr = "tape_nstd_ " || rtrim (tape_reel) || " -den " || density; 001314 aa 000 000 165 500 tctr (pr) 001315 aa 6 07205 00 0040 desc9a pr6|3717,32 tape_reel 001316 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 001317 aa 6 00056 0001 00 arg pr6|46 001320 aa 6 00056 2361 00 ldq pr6|46 001321 aa 0 00242 3761 00 anq pr0|162 = 000777777777 001322 aa 6 07245 7561 00 stq pr6|3749 001323 aa 000040 2360 07 ldq 32,dl 001324 aa 6 07245 1761 00 sbq pr6|3749 001325 aa 6 07245 7561 00 stq pr6|3749 001326 aa 000013 0760 07 adq 11,dl 001327 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 001330 aa 040 100 100 404 mlr (ic),(pr),fill(040) 001331 aa 776551 00 0013 desc9a -663,11 000101 = 164141160145 001332 aa 2 00000 00 0013 desc9a pr2|0,11 001333 aa 6 07245 2351 00 lda pr6|3749 001334 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001335 aa 6 07205 00 0005 desc9a pr6|3717,al tape_reel 001336 aa 2 00002 60 0005 desc9a pr2|2(3),al 001337 aa 6 07245 7561 00 stq pr6|3749 001340 aa 000006 0760 07 adq 6,dl 001341 aa 6 07305 7561 00 stq pr6|3781 001342 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 001343 aa 6 07245 2351 00 lda pr6|3749 001344 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 001345 aa 776512 00 0006 desc9a -694,6 000056 = 040055144145 001346 aa 2 00000 00 0006 desc9a pr2|0,6 001347 aa 6 07305 2361 00 ldq pr6|3781 001350 aa 000004 0760 07 adq 4,dl 001351 aa 6 07245 7561 00 stq pr6|3749 001352 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 001353 aa 6 07305 2351 00 lda pr6|3781 001354 aa 040 105 100 500 mlr (pr),(pr,al),fill(040) 001355 aa 6 00222 00 0004 desc9a pr6|146,4 density 001356 aa 2 00000 00 0004 desc9a pr2|0,4 001357 aa 6 07245 2361 00 ldq pr6|3749 001360 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001361 aa 2 00000 00 0006 desc9a pr2|0,ql 001362 aa 6 00104 00 0400 desc9a pr6|68,256 attach_descr STATEMENT 1 ON LINE 193 if write then attach_descr = rtrim (attach_descr) || " -write"; 001363 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001364 aa 6 07220 2351 00 lda pr6|3728 write 001365 aa 000027 6000 04 tze 23,ic 001414 001366 aa 000 000 165 500 tctr (pr) 001367 aa 6 00104 00 0400 desc9a pr6|68,256 attach_descr 001370 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 001371 aa 6 00056 0001 00 arg pr6|46 001372 aa 6 00056 2361 00 ldq pr6|46 001373 aa 0 00242 3761 00 anq pr0|162 = 000777777777 001374 aa 6 07245 7561 00 stq pr6|3749 001375 aa 000400 2360 07 ldq 256,dl 001376 aa 6 07245 1761 00 sbq pr6|3749 001377 aa 6 07245 7561 00 stq pr6|3749 001400 aa 000007 0760 07 adq 7,dl 001401 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 001402 aa 6 07245 2351 00 lda pr6|3749 001403 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 001404 aa 6 00104 00 0005 desc9a pr6|68,al attach_descr 001405 aa 2 00000 00 0005 desc9a pr2|0,al 001406 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 001407 aa 776446 00 0007 desc9a -730,7 000054 = 040055167162 001410 aa 2 00000 00 0007 desc9a pr2|0,7 001411 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 001412 aa 2 00000 00 0006 desc9a pr2|0,ql 001413 aa 6 00104 00 0400 desc9a pr6|68,256 attach_descr STATEMENT 1 ON LINE 194 call iox_$attach_name ("redt_switch_", iocb_ptr, attach_descr, codeptr (read_early_dump_tape), code); 001414 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 001415 aa 776461 2370 04 ldaq -719,ic 000076 = 162145144164 137163167151 001416 aa 6 07246 7571 00 staq pr6|3750 001417 aa 776461 2350 04 lda -719,ic 000100 = 164143150137 001420 aa 6 07250 7551 00 sta pr6|3752 001421 aa 776667 3520 04 epp2 -585,ic 000310 = 007460627000 001422 aa 6 07324 2521 00 spri2 pr6|3796 001423 aa 6 07246 3521 00 epp2 pr6|3750 001424 aa 6 07256 2521 00 spri2 pr6|3758 001425 aa 6 02536 3521 00 epp2 pr6|1374 iocb_ptr 001426 aa 6 07260 2521 00 spri2 pr6|3760 001427 aa 6 00104 3521 00 epp2 pr6|68 attach_descr 001430 aa 6 07262 2521 00 spri2 pr6|3762 001431 aa 6 07324 3521 00 epp2 pr6|3796 001432 aa 6 07264 2521 00 spri2 pr6|3764 001433 aa 6 00212 3521 00 epp2 pr6|138 code 001434 aa 6 07266 2521 00 spri2 pr6|3766 001435 aa 776361 3520 04 epp2 -783,ic 000016 = 524000000014 001436 aa 6 07270 2521 00 spri2 pr6|3768 001437 aa 776401 3520 04 epp2 -767,ic 000040 = 464000000000 001440 aa 6 07272 2521 00 spri2 pr6|3770 001441 aa 6 07276 2521 00 spri2 pr6|3774 001442 aa 776353 3520 04 epp2 -789,ic 000015 = 526000000400 001443 aa 6 07274 2521 00 spri2 pr6|3772 001444 aa 776376 3520 04 epp2 -770,ic 000042 = 404000000043 001445 aa 6 07300 2521 00 spri2 pr6|3776 001446 aa 6 07254 6211 00 eax1 pr6|3756 001447 aa 024000 4310 07 fld 10240,dl 001450 aa 6 00044 3701 20 epp4 pr6|36,* 001451 la 4 00060 3521 20 epp2 pr4|48,* iox_$attach_name 001452 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 195 if code ^= 0 then go to iox_error; 001453 aa 6 00212 2361 00 ldq pr6|138 code 001454 aa 000022 6010 04 tnz 18,ic 001476 STATEMENT 1 ON LINE 196 call iox_$open (iocb_ptr, Sequential_input, "0"b, code); 001455 aa 000000 2350 07 lda 0,dl 001456 aa 6 07245 7551 00 sta pr6|3749 001457 aa 6 02536 3521 00 epp2 pr6|1374 iocb_ptr 001460 aa 6 07310 2521 00 spri2 pr6|3784 001461 aa 776360 3520 04 epp2 -784,ic 000041 = 000000000004 001462 aa 6 07312 2521 00 spri2 pr6|3786 001463 aa 6 07245 3521 00 epp2 pr6|3749 001464 aa 6 07314 2521 00 spri2 pr6|3788 001465 aa 6 00212 3521 00 epp2 pr6|138 code 001466 aa 6 07316 2521 00 spri2 pr6|3790 001467 aa 6 07306 6211 00 eax1 pr6|3782 001470 aa 020000 4310 07 fld 8192,dl 001471 aa 6 00044 3701 20 epp4 pr6|36,* 001472 la 4 00070 3521 20 epp2 pr4|56,* iox_$open 001473 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 197 if code ^= 0 then do; 001474 aa 6 00212 2361 00 ldq pr6|138 code 001475 aa 000031 6000 04 tze 25,ic 001526 STATEMENT 1 ON LINE 198 iox_error: call com_err_ (code, me, "^a", attach_descr); 001476 aa 136141 2350 03 lda 48225,du 001477 aa 6 07245 7551 00 sta pr6|3749 001500 aa 6 00212 3521 00 epp2 pr6|138 code 001501 aa 6 07256 2521 00 spri2 pr6|3758 001502 aa 776276 3520 04 epp2 -834,ic 000000 = 162145141144 001503 aa 6 07260 2521 00 spri2 pr6|3760 001504 aa 6 07245 3521 00 epp2 pr6|3749 001505 aa 6 07262 2521 00 spri2 pr6|3762 001506 aa 6 00104 3521 00 epp2 pr6|68 attach_descr 001507 aa 6 07264 2521 00 spri2 pr6|3764 001510 aa 776332 3520 04 epp2 -806,ic 000042 = 404000000043 001511 aa 6 07266 2521 00 spri2 pr6|3766 001512 aa 776325 3520 04 epp2 -811,ic 000037 = 526000000024 001513 aa 6 07270 2521 00 spri2 pr6|3768 001514 aa 776306 3520 04 epp2 -826,ic 000022 = 524000000002 001515 aa 6 07272 2521 00 spri2 pr6|3770 001516 aa 776277 3520 04 epp2 -833,ic 000015 = 526000000400 001517 aa 6 07274 2521 00 spri2 pr6|3772 001520 aa 6 07254 6211 00 eax1 pr6|3756 001521 aa 020000 4310 07 fld 8192,dl 001522 aa 6 00044 3701 20 epp4 pr6|36,* 001523 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001524 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 199 go to abort; 001525 aa 001206 7100 04 tra 646,ic 002733 STATEMENT 1 ON LINE 200 end; STATEMENT 1 ON LINE 201 call get_temp_segments_ (me, memory_block_ptrs, code); 001526 aa 776252 3520 04 epp2 -854,ic 000000 = 162145141144 001527 aa 6 07310 2521 00 spri2 pr6|3784 001530 aa 6 02544 3521 00 epp2 pr6|1380 memory_block_ptrs 001531 aa 6 07312 2521 00 spri2 pr6|3786 001532 aa 6 00212 3521 00 epp2 pr6|138 code 001533 aa 6 07314 2521 00 spri2 pr6|3788 001534 aa 776303 3520 04 epp2 -829,ic 000037 = 526000000024 001535 aa 6 07316 2521 00 spri2 pr6|3790 001536 aa 776357 3520 04 epp2 -785,ic 000115 = 464100000000 001537 aa 6 07320 2521 00 spri2 pr6|3792 001540 aa 776302 3520 04 epp2 -830,ic 000042 = 404000000043 001541 aa 6 07322 2521 00 spri2 pr6|3794 001542 aa 6 07306 6211 00 eax1 pr6|3782 001543 aa 014000 4310 07 fld 6144,dl 001544 aa 6 00044 3701 20 epp4 pr6|36,* 001545 la 4 00046 3521 20 epp2 pr4|38,* get_temp_segments_ 001546 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 202 if code ^= 0 then do; 001547 aa 6 00212 2361 00 ldq pr6|138 code 001550 aa 000031 6000 04 tze 25,ic 001601 STATEMENT 1 ON LINE 203 call com_err_ (code, me, "Getting temp segments."); 001551 aa 776375 2370 04 ldaq -771,ic 000146 = 107145164164 151156147040 001552 aa 6 07246 7571 00 staq pr6|3750 001553 aa 776375 2370 04 ldaq -771,ic 000150 = 164145155160 040163145147 001554 aa 6 07250 7571 00 staq pr6|3752 001555 aa 776375 2370 04 ldaq -771,ic 000152 = 155145156164 163056000000 001556 aa 6 07252 7571 00 staq pr6|3754 001557 aa 6 00212 3521 00 epp2 pr6|138 code 001560 aa 6 07310 2521 00 spri2 pr6|3784 001561 aa 776217 3520 04 epp2 -881,ic 000000 = 162145141144 001562 aa 6 07312 2521 00 spri2 pr6|3786 001563 aa 6 07246 3521 00 epp2 pr6|3750 001564 aa 6 07314 2521 00 spri2 pr6|3788 001565 aa 776255 3520 04 epp2 -851,ic 000042 = 404000000043 001566 aa 6 07316 2521 00 spri2 pr6|3790 001567 aa 776250 3520 04 epp2 -856,ic 000037 = 526000000024 001570 aa 6 07320 2521 00 spri2 pr6|3792 001571 aa 776223 3520 04 epp2 -877,ic 000014 = 524000000026 001572 aa 6 07322 2521 00 spri2 pr6|3794 001573 aa 6 07306 6211 00 eax1 pr6|3782 001574 aa 014000 4310 07 fld 6144,dl 001575 aa 6 00044 3701 20 epp4 pr6|36,* 001576 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 001577 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 204 go to abort; 001600 aa 001133 7100 04 tra 603,ic 002733 STATEMENT 1 ON LINE 205 end; STATEMENT 1 ON LINE 207 read: memory_block_num = -1; 001601 aa 000001 3360 07 lcq 1,dl 001602 aa 6 02542 7561 00 stq pr6|1378 memory_block_num STATEMENT 1 ON LINE 208 good_records = 0; 001603 aa 6 02534 4501 00 stz pr6|1372 good_records STATEMENT 1 ON LINE 209 do while (memory_block_num < 511); 001604 aa 6 02542 2361 00 ldq pr6|1378 memory_block_num 001605 aa 000777 1160 07 cmpq 511,dl 001606 aa 000262 6050 04 tpl 178,ic 002070 STATEMENT 1 ON LINE 210 code = -1; 001607 aa 000001 3360 07 lcq 1,dl 001610 aa 6 00212 7561 00 stq pr6|138 code STATEMENT 1 ON LINE 211 do error_count = 1 to 16 while (code ^= 0); 001611 aa 000001 2360 07 ldq 1,dl 001612 aa 6 02533 7561 00 stq pr6|1371 error_count 001613 aa 000000 0110 03 nop 0,du 001614 aa 6 02533 2361 00 ldq pr6|1371 error_count 001615 aa 000020 1160 07 cmpq 16,dl 001616 aa 000030 6054 04 tpnz 24,ic 001646 001617 aa 6 00212 2361 00 ldq pr6|138 code 001620 aa 000026 6000 04 tze 22,ic 001646 STATEMENT 1 ON LINE 212 call iox_$read_record (iocb_ptr, addr (dump_record), 4 * size (dump_record), tape_record_len, code); 001621 aa 6 00515 3735 00 epp7 pr6|333 dump_record 001622 aa 6 07324 6535 00 spri7 pr6|3796 001623 aa 010030 2360 07 ldq 4120,dl 001624 aa 6 07245 7561 00 stq pr6|3749 001625 aa 6 02536 3521 00 epp2 pr6|1374 iocb_ptr 001626 aa 6 07310 2521 00 spri2 pr6|3784 001627 aa 6 07324 3521 00 epp2 pr6|3796 001630 aa 6 07312 2521 00 spri2 pr6|3786 001631 aa 6 07245 3521 00 epp2 pr6|3749 001632 aa 6 07314 2521 00 spri2 pr6|3788 001633 aa 6 07204 3521 00 epp2 pr6|3716 tape_record_len 001634 aa 6 07316 2521 00 spri2 pr6|3790 001635 aa 6 00212 3521 00 epp2 pr6|138 code 001636 aa 6 07320 2521 00 spri2 pr6|3792 001637 aa 6 07306 6211 00 eax1 pr6|3782 001640 aa 024000 4310 07 fld 10240,dl 001641 aa 6 00044 3701 20 epp4 pr6|36,* 001642 la 4 00072 3521 20 epp2 pr4|58,* iox_$read_record 001643 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 213 end; 001644 aa 6 02533 0541 00 aos pr6|1371 error_count 001645 aa 777747 7100 04 tra -25,ic 001614 STATEMENT 1 ON LINE 214 if code ^= 0 then if density = original_density & good_records = 0 then do; 001646 aa 6 00212 2361 00 ldq pr6|138 code 001647 aa 000134 6000 04 tze 92,ic 002003 001650 aa 6 00222 2351 00 lda pr6|146 density 001651 aa 6 07202 1151 00 cmpa pr6|3714 original_density 001652 aa 000104 6010 04 tnz 68,ic 001756 001653 aa 6 02534 2361 00 ldq pr6|1372 good_records 001654 aa 000102 6010 04 tnz 66,ic 001756 STATEMENT 1 ON LINE 216 if original_density = "6250" then density = "1600"; 001655 aa 6 07202 2351 00 lda pr6|3714 original_density 001656 aa 776145 1150 04 cmpa -923,ic 000023 = 066062065060 001657 aa 000004 6010 04 tnz 4,ic 001663 001660 aa 776155 2350 04 lda -915,ic 000035 = 061066060060 001661 aa 6 00222 7551 00 sta pr6|146 density 001662 aa 000010 7100 04 tra 8,ic 001672 STATEMENT 1 ON LINE 217 else if original_density = "1600" then density = "6250"; 001663 aa 776152 1150 04 cmpa -918,ic 000035 = 061066060060 001664 aa 000004 6010 04 tnz 4,ic 001670 001665 aa 776136 2350 04 lda -930,ic 000023 = 066062065060 001666 aa 6 00222 7551 00 sta pr6|146 density 001667 aa 000003 7100 04 tra 3,ic 001672 STATEMENT 1 ON LINE 218 else density = "1600"; 001670 aa 776145 2350 04 lda -923,ic 000035 = 061066060060 001671 aa 6 00222 7551 00 sta pr6|146 density STATEMENT 1 ON LINE 219 call iox_$control (iocb_ptr, "rewind", null, code); 001672 aa 776160 2370 04 ldaq -912,ic 000052 = 162145167151 156144000000 001673 aa 6 07324 7571 00 staq pr6|3796 001674 aa 776154 3734 24 epp7 -916,ic* 001675 aa 6 07326 6535 00 spri7 pr6|3798 001676 aa 6 02536 3521 00 epp2 pr6|1374 iocb_ptr 001677 aa 6 07256 2521 00 spri2 pr6|3758 001700 aa 6 07324 3521 00 epp2 pr6|3796 001701 aa 6 07260 2521 00 spri2 pr6|3760 001702 aa 6 07326 3521 00 epp2 pr6|3798 001703 aa 6 07262 2521 00 spri2 pr6|3762 001704 aa 6 00212 3521 00 epp2 pr6|138 code 001705 aa 6 07264 2521 00 spri2 pr6|3764 001706 aa 776132 3520 04 epp2 -934,ic 000040 = 464000000000 001707 aa 6 07266 2521 00 spri2 pr6|3766 001710 aa 6 07272 2521 00 spri2 pr6|3770 001711 aa 776102 3520 04 epp2 -958,ic 000013 = 524000000006 001712 aa 6 07270 2521 00 spri2 pr6|3768 001713 aa 776127 3520 04 epp2 -937,ic 000042 = 404000000043 001714 aa 6 07274 2521 00 spri2 pr6|3772 001715 aa 6 07254 6211 00 eax1 pr6|3756 001716 aa 020000 4310 07 fld 8192,dl 001717 aa 6 00044 3701 20 epp4 pr6|36,* 001720 la 4 00064 3521 20 epp2 pr4|52,* iox_$control 001721 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 220 call iox_$control (iocb_ptr, "d" || density, null, code); 001722 aa 6 00222 2351 00 lda pr6|146 density 001723 aa 0 00110 3771 00 anaq pr0|72 = 777777777777 000000000000 001724 aa 000011 7730 00 lrl 9 001725 aa 144000 2750 03 ora 51200,du 001726 aa 6 07326 7571 00 staq pr6|3798 001727 aa 776121 3734 24 epp7 -943,ic* 001730 aa 6 07324 6535 00 spri7 pr6|3796 001731 aa 6 02536 3521 00 epp2 pr6|1374 iocb_ptr 001732 aa 6 07256 2521 00 spri2 pr6|3758 001733 aa 6 07326 3521 00 epp2 pr6|3798 001734 aa 6 07260 2521 00 spri2 pr6|3760 001735 aa 6 07324 3521 00 epp2 pr6|3796 001736 aa 6 07262 2521 00 spri2 pr6|3762 001737 aa 6 00212 3521 00 epp2 pr6|138 code 001740 aa 6 07264 2521 00 spri2 pr6|3764 001741 aa 776077 3520 04 epp2 -961,ic 000040 = 464000000000 001742 aa 6 07266 2521 00 spri2 pr6|3766 001743 aa 6 07272 2521 00 spri2 pr6|3770 001744 aa 776046 3520 04 epp2 -986,ic 000012 = 524000000005 001745 aa 6 07270 2521 00 spri2 pr6|3768 001746 aa 776074 3520 04 epp2 -964,ic 000042 = 404000000043 001747 aa 6 07274 2521 00 spri2 pr6|3772 001750 aa 6 07254 6211 00 eax1 pr6|3756 001751 aa 020000 4310 07 fld 8192,dl 001752 aa 6 00044 3701 20 epp4 pr6|36,* 001753 la 4 00064 3521 20 epp2 pr4|52,* iox_$control 001754 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 221 go to read; 001755 aa 777624 7100 04 tra -108,ic 001601 STATEMENT 1 ON LINE 222 end; STATEMENT 1 ON LINE 223 else do; STATEMENT 1 ON LINE 224 call com_err_ (code, me, "More than 16 errors."); 001756 aa 000 100 100 404 mlr (ic),(pr),fill(000) 001757 aa 776147 00 0024 desc9a -921,20 000125 = 115157162145 001760 aa 6 07246 00 0024 desc9a pr6|3750,20 001761 aa 6 00212 3521 00 epp2 pr6|138 code 001762 aa 6 07310 2521 00 spri2 pr6|3784 001763 aa 776015 3520 04 epp2 -1011,ic 000000 = 162145141144 001764 aa 6 07312 2521 00 spri2 pr6|3786 001765 aa 6 07246 3521 00 epp2 pr6|3750 001766 aa 6 07314 2521 00 spri2 pr6|3788 001767 aa 776053 3520 04 epp2 -981,ic 000042 = 404000000043 001770 aa 6 07316 2521 00 spri2 pr6|3790 001771 aa 776046 3520 04 epp2 -986,ic 000037 = 526000000024 001772 aa 6 07320 2521 00 spri2 pr6|3792 001773 aa 776016 3520 04 epp2 -1010,ic 000011 = 524000000024 001774 aa 6 07322 2521 00 spri2 pr6|3794 001775 aa 6 07306 6211 00 eax1 pr6|3782 001776 aa 014000 4310 07 fld 6144,dl 001777 aa 6 00044 3701 20 epp4 pr6|36,* 002000 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 002001 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 225 go to abort; 002002 aa 000731 7100 04 tra 473,ic 002733 STATEMENT 1 ON LINE 226 end; STATEMENT 1 ON LINE 227 else do; STATEMENT 1 ON LINE 228 new_memory_block_num = divide (dump_record.address, 1024, 9); 002003 aa 6 00516 2361 00 ldq pr6|334 dump_record.address 002004 aa 002000 5060 07 div 1024,dl 002005 aa 6 07177 7561 00 stq pr6|3711 new_memory_block_num STATEMENT 1 ON LINE 229 if tape_record_len ^= 4 * size (dump_record) | /* valid record? */ dump_record.magic_number ^= Magic_number | new_memory_block_num < memory_block_num | /* the one we expect? */ memory_block_num + 1 < new_memory_block_num then do; 002006 aa 010030 2360 07 ldq 4120,dl 002007 aa 6 07204 1161 00 cmpq pr6|3716 tape_record_len 002010 aa 000013 6010 04 tnz 11,ic 002023 002011 aa 6 00515 2351 00 lda pr6|333 dump_record.magic_number 002012 aa 775773 1150 04 cmpa -1029,ic 000005 = 654365234214 002013 aa 000010 6010 04 tnz 8,ic 002023 002014 aa 6 07177 2361 00 ldq pr6|3711 new_memory_block_num 002015 aa 6 02542 1161 00 cmpq pr6|1378 memory_block_num 002016 aa 000005 6040 04 tmi 5,ic 002023 002017 aa 6 02542 2361 00 ldq pr6|1378 memory_block_num 002020 aa 000001 0760 07 adq 1,dl 002021 aa 6 07177 1161 00 cmpq pr6|3711 new_memory_block_num 002022 aa 000017 6050 04 tpl 15,ic 002041 STATEMENT 1 ON LINE 233 call com_err_ (error_table_$improper_data_format, me); 002023 aa 6 00044 3701 20 epp4 pr6|36,* 002024 la 4 00040 3521 20 epp2 pr4|32,* error_table_$improper_data_format 002025 aa 6 07310 2521 00 spri2 pr6|3784 002026 aa 775752 3520 04 epp2 -1046,ic 000000 = 162145141144 002027 aa 6 07312 2521 00 spri2 pr6|3786 002030 aa 776012 3520 04 epp2 -1014,ic 000042 = 404000000043 002031 aa 6 07314 2521 00 spri2 pr6|3788 002032 aa 776005 3520 04 epp2 -1019,ic 000037 = 526000000024 002033 aa 6 07316 2521 00 spri2 pr6|3790 002034 aa 6 07306 6211 00 eax1 pr6|3782 002035 aa 010000 4310 07 fld 4096,dl 002036 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 002037 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 234 go to abort; 002040 aa 000673 7100 04 tra 443,ic 002733 STATEMENT 1 ON LINE 235 end; STATEMENT 1 ON LINE 236 else do; STATEMENT 1 ON LINE 237 good_records = good_records + 1; 002041 aa 6 02534 0541 00 aos pr6|1372 good_records STATEMENT 1 ON LINE 238 memory_block_num = new_memory_block_num; 002042 aa 6 07177 2361 00 ldq pr6|3711 new_memory_block_num 002043 aa 6 02542 7561 00 stq pr6|1378 memory_block_num STATEMENT 1 ON LINE 239 crash_dbr = dump_record.dbr; 002044 aa 6 00517 2351 00 lda pr6|335 dump_record.dbr 002045 aa 6 00520 2361 00 ldq pr6|336 dump_record.dbr 002046 aa 6 00214 7571 00 staq pr6|140 crash_dbr STATEMENT 1 ON LINE 240 crash_system_type = dump_record.system_type; 002047 aa 6 00521 2361 00 ldq pr6|337 dump_record.system_type 002050 aa 6 00216 7561 00 stq pr6|142 crash_system_type STATEMENT 1 ON LINE 241 memory_block_ptrs (divide (memory_block_num, 128, 7) + 1) -> memory_blocks (mod (memory_block_num, 128)) = dump_record.memory_record; 002051 aa 6 02542 2361 00 ldq pr6|1378 memory_block_num 002052 aa 000200 5060 07 div 128,dl 002053 aa 000001 7360 00 qls 1 002054 aa 000000 6270 06 eax7 0,ql 002055 aa 6 02542 2361 00 ldq pr6|1378 memory_block_num 002056 aa 001265 3520 04 epp2 693,ic 003343 = 000000000200 002057 aa 0 00704 7001 00 tsx0 pr0|452 mod_fx1 002060 aa 000012 7360 00 qls 10 002061 aa 6 02544 3735 37 epp7 pr6|1380,7* memory_block_ptrs 002062 aa 7 00000 3735 06 epp7 pr7|0,ql memory_blocks 002063 aa 110000 7260 07 lxl6 36864,dl 002064 aa 003 140 060 540 csl (pr,rl),(pr,rl),fill(0),bool(move) 002065 aa 6 00523 00 0016 descb pr6|339,x6 dump_record.memory_record 002066 aa 7 00000 00 0016 descb pr7|0,x6 memory_blocks STATEMENT 1 ON LINE 242 end; STATEMENT 1 ON LINE 243 end; STATEMENT 1 ON LINE 244 end; 002067 aa 777515 7100 04 tra -179,ic 001604 STATEMENT 1 ON LINE 245 call clean_up_tape; 002070 aa 6 00056 6211 00 eax1 pr6|46 002071 aa 000000 4310 07 fld 0,dl 002072 aa 000731 3520 04 epp2 473,ic 003023 = 000120627000 002073 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 250 dumpptr = addr (my_dump); 002074 aa 6 02554 3735 00 epp7 pr6|1388 my_dump 002075 aa 6 07224 6535 00 spri7 pr6|3732 dumpptr STATEMENT 1 ON LINE 251 seg_info_ptr = addr (my_seg_info); 002076 aa 6 06554 3715 00 epp5 pr6|3436 my_seg_info 002077 aa 6 07222 6515 00 spri5 pr6|3730 seg_info_ptr STATEMENT 1 ON LINE 253 unspec (my_dump) = "0"b; 002100 aa 020000 7270 07 lxl7 8192,dl 002101 aa 000 140 100 400 mlr (),(pr,rl),fill(000) 002102 aa 000000 00 0000 desc9a 0,0 002103 aa 6 02554 00 0017 desc9a pr6|1388,x7 STATEMENT 1 ON LINE 254 call ed_appending_simulation_$init (memory_block_ptrs, crash_system_type); 002104 aa 6 02544 3521 00 epp2 pr6|1380 memory_block_ptrs 002105 aa 6 07250 2521 00 spri2 pr6|3752 002106 aa 6 00216 3521 00 epp2 pr6|142 crash_system_type 002107 aa 6 07252 2521 00 spri2 pr6|3754 002110 aa 6 07246 6211 00 eax1 pr6|3750 002111 aa 010000 4310 07 fld 4096,dl 002112 aa 6 00044 3701 20 epp4 pr6|36,* 002113 la 4 00026 3521 20 epp2 pr4|22,* ed_appending_simulation_$init 002114 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 255 call ed_appending_simulation_$new_dbr (crash_dbr, last_segnum, code); 002115 aa 6 00214 3521 00 epp2 pr6|140 crash_dbr 002116 aa 6 07310 2521 00 spri2 pr6|3784 002117 aa 6 02541 3521 00 epp2 pr6|1377 last_segnum 002120 aa 6 07312 2521 00 spri2 pr6|3786 002121 aa 6 00212 3521 00 epp2 pr6|138 code 002122 aa 6 07314 2521 00 spri2 pr6|3788 002123 aa 6 07306 6211 00 eax1 pr6|3782 002124 aa 014000 4310 07 fld 6144,dl 002125 aa 6 00044 3701 20 epp4 pr6|36,* 002126 la 4 00030 3521 20 epp2 pr4|24,* ed_appending_simulation_$new_dbr 002127 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 256 if code ^= 0 then do; 002130 aa 6 00212 2361 00 ldq pr6|138 code 002131 aa 000031 6000 04 tze 25,ic 002162 STATEMENT 1 ON LINE 257 call com_err_ (code, me, "Bad dbr value in dump"); 002132 aa 776006 2370 04 ldaq -1018,ic 000140 = 102141144040 144142162040 002133 aa 6 07246 7571 00 staq pr6|3750 002134 aa 776006 2370 04 ldaq -1018,ic 000142 = 166141154165 145040151156 002135 aa 6 07250 7571 00 staq pr6|3752 002136 aa 776006 2370 04 ldaq -1018,ic 000144 = 040144165155 160000000000 002137 aa 6 07252 7571 00 staq pr6|3754 002140 aa 6 00212 3521 00 epp2 pr6|138 code 002141 aa 6 07310 2521 00 spri2 pr6|3784 002142 aa 775636 3520 04 epp2 -1122,ic 000000 = 162145141144 002143 aa 6 07312 2521 00 spri2 pr6|3786 002144 aa 6 07246 3521 00 epp2 pr6|3750 002145 aa 6 07314 2521 00 spri2 pr6|3788 002146 aa 775674 3520 04 epp2 -1092,ic 000042 = 404000000043 002147 aa 6 07316 2521 00 spri2 pr6|3790 002150 aa 775667 3520 04 epp2 -1097,ic 000037 = 526000000024 002151 aa 6 07320 2521 00 spri2 pr6|3792 002152 aa 775636 3520 04 epp2 -1122,ic 000010 = 524000000025 002153 aa 6 07322 2521 00 spri2 pr6|3794 002154 aa 6 07306 6211 00 eax1 pr6|3782 002155 aa 014000 4310 07 fld 6144,dl 002156 aa 6 00044 3701 20 epp4 pr6|36,* 002157 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 002160 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 258 go to abort; 002161 aa 000552 7100 04 tra 362,ic 002733 STATEMENT 1 ON LINE 259 end; STATEMENT 1 ON LINE 260 dump.valid = "0"b; 002162 aa 6 07224 3735 20 epp7 pr6|3732,* dumpptr 002163 aa 7 00001 4501 00 stz pr7|1 dump.valid STATEMENT 1 ON LINE 261 dump.erfno = dump_number; 002164 aa 6 00303 2361 00 ldq pr6|195 dump_number 002165 aa 7 00004 7561 00 stq pr7|4 dump.erfno STATEMENT 1 ON LINE 263 dump.words_dumped = 0; 002166 aa 7 00000 4501 00 stz pr7|0 dump.words_dumped STATEMENT 1 ON LINE 264 begin; BEGIN BLOCK 1 STATEMENT 1 ON LINE 266 kludge_valid = "111111111111111111111111111111111111"b; 002167 aa 001151 2350 04 lda 617,ic 003340 = 777777777777 002170 aa 6 07224 3735 20 epp7 pr6|3732,* dumpptr 002171 aa 7 00001 7551 00 sta pr7|1 kludge_valid STATEMENT 1 ON LINE 267 end; END BLOCK 1 STATEMENT 1 ON LINE 268 dump.time = clock; 002172 aa 0 01435 7001 00 tsx0 pr0|797 clock 002173 aa 6 07224 3735 20 epp7 pr6|3732,* dumpptr 002174 aa 7 00002 7571 00 staq pr7|2 dump.time STATEMENT 1 ON LINE 269 dump.num_segs = 0; 002175 aa 7 00005 4501 00 stz pr7|5 dump.num_segs STATEMENT 1 ON LINE 270 dump.valid_355 = "0"b; 002176 aa 7 00006 4501 00 stz pr7|6 dump.valid_355 STATEMENT 1 ON LINE 271 dump.dumped_355s = "0"b; 002177 aa 7 00007 4501 00 stz pr7|7 dump.dumped_355s STATEMENT 1 ON LINE 272 dump.time_355 = 0; 002200 aa 775646 2370 04 ldaq -1114,ic 000046 = 000000000000 000000000000 002201 aa 7 00010 7571 00 staq pr7|8 dump.time_355 STATEMENT 1 ON LINE 273 dump.version = DUMP_VERSION_2; 002202 aa 000002 2360 07 ldq 2,dl 002203 aa 7 00012 7561 00 stq pr7|10 dump.version STATEMENT 1 ON LINE 275 dump.dbr = crash_dbr; 002204 aa 6 00214 2371 00 ldaq pr6|140 crash_dbr 002205 aa 7 03570 7551 00 sta pr7|1912 dump.dbr 002206 aa 7 03571 7561 00 stq pr7|1913 dump.dbr STATEMENT 1 ON LINE 277 time_str = time; 002207 aa 6 07215 3521 00 epp2 pr6|3725 time_str 002210 aa 6 07250 2521 00 spri2 pr6|3752 002211 aa 6 07246 6211 00 eax1 pr6|3750 002212 aa 004000 4310 07 fld 2048,dl 002213 aa 6 00044 3701 20 epp4 pr6|36,* 002214 la 4 00010 3521 20 epp2 pr4|8,* pl1_time_ 002215 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 278 date_str = date; 002216 aa 6 00220 3521 00 epp2 pr6|144 date_str 002217 aa 6 07250 2521 00 spri2 pr6|3752 002220 aa 6 07246 6211 00 eax1 pr6|3750 002221 aa 004000 4310 07 fld 2048,dl 002222 aa 6 00044 3701 20 epp4 pr6|36,* 002223 la 4 00012 3521 20 epp2 pr4|10,* pl1_date_ 002224 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 279 dump_name = substr (date_str, 3, 2) || substr (date_str, 5, 2) || substr (date_str, 1, 2) || "." || substr (time_str, 1, 4) || "."; 002225 aa 6 00220 2351 00 lda pr6|144 date_str 002226 aa 000022 7350 00 als 18 002227 aa 6 07245 7551 00 sta pr6|3749 date_str 002230 aa 6 00221 2351 00 lda pr6|145 date_str 002231 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 002232 aa 000022 7710 00 arl 18 002233 aa 6 07245 2751 00 ora pr6|3749 date_str 002234 aa 6 07245 7551 00 sta pr6|3749 002235 aa 6 00220 2351 00 lda pr6|144 date_str 002236 aa 0 00044 3771 00 anaq pr0|36 = 777777000000 000000000000 002237 aa 000044 7730 00 lrl 36 002240 aa 6 07245 2751 00 ora pr6|3749 002241 aa 6 07324 7571 00 staq pr6|3796 002242 aa 056000 2350 03 lda 23552,du 002243 aa 0 00110 3771 00 anaq pr0|72 = 777777777777 000000000000 002244 aa 000066 7730 00 lrl 54 002245 aa 6 07324 2771 00 oraq pr6|3796 002246 aa 6 07324 7571 00 staq pr6|3796 002247 aa 000013 2360 07 ldq 11,dl 002250 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 002251 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002252 aa 6 07324 00 0007 desc9a pr6|3796,7 002253 aa 2 00000 00 0007 desc9a pr2|0,7 002254 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002255 aa 6 07215 00 0004 desc9a pr6|3725,4 time_str 002256 aa 2 00001 60 0004 desc9a pr2|1(3),4 002257 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002260 aa 2 00000 00 0013 desc9a pr2|0,11 002261 aa 6 00300 00 0013 desc9a pr6|192,11 dump_name 002262 aa 040 100 100 404 mlr (ic),(pr),fill(040) 002263 aa 001060 00 0001 desc9a 560,1 003342 = 056000000000 002264 aa 6 00302 60 0001 desc9a pr6|194(3),1 dump_name STATEMENT 1 ON LINE 280 dump_segment = 0; 002265 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002266 aa 6 00504 4501 00 stz pr6|324 dump_segment STATEMENT 1 ON LINE 281 current_dump_record = 2; 002267 aa 000002 2360 07 ldq 2,dl 002270 aa 6 00213 7561 00 stq pr6|139 current_dump_record STATEMENT 1 ON LINE 283 dump_segment_name = dump_name || ltrim (character (dump_segment)) || "." || ltrim (character (dump_number)); 002271 aa 000 100 301 500 btd (pr),(pr) 002272 aa 6 00303 00 0004 desc9a pr6|195,4 dump_number 002273 aa 6 07324 01 0010 desc9ls pr6|3796,8,0 002274 aa 100 004 024 500 mvne (pr),(ic),(pr) 002275 aa 6 07324 01 0010 desc9ls pr6|3796,8,0 002276 aa 001042 00 0006 desc9a 546,6 003336 = 403040022146 002277 aa 6 07246 00 0012 desc9a pr6|3750,10 002300 aa 000 000 164 500 tct (pr) 002301 aa 6 07246 00 0012 desc9a pr6|3750,10 002302 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002303 aa 6 00056 0001 00 arg pr6|46 002304 aa 6 00056 2361 00 ldq pr6|46 002305 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002306 aa 6 07245 7561 00 stq pr6|3749 002307 aa 000012 2360 07 ldq 10,dl 002310 aa 6 07245 1761 00 sbq pr6|3749 002311 aa 000 100 301 500 btd (pr),(pr) 002312 aa 6 00504 00 0004 desc9a pr6|324,4 dump_segment 002313 aa 6 07324 01 0010 desc9ls pr6|3796,8,0 002314 aa 100 004 024 500 mvne (pr),(ic),(pr) 002315 aa 6 07324 01 0010 desc9ls pr6|3796,8,0 002316 aa 001022 00 0006 desc9a 530,6 003336 = 403040022146 002317 aa 6 07306 00 0012 desc9a pr6|3782,10 002320 aa 6 07305 7561 00 stq pr6|3781 002321 aa 000 000 164 500 tct (pr) 002322 aa 6 07306 00 0012 desc9a pr6|3782,10 002323 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 002324 aa 6 00056 0001 00 arg pr6|46 002325 aa 6 00056 2361 00 ldq pr6|46 002326 aa 0 00242 3761 00 anq pr0|162 = 000777777777 002327 aa 6 07330 7561 00 stq pr6|3800 002330 aa 000012 2360 07 ldq 10,dl 002331 aa 6 07330 1761 00 sbq pr6|3800 002332 aa 6 07331 7561 00 stq pr6|3801 002333 aa 000014 0760 07 adq 12,dl 002334 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 002335 aa 040 100 100 500 mlr (pr),(pr),fill(040) 002336 aa 6 00300 00 0014 desc9a pr6|192,12 dump_name 002337 aa 2 00000 00 0014 desc9a pr2|0,12 002340 aa 6 07330 2351 00 lda pr6|3800 002341 aa 6 07332 7561 00 stq pr6|3802 002342 aa 6 07331 2361 00 ldq pr6|3801 002343 aa 040 140 100 545 mlr (pr,rl,al),(pr,rl),fill(040) 002344 aa 6 07306 00 0006 desc9a pr6|3782,ql 002345 aa 2 00003 00 0006 desc9a pr2|3,ql 002346 aa 6 07332 2361 00 ldq pr6|3802 002347 aa 000001 0760 07 adq 1,dl 002350 aa 6 07330 7561 00 stq pr6|3800 002351 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 002352 aa 6 07332 2351 00 lda pr6|3802 002353 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 002354 aa 000767 00 0001 desc9a 503,1 003342 = 056000000000 002355 aa 2 00000 00 0001 desc9a pr2|0,1 002356 aa 6 07330 2361 00 ldq pr6|3800 002357 aa 6 07305 0761 00 adq pr6|3781 002360 aa 6 07332 7561 00 stq pr6|3802 002361 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 002362 aa 6 07330 2351 00 lda pr6|3800 002363 aa 6 07245 2361 00 ldq pr6|3749 002364 aa 6 07246 3735 00 epp7 pr6|3750 002365 aa 7 00000 5005 06 a9bd pr7|0,ql 002366 aa 6 07305 2361 00 ldq pr6|3781 002367 aa 040 145 100 540 mlr (pr,rl),(pr,rl,al),fill(040) 002370 aa 7 00000 00 0006 desc9a pr7|0,ql 002371 aa 2 00000 00 0006 desc9a pr2|0,ql 002372 aa 6 07332 2351 00 lda pr6|3802 002373 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 002374 aa 2 00000 00 0005 desc9a pr2|0,al 002375 aa 6 00505 00 0040 desc9a pr6|325,32 dump_segment_name STATEMENT 1 ON LINE 284 call hcs_$make_seg (dump_dir, dump_segment_name, "", 10, dump_seg_ptrs (dump_segment), code); 002376 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 002377 aa 000012 2360 07 ldq 10,dl 002400 aa 6 07330 7561 00 stq pr6|3800 002401 aa 6 00504 2361 00 ldq pr6|324 dump_segment 002402 aa 000001 7360 00 qls 1 002403 aa 6 00226 3521 00 epp2 pr6|150 dump_dir 002404 aa 6 07336 2521 00 spri2 pr6|3806 002405 aa 6 00505 3521 00 epp2 pr6|325 dump_segment_name 002406 aa 6 07340 2521 00 spri2 pr6|3808 002407 aa 6 07332 3521 00 epp2 pr6|3802 002410 aa 6 07342 2521 00 spri2 pr6|3810 002411 aa 6 07330 3521 00 epp2 pr6|3800 002412 aa 6 07344 2521 00 spri2 pr6|3812 002413 aa 6 00304 3521 06 epp2 pr6|196,ql dump_seg_ptrs 002414 aa 6 07346 2521 00 spri2 pr6|3814 002415 aa 6 00212 3521 00 epp2 pr6|138 code 002416 aa 6 07350 2521 00 spri2 pr6|3816 002417 aa 775410 3520 04 epp2 -1272,ic 000027 = 526000000250 002420 aa 6 07352 2521 00 spri2 pr6|3818 002421 aa 775405 3520 04 epp2 -1275,ic 000026 = 526000000040 002422 aa 6 07354 2521 00 spri2 pr6|3820 002423 aa 775364 3520 04 epp2 -1292,ic 000007 = 524000000000 002424 aa 6 07356 2521 00 spri2 pr6|3822 002425 aa 775374 3520 04 epp2 -1284,ic 000021 = 404000000005 002426 aa 6 07360 2521 00 spri2 pr6|3824 002427 aa 775411 3520 04 epp2 -1271,ic 000040 = 464000000000 002430 aa 6 07362 2521 00 spri2 pr6|3826 002431 aa 775411 3520 04 epp2 -1271,ic 000042 = 404000000043 002432 aa 6 07364 2521 00 spri2 pr6|3828 002433 aa 6 07334 6211 00 eax1 pr6|3804 002434 aa 030000 4310 07 fld 12288,dl 002435 aa 6 00044 3701 20 epp4 pr6|36,* 002436 la 4 00050 3521 20 epp2 pr4|40,* hcs_$make_seg 002437 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 285 if dump_seg_ptrs (dump_segment) = null then do; 002440 aa 6 00504 2361 00 ldq pr6|324 dump_segment 002441 aa 000001 7360 00 qls 1 002442 aa 6 00304 2371 06 ldaq pr6|196,ql dump_seg_ptrs 002443 aa 775405 6770 04 eraq -1275,ic 000050 = 077777000043 000001000000 002444 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 002445 aa 000023 6010 04 tnz 19,ic 002470 STATEMENT 1 ON LINE 286 call com_err_ (code, me, dump_segment_name); 002446 aa 6 00212 3521 00 epp2 pr6|138 code 002447 aa 6 07310 2521 00 spri2 pr6|3784 002450 aa 775330 3520 04 epp2 -1320,ic 000000 = 162145141144 002451 aa 6 07312 2521 00 spri2 pr6|3786 002452 aa 6 00505 3521 00 epp2 pr6|325 dump_segment_name 002453 aa 6 07314 2521 00 spri2 pr6|3788 002454 aa 775366 3520 04 epp2 -1290,ic 000042 = 404000000043 002455 aa 6 07316 2521 00 spri2 pr6|3790 002456 aa 775361 3520 04 epp2 -1295,ic 000037 = 526000000024 002457 aa 6 07320 2521 00 spri2 pr6|3792 002460 aa 775346 3520 04 epp2 -1306,ic 000026 = 526000000040 002461 aa 6 07322 2521 00 spri2 pr6|3794 002462 aa 6 07306 6211 00 eax1 pr6|3782 002463 aa 014000 4310 07 fld 6144,dl 002464 aa 6 00044 3701 20 epp4 pr6|36,* 002465 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 002466 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 287 go to abort; 002467 aa 000244 7100 04 tra 164,ic 002733 STATEMENT 1 ON LINE 288 end; STATEMENT 1 ON LINE 290 do segnum = 0 to last_segnum; 002470 aa 6 02541 2361 00 ldq pr6|1377 last_segnum 002471 aa 6 07232 7561 00 stq pr6|3738 002472 aa 6 07203 4501 00 stz pr6|3715 segnum 002473 aa 000000 0110 03 nop 0,du 002474 aa 6 07203 2361 00 ldq pr6|3715 segnum 002475 aa 6 07232 1161 00 cmpq pr6|3738 002476 aa 000202 6054 04 tpnz 130,ic 002700 STATEMENT 1 ON LINE 291 call ed_appending_simulation_$new_segment (segnum, seg_info_ptr, code); 002477 aa 6 07203 3521 00 epp2 pr6|3715 segnum 002500 aa 6 07310 2521 00 spri2 pr6|3784 002501 aa 6 07222 3521 00 epp2 pr6|3730 seg_info_ptr 002502 aa 6 07312 2521 00 spri2 pr6|3786 002503 aa 6 00212 3521 00 epp2 pr6|138 code 002504 aa 6 07314 2521 00 spri2 pr6|3788 002505 aa 6 07306 6211 00 eax1 pr6|3782 002506 aa 014000 4310 07 fld 6144,dl 002507 aa 6 00044 3701 20 epp4 pr6|36,* 002510 la 4 00032 3521 20 epp2 pr4|26,* ed_appending_simulation_$new_segment 002511 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 292 if code ^= 0 then go to next_seg; 002512 aa 6 00212 2361 00 ldq pr6|138 code 002513 aa 000163 6010 04 tnz 115,ic 002676 STATEMENT 1 ON LINE 294 if dump.num_segs = dimension (dump.segs, 1) then do; 002514 aa 6 07224 3735 20 epp7 pr6|3732,* dumpptr 002515 aa 7 00005 2361 00 ldq pr7|5 dump.num_segs 002516 aa 001760 1160 07 cmpq 1008,dl 002517 aa 000021 6010 04 tnz 17,ic 002540 STATEMENT 1 ON LINE 295 call ioa_ ("Segment array overflow."); 002520 aa 775412 2370 04 ldaq -1270,ic 000132 = 123145147155 145156164040 002521 aa 6 07246 7571 00 staq pr6|3750 002522 aa 775412 2370 04 ldaq -1270,ic 000134 = 141162162141 171040157166 002523 aa 6 07250 7571 00 staq pr6|3752 002524 aa 775412 2370 04 ldaq -1270,ic 000136 = 145162146154 157167056000 002525 aa 6 07252 7571 00 staq pr6|3754 002526 aa 6 07246 3521 00 epp2 pr6|3750 002527 aa 6 07310 2521 00 spri2 pr6|3784 002530 aa 775267 3520 04 epp2 -1353,ic 000017 = 524000000027 002531 aa 6 07312 2521 00 spri2 pr6|3786 002532 aa 6 07306 6211 00 eax1 pr6|3782 002533 aa 004000 4310 07 fld 2048,dl 002534 aa 6 00044 3701 20 epp4 pr6|36,* 002535 la 4 00056 3521 20 epp2 pr4|46,* ioa_ 002536 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 296 go to end_dump; 002537 aa 000141 7100 04 tra 97,ic 002700 STATEMENT 1 ON LINE 297 end; STATEMENT 1 ON LINE 298 dump.num_segs = dump.num_segs + 1; 002540 aa 7 00005 0541 00 aos pr7|5 dump.num_segs STATEMENT 1 ON LINE 299 dump.segs.segno (dump.num_segs) = bit (bin (segnum, 18), 18); 002541 aa 6 07203 2351 00 lda pr6|3715 segnum 002542 aa 000002 6050 04 tpl 2,ic 002544 002543 aa 000000 5310 00 neg 0 002544 aa 000022 7350 00 als 18 002545 aa 7 00005 7271 00 lxl7 pr7|5 dump.num_segs 002546 aa 7 00017 3715 17 epp5 pr7|15,7 dump.segno 002547 aa 5 00000 5511 60 stba pr5|0,60 dump.segno STATEMENT 1 ON LINE 300 dump.segs.length (dump.num_segs) = "0"b; 002550 aa 777777 2350 03 lda 262143,du 002551 aa 7 00017 3551 17 ansa pr7|15,7 dump.length STATEMENT 1 ON LINE 306 last_non_null_page = -1; 002552 aa 000001 3360 07 lcq 1,dl 002553 aa 6 02540 7561 00 stq pr6|1376 last_non_null_page STATEMENT 1 ON LINE 307 do page_num = 0 to divide (seg_info.size + 1023, 1024, 8) - 1; 002554 aa 6 07222 3535 20 epp3 pr6|3730,* seg_info_ptr 002555 aa 3 00415 2361 00 ldq pr3|269 seg_info.size 002556 aa 001777 0760 07 adq 1023,dl 002557 aa 002000 5060 07 div 1024,dl 002560 aa 000001 1760 07 sbq 1,dl 002561 aa 6 07233 7561 00 stq pr6|3739 002562 aa 6 07201 4501 00 stz pr6|3713 page_num 002563 aa 000000 0110 03 nop 0,du 002564 aa 6 07201 2361 00 ldq pr6|3713 page_num 002565 aa 6 07233 1161 00 cmpq pr6|3739 002566 aa 000064 6054 04 tpnz 52,ic 002652 STATEMENT 1 ON LINE 308 call ed_appending_simulation_$get_virtual (seg_info_ptr, page_num * 1024, 1024, addr (my_page_buffer), code); 002567 aa 000012 7360 00 qls 10 002570 aa 6 07330 7561 00 stq pr6|3800 002571 aa 002000 2360 07 ldq 1024,dl 002572 aa 6 07332 7561 00 stq pr6|3802 002573 aa 6 00523 3735 00 epp7 pr6|339 my_page_buffer 002574 aa 6 07324 6535 00 spri7 pr6|3796 002575 aa 6 07222 3521 00 epp2 pr6|3730 seg_info_ptr 002576 aa 6 07310 2521 00 spri2 pr6|3784 002577 aa 6 07330 3521 00 epp2 pr6|3800 002600 aa 6 07312 2521 00 spri2 pr6|3786 002601 aa 6 07332 3521 00 epp2 pr6|3802 002602 aa 6 07314 2521 00 spri2 pr6|3788 002603 aa 6 07324 3521 00 epp2 pr6|3796 002604 aa 6 07316 2521 00 spri2 pr6|3790 002605 aa 6 00212 3521 00 epp2 pr6|138 code 002606 aa 6 07320 2521 00 spri2 pr6|3792 002607 aa 6 07306 6211 00 eax1 pr6|3782 002610 aa 024000 4310 07 fld 10240,dl 002611 aa 6 00044 3701 20 epp4 pr6|36,* 002612 la 4 00024 3521 20 epp2 pr4|20,* ed_appending_simulation_$get_virtual 002613 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 309 if my_page_buffer ^= "0"b then do; 002614 aa 110000 7270 07 lxl7 36864,dl 002615 aa 000 000 066 540 cmpb (pr,rl),(),fill(0) 002616 aa 6 00523 00 0017 descb pr6|339,x7 my_page_buffer 002617 aa 000000 00 0000 descb 0,0 002620 aa 000030 6000 04 tze 24,ic 002650 STATEMENT 1 ON LINE 310 do null_page_num = last_non_null_page + 1 to page_num - 1; 002621 aa 6 07201 2361 00 ldq pr6|3713 page_num 002622 aa 000001 1760 07 sbq 1,dl 002623 aa 6 07234 7561 00 stq pr6|3740 002624 aa 6 02540 2361 00 ldq pr6|1376 last_non_null_page 002625 aa 000001 0760 07 adq 1,dl 002626 aa 6 07200 7561 00 stq pr6|3712 null_page_num 002627 aa 000000 0110 03 nop 0,du 002630 aa 6 07200 2361 00 ldq pr6|3712 null_page_num 002631 aa 6 07234 1161 00 cmpq pr6|3740 002632 aa 000005 6054 04 tpnz 5,ic 002637 STATEMENT 1 ON LINE 311 dummy_ptr = get_put (); 002633 aa 000477 3520 04 epp2 319,ic 003332 = 000002000000 002634 aa 000221 6700 04 tsp4 145,ic 003055 STATEMENT 1 ON LINE 312 end; 002635 aa 6 07200 0541 00 aos pr6|3712 null_page_num 002636 aa 777772 7100 04 tra -6,ic 002630 STATEMENT 1 ON LINE 313 get_put () -> my_page_buffer = my_page_buffer; 002637 aa 000467 3520 04 epp2 311,ic 003326 = 000002000000 002640 aa 000215 6700 04 tsp4 141,ic 003055 002641 aa 6 07324 3735 20 epp7 pr6|3796,* 002642 aa 110000 7270 07 lxl7 36864,dl 002643 aa 003 140 060 540 csl (pr,rl),(pr,rl),fill(0),bool(move) 002644 aa 6 00523 00 0017 descb pr6|339,x7 my_page_buffer 002645 aa 7 00000 00 0017 descb pr7|0,x7 my_page_buffer STATEMENT 1 ON LINE 314 last_non_null_page = page_num; 002646 aa 6 07201 2361 00 ldq pr6|3713 page_num 002647 aa 6 02540 7561 00 stq pr6|1376 last_non_null_page STATEMENT 1 ON LINE 315 end; STATEMENT 1 ON LINE 316 end; 002650 aa 6 07201 0541 00 aos pr6|3713 page_num 002651 aa 777713 7100 04 tra -53,ic 002564 STATEMENT 1 ON LINE 317 dump.segs.length (dump.num_segs) = bit (bin ((last_non_null_page + 1) * 16, 18), 18); 002652 aa 6 02540 2361 00 ldq pr6|1376 last_non_null_page 002653 aa 000001 0760 07 adq 1,dl 002654 aa 6 07332 7561 00 stq pr6|3802 002655 aa 000004 7360 00 qls 4 002656 aa 0 00000 1161 00 cmpq pr0|0 = 000000000000 002657 aa 000003 6050 04 tpl 3,ic 002662 002660 aa 0 00110 6761 00 erq pr0|72 = 777777777777 002661 aa 000001 0760 07 adq 1,dl 002662 aa 000066 7370 00 lls 54 002663 aa 000022 7730 00 lrl 18 002664 aa 6 07224 3735 20 epp7 pr6|3732,* dumpptr 002665 aa 7 00005 7271 00 lxl7 pr7|5 dump.num_segs 002666 aa 7 00017 3715 17 epp5 pr7|15,7 dump.length 002667 aa 5 00000 5511 14 stba pr5|0,14 dump.length STATEMENT 1 ON LINE 318 dump.words_dumped = dump.words_dumped + (last_non_null_page + 1) * 1024; 002670 aa 6 07332 2361 00 ldq pr6|3802 002671 aa 000012 7360 00 qls 10 002672 aa 000044 7770 00 llr 36 002673 aa 000044 7330 00 lrs 36 002674 aa 7 00000 0331 00 adl pr7|0 dump.words_dumped 002675 aa 7 00000 7561 00 stq pr7|0 dump.words_dumped STATEMENT 1 ON LINE 319 next_seg: end; 002676 aa 6 07203 0541 00 aos pr6|3715 segnum 002677 aa 777575 7100 04 tra -131,ic 002474 STATEMENT 1 ON LINE 323 end_dump: dump_seg_ptrs (0) -> dump = my_dump; 002700 aa 6 00304 3735 20 epp7 pr6|196,* dump_seg_ptrs 002701 aa 020000 7270 07 lxl7 8192,dl 002702 aa 000 140 100 540 mlr (pr,rl),(pr,rl),fill(000) 002703 aa 6 02554 00 0017 desc9a pr6|1388,x7 my_dump 002704 aa 7 00000 00 0017 desc9a pr7|0,x7 dump STATEMENT 1 ON LINE 325 call hcs_$set_bc_seg (dump_seg_ptrs (dump_segment), (mod (current_dump_record - 1, 255) + 1) * 1024 * 36, code); 002705 aa 6 00504 2361 00 ldq pr6|324 dump_segment 002706 aa 000001 7360 00 qls 1 002707 aa 000000 6260 06 eax6 0,ql 002710 aa 6 00213 2361 00 ldq pr6|139 current_dump_record 002711 aa 000001 1760 07 sbq 1,dl 002712 aa 000427 3520 04 epp2 279,ic 003341 = 000000000377 002713 aa 0 00704 7001 00 tsx0 pr0|452 mod_fx1 002714 aa 000001 0760 07 adq 1,dl 002715 aa 000012 7360 00 qls 10 002716 aa 000044 4020 07 mpy 36,dl 002717 aa 6 07332 7561 00 stq pr6|3802 002720 aa 6 00304 3521 16 epp2 pr6|196,6 dump_seg_ptrs 002721 aa 6 07310 2521 00 spri2 pr6|3784 002722 aa 6 07332 3521 00 epp2 pr6|3802 002723 aa 6 07312 2521 00 spri2 pr6|3786 002724 aa 6 00212 3521 00 epp2 pr6|138 code 002725 aa 6 07314 2521 00 spri2 pr6|3788 002726 aa 6 07306 6211 00 eax1 pr6|3782 002727 aa 014000 4310 07 fld 6144,dl 002730 aa 6 00044 3701 20 epp4 pr6|36,* 002731 la 4 00052 3521 20 epp2 pr4|42,* hcs_$set_bc_seg 002732 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 327 abort: call clean_up; 002733 aa 6 00056 6211 00 eax1 pr6|46 002734 aa 000000 4310 07 fld 0,dl 002735 aa 000004 3520 04 epp2 4,ic 002741 = 000120627000 002736 aa 0 00625 7001 00 tsx0 pr0|405 call_int_this STATEMENT 1 ON LINE 328 return; 002737 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 364 end; BEGIN PROCEDURE clean_up ENTRY TO clean_up STATEMENT 1 ON LINE 330 clean_up: proc; 002740 da 000332200000 002741 aa 000120 6270 00 eax7 80 002742 aa 7 00034 3521 20 epp2 pr7|28,* 002743 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 002744 aa 000000000000 002745 aa 000000000000 STATEMENT 1 ON LINE 332 call release_temp_segments_ (me, memory_block_ptrs, code); 002746 aa 775032 3520 04 epp2 -1510,ic 000000 = 162145141144 002747 aa 6 00102 2521 00 spri2 pr6|66 002750 aa 6 00040 3735 20 epp7 pr6|32,* 002751 aa 7 02544 3521 00 epp2 pr7|1380 memory_block_ptrs 002752 aa 6 00104 2521 00 spri2 pr6|68 002753 aa 7 00212 3521 00 epp2 pr7|138 code 002754 aa 6 00106 2521 00 spri2 pr6|70 002755 aa 775062 3520 04 epp2 -1486,ic 000037 = 526000000024 002756 aa 6 00110 2521 00 spri2 pr6|72 002757 aa 775136 3520 04 epp2 -1442,ic 000115 = 464100000000 002760 aa 6 00112 2521 00 spri2 pr6|74 002761 aa 775061 3520 04 epp2 -1487,ic 000042 = 404000000043 002762 aa 6 00114 2521 00 spri2 pr6|76 002763 aa 6 00100 6211 00 eax1 pr6|64 002764 aa 014000 4310 07 fld 6144,dl 002765 la 4 00074 3521 20 epp2 pr4|60,* release_temp_segments_ 002766 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 333 do dump_segment = 0 to hbound (dump_seg_ptrs, 1); 002767 aa 6 00040 3735 20 epp7 pr6|32,* 002770 aa 7 00504 4501 00 stz pr7|324 dump_segment 002771 aa 000000 0110 03 nop 0,du 002772 aa 6 00040 3735 20 epp7 pr6|32,* 002773 aa 7 00504 2361 00 ldq pr7|324 dump_segment 002774 aa 000077 1160 07 cmpq 63,dl 002775 aa 000033 6054 04 tpnz 27,ic 003030 STATEMENT 1 ON LINE 334 if dump_seg_ptrs (dump_segment) ^= null then call hcs_$terminate_noname (dump_seg_ptrs (dump_segment), code); 002776 aa 000001 7360 00 qls 1 002777 aa 6 00116 7561 00 stq pr6|78 003000 aa 7 00304 2371 06 ldaq pr7|196,ql dump_seg_ptrs 003001 aa 775047 6770 04 eraq -1497,ic 000050 = 077777000043 000001000000 003002 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003003 aa 000013 6000 04 tze 11,ic 003016 003004 aa 6 00116 7271 00 lxl7 pr6|78 003005 aa 7 00304 3521 17 epp2 pr7|196,7 dump_seg_ptrs 003006 aa 6 00102 2521 00 spri2 pr6|66 003007 aa 7 00212 3521 00 epp2 pr7|138 code 003010 aa 6 00104 2521 00 spri2 pr6|68 003011 aa 6 00100 6211 00 eax1 pr6|64 003012 aa 010000 4310 07 fld 4096,dl 003013 aa 6 00044 3701 20 epp4 pr6|36,* 003014 la 4 00054 3521 20 epp2 pr4|44,* hcs_$terminate_noname 003015 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 335 end; 003016 aa 6 00040 3735 20 epp7 pr6|32,* 003017 aa 7 00504 0541 00 aos pr7|324 dump_segment 003020 aa 777752 7100 04 tra -22,ic 002772 STATEMENT 1 ON LINE 337 clean_up_tape: entry; 003021 aa 000007 7100 04 tra 7,ic 003030 ENTRY TO clean_up_tape STATEMENT 1 ON LINE 337 clean_up_tape: entry; 003022 da 000341200000 003023 aa 000120 6270 00 eax7 80 003024 aa 7 00034 3521 20 epp2 pr7|28,* 003025 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 003026 aa 000000000000 003027 aa 000000000000 STATEMENT 1 ON LINE 339 call iox_$close (iocb_ptr, code); 003030 aa 6 00040 3735 20 epp7 pr6|32,* 003031 aa 7 02536 3521 00 epp2 pr7|1374 iocb_ptr 003032 aa 6 00102 2521 00 spri2 pr6|66 003033 aa 7 00212 3521 00 epp2 pr7|138 code 003034 aa 6 00104 2521 00 spri2 pr6|68 003035 aa 6 00100 6211 00 eax1 pr6|64 003036 aa 010000 4310 07 fld 4096,dl 003037 aa 6 00044 3701 20 epp4 pr6|36,* 003040 la 4 00062 3521 20 epp2 pr4|50,* iox_$close 003041 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 340 call iox_$detach_iocb (iocb_ptr, code); 003042 aa 6 00040 3735 20 epp7 pr6|32,* 003043 aa 7 02536 3521 00 epp2 pr7|1374 iocb_ptr 003044 aa 6 00102 2521 00 spri2 pr6|66 003045 aa 7 00212 3521 00 epp2 pr7|138 code 003046 aa 6 00104 2521 00 spri2 pr6|68 003047 aa 6 00100 6211 00 eax1 pr6|64 003050 aa 010000 4310 07 fld 4096,dl 003051 aa 6 00044 3701 20 epp4 pr6|36,* 003052 la 4 00066 3521 20 epp2 pr4|54,* iox_$detach_iocb 003053 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 341 return; 003054 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 342 end; END PROCEDURE clean_up BEGIN PROCEDURE get_put ENTRY TO get_put STATEMENT 1 ON LINE 344 get_put: proc () returns (ptr); 003055 aa 6 07236 6501 00 spri4 pr6|3742 003056 aa 6 07240 2521 00 spri2 pr6|3744 STATEMENT 1 ON LINE 348 if mod (current_dump_record, 255) = 0 then do; 003057 aa 6 00213 2361 00 ldq pr6|139 current_dump_record 003060 aa 000261 3520 04 epp2 177,ic 003341 = 000000000377 003061 aa 0 00704 7001 00 tsx0 pr0|452 mod_fx1 003062 aa 000225 6010 04 tnz 149,ic 003307 STATEMENT 1 ON LINE 349 call hcs_$set_bc_seg (dump_seg_ptrs (dump_segment), 255 * 1024 * 36, code); 003063 aa 6 00504 2361 00 ldq pr6|324 dump_segment 003064 aa 000001 7360 00 qls 1 003065 aa 100 004 226 404 mp3d (ic),(ic),(pr) 003066 aa 774757 01 0007 desc9ls -1553,7,0 000044 = 053062066061 003067 aa 774721 01 0003 desc9ls -1583,3,0 000006 = 053063066000 003070 aa 6 07370 01 0012 desc9ls pr6|3832,10,0 003071 aa 000 100 305 500 dtb (pr),(pr) 003072 aa 6 07370 01 0012 desc9ls pr6|3832,10,0 003073 aa 6 07366 00 0004 desc9a pr6|3830,4 003074 aa 6 00304 3521 06 epp2 pr6|196,ql dump_seg_ptrs 003075 aa 6 07376 2521 00 spri2 pr6|3838 003076 aa 6 07366 3521 00 epp2 pr6|3830 003077 aa 6 07400 2521 00 spri2 pr6|3840 003100 aa 6 00212 3521 00 epp2 pr6|138 code 003101 aa 6 07402 2521 00 spri2 pr6|3842 003102 aa 6 07374 6211 00 eax1 pr6|3836 003103 aa 014000 4310 07 fld 6144,dl 003104 aa 6 00044 3701 20 epp4 pr6|36,* 003105 la 4 00052 3521 20 epp2 pr4|42,* hcs_$set_bc_seg 003106 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 350 dump_segment = dump_segment + 1; 003107 aa 6 00504 0541 00 aos pr6|324 dump_segment STATEMENT 1 ON LINE 351 dump_segment_name = dump_name || ltrim (character (dump_segment)) || "." || ltrim (character (dump_number)); 003110 aa 000 100 301 500 btd (pr),(pr) 003111 aa 6 00303 00 0004 desc9a pr6|195,4 dump_number 003112 aa 6 07404 01 0010 desc9ls pr6|3844,8,0 003113 aa 100 004 024 500 mvne (pr),(ic),(pr) 003114 aa 6 07404 01 0010 desc9ls pr6|3844,8,0 003115 aa 000223 00 0006 desc9a 147,6 003336 = 403040022146 003116 aa 6 07370 00 0012 desc9a pr6|3832,10 003117 aa 000 000 164 500 tct (pr) 003120 aa 6 07370 00 0012 desc9a pr6|3832,10 003121 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 003122 aa 6 00056 0001 00 arg pr6|46 003123 aa 6 00056 2361 00 ldq pr6|46 003124 aa 0 00242 3761 00 anq pr0|162 = 000777777777 003125 aa 6 07366 7561 00 stq pr6|3830 003126 aa 000012 2360 07 ldq 10,dl 003127 aa 6 07366 1761 00 sbq pr6|3830 003130 aa 000 100 301 500 btd (pr),(pr) 003131 aa 6 00504 00 0004 desc9a pr6|324,4 dump_segment 003132 aa 6 07404 01 0010 desc9ls pr6|3844,8,0 003133 aa 100 004 024 500 mvne (pr),(ic),(pr) 003134 aa 6 07404 01 0010 desc9ls pr6|3844,8,0 003135 aa 000203 00 0006 desc9a 131,6 003336 = 403040022146 003136 aa 6 07374 00 0012 desc9a pr6|3836,10 003137 aa 6 07373 7561 00 stq pr6|3835 003140 aa 000 000 164 500 tct (pr) 003141 aa 6 07374 00 0012 desc9a pr6|3836,10 003142 aa 0 76605 0001 00 arg pr0|-635 = 777777777777 003143 aa 6 00056 0001 00 arg pr6|46 003144 aa 6 00056 2361 00 ldq pr6|46 003145 aa 0 00242 3761 00 anq pr0|162 = 000777777777 003146 aa 6 07367 7561 00 stq pr6|3831 003147 aa 000012 2360 07 ldq 10,dl 003150 aa 6 07367 1761 00 sbq pr6|3831 003151 aa 6 07406 7561 00 stq pr6|3846 003152 aa 000014 0760 07 adq 12,dl 003153 aa 0 00551 7001 00 tsx0 pr0|361 alloc_cs 003154 aa 040 100 100 500 mlr (pr),(pr),fill(040) 003155 aa 6 00300 00 0014 desc9a pr6|192,12 dump_name 003156 aa 2 00000 00 0014 desc9a pr2|0,12 003157 aa 6 07367 2351 00 lda pr6|3831 003160 aa 6 07407 7561 00 stq pr6|3847 003161 aa 6 07406 2361 00 ldq pr6|3846 003162 aa 040 140 100 545 mlr (pr,rl,al),(pr,rl),fill(040) 003163 aa 6 07374 00 0006 desc9a pr6|3836,ql 003164 aa 2 00003 00 0006 desc9a pr2|3,ql 003165 aa 6 07407 2361 00 ldq pr6|3847 003166 aa 000001 0760 07 adq 1,dl 003167 aa 6 07367 7561 00 stq pr6|3831 003170 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 003171 aa 6 07407 2351 00 lda pr6|3847 003172 aa 040 105 100 404 mlr (ic),(pr,al),fill(040) 003173 aa 000150 00 0001 desc9a 104,1 003342 = 056000000000 003174 aa 2 00000 00 0001 desc9a pr2|0,1 003175 aa 6 07367 2361 00 ldq pr6|3831 003176 aa 6 07373 0761 00 adq pr6|3835 003177 aa 6 07407 7561 00 stq pr6|3847 003200 aa 0 00606 7001 00 tsx0 pr0|390 cat_realloc_cs 003201 aa 6 07367 2351 00 lda pr6|3831 003202 aa 6 07366 2361 00 ldq pr6|3830 003203 aa 6 07370 3735 00 epp7 pr6|3832 003204 aa 7 00000 5005 06 a9bd pr7|0,ql 003205 aa 6 07373 2361 00 ldq pr6|3835 003206 aa 040 145 100 540 mlr (pr,rl),(pr,rl,al),fill(040) 003207 aa 7 00000 00 0006 desc9a pr7|0,ql 003210 aa 2 00000 00 0006 desc9a pr2|0,ql 003211 aa 6 07407 2351 00 lda pr6|3847 003212 aa 040 100 100 540 mlr (pr,rl),(pr),fill(040) 003213 aa 2 00000 00 0005 desc9a pr2|0,al 003214 aa 6 00505 00 0040 desc9a pr6|325,32 dump_segment_name STATEMENT 1 ON LINE 352 call hcs_$make_seg (dump_dir, dump_segment_name, "", 10, dump_seg_ptrs (dump_segment), code); 003215 aa 0 01014 7001 00 tsx0 pr0|524 shorten_stack 003216 aa 000012 2360 07 ldq 10,dl 003217 aa 6 07367 7561 00 stq pr6|3831 003220 aa 6 00504 2361 00 ldq pr6|324 dump_segment 003221 aa 000001 7360 00 qls 1 003222 aa 6 00226 3521 00 epp2 pr6|150 dump_dir 003223 aa 6 07412 2521 00 spri2 pr6|3850 003224 aa 6 00505 3521 00 epp2 pr6|325 dump_segment_name 003225 aa 6 07414 2521 00 spri2 pr6|3852 003226 aa 6 07407 3521 00 epp2 pr6|3847 003227 aa 6 07416 2521 00 spri2 pr6|3854 003230 aa 6 07367 3521 00 epp2 pr6|3831 003231 aa 6 07420 2521 00 spri2 pr6|3856 003232 aa 6 00304 3521 06 epp2 pr6|196,ql dump_seg_ptrs 003233 aa 6 07422 2521 00 spri2 pr6|3858 003234 aa 6 00212 3521 00 epp2 pr6|138 code 003235 aa 6 07424 2521 00 spri2 pr6|3860 003236 aa 774571 3520 04 epp2 -1671,ic 000027 = 526000000250 003237 aa 6 07426 2521 00 spri2 pr6|3862 003240 aa 774566 3520 04 epp2 -1674,ic 000026 = 526000000040 003241 aa 6 07430 2521 00 spri2 pr6|3864 003242 aa 774545 3520 04 epp2 -1691,ic 000007 = 524000000000 003243 aa 6 07432 2521 00 spri2 pr6|3866 003244 aa 774555 3520 04 epp2 -1683,ic 000021 = 404000000005 003245 aa 6 07434 2521 00 spri2 pr6|3868 003246 aa 774572 3520 04 epp2 -1670,ic 000040 = 464000000000 003247 aa 6 07436 2521 00 spri2 pr6|3870 003250 aa 774572 3520 04 epp2 -1670,ic 000042 = 404000000043 003251 aa 6 07440 2521 00 spri2 pr6|3872 003252 aa 6 07410 6211 00 eax1 pr6|3848 003253 aa 030000 4310 07 fld 12288,dl 003254 aa 6 00044 3701 20 epp4 pr6|36,* 003255 la 4 00050 3521 20 epp2 pr4|40,* hcs_$make_seg 003256 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 353 if dump_seg_ptrs (dump_segment) = null then do; 003257 aa 6 00504 2361 00 ldq pr6|324 dump_segment 003260 aa 000001 7360 00 qls 1 003261 aa 6 00304 2371 06 ldaq pr6|196,ql dump_seg_ptrs 003262 aa 774566 6770 04 eraq -1674,ic 000050 = 077777000043 000001000000 003263 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 003264 aa 000023 6010 04 tnz 19,ic 003307 STATEMENT 1 ON LINE 354 call com_err_ (code, me, dump_segment_name); 003265 aa 6 00212 3521 00 epp2 pr6|138 code 003266 aa 6 07412 2521 00 spri2 pr6|3850 003267 aa 774511 3520 04 epp2 -1719,ic 000000 = 162145141144 003270 aa 6 07414 2521 00 spri2 pr6|3852 003271 aa 6 00505 3521 00 epp2 pr6|325 dump_segment_name 003272 aa 6 07416 2521 00 spri2 pr6|3854 003273 aa 774547 3520 04 epp2 -1689,ic 000042 = 404000000043 003274 aa 6 07420 2521 00 spri2 pr6|3856 003275 aa 774542 3520 04 epp2 -1694,ic 000037 = 526000000024 003276 aa 6 07422 2521 00 spri2 pr6|3858 003277 aa 774527 3520 04 epp2 -1705,ic 000026 = 526000000040 003300 aa 6 07424 2521 00 spri2 pr6|3860 003301 aa 6 07410 6211 00 eax1 pr6|3848 003302 aa 014000 4310 07 fld 6144,dl 003303 aa 6 00044 3701 20 epp4 pr6|36,* 003304 la 4 00014 3521 20 epp2 pr4|12,* com_err_ 003305 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 355 go to abort; 003306 aa 777425 7100 04 tra -235,ic 002733 STATEMENT 1 ON LINE 356 end; STATEMENT 1 ON LINE 357 end; STATEMENT 1 ON LINE 358 current_dump_record = current_dump_record + 1; 003307 aa 6 00213 0541 00 aos pr6|139 current_dump_record STATEMENT 1 ON LINE 359 return (addrel (dump_seg_ptrs (dump_segment), mod (current_dump_record - 1, 255) * 1024)); 003310 aa 6 00504 2361 00 ldq pr6|324 dump_segment 003311 aa 000001 7360 00 qls 1 003312 aa 000000 6270 06 eax7 0,ql 003313 aa 6 00213 2361 00 ldq pr6|139 current_dump_record 003314 aa 000001 1760 07 sbq 1,dl 003315 aa 000024 3520 04 epp2 20,ic 003341 = 000000000377 003316 aa 0 00704 7001 00 tsx0 pr0|452 mod_fx1 003317 aa 000012 7360 00 qls 10 003320 aa 6 00304 3515 37 epp1 pr6|196,7* dump_seg_ptrs 003321 aa 1 00000 5075 06 awd pr1|0,ql 003322 aa 6 07240 3735 20 epp7 pr6|3744,* 003323 aa 7 00002 2515 20 spri1 pr7|2,* 003324 aa 6 07236 6101 00 rtcd pr6|3742 STATEMENT 1 ON LINE 360 end; END PROCEDURE get_put END PROCEDURE redt ----------------------------------------------------------- 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