COMPILATION LISTING OF SEGMENT cobol_unstring Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 05/24/89 0952.3 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 17* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 18* MCR8060 cobol_unstring.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 03/26/76 by ORN to MOVE only _o_n_e character of a DELIMITED BY figcon into DELIMITER IN field. */ 23 24 /* Modified on 03/17/76 by ORN to allow unstringing into non-separate sign numeric data fields 25* by utilizing the new cobol_addr variable length encodement in the seg field of the type 9 token */ 26 /* format: style3 */ 27 cobol_unstring: 28 proc (uptr, rwtp); 29 30 dcl uptr ptr; 31 dcl rwtp ptr; 32 33 dcl 1 u based (uptr), 34 2 n fixed bin, 35 2 tag fixed bin, 36 2 stp ptr, /* pts to sending token */ 37 2 dptr ptr, /* pts to d struct - may be null */ 38 2 ptp ptr, /* pts to pointer token - may be null */ 39 2 ttp ptr, /* pts to tallying token - may be null */ 40 2 unstr (256), 41 3 rtp ptr, /* pts to receiving token(i) */ 42 3 dtp ptr, /* pts to delimiter token(i) - may be null */ 43 3 ctp ptr; /* pts to count token(i) - may be null */ 44 dcl 1 d based (u.dptr), 45 2 n fixed bin, 46 2 all_cnt fixed bin, /* number of entries with ALL */ 47 2 delimiter (256), 48 3 dtp ptr, /* pts to delimited token */ 49 3 allsw fixed bin; /* 1 means ALL precedes delimiter */ 50 51 dcl text (0:10000) bit (36) based (cobol_$text_base_ptr); 52 53 dcl tra_instr bit (36) static init ("000000000000000000111001000000000100"b); 54 /* tra -,ic */ 55 dcl epp2_instr bit (36) static init ("110000000000000000011101010001000000"b); 56 /* epp2 pr6|- */ 57 dcl spri2_instr bit (36) static init ("110000000000000000010101010001000000"b); 58 /* spri2 pr6|- */ 59 dcl bump_tally_instr bit (36) static init ("110000000000110001000101100001000000"b); 60 /* aos pr6|61 (tally) */ 61 dcl all_loop1_instr (7) bit (36) static init ("110000000000111010111100010001000000"b, 62 /* stx2 pr6|72 */ 63 "000000000000000000110011101000001010"b, 64 /* eaa 0,2 */ 65 "000000000000010010111111001000000000"b, 66 /* arl 22 */ 67 "110000000000111001000111101001000000"b, 68 /* ada pr6|71 */ 69 "000000000000000000110010010000000101"b, 70 /* eax2 0,al */ 71 "110000000000110111001001101001000000"b, 72 /* cmpa pr6|67 */ 73 "000000000000000101110000101100000100"b); 74 /* tpnz 5,ic */ 75 dcl all_loop2_instr (7) bit (36) static init ("111111111111111001110000000000000100"b, 76 /* tze -7,ic */ 77 "110000000000111010010010010001000000"b, 78 /* ldx2 pr6|72 */ 79 "110000000000111010111100001001000000"b, 80 /* stx1 pr6|72 */ 81 "110000000000111010001100010001000000"b, 82 /* ssx2 pr6|72 */ 83 "110000000000111010010010011001000000"b, 84 /* ldx3 pr6|72 */ 85 "110000000000111001001111101001000000"b, 86 /* sba pr6|71 */ 87 "000000000000000000110010010000000101"b); 88 /* eax2 0,al */ 89 dcl init_x2_instr (3) bit (36) static init ("000000000000000000110010010000001001"b, 90 /* eax2 0,1 */ 91 "110000000000111011100101000001000000"b, 92 /* stz pr6|73 */ 93 "000000000000000000111001000000000100"b); 94 /* tra 0,ic */ 95 dcl check_x2_instr (2) bit (36) static init ("110000000000111101001000010001000000"b, 96 /* cmpx2 pr6|75 */ 97 "000000000000000000110000100000000100"b); 98 /* tmi 0,ic */ 99 dcl check_new_x1_instr (9) bit (36) static init ("000000000000000000110011101000001010"b, 100 /* eaa 0,2 */ 101 "000000000000010010111111001000000000"b, 102 /* arl 22 */ 103 "110000000000111001000111101001000000"b, 104 /* ada pr6|71 */ 105 "110000000000110000111101101001000000"b, 106 /* sta pr6|60 */ 107 "000000000000000000110010001000000101"b, 108 /* eax1 0,al */ 109 "110000000000111101001000001001000000"b, 110 /* cmpx1 pr6|75 */ 111 "000000000000000000110000101000000100"b, 112 /* tpl 0,ic */ 113 "000000000000000000110010010000001001"b, 114 /* eax2 0,x1 */ 115 "000000000000000000111001000000000100"b); 116 /* tra 0,ic */ 117 dcl check_del_instr (5) bit (36) static init ("000000000000000000110010011000000101"b, 118 /* eax3 0,al */ 119 "110000000000111011100100010001000000"b, 120 /* sxl2 pr6|73 */ 121 "110000000000111011000111101001000000"b, 122 /* ada pr6|73 */ 123 "110000000000110111001001101001000000"b, 124 /* cmpa pr6|67 */ 125 "000000000000000000110000101100000100"b); 126 /* tpnz 0,ic */ 127 dcl comp_del_instr (4) bit (36) static init ("000000000000000000001000110100000000"b, 128 /* cmpc (EIS) */ 129 "000000000000000000000000000000001011"b, 130 /* (EIS desc.) */ 131 "001000000000000000000000000000001011"b, 132 /* (EIS desc.) */ 133 "000000000000000000110000001000000100"b); 134 /* tnz 0,ic */ 135 dcl set_x3_instr (3) bit (36) static init ("110000000000111010111100001001000000"b, 136 /* stx1 pr6|72 */ 137 "110000000000111010001100010001000000"b, 138 /* ssx2 pr6|72 */ 139 "110000000000111010010010011001000000"b); 140 /* ldx3 pr6|72 */ 141 dcl bump_x2_instr (2) bit (36) static init ("000000000000000001000110010000000011"b, 142 /* adx2 1,du */ 143 "000000000000000000111001000000000100"b); 144 /* tra 0,ic */ 145 dcl bump_x1_instr (5) bit (36) static init ("110000000000111010111100011001000000"b, 146 /* stx3 pr6|72 */ 147 "110000000000111010000110001001000000"b, 148 /* adx1 pr6|72 */ 149 "110000000000110000100100001001000000"b, 150 /* sxl1 pr6|60 */ 151 "110000000000111101001000001001000000"b, 152 /* cmpx1 pr6|75 */ 153 "000000000000000000110000101000000100"b); 154 /* tpl 0,ic */ 155 dcl save_send_len_instr (2) bit (36) static init ("000000000000000000110010010000000101"b, 156 /* eax2 0,al */ 157 "110000000000111101111100010001000000"b); 158 /* stx2 pr6|75 */ 159 dcl set_pointer_instr (6) bit (36) static init ("110000000000111101001000001001000000"b, 160 /* cmpx1 pr6|75 */ 161 "000000000000000010110000100100000100"b, 162 /* tmoz 2,ic */ 163 "110000000000111101010010001001000000"b, 164 /* ldx1 pr6|75 */ 165 "000000000000000001000110001000000011"b, 166 /* adx1 1,du */ 167 "110000000000110000100100001001000000"b, 168 /* sxl1 pr6|60 */ 169 "000000000000000001001110001000000011"b); 170 /* sbx1 1,du */ 171 dcl set_count_instr (3) bit (36) static init ("000000000000000000110011101000001011"b, 172 /* eaa 0,3 */ 173 "000000000000010010111111001000000000"b, 174 /* arl 22 */ 175 "110000000000111011111101101001000000"b); 176 /* sta pr6|73 (temp) */ 177 dcl adjust_length_instr (8) bit (36) static init ("000000000000000000110010011000000101"b, 178 /* eax3 0,al */ 179 "110000000000110000000111101001000000"b, 180 /* ada pr6|60 (ptr) */ 181 "110000000000110111001001101001000000"b, 182 /* cmpa pr6|67 (slen) */ 183 "000000000000000101110000100100000100"b, 184 /* tmoz 5,ic (OK) */ 185 "110000000000110111001111101001000000"b, 186 /* sba pr6|67 (slen) */ 187 "000000000000010010111011101000000000"b, 188 /* als 22 */ 189 "110000000000111010111101101001000000"b, 190 /* sta pr6|72 (utemp) */ 191 "110000000000111010001110011001000000"b); 192 /* sbx3 pr6|72 (utemp) */ 193 dcl bypass_ovfl_instr (2) bit (36) static init ("110000000000111101001000001001000000"b, 194 /* cmpx1 pr6|75 */ 195 "000000000000000000110000101000000100"b); 196 /* tpl 0,ic */ 197 dcl adjust_and_test_x1_instr 198 (6) bit (36) static init ("110000000000110000111010001001000000"b, 199 /* lxl1 pr6|60 (ptr) */ 200 "000000000000000001001110001000000011"b, 201 /* sbx1 1,du (create offset) */ 202 "000000000000000000110000100000000100"b, 203 /* tmi [end_tag],ic (out of range) */ 204 "110000000000110000001001101001000000"b, 205 /* cmpa pr6|60 (ptr) */ 206 "000000000000000000110000100000000100"b, 207 /* tmi [end_tag],ic (out of range) */ 208 "110000000000110000100100001001000000"b); 209 /* sxl1 pr6|60 (ptr) */ 210 dcl zero_x1_instr (2) bit (36) static init ("000000000000000000110010001000000000"b, 211 /* eax1 0 */ 212 "110000000000110000100101000001000000"b); 213 /* stz pr6|60 (ptr) */ 214 215 dcl 1 mpout auto, 216 2 n fixed bin, 217 2 pt1 ptr, 218 2 pt2 ptr, 219 2 pt3 ptr, 220 2 pt4 ptr; 221 dcl 1 addr_struct static, 222 2 type fixed bin init (4), 223 2 operand_no fixed bin init (2), 224 2 lock fixed bin init (0), 225 2 op1, 226 3 tptr ptr, 227 3 sr fixed bin init (0), 228 3 ic_mod fixed bin, 229 3 size_sw fixed bin init (1), 230 2 op2, 231 3 tptr ptr, 232 3 sr fixed bin init (0), 233 3 ic_mod fixed bin, 234 3 size_sw fixed bin init (0); 235 dcl 1 pr_struct static, 236 2 pr fixed bin, 237 2 pointer_no bit (3), 238 2 lock fixed bin init (1), 239 2 switch fixed bin init (0), 240 2 segno fixed bin, 241 2 offset fixed bin, 242 2 reset fixed bin; 243 dcl 1 reg_struct static, 244 2 what_reg fixed bin, 245 2 reg_no bit (4), 246 2 lock fixed bin init (1), 247 2 already_there fixed bin, 248 2 contains fixed bin init (0), 249 2 pointer ptr init (null ()), 250 2 literal bit (36) init (""b); 251 252 /* scratch pad use 253* 60 ptr 254* 61 tally 255* 62 paddr 256* 64 taddr 257* 67 slen 258* 71 dlen 259* 72 utemp 260* 73 temp 261* 75 uslen */ 262 dcl ptr_off fixed bin static init (48); 263 dcl ptr_offx4 fixed bin static init (192); 264 dcl paddr_off fixed bin static init (50); 265 dcl tally_offx4 fixed bin static init (196); 266 dcl count_offx4 fixed bin static init (236); 267 dcl taddr_off fixed bin static init (52); 268 dcl slen_off fixed bin static init (55); 269 dcl dlen_off fixed bin static init (57); 270 271 dcl 1 alpha_type9 static, 272 2 header (4) fixed bin init (112, 0, 0, 9), 273 2 repl_ptr (2) ptr init ((2) null ()), 274 2 fill1 bit (108) init (""b), 275 2 file_key_info, 276 3 fb1 (3) fixed bin init (0, 0, 0), 277 3 size fixed bin init (40), 278 3 fb2 (2) fixed bin init (0, 0), 279 3 flags1 bit (36) init ("010000100100000000010000000100000000"b), 280 3 flags2 bit (36) init (""b), 281 3 seg fixed bin init (11161), /* PR1 with offset X1 and length in X3 (010 1011 1001 1001) */ 282 /*-03/17/76-*/ 283 3 off fixed bin init (0), 284 2 fill2 (7) fixed bin init (0, 0, 0, 0, 0, 0, 0); 285 dcl 1 zero_type2 static, 286 2 size fixed bin init (37), 287 2 line fixed bin init (0), 288 2 column fixed bin init (0), 289 2 type fixed bin init (2), 290 2 integral bit (1) init ("1"b), 291 2 floating bit (1) init ("0"b), 292 2 filler1 bit (5) init (""b), 293 2 subscript bit (1) init ("0"b), 294 2 sign char (1) init (" "), 295 2 exp_sign char (1) init (" "), 296 2 exp_places fixed bin init (0), 297 2 places_left fixed bin init (1), 298 2 places_right fixed bin init (0), 299 2 places fixed bin init (1), 300 2 literal char (1) init ("0"); 301 dcl 1 blank_type3 static, 302 2 size fixed bin init (25), 303 2 line fixed bin init (0), 304 2 column fixed bin init (0), 305 2 type fixed bin init (3), 306 2 lit_type bit (1) init ("0"b), 307 2 all_lit bit (1) init ("1"b), 308 2 filler1 bit (6) init (""b), 309 2 lit_size fixed bin init (1), 310 2 string char (1) init (" "); 311 dcl type9_chars char (112) based (addr (type9)); 312 dcl 1 type3 auto, 313 2 alignment ptr, /* so as to double-word align the space */ 314 2 rest char (26); 315 dcl 1 type9 auto, 316 2 header (4) fixed bin, 317 2 repl_ptr (2) ptr, 318 2 fill1 bit (108), 319 2 fb1 (3) fixed bin, 320 2 size fixed bin, 321 2 fb2 (2) fixed bin, 322 2 flags bit (72), 323 2 seg fixed bin, 324 2 offset fixed bin, 325 2 rest char (28); 326 dcl 1 move_eos static, 327 2 size fixed bin init (38), 328 2 line fixed bin init (0), 329 2 column fixed bin init (0), 330 2 type fixed bin init (19), 331 2 verb fixed bin init (18), 332 2 e fixed bin init (1), 333 2 h fixed bin init (0), 334 2 i fixed bin init (0), 335 2 j fixed bin init (0), 336 2 a bit (3) init (""b), 337 2 b bit (1) init (""b), 338 2 c bit (1) init (""b), 339 2 d bit (2) init (""b), 340 2 f bit (2) init (""b), 341 2 g bit (2) init (""b), 342 2 k bit (5) init (""b); 343 344 dcl end_tag fixed bin; 345 dcl ovfl_tag fixed bin; 346 dcl nextdel_tag fixed bin; 347 dcl delfound_tag fixed bin; 348 dcl nextpos_tag fixed bin; 349 dcl nextrt_tag fixed bin; 350 351 dcl (i, j) fixed bin; 352 dcl ic fixed bin; 353 dcl temp fixed bin; 354 355 dcl psub bit (1); 356 dcl tsub bit (1); 357 dcl lit bit (18); 358 359 dcl dn_ptr ptr; 360 dcl pr_struct_ptr ptr; 361 362 dcl cobol_move_gen entry (ptr); 363 dcl cobol_addr entry (ptr, ptr, ptr); 364 dcl cobol_emit entry (ptr, ptr, fixed bin); 365 dcl cobol_get_size entry (ptr, fixed bin, fixed bin); 366 dcl cobol_get_size$omit_sign 367 entry (ptr, fixed bin, fixed bin); 368 dcl cobol_set_pr entry (ptr, ptr); 369 dcl cobol_make_type9$type2_3 370 entry (ptr, ptr); 371 dcl cobol_make_type3$type1 372 entry (ptr, ptr); 373 dcl cobol_io_util$t9dec_to_bin 374 entry (bit (3) aligned, fixed bin, ptr); 375 dcl cobol_io_util$bin_to_t9dec 376 entry (bit (3) aligned, fixed bin, ptr); 377 dcl cobol_reset_r$in_line 378 entry; 379 dcl cobol_register$load entry (ptr); 380 dcl cobol_$register$load 381 entry (ptr); 382 dcl cobol_make_tagref entry (fixed bin, fixed bin, ptr); 383 dcl cobol_define_tag_nc entry (fixed bin, fixed bin); 384 385 386 /*************************************/ 387 start: 388 mpout.n = 4; 389 mpout.pt1 = rwtp; 390 mpout.pt4 = addr (move_eos); 391 do reg_struct.what_reg = 1, 11, 12, 13; /* lock A, X1, X2 and X3 */ 392 call cobol_register$load (addr (reg_struct)); 393 end; 394 end_tag = cobol_$next_tag; 395 ovfl_tag = end_tag + 1; 396 cobol_$next_tag = cobol_$next_tag + 2; 397 398 /* SET PR1 TO PT TO SENDING ITEM */ 399 pr_struct_ptr = addr (pr_struct); 400 pr_struct.pr = 1; 401 call cobol_set_pr (pr_struct_ptr, u.stp); 402 403 /* ESTABLISH SIZE OF SENDING ITEM */ 404 call cobol_get_size (u.stp, slen_off, 0); 405 call cobol_emit (addr (save_send_len_instr), null (), 2); 406 407 /* ESTABLISH TALLY (if specified) */ 408 if u.ttp ^= null () 409 then do; 410 dn_ptr = u.ttp; 411 if ^data_name.subscripted 412 then tsub = "0"b; 413 else do; 414 tsub = "1"b; 415 pr_struct.pr = 2; 416 call cobol_set_pr (pr_struct_ptr, u.ttp); 417 substr (spri2_instr, 4, 15) = substr (unspec (taddr_off), 22, 15); 418 call cobol_emit (addr (spri2_instr), null (), 1); 419 type9_chars = dn_ptr -> type9_chars; 420 type9.seg = 5002; /* pointed to by PR2 */ 421 dn_ptr = addr (type9); 422 end; 423 call cobol_io_util$t9dec_to_bin ("110"b, tally_offx4, dn_ptr); 424 end; 425 426 /* INITIALIZE X1 (indexes sending item) */ 427 if u.ptp = null () 428 then call cobol_emit (addr (zero_x1_instr), null (), 2); 429 else do; 430 dn_ptr = u.ptp; 431 if ^data_name.subscripted 432 then psub = "0"b; 433 else do; 434 psub = "1"b; 435 pr_struct.pr = 2; 436 call cobol_set_pr (pr_struct_ptr, u.ptp); 437 substr (spri2_instr, 4, 15) = substr (unspec (paddr_off), 22, 15); 438 call cobol_emit (addr (spri2_instr), null (), 1); 439 type9_chars = dn_ptr -> type9_chars; 440 type9.seg = 5002; /* pointed to by PR2 */ 441 dn_ptr = addr (type9); 442 end; 443 call cobol_io_util$t9dec_to_bin ("110"b, ptr_offx4, dn_ptr); 444 call cobol_emit (addr (adjust_and_test_x1_instr), null (), 6); 445 call cobol_make_tagref (ovfl_tag, cobol_$text_wd_off - 4, null ()); 446 call cobol_make_tagref (ovfl_tag, cobol_$text_wd_off - 2, null ()); 447 end; 448 449 /* MAIN LOOP */ 450 if u.dptr = null () 451 then do i = 1 to u.n; /* no delimiters specified */ 452 call cobol_get_size$omit_sign (u.rtp (i), 0, 0); 453 call cobol_emit (addr (adjust_length_instr), null (), 8); 454 mpout.pt2 = addr (alpha_type9); 455 mpout.pt3 = rtp (i); 456 call cobol_move_gen (addr (mpout)); 457 if u.ttp ^= null () 458 then call cobol_emit (addr (bump_tally_instr), null (), 1); 459 if u.ctp (i) ^= null () 460 then do; 461 call cobol_emit (addr (set_count_instr), null (), 3); 462 call cobol_io_util$bin_to_t9dec ("110"b, count_offx4, u.ctp (i)); 463 end; 464 if u.dtp (i) ^= null () 465 then do; 466 if u.dtp (i) -> data_name.numeric 467 then mpout.pt2 = addr (zero_type2); 468 else mpout.pt2 = addr (blank_type3); 469 mpout.pt3 = u.dtp (i); 470 call cobol_move_gen (addr (mpout)); 471 end; 472 if i = u.n 473 then do; /* may be able to avoid for last time */ 474 if u.tag > 0 475 then temp = 5; 476 else if u.ptp ^= null () 477 then temp = 2; 478 else temp = 0; 479 end; 480 else temp = 5; 481 if temp > 0 482 then do; 483 call cobol_emit (addr (bump_x1_instr), null (), temp); 484 if temp = 5 485 then call cobol_make_tagref (end_tag, cobol_$text_wd_off - 1, null ()); 486 end; 487 end; 488 489 else do; /* delimiter(s) specified */ 490 nextdel_tag = cobol_$next_tag; 491 cobol_$next_tag = cobol_$next_tag + 1; 492 call cobol_emit (addr (init_x2_instr), null (), 3); 493 call cobol_make_tagref (nextdel_tag, cobol_$text_wd_off - 1, null ()); 494 do i = 1 to u.n; 495 if i > 1 496 then call cobol_define_tag_nc (nextrt_tag, cobol_$text_wd_off); 497 if u.n > 1 498 then do; 499 call cobol_emit (addr (check_new_x1_instr), null (), 9); 500 call cobol_make_tagref (end_tag, cobol_$text_wd_off - 3, null ()); 501 call cobol_make_tagref (nextdel_tag, cobol_$text_wd_off - 1, null ()); 502 end; 503 nextpos_tag = cobol_$next_tag; 504 cobol_$next_tag = cobol_$next_tag + 1; 505 call cobol_define_tag_nc (nextpos_tag, cobol_$text_wd_off); 506 call cobol_emit (addr (check_x2_instr), null (), 2); 507 call cobol_make_tagref (nextdel_tag, cobol_$text_wd_off - 1, null ()); 508 /* NO MATCH FOUND */ 509 if u.dtp (i) ^= null () 510 then do; 511 if u.dtp (i) -> data_name.numeric 512 then mpout.pt2 = addr (zero_type2); 513 else mpout.pt2 = addr (blank_type3); 514 mpout.pt3 = u.dtp (i); 515 call cobol_move_gen (addr (mpout)); 516 end; /* MOVE */ 517 call cobol_emit (addr (set_x3_instr), null (), 3); 518 delfound_tag = cobol_$next_tag; 519 cobol_$next_tag = cobol_$next_tag + 1; 520 call cobol_define_tag_nc (delfound_tag, cobol_$text_wd_off); 521 mpout.pt2 = addr (alpha_type9); 522 mpout.pt3 = u.rtp (i); 523 call cobol_move_gen (addr (mpout)); 524 if u.ttp ^= null () 525 then call cobol_emit (addr (bump_tally_instr), null (), 1); 526 if u.ctp (i) ^= null () 527 then do; 528 call cobol_emit (addr (set_count_instr), null (), 3); 529 call cobol_io_util$bin_to_t9dec ("110"b, count_offx4, u.ctp (i)); 530 end; 531 call cobol_emit (addr (tra_instr), null (), 1); 532 nextrt_tag = cobol_$next_tag; 533 cobol_$next_tag = cobol_$next_tag + 1; 534 call cobol_make_tagref (nextrt_tag, cobol_$text_wd_off - 1, null ()); 535 do j = 1 to d.n; 536 call cobol_define_tag_nc (nextdel_tag, cobol_$text_wd_off); 537 nextdel_tag = cobol_$next_tag; 538 cobol_$next_tag = cobol_$next_tag + 1; 539 dn_ptr = d.dtp (j); 540 if data_name.type = 1 541 then do; 542 dn_ptr = addr (type3); 543 call cobol_make_type3$type1 (dn_ptr, d.dtp (j)); 544 end; 545 if data_name.type = 2 | data_name.type = 3 546 then do; 547 addr_struct.op1.tptr = addr (type9); 548 call cobol_make_type9$type2_3 (addr_struct.op1.tptr, dn_ptr); 549 end; 550 else addr_struct.op1.tptr = d.dtp (j); 551 addr_struct.op2.tptr = null (); 552 call cobol_get_size (addr_struct.op1.tptr, dlen_off, 0); 553 call cobol_emit (addr (check_del_instr), null (), 5); 554 call cobol_make_tagref (nextdel_tag, cobol_$text_wd_off - 1, null ()); 555 addr_struct.op1.ic_mod = 0; 556 call cobol_addr (addr (addr_struct), addr (comp_del_instr), null ()); 557 substr (comp_del_instr (1), 31, 1) = "1"b; 558 /* len in register */ 559 substr (comp_del_instr (1), 12, 7) = "1101010"b; 560 /* pr,rl,x2 */ 561 call cobol_emit (addr (comp_del_instr), null (), 4); 562 call cobol_make_tagref (nextdel_tag, cobol_$text_wd_off - 1, null ()); 563 if u.dtp (i) ^= null () 564 then do; 565 mpout.pt2 = addr_struct.op1.tptr; 566 /* type 9 token for this delimiter */ 567 /*-03/26/76-*/ 568 mpout.pt3 = u.dtp (i); 569 call cobol_move_gen (addr (mpout)); 570 end; 571 if d.allsw (j) = 0 572 then call cobol_emit (addr (set_x3_instr), null (), 3); 573 else do; /* ALL specified */ 574 call cobol_emit (addr (all_loop1_instr), null (), 7); 575 if addr_struct.op1.ic_mod ^= 0 576 then call cobol_addr (addr (addr_struct), addr (comp_del_instr), null ()); 577 call cobol_emit (addr (comp_del_instr), null (), 3); 578 call cobol_emit (addr (all_loop2_instr), null (), 7); 579 end; 580 call cobol_emit (addr (tra_instr), null (), 1); 581 call cobol_make_tagref (delfound_tag, cobol_$text_wd_off - 1, null ()); 582 if j = d.n 583 then do; /* last time - provide exit via nextdel_tag */ 584 call cobol_define_tag_nc (nextdel_tag, cobol_$text_wd_off); 585 nextdel_tag = cobol_$next_tag; 586 cobol_$next_tag = cobol_$next_tag + 1; 587 call cobol_emit (addr (bump_x2_instr), null (), 2); 588 call cobol_make_tagref (nextpos_tag, cobol_$text_wd_off - 1, null ()); 589 end; 590 end; 591 if i = u.n 592 then do; /* last time - provide exit via nextrt_tag */ 593 call cobol_define_tag_nc (nextrt_tag, cobol_$text_wd_off); 594 if u.ptp ^= null () | u.tag > 0 595 then call cobol_emit (addr (check_new_x1_instr), null (), 5); 596 end; 597 end; 598 end; 599 600 call cobol_define_tag_nc (end_tag, cobol_$text_wd_off); 601 602 603 /* SET TALLY */ 604 if u.ttp ^= null () 605 then do; 606 dn_ptr = u.ttp; 607 if tsub 608 then do; 609 substr (epp2_instr, 4, 15) = substr (unspec (taddr_off), 22, 15); 610 call cobol_emit (addr (epp2_instr), null (), 1); 611 type9_chars = dn_ptr -> type9_chars; 612 dn_ptr = addr (type9); 613 end; 614 call cobol_io_util$bin_to_t9dec ("110"b, tally_offx4, dn_ptr); 615 end; 616 617 /* SET POINTER */ 618 if u.ptp ^= null () 619 then do; 620 dn_ptr = u.ptp; 621 if psub 622 then do; 623 substr (epp2_instr, 4, 15) = substr (unspec (paddr_off), 22, 15); 624 call cobol_emit (addr (epp2_instr), null (), 1); 625 type9_chars = dn_ptr -> type9_chars; 626 type9.seg = 5002; 627 dn_ptr = addr (type9); 628 end; 629 if tag > 0 630 then temp = 6; /* must check x1 for overflow */ 631 else temp = 5; /* forget it */ 632 call cobol_emit (addr (set_pointer_instr), null (), temp); 633 call cobol_io_util$bin_to_t9dec ("110"b, ptr_offx4, u.ptp); 634 end; 635 636 /* CHECK FOR OVERFLOW */ 637 if u.tag > 0 638 then do; 639 call cobol_emit (addr (bypass_ovfl_instr), null (), 2); 640 call cobol_make_tagref (tag, cobol_$text_wd_off - 1, null ()); 641 end; 642 call cobol_define_tag_nc (ovfl_tag, cobol_$text_wd_off); 643 644 call cobol_reset_r$in_line; 645 return; 646 647 /*************************************/ 648 649 /***** Declaration for builtin function *****/ 650 651 dcl (substr, mod, binary, fixed, addr, addrel, rel, length, string, unspec, null, index) 652 builtin; 653 654 /***** End of declaration for builtin function *****/ 655 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_type1.incl.pl1 */ 1 3 /* Last modified on 11/19/76 by ORN */ 1 4 1 5 /* 1 6*A reserved word token is created in the minpral files for each occurrence 1 7*of a reserved word in the source program. The value of the key field 1 8*indicates the specific reserved word which a type 1 token represents. 1 9**/ 1 10 1 11 dcl rw_ptr ptr; 1 12 1 13 /* BEGIN DECLARATION OF TYPE1 (RESERVED WORD) TOKEN */ 1 14 dcl 1 reserved_word based (rw_ptr), 2 1 2 2 /* begin include file ... cobol_TYPE1.incl.pl1 */ 2 3 /* Last modified on 11/17/76 by ORN */ 2 4 /* Last modified on 12/28/76 by FCH */ 2 5 /* Last modified on 12/16/80 by FCH */ 2 6 2 7 /* header */ 2 8 2 size fixed bin, 2 9 2 line fixed bin, 2 10 2 column fixed bin, 2 11 2 type fixed bin, 2 12 /* body */ 2 13 2 key fixed bin, 2 14 /* procedure division class bits */ 2 15 2 verb bit (1), 2 16 2 arith_op bit (1), 2 17 2 figcon bit (1), 2 18 2 terminator bit (1), 2 19 2 end_dec bit (1), 2 20 2 rel_op bit (1), 2 21 2 imper_verb bit (1), 2 22 2 end_cobol bit (1), 2 23 /* data division class bits */ 2 24 2 section_header bit (1), 2 25 2 fs_ind bit (1), 2 26 2 fd_clause bit (1), 2 27 2 dd_clause bit (1), 2 28 2 cd_input bit (1), 2 29 2 cd_output bit (1), 2 30 2 cset_name bit (1), 2 31 2 ss_division bit (1), 2 32 2 repl_jump_ind bit (4), 2 33 2 ided_recovery bit (1), 2 34 2 report_writer bit (5), 2 35 2 ss_desc_entry bit (1), 2 36 2 jump_index fixed bin, 2 37 2 length fixed bin, 2 38 2 name char(0 refer(reserved_word.length)); 2 39 2 40 2 41 2 42 /* end include file ... cobol_TYPE1.incl.pl1 */ 2 43 1 15 1 16 /* END DECLARATION OF TYPE1 (RESERVED WORD) TOKEN */ 1 17 1 18 /* END INCLUDE FILE ... cobol_type1.incl.pl1 */ 1 19 656 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_type2.incl.pl1 */ 3 3 /* Last modified on 11/19/76 by ORN */ 3 4 3 5 /* 3 6*A type 2 numeric literal token is entered into the minpral file by the 3 7*lexical analysis phase for each numeric literal encountered in the source 3 8*program. 3 9**/ 3 10 3 11 dcl nlit_ptr ptr; 3 12 3 13 /* BEGIN DECLARATION OF TYPE2 (NUMERIC LITERAL) TOKEN */ 3 14 dcl 1 numeric_lit based (nlit_ptr), 4 1 4 2 /* begin include file ... cobol_TYPE2.incl.pl1 */ 4 3 /* Last modified on 12/28/76 by FCH */ 4 4 4 5 /* header */ 4 6 2 size fixed bin, 4 7 2 line fixed bin, 4 8 2 column fixed bin, 4 9 2 type fixed bin, 4 10 /* body */ 4 11 2 integral bit(1), 4 12 2 floating bit(1), 4 13 2 seg_range bit(1), 4 14 2 filler1 bit(4), 4 15 2 subscript bit(1), 4 16 2 sign char(1), 4 17 2 exp_sign char(1), 4 18 2 exp_places fixed bin, 4 19 2 places_left fixed bin, 4 20 2 places_right fixed bin, 4 21 2 places fixed bin, 4 22 2 literal char(0 refer(numeric_lit.places)); 4 23 4 24 4 25 4 26 /* end include file ... cobol_TYPE2.incl.pl1 */ 4 27 3 15 3 16 /* END DECLARATION OF TYPE2 (NUMERIC LITERAL) TOKEN */ 3 17 3 18 /* END INCLUDE FILE ... cobol_type2.incl.pl1 */ 3 19 657 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_type3.incl.pl1 */ 5 3 /* Last modified on 11/19/76 by ORN */ 5 4 5 5 /* 5 6*A type 3 alphanumeric literal token is entered into the minpral file by the 5 7*lexical analysis phase for each alphanumeric literal encountered in the 5 8*source program. 5 9**/ 5 10 5 11 dcl alit_ptr ptr; 5 12 5 13 /* BEGIN DECLARATION OR TYPE3 (ALPHANUMERIC LITERAL) TOKEN */ 5 14 dcl 1 alphanum_lit based (alit_ptr), 6 1 6 2 /* begin include file ... cobol_TYPE3.incl.pl1 */ 6 3 /* Last modified on 11/17/76 by ORN */ 6 4 /* Last modified on 12/28/76 by FCH */ 6 5 6 6 /* header */ 6 7 2 size fixed bin, 6 8 2 line fixed bin, 6 9 2 column fixed bin, 6 10 2 type fixed bin, 6 11 /* body */ 6 12 2 lit_type bit (1), 6 13 2 all_lit bit (1), 6 14 2 filler1 bit (6), 6 15 2 lit_size fixed bin, 6 16 2 string char(0 refer(alphanum_lit.lit_size)); 6 17 6 18 6 19 6 20 /* end include file ... cobol_TYPE3.incl.pl1 */ 6 21 5 15 5 16 /* END DECLARATION OF TYPE3 (ALPHANUMERIC LITERAL) TOKEN */ 5 17 5 18 /* END INCLUDE FILE ... cobol_type3.incl.pl1 */ 5 19 658 7 1 7 2 /* BEGIN INCLUDE FILE ... cobol_type9.incl.pl1 */ 7 3 /* Last modified on 11/19/76 by ORN */ 7 4 7 5 /* 7 6*A type 9 data name token is entered into the name table by the data 7 7*division syntax phase for each data name described in the data division. 7 8*The replacement phase subsequently replaces type 8 user word references 7 9*to data names in the procedure division minpral file with the corresponding 7 10*type 9 tokens from the name table. 7 11**/ 7 12 7 13 /* dcl dn_ptr ptr; */ 7 14 7 15 /* BEGIN DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 7 16 dcl 1 data_name based (dn_ptr), 8 1 8 2 /* begin include file ... cobol_TYPE9.incl.pl1 */ 8 3 /* Last modified on 06/19/77 by ORN */ 8 4 /* Last modified on 12/28/76 by FCH */ 8 5 8 6 /* header */ 8 7 2 size fixed bin, 8 8 2 line fixed bin, 8 9 2 column fixed bin, 8 10 2 type fixed bin, 8 11 /* body */ 8 12 2 string_ptr ptr, 8 13 2 prev_rec ptr, 8 14 2 searched bit (1), 8 15 2 duplicate bit (1), 8 16 2 saved bit (1), 8 17 2 debug_ind bit (1), 8 18 2 filler2 bit (3), 8 19 2 used_as_sub bit (1), 8 20 2 def_line fixed bin, 8 21 2 level fixed bin, 8 22 2 linkage fixed bin, 8 23 2 file_num fixed bin, 8 24 2 size_rtn fixed bin, 8 25 2 item_length fixed bin(24), 8 26 2 places_left fixed bin, 8 27 2 places_right fixed bin, 8 28 /* description */ 8 29 2 file_section bit (1), 8 30 2 working_storage bit (1), 8 31 2 constant_section bit (1), 8 32 2 linkage_section bit (1), 8 33 2 communication_section bit (1), 8 34 2 report_section bit (1), 8 35 2 level_77 bit (1), 8 36 2 level_01 bit (1), 8 37 2 non_elementary bit (1), 8 38 2 elementary bit (1), 8 39 2 filler_item bit (1), 8 40 2 s_of_rdf bit (1), 8 41 2 o_of_rdf bit (1), 8 42 2 bin_18 bit (1), 8 43 2 bin_36 bit (1), 8 44 2 pic_has_l bit (1), 8 45 2 pic_is_do bit (1), 8 46 2 numeric bit (1), 8 47 2 numeric_edited bit (1), 8 48 2 alphanum bit (1), 8 49 2 alphanum_edited bit (1), 8 50 2 alphabetic bit (1), 8 51 2 alphabetic_edited bit (1), 8 52 2 pic_has_p bit (1), 8 53 2 pic_has_ast bit (1), 8 54 2 item_signed bit(1), 8 55 2 sign_separate bit (1), 8 56 2 display bit (1), 8 57 2 comp bit (1), 8 58 2 ascii_packed_dec_h bit (1), /* as of 8/16/76 this field used for comp8. */ 8 59 2 ascii_packed_dec bit (1), 8 60 2 ebcdic_packed_dec bit (1), 8 61 2 bin_16 bit (1), 8 62 2 bin_32 bit (1), 8 63 2 usage_index bit (1), 8 64 2 just_right bit (1), 8 65 2 compare_argument bit (1), 8 66 2 sync bit (1), 8 67 2 temporary bit (1), 8 68 2 bwz bit (1), 8 69 2 variable_length bit (1), 8 70 2 subscripted bit (1), 8 71 2 occurs_do bit (1), 8 72 2 key_a bit (1), 8 73 2 key_d bit (1), 8 74 2 indexed_by bit (1), 8 75 2 value_numeric bit (1), 8 76 2 value_non_numeric bit (1), 8 77 2 value_signed bit (1), 8 78 2 sign_type bit (3), 8 79 2 pic_integer bit (1), 8 80 2 ast_when_zero bit (1), 8 81 2 label_record bit (1), 8 82 2 sign_clause_occurred bit (1), 8 83 2 okey_dn bit (1), 8 84 2 subject_of_keyis bit (1), 8 85 2 exp_redefining bit (1), 8 86 2 sync_in_rec bit (1), 8 87 2 rounded bit (1), 8 88 2 ad_bit bit (1), 8 89 2 debug_all bit (1), 8 90 2 overlap bit (1), 8 91 2 sum_counter bit (1), 8 92 2 exp_occurs bit (1), 8 93 2 linage_counter bit (1), 8 94 2 rnm_01 bit (1), 8 95 2 aligned bit (1), 8 96 2 not_user_writable bit (1), 8 97 2 database_key bit (1), 8 98 2 database_data_item bit (1), 8 99 2 seg_num fixed bin, 8 100 2 offset fixed bin(24), 8 101 2 initial_ptr fixed bin, 8 102 2 edit_ptr fixed bin, 8 103 2 occurs_ptr fixed bin, 8 104 2 do_rec char(5), 8 105 2 bitt bit (1), 8 106 2 byte bit (1), 8 107 2 half_word bit (1), 8 108 2 word bit (1), 8 109 2 double_word bit (1), 8 110 2 half_byte bit (1), 8 111 2 filler5 bit (1), 8 112 2 bit_offset bit (4), 8 113 2 son_cnt bit (16), 8 114 2 max_red_size fixed bin(24), 8 115 2 name_size fixed bin, 8 116 2 name char(0 refer(data_name.name_size)); 8 117 8 118 8 119 8 120 /* end include file ... cobol_TYPE9.incl.pl1 */ 8 121 7 17 7 18 /* END DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 7 19 7 20 /* END INCLUDE FILE ... cobol_type9.incl.pl1 */ 7 21 659 9 1 9 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 9 3 /* last modified Feb 4, 1977 by ORN */ 9 4 9 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 9 6 9 7 /* POINTERS */ 9 8 dcl cobol_$text_base_ptr ptr ext; 9 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 9 10 dcl cobol_$con_end_ptr ptr ext; 9 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 9 12 dcl cobol_$def_base_ptr ptr ext; 9 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 9 14 dcl cobol_$link_base_ptr ptr ext; 9 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 9 16 dcl cobol_$sym_base_ptr ptr ext; 9 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 9 18 dcl cobol_$reloc_text_base_ptr ptr ext; 9 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 9 20 dcl cobol_$reloc_def_base_ptr ptr ext; 9 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 9 22 dcl cobol_$reloc_link_base_ptr ptr ext; 9 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 9 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 9 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 9 26 dcl cobol_$reloc_work_base_ptr ptr ext; 9 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 9 28 dcl cobol_$pd_map_ptr ptr ext; 9 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 9 30 dcl cobol_$fixup_ptr ptr ext; 9 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 9 32 dcl cobol_$initval_base_ptr ptr ext; 9 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 9 34 dcl cobol_$initval_file_ptr ptr ext; 9 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 9 36 dcl cobol_$perform_list_ptr ptr ext; 9 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 9 38 dcl cobol_$alter_list_ptr ptr ext; 9 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 9 40 dcl cobol_$seg_init_list_ptr ptr ext; 9 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 9 42 dcl cobol_$temp_token_area_ptr ptr ext; 9 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 9 44 dcl cobol_$temp_token_ptr ptr ext; 9 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 9 46 dcl cobol_$token_block1_ptr ptr ext; 9 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 9 48 dcl cobol_$token_block2_ptr ptr ext; 9 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 9 50 dcl cobol_$minpral5_ptr ptr ext; 9 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 9 52 dcl cobol_$tag_table_ptr ptr ext; 9 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 9 54 dcl cobol_$map_data_ptr ptr ext; 9 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 9 56 dcl cobol_$ptr_status_ptr ptr ext; 9 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 9 58 dcl cobol_$reg_status_ptr ptr ext; 9 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 9 60 dcl cobol_$misc_base_ptr ptr ext; 9 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 9 62 dcl cobol_$misc_end_ptr ptr ext; 9 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 9 64 dcl cobol_$list_ptr ptr ext; 9 65 dcl list_ptr ptr defined (cobol_$list_ptr); 9 66 dcl cobol_$allo1_ptr ptr ext; 9 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 9 68 dcl cobol_$eln_ptr ptr ext; 9 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 9 70 dcl cobol_$diag_ptr ptr ext; 9 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 9 72 dcl cobol_$xref_token_ptr ptr ext; 9 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 9 74 dcl cobol_$xref_chain_ptr ptr ext; 9 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 9 76 dcl cobol_$statement_info_ptr ptr ext; 9 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 9 78 dcl cobol_$reswd_ptr ptr ext; 9 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 9 80 dcl cobol_$op_con_ptr ptr ext; 9 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 9 82 dcl cobol_$ntbuf_ptr ptr ext; 9 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 9 84 dcl cobol_$main_pcs_ptr ptr ext; 9 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 9 86 dcl cobol_$include_info_ptr ptr ext; 9 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 9 88 9 89 /* FIXED BIN */ 9 90 dcl cobol_$text_wd_off fixed bin ext; 9 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 9 92 dcl cobol_$con_wd_off fixed bin ext; 9 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 9 94 dcl cobol_$def_wd_off fixed bin ext; 9 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 9 96 dcl cobol_$def_max fixed bin ext; 9 97 dcl def_max fixed bin defined (cobol_$def_max); 9 98 dcl cobol_$link_wd_off fixed bin ext; 9 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 9 100 dcl cobol_$link_max fixed bin ext; 9 101 dcl link_max fixed bin defined (cobol_$link_max); 9 102 dcl cobol_$sym_wd_off fixed bin ext; 9 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 9 104 dcl cobol_$sym_max fixed bin ext; 9 105 dcl sym_max fixed bin defined (cobol_$sym_max); 9 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 9 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 9 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 9 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 9 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 9 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 9 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 9 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 9 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 9 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 9 116 dcl cobol_$pd_map_index fixed bin ext; 9 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 9 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 9 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 9 120 dcl cobol_$stack_off fixed bin ext; 9 121 dcl stack_off fixed bin defined (cobol_$stack_off); 9 122 dcl cobol_$max_stack_off fixed bin ext; 9 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 9 124 dcl cobol_$init_stack_off fixed bin ext; 9 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 9 126 dcl cobol_$pd_map_sw fixed bin ext; 9 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 9 128 dcl cobol_$next_tag fixed bin ext; 9 129 dcl next_tag fixed bin defined (cobol_$next_tag); 9 130 dcl cobol_$data_init_flag fixed bin ext; 9 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 9 132 dcl cobol_$seg_init_flag fixed bin ext; 9 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 9 134 dcl cobol_$alter_flag fixed bin ext; 9 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 9 136 dcl cobol_$sect_eop_flag fixed bin ext; 9 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 9 138 dcl cobol_$para_eop_flag fixed bin ext; 9 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 9 140 dcl cobol_$priority_no fixed bin ext; 9 141 dcl priority_no fixed bin defined (cobol_$priority_no); 9 142 dcl cobol_$compile_count fixed bin ext; 9 143 dcl compile_count fixed bin defined (cobol_$compile_count); 9 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 9 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 9 146 dcl cobol_$reg_assumption_ind fixed bin ext; 9 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 9 148 dcl cobol_$perform_para_index fixed bin ext; 9 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 9 150 dcl cobol_$perform_sect_index fixed bin ext; 9 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 9 152 dcl cobol_$alter_index fixed bin ext; 9 153 dcl alter_index fixed bin defined (cobol_$alter_index); 9 154 dcl cobol_$list_off fixed bin ext; 9 155 dcl list_off fixed bin defined (cobol_$list_off); 9 156 dcl cobol_$constant_offset fixed bin ext; 9 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 9 158 dcl cobol_$misc_max fixed bin ext; 9 159 dcl misc_max fixed bin defined (cobol_$misc_max); 9 160 dcl cobol_$pd_map_max fixed bin ext; 9 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 9 162 dcl cobol_$map_data_max fixed bin ext; 9 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 9 164 dcl cobol_$fixup_max fixed bin ext; 9 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 9 166 dcl cobol_$tag_table_max fixed bin ext; 9 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 9 168 dcl cobol_$temp_token_max fixed bin ext; 9 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 9 170 dcl cobol_$allo1_max fixed bin ext; 9 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 9 172 dcl cobol_$eln_max fixed bin ext; 9 173 dcl eln_max fixed bin defined (cobol_$eln_max); 9 174 dcl cobol_$debug_enable fixed bin ext; 9 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 9 176 dcl cobol_$non_source_offset fixed bin ext; 9 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 9 178 dcl cobol_$initval_flag fixed bin ext; 9 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 9 180 dcl cobol_$date_compiled_sw fixed bin ext; 9 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 9 182 dcl cobol_$include_cnt fixed bin ext; 9 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 9 184 dcl cobol_$fs_charcnt fixed bin ext; 9 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 9 186 dcl cobol_$ws_charcnt fixed bin ext; 9 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 9 188 dcl cobol_$coms_charcnt fixed bin ext; 9 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 9 190 dcl cobol_$ls_charcnt fixed bin ext; 9 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 9 192 dcl cobol_$cons_charcnt fixed bin ext; 9 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 9 194 dcl cobol_$value_cnt fixed bin ext; 9 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 9 196 dcl cobol_$cd_cnt fixed bin ext; 9 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 9 198 dcl cobol_$fs_wdoff fixed bin ext; 9 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 9 200 dcl cobol_$ws_wdoff fixed bin ext; 9 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 9 202 dcl cobol_$coms_wdoff fixed bin ext; 9 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 9 204 9 205 /* CHARACTER */ 9 206 dcl cobol_$scratch_dir char (168) aligned ext; 9 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 9 208 dcl cobol_$obj_seg_name char (32) aligned ext; 9 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 9 210 9 211 /* BIT */ 9 212 dcl cobol_$xref_bypass bit(1) aligned ext; 9 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 9 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 9 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 9 216 9 217 9 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 9 219 9 220 660 661 end cobol_unstring; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0832.1 cobol_unstring.pl1 >spec>install>MR12.3-1048>cobol_unstring.pl1 656 1 03/27/82 0439.8 cobol_type1.incl.pl1 >ldd>include>cobol_type1.incl.pl1 1-15 2 11/11/82 1712.8 cobol_TYPE1.incl.pl1 >ldd>include>cobol_TYPE1.incl.pl1 657 3 03/27/82 0439.8 cobol_type2.incl.pl1 >ldd>include>cobol_type2.incl.pl1 3-15 4 11/11/82 1712.8 cobol_TYPE2.incl.pl1 >ldd>include>cobol_TYPE2.incl.pl1 658 5 03/27/82 0439.8 cobol_type3.incl.pl1 >ldd>include>cobol_type3.incl.pl1 5-15 6 11/11/82 1712.8 cobol_TYPE3.incl.pl1 >ldd>include>cobol_TYPE3.incl.pl1 659 7 03/27/82 0439.9 cobol_type9.incl.pl1 >ldd>include>cobol_type9.incl.pl1 7-17 8 11/11/82 1712.7 cobol_TYPE9.incl.pl1 >ldd>include>cobol_TYPE9.incl.pl1 660 9 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.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. addr builtin function dcl 651 ref 390 392 392 399 405 405 418 418 419 421 427 427 438 438 439 441 444 444 453 453 454 456 456 457 457 461 461 466 468 470 470 483 483 492 492 499 499 506 506 511 513 515 515 517 517 521 523 523 524 524 528 528 531 531 542 547 553 553 556 556 556 556 561 561 569 569 571 571 574 574 575 575 575 575 577 577 578 578 580 580 587 587 594 594 610 610 611 612 624 624 625 627 632 632 639 639 addr_struct 000134 internal static structure level 1 unaligned dcl 221 set ref 556 556 575 575 adjust_and_test_x1_instr 000124 internal static bit(36) initial array packed unaligned dcl 197 set ref 444 444 adjust_length_instr 000111 internal static bit(36) initial array packed unaligned dcl 177 set ref 453 453 all_loop1_instr 000014 internal static bit(36) initial array packed unaligned dcl 61 set ref 574 574 all_loop2_instr 000023 internal static bit(36) initial array packed unaligned dcl 75 set ref 578 578 allsw 4 based fixed bin(17,0) array level 3 dcl 44 ref 571 alpha_type9 000200 internal static structure level 1 unaligned dcl 271 set ref 454 521 blank_type3 000246 internal static structure level 1 unaligned dcl 301 set ref 468 513 bump_tally_instr 000013 internal static bit(36) initial packed unaligned dcl 59 set ref 457 457 524 524 bump_x1_instr 000070 internal static bit(36) initial array packed unaligned dcl 145 set ref 483 483 bump_x2_instr 000066 internal static bit(36) initial array packed unaligned dcl 141 set ref 587 587 bypass_ovfl_instr 000122 internal static bit(36) initial array packed unaligned dcl 193 set ref 639 639 check_del_instr 000051 internal static bit(36) initial array packed unaligned dcl 117 set ref 553 553 check_new_x1_instr 000040 internal static bit(36) initial array packed unaligned dcl 99 set ref 499 499 594 594 check_x2_instr 000036 internal static bit(36) initial array packed unaligned dcl 95 set ref 506 506 cobol_$next_tag 000326 external static fixed bin(17,0) dcl 9-128 set ref 394 396* 396 490 491* 491 503 504* 504 518 519* 519 532 533* 533 537 538* 538 585 586* 586 cobol_$text_wd_off 000324 external static fixed bin(17,0) dcl 9-90 set ref 445 446 484 493 495* 500 501 505* 507 520* 534 536* 554 562 581 584* 588 593* 600* 640 642* cobol_addr 000272 constant entry external dcl 363 ref 556 575 cobol_define_tag_nc 000322 constant entry external dcl 383 ref 495 505 520 536 584 593 600 642 cobol_emit 000274 constant entry external dcl 364 ref 405 418 427 438 444 453 457 461 483 492 499 506 517 524 528 531 553 561 571 574 577 578 580 587 594 610 624 632 639 cobol_get_size 000276 constant entry external dcl 365 ref 404 552 cobol_get_size$omit_sign 000300 constant entry external dcl 366 ref 452 cobol_io_util$bin_to_t9dec 000312 constant entry external dcl 375 ref 462 529 614 633 cobol_io_util$t9dec_to_bin 000310 constant entry external dcl 373 ref 423 443 cobol_make_tagref 000320 constant entry external dcl 382 ref 445 446 484 493 500 501 507 534 554 562 581 588 640 cobol_make_type3$type1 000306 constant entry external dcl 371 ref 543 cobol_make_type9$type2_3 000304 constant entry external dcl 369 ref 548 cobol_move_gen 000270 constant entry external dcl 362 ref 456 470 515 523 569 cobol_register$load 000316 constant entry external dcl 379 ref 392 cobol_reset_r$in_line 000314 constant entry external dcl 377 ref 644 cobol_set_pr 000302 constant entry external dcl 368 ref 401 416 436 comp_del_instr 000056 internal static bit(36) initial array packed unaligned dcl 127 set ref 556 556 557* 559* 561 561 575 575 577 577 count_offx4 000175 internal static fixed bin(17,0) initial dcl 266 set ref 462* 529* ctp 16 based pointer array level 3 dcl 33 set ref 459 462* 526 529* d based structure level 1 unaligned dcl 44 data_name based structure level 1 unaligned dcl 7-16 delfound_tag 000163 automatic fixed bin(17,0) dcl 347 set ref 518* 520* 581* delimiter 2 based structure array level 2 unaligned dcl 44 dlen_off 000177 internal static fixed bin(17,0) initial dcl 269 set ref 552* dn_ptr 000174 automatic pointer dcl 359 set ref 410* 411 419 421* 423* 430* 431 439 441* 443* 539* 540 542* 543* 545 545 548* 606* 611 612* 614* 620* 625 627* dptr 4 based pointer level 2 dcl 33 ref 450 535 539 543 550 571 582 dtp 2 based pointer array level 3 in structure "d" dcl 44 in procedure "cobol_unstring" set ref 539 543* 550 dtp 14 based pointer array level 3 in structure "u" dcl 33 in procedure "cobol_unstring" ref 464 466 469 509 511 514 563 568 end_tag 000160 automatic fixed bin(17,0) dcl 344 set ref 394* 395 484* 500* 600* epp2_instr 000011 internal static bit(36) initial packed unaligned dcl 55 set ref 609* 610 610 623* 624 624 i 000166 automatic fixed bin(17,0) dcl 351 set ref 450* 452 455 459 462 464 466 469 472* 494* 495 509 511 514 522 526 529 563 568 591* ic_mod 7 000134 internal static fixed bin(17,0) level 3 dcl 221 set ref 555* 575 init_x2_instr 000032 internal static bit(36) initial array packed unaligned dcl 89 set ref 492 492 j 000167 automatic fixed bin(17,0) dcl 351 set ref 535* 539 543 550 571 582* move_eos 000255 internal static structure level 1 unaligned dcl 326 set ref 390 mpout 000100 automatic structure level 1 unaligned dcl 215 set ref 456 456 470 470 515 515 523 523 569 569 n based fixed bin(17,0) level 2 in structure "d" dcl 44 in procedure "cobol_unstring" ref 535 582 n based fixed bin(17,0) level 2 in structure "u" dcl 33 in procedure "cobol_unstring" ref 450 472 494 497 591 n 000100 automatic fixed bin(17,0) level 2 in structure "mpout" dcl 215 in procedure "cobol_unstring" set ref 387* nextdel_tag 000162 automatic fixed bin(17,0) dcl 346 set ref 490* 493* 501* 507* 536* 537* 554* 562* 584* 585* nextpos_tag 000164 automatic fixed bin(17,0) dcl 348 set ref 503* 505* 588* nextrt_tag 000165 automatic fixed bin(17,0) dcl 349 set ref 495* 532* 534* 593* null builtin function dcl 651 ref 405 405 408 418 418 427 427 427 438 438 444 444 445 445 446 446 450 453 453 457 457 457 459 461 461 464 476 483 483 484 484 492 492 493 493 499 499 500 500 501 501 506 506 507 507 509 517 517 524 524 524 526 528 528 531 531 534 534 551 553 553 554 554 556 556 561 561 562 562 563 571 571 574 574 575 575 577 577 578 578 580 580 581 581 587 587 588 588 594 594 594 604 610 610 618 624 624 632 632 639 639 640 640 numeric 21(17) based bit(1) level 2 packed packed unaligned dcl 7-16 ref 466 511 op1 4 000134 internal static structure level 2 unaligned dcl 221 op2 12 000134 internal static structure level 2 unaligned dcl 221 ovfl_tag 000161 automatic fixed bin(17,0) dcl 345 set ref 395* 445* 446* 642* paddr_off 002735 constant fixed bin(17,0) initial dcl 264 ref 437 623 pr 000153 internal static fixed bin(17,0) level 2 dcl 235 set ref 400* 415* 435* pr_struct 000153 internal static structure level 1 unaligned dcl 235 set ref 399 pr_struct_ptr 000176 automatic pointer dcl 360 set ref 399* 401* 416* 436* psub 000171 automatic bit(1) packed unaligned dcl 355 set ref 431* 434* 621 pt1 2 000100 automatic pointer level 2 dcl 215 set ref 389* pt2 4 000100 automatic pointer level 2 dcl 215 set ref 454* 466* 468* 511* 513* 521* 565* pt3 6 000100 automatic pointer level 2 dcl 215 set ref 455* 469* 514* 522* 568* pt4 10 000100 automatic pointer level 2 dcl 215 set ref 390* ptp 6 based pointer level 2 dcl 33 set ref 427 430 436* 476 594 618 620 633* ptr_offx4 000173 internal static fixed bin(17,0) initial dcl 263 set ref 443* 633* reg_struct 000162 internal static structure level 1 unaligned dcl 243 set ref 392 392 rtp 12 based pointer array level 3 dcl 33 set ref 452* 455 522 rwtp parameter pointer dcl 31 ref 27 389 save_send_len_instr 000076 internal static bit(36) initial array packed unaligned dcl 155 set ref 405 405 seg 23 000124 automatic fixed bin(17,0) level 2 dcl 315 set ref 420* 440* 626* set_count_instr 000106 internal static bit(36) initial array packed unaligned dcl 171 set ref 461 461 528 528 set_pointer_instr 000100 internal static bit(36) initial array packed unaligned dcl 159 set ref 632 632 set_x3_instr 000062 internal static bit(36) initial array packed unaligned dcl 135 set ref 517 517 571 571 slen_off 000176 internal static fixed bin(17,0) initial dcl 268 set ref 404* spri2_instr 000012 internal static bit(36) initial packed unaligned dcl 57 set ref 417* 418 418 437* 438 438 stp 2 based pointer level 2 dcl 33 set ref 401* 404* subscripted 22(05) based bit(1) level 2 packed packed unaligned dcl 7-16 ref 411 431 substr builtin function dcl 651 set ref 417* 417 437* 437 557* 559* 609* 609 623* 623 taddr_off 002734 constant fixed bin(17,0) initial dcl 267 ref 417 609 tag 1 based fixed bin(17,0) level 2 dcl 33 set ref 474 594 629 637 640* tally_offx4 000174 internal static fixed bin(17,0) initial dcl 265 set ref 423* 614* temp 000170 automatic fixed bin(17,0) dcl 353 set ref 474* 476* 478* 480* 481 483* 484 629* 631* 632* tptr 12 000134 internal static pointer level 3 in structure "addr_struct" dcl 221 in procedure "cobol_unstring" set ref 551* tptr 4 000134 internal static pointer level 3 in structure "addr_struct" dcl 221 in procedure "cobol_unstring" set ref 547* 548* 550* 552* 565 tra_instr 000010 internal static bit(36) initial packed unaligned dcl 53 set ref 531 531 580 580 tsub 000172 automatic bit(1) packed unaligned dcl 356 set ref 411* 414* 607 ttp 10 based pointer level 2 dcl 33 set ref 408 410 416* 457 524 604 606 type 3 based fixed bin(17,0) level 2 dcl 7-16 ref 540 545 545 type3 000112 automatic structure level 1 unaligned dcl 312 set ref 542 type9 000124 automatic structure level 1 unaligned dcl 315 set ref 419 421 439 441 547 611 612 625 627 type9_chars based char(112) packed unaligned dcl 311 set ref 419* 419 439* 439 611* 611 625* 625 u based structure level 1 unaligned dcl 33 unspec builtin function dcl 651 ref 417 437 609 623 unstr 12 based structure array level 2 unaligned dcl 33 uptr parameter pointer dcl 30 ref 27 401 404 408 410 416 427 430 436 450 450 452 455 457 459 462 464 466 469 472 474 476 494 497 509 511 514 522 524 526 529 535 539 543 550 563 568 571 582 591 594 594 604 606 618 620 629 633 637 640 what_reg 000162 internal static fixed bin(17,0) level 2 dcl 243 set ref 391* zero_type2 000234 internal static structure level 1 unaligned dcl 285 set ref 466 511 zero_x1_instr 000132 internal static bit(36) initial array packed unaligned dcl 210 set ref 427 427 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 651 alit_ptr automatic pointer dcl 5-11 allo1_max defined fixed bin(17,0) dcl 9-171 allo1_ptr defined pointer dcl 9-67 alphanum_lit based structure level 1 unaligned dcl 5-14 alter_flag defined fixed bin(17,0) dcl 9-135 alter_index defined fixed bin(17,0) dcl 9-153 alter_list_ptr defined pointer dcl 9-39 binary builtin function dcl 651 cd_cnt defined fixed bin(17,0) dcl 9-197 cobol_$allo1_max external static fixed bin(17,0) dcl 9-170 cobol_$allo1_ptr external static pointer dcl 9-66 cobol_$alter_flag external static fixed bin(17,0) dcl 9-134 cobol_$alter_index external static fixed bin(17,0) dcl 9-152 cobol_$alter_list_ptr external static pointer dcl 9-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 9-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 9-118 cobol_$compile_count external static fixed bin(17,0) dcl 9-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 9-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 9-202 cobol_$con_end_ptr external static pointer dcl 9-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 9-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 9-192 cobol_$constant_offset external static fixed bin(17,0) dcl 9-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 9-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 9-180 cobol_$debug_enable external static fixed bin(17,0) dcl 9-174 cobol_$def_base_ptr external static pointer dcl 9-12 cobol_$def_max external static fixed bin(17,0) dcl 9-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 9-94 cobol_$diag_ptr external static pointer dcl 9-70 cobol_$eln_max external static fixed bin(17,0) dcl 9-172 cobol_$eln_ptr external static pointer dcl 9-68 cobol_$fixup_max external static fixed bin(17,0) dcl 9-164 cobol_$fixup_ptr external static pointer dcl 9-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 9-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 9-198 cobol_$include_cnt external static fixed bin(17,0) dcl 9-182 cobol_$include_info_ptr external static pointer dcl 9-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 9-124 cobol_$initval_base_ptr external static pointer dcl 9-32 cobol_$initval_file_ptr external static pointer dcl 9-34 cobol_$initval_flag external static fixed bin(17,0) dcl 9-178 cobol_$link_base_ptr external static pointer dcl 9-14 cobol_$link_max external static fixed bin(17,0) dcl 9-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 9-98 cobol_$list_off external static fixed bin(17,0) dcl 9-154 cobol_$list_ptr external static pointer dcl 9-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 9-190 cobol_$main_pcs_ptr external static pointer dcl 9-84 cobol_$map_data_max external static fixed bin(17,0) dcl 9-162 cobol_$map_data_ptr external static pointer dcl 9-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 9-122 cobol_$minpral5_ptr external static pointer dcl 9-50 cobol_$misc_base_ptr external static pointer dcl 9-60 cobol_$misc_end_ptr external static pointer dcl 9-62 cobol_$misc_max external static fixed bin(17,0) dcl 9-158 cobol_$non_source_offset external static fixed bin(17,0) dcl 9-176 cobol_$ntbuf_ptr external static pointer dcl 9-82 cobol_$obj_seg_name external static char(32) dcl 9-208 cobol_$op_con_ptr external static pointer dcl 9-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 9-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 9-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 9-160 cobol_$pd_map_ptr external static pointer dcl 9-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 9-126 cobol_$perform_list_ptr external static pointer dcl 9-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 9-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 9-150 cobol_$priority_no external static fixed bin(17,0) dcl 9-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 9-144 cobol_$ptr_status_ptr external static pointer dcl 9-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 9-146 cobol_$reg_status_ptr external static pointer dcl 9-58 cobol_$register$load 000000 constant entry external dcl 380 cobol_$reloc_def_base_ptr external static pointer dcl 9-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 9-108 cobol_$reloc_link_base_ptr external static pointer dcl 9-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 9-110 cobol_$reloc_sym_base_ptr external static pointer dcl 9-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 9-112 cobol_$reloc_text_base_ptr external static pointer dcl 9-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 9-106 cobol_$reloc_work_base_ptr external static pointer dcl 9-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 9-114 cobol_$reswd_ptr external static pointer dcl 9-78 cobol_$same_sort_merge_proc external static bit(1) dcl 9-214 cobol_$scratch_dir external static char(168) dcl 9-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 9-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 9-132 cobol_$seg_init_list_ptr external static pointer dcl 9-40 cobol_$stack_off external static fixed bin(17,0) dcl 9-120 cobol_$statement_info_ptr external static pointer dcl 9-76 cobol_$sym_base_ptr external static pointer dcl 9-16 cobol_$sym_max external static fixed bin(17,0) dcl 9-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 9-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 9-166 cobol_$tag_table_ptr external static pointer dcl 9-52 cobol_$temp_token_area_ptr external static pointer dcl 9-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 9-168 cobol_$temp_token_ptr external static pointer dcl 9-44 cobol_$text_base_ptr external static pointer dcl 9-8 cobol_$token_block1_ptr external static pointer dcl 9-46 cobol_$token_block2_ptr external static pointer dcl 9-48 cobol_$value_cnt external static fixed bin(17,0) dcl 9-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 9-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 9-200 cobol_$xref_bypass external static bit(1) dcl 9-212 cobol_$xref_chain_ptr external static pointer dcl 9-74 cobol_$xref_token_ptr external static pointer dcl 9-72 cobol_data_wd_off defined fixed bin(17,0) dcl 9-119 compile_count defined fixed bin(17,0) dcl 9-143 coms_charcnt defined fixed bin(17,0) dcl 9-189 coms_wdoff defined fixed bin(17,0) dcl 9-203 con_end_ptr defined pointer dcl 9-11 con_wd_off defined fixed bin(17,0) dcl 9-93 cons_charcnt defined fixed bin(17,0) dcl 9-193 constant_offset defined fixed bin(17,0) dcl 9-157 data_init_flag defined fixed bin(17,0) dcl 9-131 date_compiled_sw defined fixed bin(17,0) dcl 9-181 debug_enable defined fixed bin(17,0) dcl 9-175 def_base_ptr defined pointer dcl 9-13 def_max defined fixed bin(17,0) dcl 9-97 def_wd_off defined fixed bin(17,0) dcl 9-95 diag_ptr defined pointer dcl 9-71 eln_max defined fixed bin(17,0) dcl 9-173 eln_ptr defined pointer dcl 9-69 fixed builtin function dcl 651 fixup_max defined fixed bin(17,0) dcl 9-165 fixup_ptr defined pointer dcl 9-31 fs_charcnt defined fixed bin(17,0) dcl 9-185 fs_wdoff defined fixed bin(17,0) dcl 9-199 ic automatic fixed bin(17,0) dcl 352 include_cnt defined fixed bin(17,0) dcl 9-183 include_info_ptr defined pointer dcl 9-87 index builtin function dcl 651 init_stack_off defined fixed bin(17,0) dcl 9-125 initval_base_ptr defined pointer dcl 9-33 initval_file_ptr defined pointer dcl 9-35 initval_flag defined fixed bin(17,0) dcl 9-179 length builtin function dcl 651 link_base_ptr defined pointer dcl 9-15 link_max defined fixed bin(17,0) dcl 9-101 link_wd_off defined fixed bin(17,0) dcl 9-99 list_off defined fixed bin(17,0) dcl 9-155 list_ptr defined pointer dcl 9-65 lit automatic bit(18) packed unaligned dcl 357 ls_charcnt defined fixed bin(17,0) dcl 9-191 main_pcs_ptr defined pointer dcl 9-85 map_data_max defined fixed bin(17,0) dcl 9-163 map_data_ptr defined pointer dcl 9-55 max_stack_off defined fixed bin(17,0) dcl 9-123 minpral5_ptr defined pointer dcl 9-51 misc_base_ptr defined pointer dcl 9-61 misc_end_ptr defined pointer dcl 9-63 misc_max defined fixed bin(17,0) dcl 9-159 mod builtin function dcl 651 next_tag defined fixed bin(17,0) dcl 9-129 nlit_ptr automatic pointer dcl 3-11 non_source_offset defined fixed bin(17,0) dcl 9-177 ntbuf_ptr defined pointer dcl 9-83 numeric_lit based structure level 1 unaligned dcl 3-14 obj_seg_name defined char(32) dcl 9-209 op_con_ptr defined pointer dcl 9-81 para_eop_flag defined fixed bin(17,0) dcl 9-139 pd_map_index defined fixed bin(17,0) dcl 9-117 pd_map_max defined fixed bin(17,0) dcl 9-161 pd_map_ptr defined pointer dcl 9-29 pd_map_sw defined fixed bin(17,0) dcl 9-127 perform_list_ptr defined pointer dcl 9-37 perform_para_index defined fixed bin(17,0) dcl 9-149 perform_sect_index defined fixed bin(17,0) dcl 9-151 priority_no defined fixed bin(17,0) dcl 9-141 ptr_assumption_ind defined fixed bin(17,0) dcl 9-145 ptr_off internal static fixed bin(17,0) initial dcl 262 ptr_status_ptr defined pointer dcl 9-57 reg_assumption_ind defined fixed bin(17,0) dcl 9-147 reg_status_ptr defined pointer dcl 9-59 rel builtin function dcl 651 reloc_def_base_ptr defined pointer dcl 9-21 reloc_def_max defined fixed bin(24,0) dcl 9-109 reloc_link_base_ptr defined pointer dcl 9-23 reloc_link_max defined fixed bin(24,0) dcl 9-111 reloc_sym_base_ptr defined pointer dcl 9-25 reloc_sym_max defined fixed bin(24,0) dcl 9-113 reloc_text_base_ptr defined pointer dcl 9-19 reloc_text_max defined fixed bin(24,0) dcl 9-107 reloc_work_base_ptr defined pointer dcl 9-27 reloc_work_max defined fixed bin(24,0) dcl 9-115 reserved_word based structure level 1 unaligned dcl 1-14 reswd_ptr defined pointer dcl 9-79 rw_ptr automatic pointer dcl 1-11 same_sort_merge_proc defined bit(1) dcl 9-215 scratch_dir defined char(168) dcl 9-207 sect_eop_flag defined fixed bin(17,0) dcl 9-137 seg_init_flag defined fixed bin(17,0) dcl 9-133 seg_init_list_ptr defined pointer dcl 9-41 stack_off defined fixed bin(17,0) dcl 9-121 statement_info_ptr defined pointer dcl 9-77 string builtin function dcl 651 sym_base_ptr defined pointer dcl 9-17 sym_max defined fixed bin(17,0) dcl 9-105 sym_wd_off defined fixed bin(17,0) dcl 9-103 tag_table_max defined fixed bin(17,0) dcl 9-167 tag_table_ptr defined pointer dcl 9-53 temp_token_area_ptr defined pointer dcl 9-43 temp_token_max defined fixed bin(17,0) dcl 9-169 temp_token_ptr defined pointer dcl 9-45 text based bit(36) array packed unaligned dcl 51 text_base_ptr defined pointer dcl 9-9 text_wd_off defined fixed bin(17,0) dcl 9-91 token_block1_ptr defined pointer dcl 9-47 token_block2_ptr defined pointer dcl 9-49 value_cnt defined fixed bin(17,0) dcl 9-195 ws_charcnt defined fixed bin(17,0) dcl 9-187 ws_wdoff defined fixed bin(17,0) dcl 9-201 xref_bypass defined bit(1) dcl 9-213 xref_chain_ptr defined pointer dcl 9-75 xref_token_ptr defined pointer dcl 9-73 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_unstring 000010 constant entry external dcl 27 start 000015 constant label dcl 387 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3160 3510 2736 3170 Length 4174 2736 330 447 222 260 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_unstring 160 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 tra_instr cobol_unstring 000011 epp2_instr cobol_unstring 000012 spri2_instr cobol_unstring 000013 bump_tally_instr cobol_unstring 000014 all_loop1_instr cobol_unstring 000023 all_loop2_instr cobol_unstring 000032 init_x2_instr cobol_unstring 000036 check_x2_instr cobol_unstring 000040 check_new_x1_instr cobol_unstring 000051 check_del_instr cobol_unstring 000056 comp_del_instr cobol_unstring 000062 set_x3_instr cobol_unstring 000066 bump_x2_instr cobol_unstring 000070 bump_x1_instr cobol_unstring 000076 save_send_len_instr cobol_unstring 000100 set_pointer_instr cobol_unstring 000106 set_count_instr cobol_unstring 000111 adjust_length_instr cobol_unstring 000122 bypass_ovfl_instr cobol_unstring 000124 adjust_and_test_x1_instr cobol_unstring 000132 zero_x1_instr cobol_unstring 000134 addr_struct cobol_unstring 000153 pr_struct cobol_unstring 000162 reg_struct cobol_unstring 000173 ptr_offx4 cobol_unstring 000174 tally_offx4 cobol_unstring 000175 count_offx4 cobol_unstring 000176 slen_off cobol_unstring 000177 dlen_off cobol_unstring 000200 alpha_type9 cobol_unstring 000234 zero_type2 cobol_unstring 000246 blank_type3 cobol_unstring 000255 move_eos cobol_unstring STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_unstring 000100 mpout cobol_unstring 000112 type3 cobol_unstring 000124 type9 cobol_unstring 000160 end_tag cobol_unstring 000161 ovfl_tag cobol_unstring 000162 nextdel_tag cobol_unstring 000163 delfound_tag cobol_unstring 000164 nextpos_tag cobol_unstring 000165 nextrt_tag cobol_unstring 000166 i cobol_unstring 000167 j cobol_unstring 000170 temp cobol_unstring 000171 psub cobol_unstring 000172 tsub cobol_unstring 000174 dn_ptr cobol_unstring 000176 pr_struct_ptr cobol_unstring THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_addr cobol_define_tag_nc cobol_emit cobol_get_size cobol_get_size$omit_sign cobol_io_util$bin_to_t9dec cobol_io_util$t9dec_to_bin cobol_make_tagref cobol_make_type3$type1 cobol_make_type9$type2_3 cobol_move_gen cobol_register$load cobol_reset_r$in_line cobol_set_pr THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$next_tag cobol_$text_wd_off LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 27 000004 387 000015 389 000017 390 000023 391 000025 392 000031 393 000042 394 000065 395 000070 396 000072 399 000074 400 000076 401 000100 404 000113 405 000132 408 000153 410 000162 411 000164 414 000171 415 000173 416 000176 417 000206 418 000214 419 000234 420 000240 421 000242 423 000244 427 000261 430 000312 431 000314 434 000321 435 000323 436 000326 437 000336 438 000344 439 000364 440 000370 441 000372 443 000374 444 000411 445 000432 446 000452 450 000472 452 000511 453 000533 454 000554 455 000557 456 000565 457 000575 459 000625 461 000635 462 000656 464 000677 466 000707 468 000717 469 000722 470 000726 472 000736 474 000743 476 000751 478 000760 479 000761 480 000762 481 000764 483 000766 484 001005 487 001030 490 001033 491 001036 492 001037 493 001057 494 001077 495 001111 497 001124 499 001131 500 001152 501 001172 503 001212 504 001215 505 001216 506 001226 507 001247 509 001267 511 001301 513 001312 514 001315 515 001321 517 001331 518 001352 519 001355 520 001356 521 001366 522 001371 523 001377 524 001407 526 001437 528 001447 529 001470 531 001511 532 001532 533 001535 534 001536 535 001555 536 001567 537 001600 538 001603 539 001604 540 001614 542 001620 543 001622 545 001633 547 001641 548 001644 549 001654 550 001655 551 001665 552 001670 553 001703 554 001724 555 001744 556 001746 557 001766 559 001771 561 001775 562 002015 563 002035 565 002047 568 002052 569 002057 571 002067 574 002117 575 002140 577 002163 578 002204 580 002225 581 002246 582 002266 584 002274 585 002305 586 002310 587 002311 588 002331 590 002351 591 002353 593 002360 594 002371 597 002423 600 002425 604 002436 606 002445 607 002447 609 002451 610 002457 611 002477 612 002503 614 002505 618 002522 620 002531 621 002533 623 002535 624 002543 625 002563 626 002567 627 002571 629 002573 631 002603 632 002605 633 002624 637 002644 639 002651 640 002672 642 002715 644 002726 645 002733 ----------------------------------------------------------- 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