COMPILATION LISTING OF SEGMENT cobol_register 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 0957.5 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_register.pl1 Added Trace statements. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 10/19/84 by FCH, [4.3-1], BUG563(phx18381), new cobol_addr_tokens.incl.pl1 */ 23 /* Modified on 09/03/83 by FCH, [4.1...], trace added */ 24 /* Modified on 2/24/76 to cover the pl1 bit string handling */ 25 /* Last modified 1-21-76 by bc. */ 26 /* format: style3 */ 27 cobol_register: 28 proc (reg_struc_ptr); /* The procedure is not a valid entry point. */ 29 30 31 32 dcl reg_struc_ptr ptr; /* reg_struc_ptr is a pointer to the following structure (input) */ 33 34 dcl 1 reg_struc based (reg_struc_ptr), 35 2 what_reg fixed bin, 36 2 reg_no bit (4) unaligned, 37 2 filler1 bit (32) unaligned, /* for bit string handling */ 38 2 lock fixed bin, 39 2 already_there fixed bin, 40 2 contains fixed bin, 41 2 pointer ptr, 42 2 literal bit (36); 43 44 /* 45*what_reg specifies the register to be obtained. (input) 46* 0 - A or Q or any index register. 47* 1 - A register. 48* 2 - Q register. 49* 3 - A and Q registers. 50* 4 - A or Q register. 51* 5 - any index register. 52* 1n - index register n. 53* 54*reg_no is the register that is assigned. (output). 55* 1 - A register. 56* 2 - Q register. 57* 3 - A and Q registers. 58* 1n - index register n. 59* 60*lock can have the following values. (input). 61* 0 - do not change the lock or unlock status of the register. 62* 1 - lock this register. 63* 2 - unlock all index registers and the A and Q registers. 64* 3 - unlock all index registers and the A and Q registers 65* and all pointer registers. 66*already_there has the followoutg values. (output). 67* 0 - the register must be loaded. 68* 1 - the specified contents are already in the register 69* and it does not need to loaded. 70* 71*contains specifies the form of the contents of the register. (input). 72* 0 - the register will not contain a value that is meaningful 73* for register optimatization. 74* pointer and literal are not meaningful. 75* 1 - the register will contain a data item. 76* pointer must have a meaningful value. 77* 2 - the register will contain the value specified in "literal". 78* 3 - the register will contain a computed subscript, pointer must 79* have a meaningful value. 80* 4 - the register will contain a computed index, 81* pointer must have a meaningful value. 82* 5 - the register will contain a modified computed index, 83* pointer must have a meaningful value. 84* 85* Note: The values 3, 4 and 5 are intended for the use by 86* the addressibility handler and should not be of interest 87* to the most generators. 88* 89*pointer is one of the following: 90* (a) - A pointer to a type 9 token. In this case "contains" is 1 (data item). 91* (b) - A pointer to a structure (to be defined) for index or subscript 92* computations. In this case, "contains" is 3 (subscript), 4 93* (index) or 5 (modified index). 94* 95*literal is the literal value that will be in the register. 96* 97* */ 98 99 /* DECLARATION OF EXTERNAL ENTRIES */ 100 101 dcl ioa_$ioa_stream entry options (variable); 102 dcl cobol_register_util$save 103 ext entry (bit (4)); 104 dcl cobol_register_util$restore 105 ext entry (bit (4)); 106 dcl cobol_register_util$save_pointer 107 ext entry (bit (4)); 108 dcl cobol_register_util$restore_pointer 109 ext entry (bit (4)); 110 111 dcl signal_ entry (char (*), ptr, ptr); 112 dcl 1 error_message, 113 2 name char (32) init ("cobol_register"), 114 2 length fixed bin init (80), 115 2 message char (80); 116 dcl (i, max) fixed bin; 117 dcl temp_ptr ptr; 118 dcl zero_word bit (36) based (temp_ptr); 119 120 121 /*}*/ 122 123 124 /*{*/ 125 126 load: 127 entry (reg_struc_ptr); 128 /***..... dcl LOCAL_NAME char (5) int static init ("$LOAD");/**/ 129 /***..... if Trace_Bit then call cobol_gen_driver_$Tr_Beg(MY_NAME||LOCAL_NAME);/**/ 130 131 /* This entry may be used for the following function: 132* 133* (a) - Obtain a register ( A, Q or an index register) for the caller. 134* (b) - If the register is locked by someone already, save its content and make it 135* available to me. 136* (c) - Make the contents of the register known to the utility. 137* (d) - Inform the caller if the contents are already in the register. 138* 139* NOTE: (c) and (d) are not implemented yet. 140* 141* 142*USAGE: declare cobol_register$load entry(ptr); 143* 144* The declaration of reg_struc is described in the main entry point. 145* 146* call cobol_register$load(reg_struc_ptr); 147* 148* 149* NOTE: (1) The caller is assured that the register he want will be available 150* to him whatever it is locked or not. 151* (2) If the register is locked already, the content will be stored into 152* some location and the address of that location will be saved on the 153* top of register storage stack. 154* (3) Some instruction may be emitted to save the register content. 155* (4) Always remember to call the release entry to release the 156* register when it is not needed anymore. 157* 158* */ 159 160 /*}*/ 161 dcl bit_reg_code bit (4); 162 163 164 165 /**************************************************/ 166 /* START OF EXECUTION */ 167 /* ENTRY POINT: load */ 168 /**************************************************/ 169 170 171 172 reg_struc.already_there = 0; 173 174 /* Unlock registers, if requested. */ 175 if reg_struc.lock = 2 | reg_struc.lock = 3 176 then do; /* Unlock was requested. */ 177 178 do i = 0 to 9; /* Unlock A, Q, index registers. */ 179 if reg_status.save_stack_count (i) ^= 0 180 then do; /* Restore the register. */ 181 call cobol_register_util$restore ((reg_bit_code (i))); 182 reg_status.r_lock (i) = 1; 183 end; /* Restore the register. */ 184 else reg_status.r_lock (i) = 0; 185 end; /* UNlock A, Q, and index registers. */ 186 187 if reg_struc.lock = 3 188 then do; /* UNlock temporary pointer registers. */ 189 190 if ptr_status.save_stack_count (1) ^= 0 191 then do; /* Restore PR1 */ 192 call cobol_register_util$restore_pointer (substr (unspec (binary (1)), 33, 4)); 193 ptr_status.p_lock (1) = 1; 194 end; /* Restore PR1 */ 195 else ptr_status.p_lock (1) = 0; 196 197 if ptr_status.save_stack_count (2) ^= 0 198 then do; /* Restore PR2 */ 199 call cobol_register_util$restore_pointer (substr (unspec (binary (2)), 33, 4)); 200 ptr_status.p_lock (2) = 1; 201 end; /* Restore PR2 */ 202 else ptr_status.p_lock (2) = 0; 203 204 if ptr_status.save_stack_count (7) ^= 0 205 then do; /* Restore PR 7 */ 206 call cobol_register_util$restore_pointer (substr (unspec (binary (7)), 33, 4)); 207 ptr_status.p_lock (7) = 1; 208 end; /* Restore PR7 */ 209 else ptr_status.p_lock (7) = 0; 210 211 end; /* Unlock temporary pointer registers. */ 212 213 end; /* UNlock was requested. */ 214 215 if (reg_struc.what_reg = 0 | reg_struc.what_reg = 4 | reg_struc.what_reg = 5) 216 then call pick_a_register (reg_struc.what_reg, reg_struc.lock, reg_struc.reg_no); 217 else call get_specific_reg (reg_struc.what_reg, reg_struc.lock, reg_struc.reg_no); 218 reg_struc.filler1 = (32)"0"b; 219 /**************************************************/ 220 /* RETURN POINT */ 221 /* ENTRY: load */ 222 /**************************************************/ 223 224 go to crx; 225 226 227 get_specific_reg: 228 proc (reg_code, lock_code, return_bit_code); 229 230 /* 231*This internal procedure gets a specific register, locks it, if 232*requested, and returns the four bit code that describes the register. 233**/ 234 235 /* DECLARATION OF THE PARAMETERS */ 236 237 dcl reg_code fixed bin; 238 dcl lock_code fixed bin; 239 dcl return_bit_code bit (4); 240 241 /* DESCRIPTION OF THE PARAMETERS */ 242 243 /* 244*PARAMETER DESCRIPTION 245* 246*reg_code A fixedd binary code that indicates the register 247* to get. (input) This code is defined in 248* the following table. 249* 250* reg_code | register to get 251* ==================================== 252* 1 | A 253* 2 | Q 254* 3 | A and Q 255* |n | index register "n" 256* ==================================== 257* 258*lock_code A code that indicates whether the register 259* is to be locked after it is gotten. (input) 260* This code is defined as follows: 261* 262* 0 - don't lock 263* 1 - lock 264* 265*return_bit_code A bit code that identifies the register 266* gotten. (output) This code is defined in 267* the following table. 268* 269* code | register 270* ============================== 271* "0001"b | A 272* "0010"b | Q 273* "0011"b | A and Q 274* "1nnn"b | index register "n" 275* 276**/ 277 dcl work_reg_code fixed bin; 278 279 280 281 /**************************************************/ 282 /* START OF EXECUTION */ 283 /* INTERNAL PROCEDURE get_specific_reg */ 284 /**************************************************/ 285 286 if reg_code = 1 287 then do; /* A register. */ 288 work_reg_code = 8; 289 return_bit_code = "0001"b; 290 end; /* A register. */ 291 else if reg_code = 2 292 then do; /* Q register. */ 293 work_reg_code = 9; 294 return_bit_code = "0010"b; 295 end; /* Q register. */ 296 else if reg_code > 9 297 then do; /* Index register. */ 298 work_reg_code = reg_code - 10; 299 return_bit_code = "1"b || substr (unspec (work_reg_code), 34, 3); 300 end; /* Index register. */ 301 302 else do; /* Must be A and Q */ 303 return_bit_code = "0011"b; 304 if reg_status.r_lock (8) ^= 0 305 then call cobol_register_util$save ("0001"b); 306 reg_status.r_lock (8) = lock_code; 307 return_bit_code = "0010"b; /* Q */ 308 work_reg_code = 9; 309 end; /* Must be A and Q */ 310 311 if reg_status.r_lock (work_reg_code) ^= 0 312 then do; 313 call cobol_register_util$save (return_bit_code); 314 reg_status.r_lock (work_reg_code) = 1; 315 end; 316 else reg_status.r_lock (work_reg_code) = lock_code; 317 318 if reg_code = 3 319 then return_bit_code = "0011"b; /* A and Q */ 320 321 322 end get_specific_reg; 323 324 325 pick_a_register: 326 proc (reg_code, lock_code, return_bit_code); 327 328 /* 329*This procedure picks a register from a set of registers specified 330*by the input parameter reg_code, locks it if specified, and 331*returns a four bit code that defines the register gotten. 332**/ 333 334 /* DECLARATION OF THE PARAMETERS */ 335 336 dcl reg_code fixed bin; 337 dcl lock_code fixed bin; 338 dcl return_bit_code bit (4); 339 340 /* DESCRIPTION OF THE PARAMETERS */ 341 342 /* 343*PARAMETER DESCRIPTION 344* 345*reg_code A code that indicates the set of registers 346* from which one is to be gotten. (inputt) 347* This code is defined in the following table: 348* 349* code | register set 350* =================================== 351* 0 | any register (A,Q, or index) 352* 4 | A or Q 353* 5 | any index register 354* ===================================== 355* 356*lock_code A code that indicates whether the register gotten 357* is to be locked. (input) 358* 359* 0 - no lock 360* 1 - lock the register 361* 362*return_bit_code A code that identifies the register gotten 363* by this procedure. (output) 364* 365* return_bit_code | register gotten 366* ========================================= 367* "0001"b | A 368* "0010"b | Q 369* "1nnn"b | index register "n" 370* 371**/ 372 373 /**************************************************/ 374 /* START OF EXECUTION */ 375 /* INTERNAL PROCEDURE pick_a_register */ 376 /**************************************************/ 377 378 dcl found_index fixed bin; 379 dcl i fixed bin; 380 dcl work_reg_code fixed bin int static init (4); 381 382 if (reg_code = 0 | reg_code = 5) 383 then do; /* Any register. */ 384 /* Pick any index register. */ 385 386 found_index = 0; 387 do i = 0 to 7 while (found_index = 0); /* Scan for unlocked index register. */ 388 if reg_status.r_lock (i) = 0 389 then found_index = i; 390 end; /* Scan for unlocked index register. */ 391 392 if found_index = 0 393 then do; /* All index registers are locked, pick one. */ 394 work_reg_code = mod ((work_reg_code + 1), 7); 395 return_bit_code = "1"b || substr (unspec (work_reg_code), 34, 3); 396 end; /* All index registers are locked, pick one. */ 397 else do; /* Found an unlocked index register. */ 398 work_reg_code = found_index; 399 return_bit_code = "1"b || substr (unspec (found_index), 34, 3); 400 end; /* Found an unlocked index register. */ 401 402 end; /* Any register. */ 403 404 else do; /* A or Q */ 405 406 if reg_status.r_lock (8) = 0 407 then do; /* A is not locked, use A. */ 408 work_reg_code = 8; 409 return_bit_code = "0001"b; 410 end; /* A is not locked, use A. */ 411 412 else if reg_status.r_lock (9) = 0 413 then do; /* Q is not locked, use Q */ 414 work_reg_code = 9; 415 return_bit_code = "0010"b; 416 end; /* Q is not locked, use Q */ 417 else do; /* A and Q both locked. */ 418 /* PICK A !!! */ 419 work_reg_code = 8; 420 return_bit_code = "0001"b; 421 end; /* A and Q both locked. */ 422 423 end; /* A or Q */ 424 425 if reg_status.r_lock (work_reg_code) ^= 0 426 then call cobol_register_util$save (return_bit_code); 427 reg_status.r_lock (work_reg_code) = lock_code; 428 429 end pick_a_register; 430 431 432 reg_bit_code: 433 proc (fixed_reg_code) returns (bit (4)); 434 435 /* 436*This internal procedure maps a fixed binary register code into 437*a four bit code. 438**/ 439 440 dcl fixed_reg_code fixed bin; /* The fixed binary register code. */ 441 442 /* 443*This procedure maps a fixed binary register code into a four bit 444*code. The following table defines the mapping. 445* 446*fixed_reg_code | meaning | mapped to bit code 447*======================================================== 448* 449* 0 - 7 |x0 - x7 | "1nnn"b 450* 8 A | "0001"b 451* 9 | Q | "0010"b 452* 453**/ 454 455 dcl return_bit_code bit (4); 456 457 if fixed_reg_code = 8 458 then return_bit_code = "0001"b; /* A */ 459 else if fixed_reg_code = 9 460 then return_bit_code = "0010"b; /* Q */ 461 else return_bit_code = "1"b || substr (unspec (fixed_reg_code), 34, 3); 462 463 return (return_bit_code); 464 465 end reg_bit_code; 466 467 468 /*{*/ 469 470 release: 471 entry (reg_struc_ptr); 472 /***..... dcl LOCAL_NAME2 char (8) int static init ("$RELEASE");/**/ 473 /***..... if Trace_Bit then call cobol_gen_driver_$Tr_Beg(MY_NAME||LOCAL_NAME2);/**/ 474 475 /* This entry is used for the following function: 476* (a) - Makes the register management aware that the contents of 477* the register (A, Q or index register) will be released. 478* (b) - Restore the register from the top of the register saving 479* stack if there is something saved before. 480* Perform the register unlocking. 481* (c) - Basically the caller is telling the utility: 482* "I plan to release the register which I have asked to get it 483* before. Please make it available to uture use again.". 484* 485* 486* NOTE: (1) If the register stack is not empty, some instruction will be emitted 487* to restore the register from the top of the stack. 488* 489* 490* 491*USAGE: declare cobol_register$release entry(ptr); 492* 493* The declaration of the register structure is the same as in the main entry point. 494* However the meaning is a little bit different. 495*what_reg not used here. 496*reg_no is the reg_no to be released. (input). 497* 1 - A register. 498* 2 - Q register. 499* 3 - A and Q registers. 500* 1n - index register n. 501*lock same meaning as described in main entry point. (input). 502*already_there not used. 503*contains 0 - the register will not contain a value that is meaningful for register optimatization. 504* 1 - the register will be stored into a data item. "pointer" must 505* have a meaningful value. 506*pointer is a pointer to a type 9 token. 507*literal not used. 508* 509* 510* call cobol_register$release(reg_struc_ptr); 511* 512* */ 513 514 515 /*}*/ 516 /**************************************************/ 517 /* START OF EXECUTION */ 518 /* ENTRY POINT: release */ 519 /**************************************************/ 520 521 522 if reg_struc.reg_no = "0001"b 523 then do; /* Unlock A */ 524 if reg_status.save_stack_count (8) ^= 0 525 then do; /* Restore A */ 526 call cobol_register_util$restore (reg_struc.reg_no); 527 reg_status.r_lock (8) = 1; 528 end; /* Restore A */ 529 else reg_status.r_lock (8) = 0; 530 end; /* Unlock A */ 531 532 533 else if reg_struc.reg_no = "0010"b 534 then do; /* Unlock Q */ 535 if reg_status.save_stack_count (9) ^= 0 536 then do; /* Restore Q */ 537 call cobol_register_util$restore (reg_struc.reg_no); 538 reg_status.r_lock (9) = 1; 539 end; /* Restore Q */ 540 else reg_status.r_lock (9) = 0; 541 end; /* Unlock Q */ 542 else if reg_struc.reg_no = "0011"b 543 then do; /* Unlock A and Q */ 544 545 if reg_status.save_stack_count (8) ^= 0 546 then do; /* Restore A */ 547 call cobol_register_util$restore ("0001"b); 548 reg_status.r_lock (8) = 1; 549 end; /* Restore A */ 550 else reg_status.r_lock (8) = 0; 551 if reg_status.save_stack_count (9) ^= 0 552 then do; /* Restore Q */ 553 call cobol_register_util$restore ("0010"b); 554 reg_status.r_lock (9) = 1; 555 end; /* Restore Q */ 556 else reg_status.r_lock (9) = 0; 557 end; /* Unlock a and Q */ 558 559 else do; /* Must be an index register. */ 560 i = fixed (reg_struc.reg_no, 17, 0) - 8; 561 if reg_status.save_stack_count (i) ^= 0 562 then do; /* Restore the index. */ 563 call cobol_register_util$restore (reg_struc.reg_no); 564 reg_status.r_lock (i) = 1; 565 end; /* Restore the index. */ 566 else reg_status.r_lock (i) = 0; 567 end; /* Must be an index register. */ 568 569 570 571 /**************************************************/ 572 /* RETURN POINT */ 573 /* ENTRY: release */ 574 /**************************************************/ 575 crx: /***.....if Trace_Bit then call cobol_gen_driver_$Tr_End(MY_NAME);/**/ 576 return; 577 priority: 578 entry; 579 call ioa_$ioa_stream ("error_output", "cobol_register$priority not yet implemented"); 580 return; 581 582 583 584 /***..... dcl cobol_gen_driver_$Tr_Beg entry(char(*));/**/ 585 /***..... dcl cobol_gen_driver_$Tr_End entry(char(*));/**/ 586 587 /***..... dcl Trace_Bit bit(1) static external;/**/ 588 /***..... dcl Trace_Lev fixed bin static external;/**/ 589 /***..... dcl Trace_Line char(36) static external;/**/ 590 /***..... dcl ioa_ entry options(variable); /**/ 591 /***..... dcl MY_NAME char (14) int static init ("COBOL_REGISTER");/**/ 592 593 /* INCLUDE FILES USED BY THIS PROCEDURE */ 594 595 596 /***** Declaration for builtin function *****/ 597 598 dcl (substr, mod, binary, fixed, addr, addrel, rel, length, string, unspec, null, index) 599 builtin; 600 601 /***** End of declaration for builtin function *****/ 602 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 1 3 /* Last modified on 06/17/76 by ORN */ 1 4 /* Last modified on 12/28/76 by FCH */ 1 5 /* Last modified on 12/01/80 by FCH */ 1 6 1 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 1 8 1 9 1 10 dcl cobol_ext_$cobol_afp ptr ext; 1 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 1 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 1 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 1 14 dcl cobol_ext_$report_first_token ptr ext; 1 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 1 16 dcl cobol_ext_$report_last_token ptr ext; 1 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 1 18 dcl cobol_ext_$cobol_eltp ptr ext; 1 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 1 20 dcl cobol_ext_$cobol_cmfp ptr ext; 1 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 1 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 1 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 1 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 1 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 1 26 dcl cobol_ext_$cobol_dfp ptr ext; 1 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 1 28 dcl cobol_ext_$cobol_hfp ptr ext; 1 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 1 30 dcl cobol_ext_$cobol_m1fp ptr ext; 1 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 1 32 dcl cobol_ext_$cobol_m2fp ptr ext; 1 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 1 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 1 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 1 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 1 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 1 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 1 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 1 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 1 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 1 42 dcl cobol_ext_$cobol_ntfp ptr ext; 1 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 1 44 dcl cobol_ext_$cobol_pdofp ptr ext; 1 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 1 46 dcl cobol_ext_$cobol_pfp ptr ext; 1 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 1 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 1 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 1 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 1 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 1 52 dcl cobol_ext_$cobol_curr_in ptr ext; 1 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 1 54 dcl cobol_ext_$cobol_curr_out ptr ext; 1 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 1 56 dcl cobol_ext_$cobol_sfp ptr ext; 1 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 1 58 dcl cobol_ext_$cobol_w1p ptr ext; 1 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 1 60 dcl cobol_ext_$cobol_w2p ptr ext; 1 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 1 62 dcl cobol_ext_$cobol_w3p ptr ext; 1 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 1 64 dcl cobol_ext_$cobol_w5p ptr ext; 1 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 1 66 dcl cobol_ext_$cobol_w6p ptr ext; 1 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 1 68 dcl cobol_ext_$cobol_w7p ptr ext; 1 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 1 70 dcl cobol_ext_$cobol_x3fp ptr ext; 1 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 1 72 dcl cobol_ext_$cobol_rwdd ptr ext; 1 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 1 74 dcl cobol_ext_$cobol_rwpd ptr ext; 1 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 1 76 1 77 1 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 1 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 1 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 1 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 1 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 1 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 1 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 1 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 1 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 1 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 1 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 1 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 1 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 1 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 1 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 1 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 1 94 1 95 dcl cobol_ext_$cobol_lpr char (5) ext; 1 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 1 97 dcl cobol_ext_$cobol_options char (120) ext; 1 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 1 99 1 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 1 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 1 102 dcl cobol_ext_$report_exists bit (1) ext; 1 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 1 104 1 105 1 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 1 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 1 108 603 604 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 2 3 /* Modified on 10/27/82 by FCH, [5.1-1], cobol_cln added to save last line num, BUG543(phx13643) */ 2 4 /* Modified on 07/31/80 by FCH, [4.3-1], use_reporting field added for Report Writer */ 2 5 /* Modified on 03/30/79 by FCH, [4.1-1], -card option added */ 2 6 /* Modified on 03/30/79 by FCH, [4.0-2], -svNM option added */ 2 7 /* Modified on 03/02/79 by FCH, [4.0-1], -levNM option added */ 2 8 /* Modified by RAL on 10/13/78, [4.0-0], Added option exp from fil2. */ 2 9 /* Modified by BC on 06/20/77, descriptor added. */ 2 10 /* Modified by BC on 06/02/77, init_cd_seg, init_cd_offset added. */ 2 11 /* Modified by BC on 1/21/77, options.profile added. */ 2 12 /* Modified by FCH on 7/6/76, sysin_fno & sysout_fno deleted, accept_device & display_device added */ 2 13 /* Modified by FCH on 5/20/77, comp_level added */ 2 14 2 15 2 16 /* THE SIZE OF THIS STRUCTURE IN BYTES, (EXCLUDING VARIABLE 2 17* LENGTH ENTITIES), FOR EACH HARDWARE IMPLEMENTATION IS: 2 18* 2 19* HARDWARE | SIZE (BYTES) 2 20* --------------------------------- 2 21* 645/6180 | 464 2 22* P7 | 396 2 23* --------------------------------- 2 24* */ 2 25 2 26 dcl 1 fixed_common based ( cobol_com_ptr), 2 27 2 prog_name char (30), 2 28 2 compiler_rev_no char (25), 2 29 2 phase_name char (6), 2 30 2 currency char (1), 2 31 2 fatal_no fixed bin, 2 32 2 warn_no fixed bin, 2 33 2 proc_counter fixed bin, 2 34 2 spec_tag_counter fixed bin, 2 35 2 file_count fixed bin, 2 36 2 filedescr_offsets (20) char (5), 2 37 2 perf_alter_info char (5), 2 38 2 another_perform_info char (5), 2 39 2 sort_in_info char (5), 2 40 2 odo_info char (5), 2 41 2 size_seg fixed bin, 2 42 2 size_offset fixed bin(24), 2 43 2 size_perform_info char (5), 2 44 2 rename_info char (5), 2 45 2 report_names char (5), 2 46 2 rw_buf_seg fixed bin, 2 47 2 rw_buf_offset fixed bin(24), 2 48 2 rw_buf_length fixed bin(24), 2 49 2 file_keys char (5), 2 50 2 search_keys char (5), 2 51 2 dd_seg_size fixed bin(24), 2 52 2 pd_seg_size fixed bin(24), 2 53 2 seg_limit fixed bin , 2 54 2 number_of_dd_segs fixed bin, 2 55 2 seg_info char (5), 2 56 2 number_of_ls_pointers fixed bin, 2 57 2 link_sec_seg fixed bin, 2 58 2 link_sec_offset fixed bin(24), 2 59 2 sra_clauses fixed bin, 2 60 2 fix_up_info char (5), 2 61 2 linage_info char (5), 2 62 2 first_dd_item char (5), 2 63 2 sort_out_info char (5), 2 64 2 db_info char (5), 2 65 2 realm_info char (5), 2 66 2 rc_realm_info char (5), 2 67 2 last_file_key char (5), 2 68 2 prog_coll_seq fixed bin, 2 69 2 init_cd_seg fixed bin, 2 70 2 init_cd_offset fixed bin(24), 2 71 2 input_error_exit fixed bin, 2 72 2 output_error_exit fixed bin, 2 73 2 i_o_error_exit fixed bin, 2 74 2 extend_error_exit fixed bin, 2 75 2 dummy15 fixed bin, 2 76 2 options, 2 77 3 cu bit (1), 2 78 3 st bit (1), 2 79 3 wn bit (1), 2 80 3 obs bit (1), 2 81 3 dm bit (1), 2 82 3 xrl bit (1), 2 83 3 xrn bit (1), 2 84 3 src bit (1), 2 85 3 obj bit (1), 2 86 3 exs bit (1), 2 87 3 sck bit (1), 2 88 3 rno bit (1), 2 89 3 u_l bit (1), 2 90 3 cnv bit (1), 2 91 3 cos bit (1), 2 92 3 fmt bit (1), 2 93 3 profile bit(1), 2 94 3 nw bit (1), 2 95 3 exp bit (1), /* [4.0-0] */ 2 96 3 card bit (1), /*[4.1-1]*/ 2 97 3 fil2 bit (5), 2 98 3 m_map bit (1), 2 99 3 m_bf bit (1), 2 100 3 m_fat bit (1), 2 101 3 m_wn bit (1), 2 102 3 m_obs bit(1), 2 103 3 pd bit(1), 2 104 3 oc bit(1), 2 105 2 supervisor bit (1), 2 106 2 dec_comma bit (1), 2 107 2 init_cd bit (1), 2 108 2 corr bit (1), 2 109 2 initl bit (1), 2 110 2 debug bit (1), 2 111 2 report bit (1), 2 112 2 sync_in_prog bit (1), 2 113 2 pd_section bit (1), 2 114 2 list_switch bit (1), 2 115 2 alpha_cond bit (1), 2 116 2 num_cond bit (1), 2 117 2 spec_sysin bit (1), 2 118 2 spec_sysout bit (1), 2 119 2 cpl_files bit (1), 2 120 2 obj_dec_comma bit (1), 2 121 2 default_sign_type bit (3), 2 122 2 use_debug bit(1), 2 123 2 syntax_trace bit(1), 2 124 2 comp_defaults, 2 125 3 comp bit(1), 2 126 3 comp_1 bit(1), 2 127 3 comp_2 bit(1), 2 128 3 comp_3 bit(1), 2 129 3 comp_4 bit(1), 2 130 3 comp_5 bit(1), 2 131 3 comp_6 bit(1), 2 132 3 comp_7 bit(1), 2 133 3 comp_8 bit(1), 2 134 2 disp_defaults, 2 135 3 disp bit(1), 2 136 3 disp_1 bit(1), 2 137 3 disp_2 bit(1), 2 138 3 disp_3 bit(1), 2 139 3 disp_4 bit(1), 2 140 3 disp_5 bit(1), 2 141 3 disp_6 bit(1), 2 142 3 disp_7 bit(1), 2 143 2 descriptor bit(2), 2 144 2 levsv bit(3), /*[4.0-1]*/ 2 145 2 use_reporting bit(1), /*[4.3-1]*/ 2 146 2 cd bit(1), /*[4.4-1]*/ 2 147 2 dummy17 bit(3), 2 148 2 lvl_rstr bit(32), 2 149 2 inst_rstr bit(32), 2 150 2 comp_level char(1), 2 151 2 dummy18 char(30), 2 152 2 object_sign char (1), 2 153 2 last_print_rec char (5), 2 154 2 coll_seq_info char (5), 2 155 2 sys_status_seg fixed bin, 2 156 2 sys_status_offset fixed bin(24), 2 157 2 compiler_id fixed bin, 2 158 2 date_comp_ln fixed bin, 2 159 2 compile_mode bit(36), 2 160 2 default_temp fixed bin, 2 161 2 accept_device fixed bin, 2 162 2 display_device fixed bin, 2 163 2 cobol_cln fixed bin, /*[5.1-1]*/ 2 164 2 alphabet_offset fixed bin; 2 165 2 166 2 167 2 168 /* END INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 2 169 605 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 3 3 /* last modified Feb 4, 1977 by ORN */ 3 4 3 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 3 6 3 7 /* POINTERS */ 3 8 dcl cobol_$text_base_ptr ptr ext; 3 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 3 10 dcl cobol_$con_end_ptr ptr ext; 3 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 3 12 dcl cobol_$def_base_ptr ptr ext; 3 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 3 14 dcl cobol_$link_base_ptr ptr ext; 3 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 3 16 dcl cobol_$sym_base_ptr ptr ext; 3 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 3 18 dcl cobol_$reloc_text_base_ptr ptr ext; 3 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 3 20 dcl cobol_$reloc_def_base_ptr ptr ext; 3 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 3 22 dcl cobol_$reloc_link_base_ptr ptr ext; 3 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 3 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 3 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 3 26 dcl cobol_$reloc_work_base_ptr ptr ext; 3 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 3 28 dcl cobol_$pd_map_ptr ptr ext; 3 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 3 30 dcl cobol_$fixup_ptr ptr ext; 3 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 3 32 dcl cobol_$initval_base_ptr ptr ext; 3 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 3 34 dcl cobol_$initval_file_ptr ptr ext; 3 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 3 36 dcl cobol_$perform_list_ptr ptr ext; 3 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 3 38 dcl cobol_$alter_list_ptr ptr ext; 3 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 3 40 dcl cobol_$seg_init_list_ptr ptr ext; 3 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 3 42 dcl cobol_$temp_token_area_ptr ptr ext; 3 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 3 44 dcl cobol_$temp_token_ptr ptr ext; 3 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 3 46 dcl cobol_$token_block1_ptr ptr ext; 3 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 3 48 dcl cobol_$token_block2_ptr ptr ext; 3 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 3 50 dcl cobol_$minpral5_ptr ptr ext; 3 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 3 52 dcl cobol_$tag_table_ptr ptr ext; 3 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 3 54 dcl cobol_$map_data_ptr ptr ext; 3 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 3 56 dcl cobol_$ptr_status_ptr ptr ext; 3 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 3 58 dcl cobol_$reg_status_ptr ptr ext; 3 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 3 60 dcl cobol_$misc_base_ptr ptr ext; 3 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 3 62 dcl cobol_$misc_end_ptr ptr ext; 3 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 3 64 dcl cobol_$list_ptr ptr ext; 3 65 dcl list_ptr ptr defined (cobol_$list_ptr); 3 66 dcl cobol_$allo1_ptr ptr ext; 3 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 3 68 dcl cobol_$eln_ptr ptr ext; 3 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 3 70 dcl cobol_$diag_ptr ptr ext; 3 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 3 72 dcl cobol_$xref_token_ptr ptr ext; 3 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 3 74 dcl cobol_$xref_chain_ptr ptr ext; 3 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 3 76 dcl cobol_$statement_info_ptr ptr ext; 3 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 3 78 dcl cobol_$reswd_ptr ptr ext; 3 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 3 80 dcl cobol_$op_con_ptr ptr ext; 3 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 3 82 dcl cobol_$ntbuf_ptr ptr ext; 3 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 3 84 dcl cobol_$main_pcs_ptr ptr ext; 3 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 3 86 dcl cobol_$include_info_ptr ptr ext; 3 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 3 88 3 89 /* FIXED BIN */ 3 90 dcl cobol_$text_wd_off fixed bin ext; 3 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 3 92 dcl cobol_$con_wd_off fixed bin ext; 3 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 3 94 dcl cobol_$def_wd_off fixed bin ext; 3 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 3 96 dcl cobol_$def_max fixed bin ext; 3 97 dcl def_max fixed bin defined (cobol_$def_max); 3 98 dcl cobol_$link_wd_off fixed bin ext; 3 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 3 100 dcl cobol_$link_max fixed bin ext; 3 101 dcl link_max fixed bin defined (cobol_$link_max); 3 102 dcl cobol_$sym_wd_off fixed bin ext; 3 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 3 104 dcl cobol_$sym_max fixed bin ext; 3 105 dcl sym_max fixed bin defined (cobol_$sym_max); 3 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 3 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 3 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 3 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 3 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 3 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 3 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 3 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 3 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 3 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 3 116 dcl cobol_$pd_map_index fixed bin ext; 3 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 3 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 3 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 3 120 dcl cobol_$stack_off fixed bin ext; 3 121 dcl stack_off fixed bin defined (cobol_$stack_off); 3 122 dcl cobol_$max_stack_off fixed bin ext; 3 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 3 124 dcl cobol_$init_stack_off fixed bin ext; 3 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 3 126 dcl cobol_$pd_map_sw fixed bin ext; 3 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 3 128 dcl cobol_$next_tag fixed bin ext; 3 129 dcl next_tag fixed bin defined (cobol_$next_tag); 3 130 dcl cobol_$data_init_flag fixed bin ext; 3 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 3 132 dcl cobol_$seg_init_flag fixed bin ext; 3 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 3 134 dcl cobol_$alter_flag fixed bin ext; 3 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 3 136 dcl cobol_$sect_eop_flag fixed bin ext; 3 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 3 138 dcl cobol_$para_eop_flag fixed bin ext; 3 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 3 140 dcl cobol_$priority_no fixed bin ext; 3 141 dcl priority_no fixed bin defined (cobol_$priority_no); 3 142 dcl cobol_$compile_count fixed bin ext; 3 143 dcl compile_count fixed bin defined (cobol_$compile_count); 3 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 3 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 3 146 dcl cobol_$reg_assumption_ind fixed bin ext; 3 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 3 148 dcl cobol_$perform_para_index fixed bin ext; 3 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 3 150 dcl cobol_$perform_sect_index fixed bin ext; 3 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 3 152 dcl cobol_$alter_index fixed bin ext; 3 153 dcl alter_index fixed bin defined (cobol_$alter_index); 3 154 dcl cobol_$list_off fixed bin ext; 3 155 dcl list_off fixed bin defined (cobol_$list_off); 3 156 dcl cobol_$constant_offset fixed bin ext; 3 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 3 158 dcl cobol_$misc_max fixed bin ext; 3 159 dcl misc_max fixed bin defined (cobol_$misc_max); 3 160 dcl cobol_$pd_map_max fixed bin ext; 3 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 3 162 dcl cobol_$map_data_max fixed bin ext; 3 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 3 164 dcl cobol_$fixup_max fixed bin ext; 3 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 3 166 dcl cobol_$tag_table_max fixed bin ext; 3 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 3 168 dcl cobol_$temp_token_max fixed bin ext; 3 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 3 170 dcl cobol_$allo1_max fixed bin ext; 3 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 3 172 dcl cobol_$eln_max fixed bin ext; 3 173 dcl eln_max fixed bin defined (cobol_$eln_max); 3 174 dcl cobol_$debug_enable fixed bin ext; 3 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 3 176 dcl cobol_$non_source_offset fixed bin ext; 3 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 3 178 dcl cobol_$initval_flag fixed bin ext; 3 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 3 180 dcl cobol_$date_compiled_sw fixed bin ext; 3 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 3 182 dcl cobol_$include_cnt fixed bin ext; 3 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 3 184 dcl cobol_$fs_charcnt fixed bin ext; 3 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 3 186 dcl cobol_$ws_charcnt fixed bin ext; 3 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 3 188 dcl cobol_$coms_charcnt fixed bin ext; 3 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 3 190 dcl cobol_$ls_charcnt fixed bin ext; 3 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 3 192 dcl cobol_$cons_charcnt fixed bin ext; 3 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 3 194 dcl cobol_$value_cnt fixed bin ext; 3 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 3 196 dcl cobol_$cd_cnt fixed bin ext; 3 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 3 198 dcl cobol_$fs_wdoff fixed bin ext; 3 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 3 200 dcl cobol_$ws_wdoff fixed bin ext; 3 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 3 202 dcl cobol_$coms_wdoff fixed bin ext; 3 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 3 204 3 205 /* CHARACTER */ 3 206 dcl cobol_$scratch_dir char (168) aligned ext; 3 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 3 208 dcl cobol_$obj_seg_name char (32) aligned ext; 3 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 3 210 3 211 /* BIT */ 3 212 dcl cobol_$xref_bypass bit(1) aligned ext; 3 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 3 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 3 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 3 216 3 217 3 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 3 219 3 220 606 607 608 609 dcl 1 ptr_status (0:7) based (cobol_$ptr_status_ptr) aligned, 4 1 4 2 /* BEGIN INCLUDE FILE ... cobol_ptr_status.incl.pl1 */ 4 3 /* Last modified June 3, 76 by bc */ 4 4 /* last modified Oct. 31,75 by tlf */ 4 5 4 6 /* 4 7*1. This structure contains the status of the object time 4 8* pointer registers. 4 9*2. The caller should provide a dcl statement in the form: 4 10* dcl 1 ptr_status (0:7) based ( cobol_$ptr_status_ptr) aligned, 4 11**/ 4 12 4 13 2 pointer_num bit (3), 4 14 2 usage fixed bin, 4 15 2 contents_sw fixed bin, 4 16 2 seg_num fixed bin, 4 17 2 wd_offset fixed bin (24), 4 18 2 p_lock fixed bin, 4 19 2 p_priority fixed bin, 4 20 2 p_reset fixed bin, 4 21 2 reset_seg_num fixed bin, 4 22 2 reset_wd_offset fixed bin (24), 4 23 02 save_stack_max fixed bin, 4 24 02 save_stack_count fixed bin, 4 25 02 save_stack (1:10) bit (36), 4 26 02 reloc_stack (1:10), 4 27 03 left_reloc_info bit (5) aligned, 4 28 03 right_reloc_info bit (5) aligned; 4 29 4 30 4 31 4 32 /* END INCLUDE FILE ... cobol_ptr_status.incl.pl1 */ 4 33 610 611 612 613 dcl 1 reg_status (0:9) based (cobol_$reg_status_ptr) aligned, 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_reg_status.incl.pl1 */ 5 3 /* last modified Oct. 31,75 by tlf */ 5 4 5 5 /* 5 6*1. This structure maintains the status of the object 5 7* time A,Q and index registers. 5 8*2. The caller should provide a dcl statement in the form. 5 9* dcl 1 reg_status (0:9) based ( cobol_$reg_status_ptr) aligned, 5 10**/ 5 11 5 12 2 register_num bit (4), 5 13 2 r_lock fixed bin, 5 14 2 r_priority fixed bin, 5 15 02 save_stack_max fixed bin, 5 16 02 save_stack_count fixed bin, 5 17 02 save_stack (1:10) bit (36), 5 18 02 reloc_stack (1:10), 5 19 03 left_reloc_info bit (5) aligned, 5 20 03 right_reloc_info bit (5) aligned; 5 21 5 22 5 23 5 24 /* END INCLUDE FILE ... cobol_reg_status.incl.pl1 */ 5 25 614 615 end cobol_register; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0832.7 cobol_register.pl1 >spec>install>MR12.3-1048>cobol_register.pl1 603 1 03/27/82 0431.3 cobol_ext_.incl.pl1 >ldd>include>cobol_ext_.incl.pl1 605 2 11/11/82 1712.8 cobol_fixed_common.incl.pl1 >ldd>include>cobol_fixed_common.incl.pl1 606 3 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.incl.pl1 610 4 11/11/82 1712.8 cobol_ptr_status.incl.pl1 >ldd>include>cobol_ptr_status.incl.pl1 614 5 11/11/82 1712.8 cobol_reg_status.incl.pl1 >ldd>include>cobol_reg_status.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. already_there 3 based fixed bin(17,0) level 2 dcl 34 set ref 172* binary builtin function dcl 598 ref 192 192 199 199 206 206 cobol_$ptr_status_ptr 000022 external static pointer dcl 3-56 ref 190 193 195 197 200 202 204 207 209 cobol_$reg_status_ptr 000024 external static pointer dcl 3-58 ref 179 182 184 304 306 311 314 316 388 406 412 425 427 524 527 529 535 538 540 545 548 550 551 554 556 561 564 566 cobol_register_util$restore 000016 constant entry external dcl 104 ref 181 526 537 547 553 563 cobol_register_util$restore_pointer 000020 constant entry external dcl 108 ref 192 199 206 cobol_register_util$save 000014 constant entry external dcl 102 ref 304 313 425 error_message 000100 automatic structure level 1 unaligned dcl 112 filler1 1(04) based bit(32) level 2 packed packed unaligned dcl 34 set ref 218* fixed builtin function dcl 598 ref 560 fixed_reg_code parameter fixed bin(17,0) dcl 440 ref 432 457 459 461 found_index 000154 automatic fixed bin(17,0) dcl 378 set ref 386* 387 388* 392 398 399 i 000155 automatic fixed bin(17,0) dcl 379 in procedure "pick_a_register" set ref 387* 388 388* i 000135 automatic fixed bin(17,0) dcl 116 in procedure "cobol_register" set ref 178* 179 181* 182 184* 560* 561 564 566 ioa_$ioa_stream 000012 constant entry external dcl 101 ref 579 length 10 000100 automatic fixed bin(17,0) initial level 2 dcl 112 set ref 112* lock 2 based fixed bin(17,0) level 2 dcl 34 set ref 175 175 187 215* 217* lock_code parameter fixed bin(17,0) dcl 238 in procedure "get_specific_reg" ref 227 306 316 lock_code parameter fixed bin(17,0) dcl 337 in procedure "pick_a_register" ref 325 427 mod builtin function dcl 598 ref 394 name 000100 automatic char(32) initial level 2 packed packed unaligned dcl 112 set ref 112* p_lock 5 based fixed bin(17,0) array level 2 dcl 609 set ref 193* 195* 200* 202* 207* 209* ptr_status based structure array level 1 dcl 609 r_lock 1 based fixed bin(17,0) array level 2 dcl 613 set ref 182* 184* 304 306* 311 314* 316* 388 406 412 425 427* 527* 529* 538* 540* 548* 550* 554* 556* 564* 566* reg_code parameter fixed bin(17,0) dcl 237 in procedure "get_specific_reg" ref 227 286 291 296 298 318 reg_code parameter fixed bin(17,0) dcl 336 in procedure "pick_a_register" ref 325 382 382 reg_no 1 based bit(4) level 2 packed packed unaligned dcl 34 set ref 215* 217* 522 526* 533 537* 542 560 563* reg_status based structure array level 1 dcl 613 reg_struc based structure level 1 unaligned dcl 34 reg_struc_ptr parameter pointer dcl 32 ref 27 126 172 175 175 187 215 215 215 215 215 215 217 217 217 218 470 522 526 533 537 542 560 563 return_bit_code 000164 automatic bit(4) packed unaligned dcl 455 in procedure "reg_bit_code" set ref 457* 459* 461* 463 return_bit_code parameter bit(4) packed unaligned dcl 338 in procedure "pick_a_register" set ref 325 395* 399* 409* 415* 420* 425* return_bit_code parameter bit(4) packed unaligned dcl 239 in procedure "get_specific_reg" set ref 227 289* 294* 299* 303* 307* 313* 318* save_stack_count 4 based fixed bin(17,0) array level 2 in structure "reg_status" dcl 613 in procedure "cobol_register" ref 179 524 535 545 551 561 save_stack_count 13 based fixed bin(17,0) array level 2 in structure "ptr_status" dcl 609 in procedure "cobol_register" ref 190 197 204 substr builtin function dcl 598 ref 192 192 199 199 206 206 299 395 399 461 unspec builtin function dcl 598 ref 192 192 199 199 206 206 299 395 399 461 what_reg based fixed bin(17,0) level 2 dcl 34 set ref 215 215 215 215* 217* work_reg_code 000010 internal static fixed bin(17,0) initial dcl 380 in procedure "pick_a_register" set ref 394* 394 395 398* 408* 414* 419* 425 427 work_reg_code 000144 automatic fixed bin(17,0) dcl 277 in procedure "get_specific_reg" set ref 288* 293* 298* 299 308* 311 314 316 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addr builtin function dcl 598 addrel builtin function dcl 598 allo1_max defined fixed bin(17,0) dcl 3-171 allo1_ptr defined pointer dcl 3-67 alter_flag defined fixed bin(17,0) dcl 3-135 alter_index defined fixed bin(17,0) dcl 3-153 alter_list_ptr defined pointer dcl 3-39 bit_reg_code automatic bit(4) packed unaligned dcl 161 cd_cnt defined fixed bin(17,0) dcl 3-197 cobol_$allo1_max external static fixed bin(17,0) dcl 3-170 cobol_$allo1_ptr external static pointer dcl 3-66 cobol_$alter_flag external static fixed bin(17,0) dcl 3-134 cobol_$alter_index external static fixed bin(17,0) dcl 3-152 cobol_$alter_list_ptr external static pointer dcl 3-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 3-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 3-118 cobol_$compile_count external static fixed bin(17,0) dcl 3-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 3-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 3-202 cobol_$con_end_ptr external static pointer dcl 3-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 3-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 3-192 cobol_$constant_offset external static fixed bin(17,0) dcl 3-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 3-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 3-180 cobol_$debug_enable external static fixed bin(17,0) dcl 3-174 cobol_$def_base_ptr external static pointer dcl 3-12 cobol_$def_max external static fixed bin(17,0) dcl 3-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 3-94 cobol_$diag_ptr external static pointer dcl 3-70 cobol_$eln_max external static fixed bin(17,0) dcl 3-172 cobol_$eln_ptr external static pointer dcl 3-68 cobol_$fixup_max external static fixed bin(17,0) dcl 3-164 cobol_$fixup_ptr external static pointer dcl 3-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 3-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 3-198 cobol_$include_cnt external static fixed bin(17,0) dcl 3-182 cobol_$include_info_ptr external static pointer dcl 3-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 3-124 cobol_$initval_base_ptr external static pointer dcl 3-32 cobol_$initval_file_ptr external static pointer dcl 3-34 cobol_$initval_flag external static fixed bin(17,0) dcl 3-178 cobol_$link_base_ptr external static pointer dcl 3-14 cobol_$link_max external static fixed bin(17,0) dcl 3-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 3-98 cobol_$list_off external static fixed bin(17,0) dcl 3-154 cobol_$list_ptr external static pointer dcl 3-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 3-190 cobol_$main_pcs_ptr external static pointer dcl 3-84 cobol_$map_data_max external static fixed bin(17,0) dcl 3-162 cobol_$map_data_ptr external static pointer dcl 3-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 3-122 cobol_$minpral5_ptr external static pointer dcl 3-50 cobol_$misc_base_ptr external static pointer dcl 3-60 cobol_$misc_end_ptr external static pointer dcl 3-62 cobol_$misc_max external static fixed bin(17,0) dcl 3-158 cobol_$next_tag external static fixed bin(17,0) dcl 3-128 cobol_$non_source_offset external static fixed bin(17,0) dcl 3-176 cobol_$ntbuf_ptr external static pointer dcl 3-82 cobol_$obj_seg_name external static char(32) dcl 3-208 cobol_$op_con_ptr external static pointer dcl 3-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 3-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 3-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 3-160 cobol_$pd_map_ptr external static pointer dcl 3-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 3-126 cobol_$perform_list_ptr external static pointer dcl 3-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 3-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 3-150 cobol_$priority_no external static fixed bin(17,0) dcl 3-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 3-144 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 3-146 cobol_$reloc_def_base_ptr external static pointer dcl 3-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 3-108 cobol_$reloc_link_base_ptr external static pointer dcl 3-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 3-110 cobol_$reloc_sym_base_ptr external static pointer dcl 3-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 3-112 cobol_$reloc_text_base_ptr external static pointer dcl 3-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 3-106 cobol_$reloc_work_base_ptr external static pointer dcl 3-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 3-114 cobol_$reswd_ptr external static pointer dcl 3-78 cobol_$same_sort_merge_proc external static bit(1) dcl 3-214 cobol_$scratch_dir external static char(168) dcl 3-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 3-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 3-132 cobol_$seg_init_list_ptr external static pointer dcl 3-40 cobol_$stack_off external static fixed bin(17,0) dcl 3-120 cobol_$statement_info_ptr external static pointer dcl 3-76 cobol_$sym_base_ptr external static pointer dcl 3-16 cobol_$sym_max external static fixed bin(17,0) dcl 3-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 3-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 3-166 cobol_$tag_table_ptr external static pointer dcl 3-52 cobol_$temp_token_area_ptr external static pointer dcl 3-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 3-168 cobol_$temp_token_ptr external static pointer dcl 3-44 cobol_$text_base_ptr external static pointer dcl 3-8 cobol_$text_wd_off external static fixed bin(17,0) dcl 3-90 cobol_$token_block1_ptr external static pointer dcl 3-46 cobol_$token_block2_ptr external static pointer dcl 3-48 cobol_$value_cnt external static fixed bin(17,0) dcl 3-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 3-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 3-200 cobol_$xref_bypass external static bit(1) dcl 3-212 cobol_$xref_chain_ptr external static pointer dcl 3-74 cobol_$xref_token_ptr external static pointer dcl 3-72 cobol_afp defined pointer dcl 1-11 cobol_analin_fileno defined pointer dcl 1-13 cobol_cmfp defined pointer dcl 1-21 cobol_com_fileno defined pointer dcl 1-23 cobol_com_ptr defined pointer dcl 1-25 cobol_curr_in defined pointer dcl 1-53 cobol_curr_out defined pointer dcl 1-55 cobol_data_wd_off defined fixed bin(17,0) dcl 3-119 cobol_dfp defined pointer dcl 1-27 cobol_eltp defined pointer dcl 1-19 cobol_ext_$cobol_afp external static pointer dcl 1-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 1-12 cobol_ext_$cobol_cmfp external static pointer dcl 1-20 cobol_ext_$cobol_com_fileno external static pointer dcl 1-22 cobol_ext_$cobol_com_ptr external static pointer dcl 1-24 cobol_ext_$cobol_curr_in external static pointer dcl 1-52 cobol_ext_$cobol_curr_out external static pointer dcl 1-54 cobol_ext_$cobol_dfp external static pointer dcl 1-26 cobol_ext_$cobol_eltp external static pointer dcl 1-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 1-78 cobol_ext_$cobol_hfp external static pointer dcl 1-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 1-95 cobol_ext_$cobol_m1fp external static pointer dcl 1-30 cobol_ext_$cobol_m2fp external static pointer dcl 1-32 cobol_ext_$cobol_min1_fileno external static pointer dcl 1-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 1-36 cobol_ext_$cobol_name_fileno external static pointer dcl 1-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 1-40 cobol_ext_$cobol_ntfp external static pointer dcl 1-42 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 1-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 1-80 cobol_ext_$cobol_pdofp external static pointer dcl 1-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 1-82 cobol_ext_$cobol_pfp external static pointer dcl 1-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 1-84 cobol_ext_$cobol_rm2fp external static pointer dcl 1-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 1-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 1-50 cobol_ext_$cobol_rwdd external static pointer dcl 1-72 cobol_ext_$cobol_rwpd external static pointer dcl 1-74 cobol_ext_$cobol_sfp external static pointer dcl 1-56 cobol_ext_$cobol_w1p external static pointer dcl 1-58 cobol_ext_$cobol_w2p external static pointer dcl 1-60 cobol_ext_$cobol_w3p external static pointer dcl 1-62 cobol_ext_$cobol_w5p external static pointer dcl 1-64 cobol_ext_$cobol_w6p external static pointer dcl 1-66 cobol_ext_$cobol_w7p external static pointer dcl 1-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 1-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 1-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 1-92 cobol_ext_$cobol_x3fp external static pointer dcl 1-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 1-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 1-102 cobol_ext_$report_first_token external static pointer dcl 1-14 cobol_ext_$report_last_token external static pointer dcl 1-16 cobol_fileno1 defined fixed bin(24,0) dcl 1-79 cobol_hfp defined pointer dcl 1-29 cobol_lpr defined char(5) packed unaligned dcl 1-96 cobol_m1fp defined pointer dcl 1-31 cobol_m2fp defined pointer dcl 1-33 cobol_min1_fileno defined pointer dcl 1-35 cobol_min2_fileno_ptr defined pointer dcl 1-37 cobol_name_fileno defined pointer dcl 1-39 cobol_name_fileno_ptr defined pointer dcl 1-41 cobol_ntfp defined pointer dcl 1-43 cobol_options defined char(120) packed unaligned dcl 1-98 cobol_options_len defined fixed bin(24,0) dcl 1-81 cobol_pdofp defined pointer dcl 1-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 1-83 cobol_pfp defined pointer dcl 1-47 cobol_print_fileno defined fixed bin(24,0) dcl 1-85 cobol_register_util$save_pointer 000000 constant entry external dcl 106 cobol_rm2fp defined pointer dcl 1-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 1-87 cobol_rmin2fp defined pointer dcl 1-51 cobol_rwdd defined pointer dcl 1-73 cobol_rwpd defined pointer dcl 1-75 cobol_sfp defined pointer dcl 1-57 cobol_w1p defined pointer dcl 1-59 cobol_w2p defined pointer dcl 1-61 cobol_w3p defined pointer dcl 1-63 cobol_w5p defined pointer dcl 1-65 cobol_w6p defined pointer dcl 1-67 cobol_w7p defined pointer dcl 1-69 cobol_x1_fileno defined fixed bin(24,0) dcl 1-89 cobol_x2_fileno defined fixed bin(24,0) dcl 1-91 cobol_x3_fileno defined fixed bin(24,0) dcl 1-93 cobol_x3fp defined pointer dcl 1-71 cobol_xlast8 defined bit(1) packed unaligned dcl 1-101 compile_count defined fixed bin(17,0) dcl 3-143 coms_charcnt defined fixed bin(17,0) dcl 3-189 coms_wdoff defined fixed bin(17,0) dcl 3-203 con_end_ptr defined pointer dcl 3-11 con_wd_off defined fixed bin(17,0) dcl 3-93 cons_charcnt defined fixed bin(17,0) dcl 3-193 constant_offset defined fixed bin(17,0) dcl 3-157 data_init_flag defined fixed bin(17,0) dcl 3-131 date_compiled_sw defined fixed bin(17,0) dcl 3-181 debug_enable defined fixed bin(17,0) dcl 3-175 def_base_ptr defined pointer dcl 3-13 def_max defined fixed bin(17,0) dcl 3-97 def_wd_off defined fixed bin(17,0) dcl 3-95 diag_ptr defined pointer dcl 3-71 eln_max defined fixed bin(17,0) dcl 3-173 eln_ptr defined pointer dcl 3-69 fixed_common based structure level 1 unaligned dcl 2-26 fixup_max defined fixed bin(17,0) dcl 3-165 fixup_ptr defined pointer dcl 3-31 fs_charcnt defined fixed bin(17,0) dcl 3-185 fs_wdoff defined fixed bin(17,0) dcl 3-199 include_cnt defined fixed bin(17,0) dcl 3-183 include_info_ptr defined pointer dcl 3-87 index builtin function dcl 598 init_stack_off defined fixed bin(17,0) dcl 3-125 initval_base_ptr defined pointer dcl 3-33 initval_file_ptr defined pointer dcl 3-35 initval_flag defined fixed bin(17,0) dcl 3-179 length builtin function dcl 598 link_base_ptr defined pointer dcl 3-15 link_max defined fixed bin(17,0) dcl 3-101 link_wd_off defined fixed bin(17,0) dcl 3-99 list_off defined fixed bin(17,0) dcl 3-155 list_ptr defined pointer dcl 3-65 ls_charcnt defined fixed bin(17,0) dcl 3-191 main_pcs_ptr defined pointer dcl 3-85 map_data_max defined fixed bin(17,0) dcl 3-163 map_data_ptr defined pointer dcl 3-55 max automatic fixed bin(17,0) dcl 116 max_stack_off defined fixed bin(17,0) dcl 3-123 minpral5_ptr defined pointer dcl 3-51 misc_base_ptr defined pointer dcl 3-61 misc_end_ptr defined pointer dcl 3-63 misc_max defined fixed bin(17,0) dcl 3-159 next_tag defined fixed bin(17,0) dcl 3-129 non_source_offset defined fixed bin(17,0) dcl 3-177 ntbuf_ptr defined pointer dcl 3-83 null builtin function dcl 598 obj_seg_name defined char(32) dcl 3-209 op_con_ptr defined pointer dcl 3-81 para_eop_flag defined fixed bin(17,0) dcl 3-139 pd_map_index defined fixed bin(17,0) dcl 3-117 pd_map_max defined fixed bin(17,0) dcl 3-161 pd_map_ptr defined pointer dcl 3-29 pd_map_sw defined fixed bin(17,0) dcl 3-127 perform_list_ptr defined pointer dcl 3-37 perform_para_index defined fixed bin(17,0) dcl 3-149 perform_sect_index defined fixed bin(17,0) dcl 3-151 priority_no defined fixed bin(17,0) dcl 3-141 ptr_assumption_ind defined fixed bin(17,0) dcl 3-145 ptr_status_ptr defined pointer dcl 3-57 reg_assumption_ind defined fixed bin(17,0) dcl 3-147 reg_status_ptr defined pointer dcl 3-59 rel builtin function dcl 598 reloc_def_base_ptr defined pointer dcl 3-21 reloc_def_max defined fixed bin(24,0) dcl 3-109 reloc_link_base_ptr defined pointer dcl 3-23 reloc_link_max defined fixed bin(24,0) dcl 3-111 reloc_sym_base_ptr defined pointer dcl 3-25 reloc_sym_max defined fixed bin(24,0) dcl 3-113 reloc_text_base_ptr defined pointer dcl 3-19 reloc_text_max defined fixed bin(24,0) dcl 3-107 reloc_work_base_ptr defined pointer dcl 3-27 reloc_work_max defined fixed bin(24,0) dcl 3-115 report_exists defined bit(1) packed unaligned dcl 1-103 report_first_token defined pointer dcl 1-15 report_last_token defined pointer dcl 1-17 reswd_ptr defined pointer dcl 3-79 same_sort_merge_proc defined bit(1) dcl 3-215 scratch_dir defined char(168) dcl 3-207 sect_eop_flag defined fixed bin(17,0) dcl 3-137 seg_init_flag defined fixed bin(17,0) dcl 3-133 seg_init_list_ptr defined pointer dcl 3-41 signal_ 000000 constant entry external dcl 111 stack_off defined fixed bin(17,0) dcl 3-121 statement_info_ptr defined pointer dcl 3-77 string builtin function dcl 598 sym_base_ptr defined pointer dcl 3-17 sym_max defined fixed bin(17,0) dcl 3-105 sym_wd_off defined fixed bin(17,0) dcl 3-103 tag_table_max defined fixed bin(17,0) dcl 3-167 tag_table_ptr defined pointer dcl 3-53 temp_ptr automatic pointer dcl 117 temp_token_area_ptr defined pointer dcl 3-43 temp_token_max defined fixed bin(17,0) dcl 3-169 temp_token_ptr defined pointer dcl 3-45 text_base_ptr defined pointer dcl 3-9 text_wd_off defined fixed bin(17,0) dcl 3-91 token_block1_ptr defined pointer dcl 3-47 token_block2_ptr defined pointer dcl 3-49 value_cnt defined fixed bin(17,0) dcl 3-195 ws_charcnt defined fixed bin(17,0) dcl 3-187 ws_wdoff defined fixed bin(17,0) dcl 3-201 xref_bypass defined bit(1) dcl 3-213 xref_chain_ptr defined pointer dcl 3-75 xref_token_ptr defined pointer dcl 3-73 zero_word based bit(36) packed unaligned dcl 118 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_register 000042 constant entry external dcl 27 crx 000475 constant label dcl 575 ref 224 get_specific_reg 000533 constant entry internal dcl 227 ref 217 load 000053 constant entry external dcl 126 pick_a_register 000675 constant entry internal dcl 325 ref 215 priority 000477 constant entry external dcl 577 reg_bit_code 001046 constant entry internal dcl 432 ref 181 release 000304 constant entry external dcl 470 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1236 1264 1112 1246 Length 1570 1112 26 267 123 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_register 156 external procedure is an external procedure. get_specific_reg internal procedure shares stack frame of external procedure cobol_register. pick_a_register internal procedure shares stack frame of external procedure cobol_register. reg_bit_code internal procedure shares stack frame of external procedure cobol_register. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 work_reg_code pick_a_register STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_register 000100 error_message cobol_register 000135 i cobol_register 000144 work_reg_code get_specific_reg 000154 found_index pick_a_register 000155 i pick_a_register 000164 return_bit_code reg_bit_code THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac mdfx1 ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_register_util$restore cobol_register_util$restore_pointer cobol_register_util$save ioa_$ioa_stream THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$ptr_status_ptr cobol_$reg_status_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 112 000030 27 000037 126 000050 172 000061 175 000065 178 000072 179 000077 181 000106 182 000117 183 000127 184 000130 185 000132 187 000134 190 000142 192 000147 193 000160 194 000165 195 000166 197 000167 199 000173 200 000204 201 000211 202 000212 204 000213 206 000215 207 000226 208 000233 209 000234 215 000235 217 000261 218 000274 224 000301 470 000302 522 000312 524 000322 526 000327 527 000335 528 000342 529 000343 530 000344 533 000345 535 000347 537 000354 538 000362 539 000367 540 000370 541 000371 542 000372 545 000374 547 000401 548 000411 549 000416 550 000417 551 000420 553 000424 554 000434 555 000441 556 000442 557 000443 560 000444 561 000447 563 000456 564 000464 565 000472 566 000473 575 000475 577 000476 579 000505 580 000532 227 000533 286 000535 288 000540 289 000542 290 000546 291 000547 293 000551 294 000553 295 000557 296 000560 298 000562 299 000564 300 000575 303 000576 304 000602 306 000617 307 000625 308 000631 311 000633 313 000642 314 000651 315 000657 316 000660 318 000664 322 000674 325 000675 382 000677 386 000703 387 000704 388 000713 390 000724 392 000726 394 000730 395 000736 396 000750 398 000751 399 000753 402 000765 406 000766 408 000773 409 000775 410 001001 412 001002 414 001004 415 001006 416 001012 419 001013 420 001015 425 001021 427 001036 429 001045 432 001046 457 001050 459 001056 461 001063 463 001070 ----------------------------------------------------------- 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