COMPILATION LISTING OF SEGMENT cobol_call_gen 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 0938.4 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_call_gen.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 04/01/81 by FCH, entries not made in fixup table for call data-name, [4.4-1], TR9244(BUG473) */ 23 /* Modified on 03/28/79 by FCH, [4.0-1], fix reloc bits on call */ 24 /* Modified since Version 4.0 */ 25 26 /*{*/ 27 /* format: style3 */ 28 cobol_call_gen: 29 proc (in_token_ptr); 30 31 dcl inst_seq_1_2 (0:7) bit (36); 32 33 /* Automatic data */ 34 35 declare oprnd_ln (127) fixed bin aligned, /* Table of operand lengths. */ 36 var_stack (127) fixed bin aligned, 37 operands fixed bin, /* No of operands in USING phrase. */ 38 oprnd_ptr ptr, /* Pointer to current operand token. */ 39 new_oprnd_ptr ptr, 40 link_flag fixed bin, /* 0 if no operands in COBOL Linkage */ 41 /* Section; 1, otherwise. */ 42 desc_code (128) bit (36), /* Storage space for code generated to */ 43 /* put descriptor ptrs in arg list. */ 44 stackoff fixed bin, /* Word offset in stack. */ 45 temp fixed bin, /* Temporary used in unspec function. */ 46 index fixed bin, /* Do loop index. */ 47 retry_tag fixed bin, 48 jndex fixed bin, /* Do loop index. */ 49 no_wds fixed bin, /* No of wds of desc_code to emit. */ 50 offset fixed bin, /* Word offset of entry point link. */ 51 stack_wds fixed bin, /* No of words required in the stack. */ 52 dn_ptr ptr, /* Ptr to type 9 token. */ 53 num_wds fixed bin, /* No of words of code to be emitted. */ 54 fst_inst_no fixed bin, /* Offset of first inst generated by */ 55 /* cobol_call_gen. */ 56 desc_off bit (36), /* Argument descriptor offset. */ 57 prec_len fixed bin, 58 tze_loc fixed bin; /* Location in Text of tze inst. */ 59 60 /*}*/ 61 62 63 64 /*************************************/ 65 start: /* Common Functions */ 66 /* Determine number of USING operands, if any, and words of */ 67 /* stack required for parameter list. */ 68 retry_tag = cobol_$next_tag; /* 5/27/76 */ 69 cobol_$next_tag = cobol_$next_tag + 1; 70 call cobol_define_tag (retry_tag); 71 72 if in_token.token_ptr (in_token.n) -> end_stmt.a = "000"b 73 then do; 74 operands = 0; 75 stack_wds = 0; 76 end; 77 78 else do; 79 operands = in_token.token_ptr (in_token.n) -> end_stmt.e; 80 stack_wds = 4 * operands + 2; 81 end; 82 83 if operands > 127 84 then call signal_ ("command_abort_", null, addr (oprnd_ovfl)); 85 86 87 /* Reserve pointer registers 2 and 4 and initialize link_flag. */ 88 89 link_flag = 0; 90 91 /* Determine type of CALL and transfer to appropriate section */ 92 /* of procedure for processing. */ 93 94 if in_token.token_ptr (2) -> alphanum_lit.type = 3 95 then goto call_lit; 96 97 else goto call_id; 98 99 /* * * * * * * */ 100 101 call_lit: 102 alit_ptr = in_token.token_ptr (2); 103 104 call cobol_make_link$type_4 (offset, alit_ptr -> alphanum_lit.string); 105 106 if operands = 0 107 then do; 108 109 inst_seq_3b (5) = "100000000000000000"b; 110 substr (inst_seq_3b (5), 4, 15) = substr (unspec (offset), 22, 15); 111 112 if fixed_common.options.profile 113 then do; 114 115 fixup_directive.location.offset = cobol_$text_wd_off + 2; 116 117 call cobol_make_fixup (addr (fixup_directive)); 118 119 end; 120 121 call cobol_emit (addr (inst_seq_3b), addr (inst_seq_3rel), 4); 122 123 end; 124 125 else do; 126 127 call cobol_alloc$stack (4 * stack_wds, 2, stackoff); 128 129 call make_arg_list; /* 07-15-77 */ 130 131 substr (inst_seq_3a (1), 4, 15) = substr (unspec (stackoff), 22, 15); 132 substr (inst_seq_3a (3), 1, 7) = substr (unspec (operands), 30, 7); 133 inst_seq_3a (5) = "100000000000000000"b; 134 substr (inst_seq_3a (5), 4, 15) = substr (unspec (offset), 22, 15); 135 136 if fixed_common.options.profile 137 then do; 138 139 fixup_directive.location.offset = cobol_$text_wd_off + 2; 140 call cobol_make_fixup (addr (fixup_directive)); 141 142 end; 143 if fixed_common.descriptor ^= "00"b 144 then call cobol_emit (addr (inst_seq_3a), addr (inst_seq_3rel), 4); 145 /*[4.0-1]*/ 146 else do; 147 148 call cobol_emit (addr (inst_seq_3a (1)), addr (inst_seq_3rel (1)), 3); 149 150 call cobol_emit (addr (inst_seq_3b (7)), null, 1); 151 152 end; 153 154 end; 155 156 call cobol_reg_manager$after_op (0); 157 return; 158 159 call_id: 160 stack_wds = stack_wds + 2; 161 162 if stack_wds < 30 163 then stack_wds = 30; 164 165 call cobol_alloc$stack (4 * stack_wds, 2, stackoff); 166 167 if stackoff ^= 68 168 then do; 169 170 substr (inst_seq_1_1 (9), 4, 15) = substr (unspec (stackoff), 22, 15); 171 temp = stackoff + 2; 172 substr (inst_seq_1_1 (3), 4, 15) = substr (unspec (temp), 22, 15); 173 inst_seq_1_1 (5) = inst_seq_1_1 (3); 174 temp = stackoff + 10; 175 substr (inst_seq_1_1 (7), 4, 15) = substr (unspec (temp), 22, 15); 176 temp = stackoff + 16; 177 substr (inst_seq_1_1 (11), 4, 15) = substr (unspec (temp), 22, 15); 178 temp = stackoff + 18; 179 substr (inst_seq_1_1 (15), 4, 15) = substr (unspec (temp), 22, 15); 180 temp = stackoff + 20; 181 substr (inst_seq_1_1 (19), 4, 15) = substr (unspec (temp), 22, 15); 182 temp = stackoff + 26; 183 substr (inst_seq_1_1 (21), 4, 15) = substr (unspec (temp), 22, 15); 184 temp = stackoff + 28; 185 substr (inst_seq_1_1 (25), 4, 15) = substr (unspec (temp), 22, 15); 186 temp = stackoff + 5; 187 substr (inst_seq_1_3 (7), 4, 15) = substr (unspec (temp), 22, 15); 188 inst_seq_1_3 (11) = inst_seq_1_3 (7); 189 inst_seq_1_3 (17) = inst_seq_1_3 (7); 190 temp = stackoff + 6; 191 substr (inst_seq_1_3 (15), 4, 15) = substr (unspec (temp), 22, 15); 192 inst_seq_1_3 (33) = inst_seq_1_3 (15); 193 inst_seq_1_3 (47) = inst_seq_1_3 (15); 194 inst_seq_1_3 (49) = inst_seq_1_3 (15); 195 temp = stackoff + 7; 196 substr (inst_seq_1_3 (31), 4, 15) = substr (unspec (temp), 22, 15); 197 inst_seq_1_3 (37) = inst_seq_1_3 (31); 198 temp = stackoff + 8; 199 substr (inst_seq_1_3 (55), 4, 15) = substr (unspec (temp), 22, 15); 200 temp = stackoff + 14; 201 substr (inst_seq_1_3 (23), 4, 15) = substr (unspec (temp), 22, 15); 202 inst_seq_1_3 (41) = inst_seq_1_3 (23); 203 temp = stackoff + 22; 204 substr (inst_seq_1_3 (35), 4, 15) = substr (unspec (temp), 22, 15); 205 inst_seq_1_3 (51) = inst_seq_1_3 (35); 206 temp = stackoff + 24; 207 substr (inst_seq_1_3 (53), 4, 15) = substr (unspec (temp), 22, 15); 208 209 end; 210 211 212 call cobol_arg_descriptor ("100110100000000000000000000000000000"b, desc_off, temp); 213 214 temp = binary (substr (desc_off, 1, 18), 17) - 8; 215 inst_seq_1_1 (17) = substr (unspec (temp), 19, 18); 216 217 call cobol_arg_descriptor ("100000100000000000000000000000010001"b, desc_off, temp); 218 219 temp = binary (substr (desc_off, 1, 18), 17) - 11; 220 inst_seq_1_1 (23) = substr (unspec (temp), 19, 18); 221 222 call cobol_pool ("ÿÿ#", 2, offset); 223 224 fst_inst_no = cobol_$text_wd_off; 225 temp = -(offset + fst_inst_no); 226 inst_seq_1_1 (1) = substr (unspec (temp), 19, 18); 227 228 call cobol_emit (addr (inst_seq_1_1), null, 13); 229 230 input_struc.token_ptr = in_token.token_ptr (2); 231 232 call cobol_addr (addr (input_struc), addr (inst_seq_1_2), null); 233 234 num_wds = 1; 235 236 if substr (inst_seq_1_2 (0), 33, 4) ^= "0000"b 237 then do; 238 239 num_wds = num_wds + 1; 240 inst_seq_1_2 (num_wds) = "010000000000000000101000000101000000"b; 241 substr (inst_seq_1_2 (num_wds), 33, 4) = substr (inst_seq_1_2 (0), 33, 4); 242 243 end; 244 245 if substr (inst_seq_1_2 (1), 19, 2) ^= "00"b 246 then do; 247 248 num_wds = num_wds + 1; 249 inst_seq_1_2 (num_wds) = "000000000000000000010011101000000111"b; 250 substr (inst_seq_1_2 (num_wds), 17, 2) = substr (inst_seq_1_2 (1), 19, 2); 251 num_wds = num_wds + 1; 252 inst_seq_1_2 (num_wds) = "010000000000000000101000000101000101"b; 253 254 end; 255 256 num_wds = num_wds + 1; 257 inst_seq_1_2 (num_wds) = "110000000000000000010101010001000000"b; 258 temp = stackoff + 12; 259 substr (inst_seq_1_2 (num_wds), 4, 15) = substr (unspec (temp), 22, 15); 260 261 if substr (inst_seq_1_2 (0), 31, 1) = "0"b 262 then do; 263 264 substr (inst_seq_1_3 (2), 13, 1) = "0"b; 265 inst_seq_1_3 (27) = substr (unspec (in_token.token_ptr (2) -> data_name.item_length), 19, 18); 266 inst_seq_1_3 (43) = inst_seq_1_3 (27); 267 substr (inst_seq_1_3 (4), 7, 12) = substr (inst_seq_1_3 (27), 7, 12); 268 substr (inst_seq_1_3 (28), 10, 9) = "000000111"b; 269 substr (inst_seq_1_3 (44), 10, 9) = "000000111"b; 270 271 end; 272 273 else do; 274 275 substr (inst_seq_1_3 (2), 13, 1) = "1"b; 276 inst_seq_1_3 (27) = "110000000000101010"b; 277 inst_seq_1_3 (43) = "110000000000101010"b; 278 substr (inst_seq_1_3 (4), 7, 12) = substr (inst_seq_1_2 (1), 25, 12); 279 substr (inst_seq_1_3 (28), 10, 9) = "001000000"b; 280 substr (inst_seq_1_3 (44), 10, 9) = "001000000"b; 281 num_wds = num_wds + 1; 282 inst_seq_1_2 (num_wds) = "110000000000101010100101000001000000"b; 283 num_wds = num_wds + 1; 284 inst_seq_1_2 (num_wds) = "110000000000101010100100000001000000"b; 285 substr (inst_seq_1_2 (num_wds), 25, 3) = substr (inst_seq_1_2 (1), 34, 3); 286 287 end; 288 289 substr (inst_seq_1_2 (1), 19, 18) = "011101010001000000"b; 290 291 call cobol_emit (addr (inst_seq_1_2 (1)), null, num_wds); 292 call cobol_make_link$type_4 (offset, "hcs_$make_ptr"); 293 294 substr (inst_seq_1_3 (59), 4, 15) = substr (unspec (offset), 22, 15); 295 296 if fixed_common.options.profile 297 then do; 298 fixup_directive.location.offset = cobol_$text_wd_off + 29; 299 call cobol_make_fixup (addr (fixup_directive)); 300 end; 301 302 call cobol_emit (addr (inst_seq_1_3), addr (rel_seq_1_3), 30); 303 304 call cobol_call_op (5, 0); 305 306 tze_loc = text_wd_off + 1; 307 308 call cobol_emit (addr (inst_seq_2_0), null, 2); 309 310 call cobol_gen_error (57, retry_tag); 311 call cobol_define_tag_nc (cobol_$next_tag, cobol_$text_wd_off); 312 call cobol_make_tagref (cobol_$next_tag, tze_loc, null); 313 314 cobol_$next_tag = cobol_$next_tag + 1; 315 316 if operands = 0 317 then do; 318 inst_seq_3b (5) = "110000000000000000"b; 319 substr (inst_seq_3b (5), 4, 15) = substr (unspec (stackoff), 22, 15); 320 321 /*[4.4-1]*/ 322 /* if fixed_common.options.profile then do; 323* fixup_directive.location.offset=cobol_$text_wd_off+2; 324* call cobol_make_fixup(addr(fixup_directive)); 325* end;*/ 326 /*[4.4-1]*/ 327 328 call cobol_emit (addr (inst_seq_3b), addr (inst_seq_3rel), 4); 329 /*[4.0-1]*/ 330 331 end; 332 333 else do; 334 335 inst_seq_3a (5) = "110000000000000000"b; 336 substr (inst_seq_3a (5), 4, 15) = substr (unspec (stackoff), 22, 15); 337 stackoff = stackoff + 2; 338 339 call make_arg_list; /* 07-15-77 */ 340 341 substr (inst_seq_3a (1), 4, 15) = substr (unspec (stackoff), 22, 15); 342 substr (inst_seq_3a (3), 1, 7) = substr (unspec (operands), 30, 7); 343 344 /*[4.4-1]*/ 345 /* if fixed_common.options.profile then do; 346* fixup_directive.location.offset=cobol_$text_wd_off+2; 347* call cobol_make_fixup(addr(fixup_directive)); 348* end;*/ 349 /*[4.4-1]*/ 350 351 if fixed_common.descriptor ^= "00"b 352 then call cobol_emit (addr (inst_seq_3a), addr (inst_seq_3rel), 4); 353 /*[4.0-1]*/ 354 else do; 355 356 call cobol_emit (addr (inst_seq_3a (1)), addr (inst_seq_3rel), 3); 357 /*[4.0-1]*/ 358 359 call cobol_emit (addr (inst_seq_3b (7)), null, 1); 360 361 end; 362 363 end; 364 365 call cobol_reg_manager$after_op (0); 366 367 exit: 368 return; 369 370 371 372 /* * * * * * * */ 373 374 make_arg_list: 375 proc; 376 377 start_make_arg_list: 378 do index = 1 to operands; 379 oprnd_ptr = in_token.token_ptr (index + 2); 380 if oprnd_ptr -> data_name.linkage_section = "0"b | oprnd_ptr -> data_name.type = 2 381 | oprnd_ptr -> data_name.type = 3 382 then do; 383 384 if oprnd_ptr -> data_name.type = 2 | oprnd_ptr -> data_name.type = 3 385 then do; 386 387 new_oprnd_ptr = null (); 388 389 call cobol_make_type9$type2_3 (new_oprnd_ptr, oprnd_ptr); 390 391 oprnd_ptr = new_oprnd_ptr; 392 393 end; 394 395 oprnd_z.segno = oprnd_ptr -> data_name.seg_num; 396 oprnd_z.char_offset = oprnd_ptr -> data_name.offset; 397 398 call cobol_addr (addr (oprnd_z), addr (inst_seq_1a), null); 399 400 temp = stackoff + 2 * index; 401 substr (inst_seq_1a (3), 4, 15) = substr (unspec (temp), 22, 15); 402 403 call cobol_emit (addr (inst_seq_1a), null, 2); 404 405 end; 406 407 else /* Operand is in COBOL Linkage Section */ 408 do; 409 if link_flag = 0 410 then do; 411 412 link_flag = 1; 413 414 call cobol_pointer_register$get (addr (register_request)); 415 call cobol_emit (addr (inst_seq_1b), null, 1); 416 417 end; 418 419 temp = 2 * oprnd_ptr -> data_name.linkage; 420 substr (inst_seq_1b (3), 4, 15) = substr (unspec (temp), 22, 15); 421 temp = stackoff + 2 * index; 422 substr (inst_seq_1b (5), 4, 15) = substr (unspec (temp), 22, 15); 423 424 call cobol_emit (addr (inst_seq_1b (3)), null, 2); 425 426 end; 427 if fixed_common.descriptor = "00"b 428 then goto next_arg; /* 07-15-77 */ 429 if oprnd_ptr -> data_name.variable_length = "0"b | fixed_common.descriptor = "01"b 430 then do; 431 call cobol_arg_descriptor$type9 (oprnd_ptr, ch_desc, oprnd_ln (index)); 432 end; 433 else do; 434 435 call cobol_alloc$stack (4, 1, var_stack (index)); 436 437 call cobol_get_size (oprnd_ptr, 0, 0); 438 439 if oprnd_ptr -> data_name.level = 1 | oprnd_ptr -> data_name.level = 77 440 then var_inst (1) = "101010100000000000"b; 441 else var_inst (1) = "101010110000000000"b; 442 443 substr (var_inst (3), 4, 15) = substr (unspec (var_stack (index)), 22, 15); 444 445 call cobol_emit (addr (var_inst), null (), 2); 446 447 ch_desc = "111111111111111111111111111111111111"b; 448 oprnd_ln (index) = fixed (ch_desc); 449 450 end; 451 next_arg: 452 end; 453 454 if fixed_common.descriptor = "00"b 455 then return; /* 07-15-77 */ 456 457 desc_code (2) = inst_seq_2 (2); 458 459 do index = 1 to operands; 460 461 if oprnd_ln (index) = -1 462 then do; 463 464 desc_code (1) = "110000000000000000011101010001000000"b; 465 substr (desc_code (1), 4, 15) = substr (unspec (var_stack (index)), 22, 15); 466 467 end; 468 else do; 469 470 desc_code (1) = inst_seq_2 (1); 471 oprnd_ln (index) = -oprnd_ln (index) - cobol_$text_wd_off; 472 substr (desc_code (1), 1, 18) = substr (unspec (oprnd_ln (index)), 19, 18); 473 474 end; 475 476 temp = stackoff + 2 * (operands + index); 477 substr (desc_code (2), 4, 15) = substr (unspec (temp), 22, 15); 478 no_wds = 2; 479 480 call cobol_emit (addr (desc_code), null, no_wds); 481 482 end; 483 484 exit_make_arg_list: 485 return; 486 487 end make_arg_list; 488 1 1 1 2 /* 1 3*The procedure cobol_call_gen generates the code necessary to imple- 1 4*ment the CALL statement. The general format of the CALL state- 1 5*ment is as follows: 1 6* 1 7* C_A_L_L_ {literal-1|identifier-1} 1 8* [U_S_I_N_G_ data-name-1,[data-name-2]...] 1 9* 1 10*The essential difference between CALL literal-1 and CALL identi- 1 11*fier-1 is the time at which the name of the program to be called 1 12*is known. In the case of CALL literal-1, the name is known at 1 13*compile time. Thus, a type 4 link can be created for the program 1 14*at compile time, which is "snapped" by the Dynamic Linker at ex- 1 15*ecution time, and thereby replaced by a pointer to the program's 1 16*entry point. In the case of CALL identifier-1, the name of the 1 17*program to be called is known only at execution time. Thus, an 1 18*execution time call to system sybroutine hcs_$make_ptr is neces- 1 19*sary to obtain a pointer to the program's entry point. In both 1 20*cases, however, standard MULTICS call conventions are employed to 1 21*make the actual "call" to the specified program. 1 22* 1 23*It should be noted that the content of literal-1 and identifier-1 1 24*may consist of a segment name and/or an entry point name as follows: 1 25* 1 26* Form 1 1 27* segment_name$entry_point_name 1 28* 1 29* Form2 1 30* entry_point_name 1 31* 1 32*Form 1 must be used if the name of the segment containing the 1 33*program and the name of the program's entry point are different, 1 34*but it may also be used if they are the same. Form 2 may only 1 35*be used if the name of the segment containing the program and the 1 36*name of the program's entry point are identical. 1 37* 1 38*U__s_a_g_e:_ 1 39* 1 40* declare cobol_call_gen entry (ptr); 1 41* call cobol_call_gen(in_token_ptr); 1 42* 1 43* */ 1 44 1 45 1 46 /* 1 47*G__e_n_e_r_a_t_e_d_C__o_d_e:_ 1 48* 1 49*CALL identifier-1 1 50* 1 51*To implement CALL identifier-1, it is necessary to call system 1 52*subroutine hcs_$make_ptr to obtain a pointer to the entry point 1 53*of the program named by identifier-1. This subroutine returns an 1 54*error code indicative of the system's success (code = 0) or fail- 1 55*ure (code /= 0) to obtain the pointer. Code is therefore generat- 1 56*ed to examine the returned error code and to report any problem 1 57*to the user via the run-time routine cobol_error_. The sequences 1 58*of code shown below are used to make the call to hcs_$make_ptr 1 59*and to examine the error code returned by it. The call to cobol_ 1 60*error_ is generated by cobol_gen_error. 1 61* 1 62*Five parameters are passed to hcs_$make_ptr. They are: 1 63* 1 64*caller_ptr by standard usage a null ptr (Input). 1 65* 1 66*seg_name the name of the segment to be located (Input). 1 67* 1 68*e_p_name the name of the entry point to be located (Input). 1 69* 1 70*e_p_ptr the pointer to the segment entry point specified by 1 71* seg_name and e_p_name (Output). 1 72* 1 73*error_code the returned error code (Output). 1 74* 1 75*The argument list passed to hcs_$make_ptr must include pointers 1 76*to descriptors for the parameters as well as pointers to the par- 1 77*ameters themselves inasmuch as seg_name and e_p_name are describ- 1 78*ed as char(*). 1 79* 1 80*Sequence 1-1 1 81* 1 82*The code comprising Sequence 1-1 establishes pointers in the ar- 1 83*gument list to be passed to hsc_$make_ptr for all parameters ex- 1 84*cept seg_name and e_p_name. 1 85* 1 86* epp2 n_relp,ic* 1 87* spri2 pr6|M+2 1 88* epp2 pr6|M+2 1 89* spri2 pr6|M+10 1 90* epp2 pr6|M 1 91* spri2 pr6|M+16 1 92* epp2 pr6|40 1 93* spri2 pr6|M+18 1 94* epp2 ptr_d_relp,1c 1 95* spri2 pr6|M+20 1 96* spri2 pr6|M+26 1 97* epp2 fb_d_relp,ic 1 98* spri2 pr6|M+28 1 99* 1 100*Sequence 1-2 1 101* 1 102*The function of Sequence 1-2 is to develop a pointer to identifi- 1 103*er-1 in pointer register 2 and to store this in the argument list 1 104*to be passed to hcs_$make_ptr as the pointer to seg_name. If 1 105*identifier-1 does not contain a $, it will also be stored in the 1 106*argument list as the pointer to e_p_name (see Sequence 1-3). 1 107* 1 108*The address of identifier-1 will always involve the contents of a 1 109*pointer register (pri) and a word offset (wo), which may be zero. 1 110*It may also involve a character offset (co) and/or the contents 1 111*of the a, q, or some index register (ra). Thus, there are four 1 112*possibilities for the code sequence used to develop the pointer 1 113*to identifier-1, as follows: 1 114* 1 115*A - No character offset, no register 1 116* 1 117* epp2 pri|wo 1 118* spri2 pr6|M+12 1 119* 1 120*B - Character offset, no register 1 121* 1 122* epp2 pri|wo 1 123* lda co,dl 1 124* a9bd pr2|0,a 1 125* spri2 pr6|M+12 1 126* 1 127*c - No character offset, register 1 128* 1 129* epp2 pri|wo 1 130* a9bd pr2|0,ra 1 131* spri2 pr6|M+12 1 132* 1 133*D - Character offset, register 1 134* 1 135* epp2 pri|wo 1 136* a9bd pr2|0,ra 1 137* lda co,dl 1 138* a9db pr2|0,a 1 139* spri2 pr6|M+12 1 140* 1 141* 1 142*In the event that identifier-1 is a variable length data item, 1 143*instructions to compute its length and store the result in an 1 144*index register will have been generated by a utility called by 1 145*cobol_call_gen prior to the generation of Sequence 1-2 code. In 1 146*this case, Sequence 1-2 code will include two additional instruc- 1 147*tions to store the length from the index register into location 1 148*pr6|42 in the caller's stack frame. These instructions are as 1 149*follows: 1 150* 1 151* stz pr6|42 1 152* sxln pr6|42 1 153* 1 154*Sequence 1-3 1 155* 1 156*This code sequence performs the following functions: 1 157* 1 158* - Develops a pointer to e_p_name and stores it in the argument 1 159* list. 1 160* 1 161* - Determines the length of and develops descriptors for seg_ 1 162* name and e_p_name. 1 163* 1 164* - Develops pointers to descriptors for all parameters to be 1 165* passed to hcs_$make_ptr and stores them in the argument 1 166* list. 1 167* 1 168* - Invokes cobol call operator call_ext_out_desc. 1 169* 1 170* scm (pr,[rl]),(du),mask(0) 1 171* adsc9 pr2|0,{l or xn} 1 172* vfd o9/044,27/0 1 173* arg pr6|M+5 1 174* ttn 16,ic 1 175* lda pr6|M+5 1 176* ora 174080,du 1 177* sta pr6|M+6 1 178* lda pr6|M+5 1 179* ada 1,dl 1 180* a9bd pr2|0,a 1 181* spri2 pr6|M+14 1 182* neg 1 183* ada l,dl or pr6|42 1 184* ora 174080,du 1 185* sta pr6|M+7 1 186* epp2 pr6|M+6 1 187* spri2 pr6|M+22 1 188* epp2 pr6|M+7 1 189* tra 7,ic 1 190* spri2 pr6|M+14 1 191* ldq l,dl or pr6|42 1 192* orq 174080,du 1 193* stq pr6|M+6 1 194* epp2 pr6|M+6 1 195* spri2 pr6|M+22 1 196* spri2 pr6|M+24 1 197* eax1 pr6|M+8 1 198* fld 10240,dl 1 199* epp2 pr4|m_pt_e,* 1 200* tsx0 pr0|call_eod 1 201* 1 202*Sequence 2-0 1 203* 1 204*The function of the code generated by Sequence 2-0, either di- 1 205*rectly or by utilities called by cobol_call_gen, is to examine the 1 206*error code returned by hcs_$make_ptr and, in the event that it is 1 207*not zero, to report the nature of the error to the user. 1 208* 1 209* [Code generated by cobol_reg_manager$after_op to reset pr3, pr4, ] 1 210* [and, if necessary, pr5. ] 1 211* lda pr6|M+4 1 212* tze call_relp,ic 1 213* [Code generated by cobol_gen_error to call cobol_error_ and] 1 214* [reset pr3, pr4, and, if necessary, pr5. ] 1 215* tra seq1-1_relp,ic 1 216* 1 217*The symbols used in the above code sequences are defined as 1 218*follows: 1 219* 1 220*M is the word offset in the caller's stack frame of the 1 221* next available even-numbered word. 1 222* 1 223*n_relp is the offset, relative to the instruction in which 1 224* it is used, of a null pointer in the Constant Sec- 1 225* tion of the Text Segment. 1 226* 1 227*ptr_d_relp is the offset, relative to the instruction in which 1 228* it is used, of a pointer descriptor located in the 1 229* Constant Segment of the Text Segment. 1 230* 1 231*fb_d_relp is the offset, relative to the instruction in which 1 232* it is used, of a descriptor for a real fixed binary 1 233* short quantity located in the Constant Section of the 1 234* Text Segment. 1 235* 1 236*call_relp is the offset, relative to the instruction in which 1 237* it is used, of the first instruction of the standard 1 238* MULTICS call sequence generated to call identifier-1. 1 239* 1 240*seq1-1_relp is the offset, relative to the instruction in which 1 241* it is used, of the first instruction of Sequence 1-1. 1 242* 1 243*m_pt_e is the offset, relative to the base of the MULTICS 1 244* Linkage Section, of a pointer (initially a link 1 245* created by a call to cobol_make_link$type_4) to the entry 1 246* point of subroutine hcs_$make_ptr. 1 247* 1 248*call_eod is the location, relative to the label operator_table 1 249* in cobol_operators, of the first instruction of the cobol 1 250* call operator call_ext_out_desc. The current value 1 251* of call_eod is 5. 1 252* 1 253*All other symbols are defined as used. 1 254* 1 255* 1 256*Standard MULTICS call 1 257* 1 258*A standard MULTICS call is used in the implementation of both 1 259*CALL literal-1 and CALL identifier-1. The code generated to im- 1 260*plement a standard MULTICS call comprises three sequences of in- 1 261*structions. Sequences 1 and 2 are omitted, however, if the GO 1 262*statement does not contain the USING phrase. 1 263* 1 264*Sequence 1 - The function of this sequence of instructions is to 1 265*create pointers to the USING phrase operands and place them in an 1 266*argument list in the caller's stack frame. Sequence 1a is used 1 267*for operands defined in the File Section, Working-Storage Sec- 1 268*tion, or Communication Section. Sequence 1b is used for operands 1 269*defined in the COBOL Linkage Section. The appropriate sequence, 1 270*1a or 1b, is generated once per operand in the order of its ap- 1 271*pearance in the USING phrase. Consequently, the pointers are 1 272*similarly arranged in the argument list. It should be noted that 1 273*two words are reserved at the top of the argument list for a 1 274*header which is inserted by the appropriate cobol call operator 1 275*(see Sequence 3). 1 276* 1 277* Sequence 1a 1 278* 1 279* epp2 oprnd_z 1 280* spri2 pr6|N+2z 1 281* 1 282* Sequence 1b 1 283* 1 284* [epp1 pr6|26,*] see note 1 285* epp2 pr1|2y,* 1 286* spri2 pr6|N+2z 1 287* 1 288*Note: pr6|26 contains a pointer to the argument list passed to 1 289* the caller by it's caller. This instruction is generated 1 290* only once per call when the first USING phrase operand de- 1 291* fined in the COBOL Linkage Section is encountered. 1 292* 1 293*Sequence 2 - The function of this sequence of instructions is to 1 294*create pointers to descriptors for the USING phrase operands and 1 295*place them in the argument list following the pointers generated 1 296*by Sequence 1 instructions. The sequence is repeated as required 1 297*to place one pointer per operand into the argument list. 1 298* 1 299* Sequence 2 1 300* 1 301* epp2 desc_l,ic 1 302* spri2 pr6|N+2zt+2za 1 303* spri2 pr6|N+2zt+2zb 1 304* spri2 pr6|N+2zt+2zc 1 305* . . . . . 1 306* . . . . . 1 307* . . . . . 1 308* 1 309*Sequence 3 - The function of this sequence of instructions is to 1 310*establish the conditions necessary for invoking an appropriate 1 311*cobol call operator. Sequence 3a is used when the optional USING 1 312*phrase is present. It invokes the operator call_ext_out_desc. 1 313*Sequence 3b is used when the optional USING phrase is not pre- 1 314*sent. It invokes the operator call_ext_out. 1 315* 1 316* Sequence 3a 1 317* 1 318* eax1 pr6|N 1 319* fld 2**11 zt,dl 1 320* epp2 e_p_ptr,* 1 321* tsx0 pr0|call_eod 1 322* 1 323* Sequence 3b 1 324* 1 325* eax1 pr6|46 1 326* fld 0,dl 1 327* epp2 e_p_ptr,* 1 328* tsx0 pr0|call_eo 1 329* 1 330*In the above sequences - 1 331* 1 332*N is the offset in the caller's stack frame of the first 1 333* word of the argument list to be passed to the program 1 334* named in literal-1 or identifier-1. It must be located 1 335* on a double word boundary. 1 336* 1 337*zt is the total number of operands in the CALL statement 1 338* USING phrase. 1 339* 1 340*z is a number designating the position of an operand in 1 341* the CALL statement USING phrase; z = 1, 2, 3, ... zt. 1 342* 1 343*oprnd_z is the zth operand of the CALL statement USING phrase. 1 344* 1 345*y is a number designating the position of operand z of the 1 346* CALL statement USING phrase in the Procedure Division 1 347* header USING phrase when operand z is defined in the 1 348* COBOL Linkage Section. 1 349* 1 350*desc_l is a descriptor for a character string of length l. 1 351* 1 352*zx for x = a, b, c, ..., are the positions within the CALL 1 353* statement USING phrase of those operands whose length is 1 354* l characters. 1 355* 1 356*e_p_ptr is a pointer to the entry point of the program named in 1 357* literal-1 or identifier-1. In the case of literal-1, 1 358* this pointer is located in the MULTICS linkage section 1 359* and is initially a type 4 link created at compile time. 1 360* In the case of identifier-1, the pointer is located in 1 361* the caller's stack frame. Its value is determined by an 1 362* execution time call to system subroutine hcs_$make_ptr. 1 363* 1 364*call_eop is the location, relative to the label operator_table in 1 365* cobol_operators, of the first instruction of the cobol call 1 366* operator call_ext_out_desc. The current value of 1 367* call_eod is 5. 1 368* 1 369*call_eo is the location, relative to the label operator_table in 1 370* cobol_operators, of the first instruction of the cobol call 1 371* operator call_ext_out. The current value of call_eo is 1 372* 6. 1 373* 1 374*R__e_l_o_c_a_t_i_o_n_I__n_f_o_r_m_a_t_i_o_n:_ 1 375* 1 376*All instructions generated directly by procedure cobol_call_gen (as 1 377*opposed to being generated by a utility called cobol_call_gen) are 1 378*non-relocatable with the following exceptions: 1 379* 1 380*The left hand (address) half of the instruction 1 381* 1 382* epp2 pr4|m_ptr,* 1 383* 1 384*in Sequence 3_1. 1 385* 1 386*The left hand (address) half of the instruction 1 387* 1 388* epp2 e_p_ptr,* 1 389* 1 390*in Sequence 3 when it is generated to implement CALL literal-1. 1 391* 1 392*In both cases the entity referenced is a type 4 link located in 1 393*the Linkage Section using pointer register 4. The relocation 1 394*code generated for these instruction halfwords is "10100"b. 1 395* 1 396* */ 1 397 /* 1 398*D__a_t_a:_ 1 399* 1 400* Items in cobol_$incl.cobol used (u) and/or set (s) by 1 401* cobol_call_gen: 1 402* 1 403* cobol_ptr (u) 1 404* next_tag (u/s) 1 405* text_wd_off (u) 1 406* 1 407* */ 1 408 1 409 1 410 1 411 /* Input structure used for cobol_pointer_register$get. */ 1 412 1 413 declare 1 register_request aligned static, 1 414 2 what_pointer fixed bin aligned init(1), 1 415 2 assigned_ptr fixed bin aligned, 1 416 2 lock fixed bin aligned init(1), 1 417 2 switch fixed bin aligned init(0), 1 418 2 segno fixed bin aligned init(0), 1 419 2 offset fixed bin aligned init(0), 1 420 2 reset fixed bin aligned; 1 421 1 422 /* 1 423*where: 1 424* 1 425*what_pointer is the number of the desired pointer register. 1 426* (Input) 1 427* 1 428*assigned_ptr is the number of the register assigned. (Output) 1 429* 1 430*lock specifies locking requirements. (1 - lock 1 431* requested register). (Input) 1 432* 1 433*switch specifies the significance of segno and offset. 1 434* (0 - segno and word offset are not supplied). 1 435* (Input) 1 436* 1 437*segno is the segment number that the pointer register is 1 438* to contain. (Input) 1 439* 1 440*offset is the word or character offset that the pointer 1 441* reginter is to contain. (Input) 1 442* 1 443* */ 1 444 489 2 1 2 2 /* Input structures for cobol_addr */ 2 3 2 4 declare 1 oprnd_z aligned static, 2 5 2 type fixed bin aligned init(1), 2 6 2 operand_no fixed bin aligned init(0), 2 7 2 lock fixed bin aligned init(0), 2 8 2 segno fixed bin aligned, 2 9 2 char_offset fixed bin(24) aligned, 2 10 2 send_receive fixed bin aligned init(0); 2 11 2 12 /* 2 13*type indicates type of addressing requested. Type 1 2 14* indicates basic; i.e., data to be addressed is 2 15* specified by segno and char_offset. 2 16* 2 17*operand_no not applicable to type 1. 2 18* 2 19*lock indicates lock requirements for registers used in 2 20* addressing; 2 21* 0 - do not lock registers used. 2 22* 1 - lock registers used. 2 23* 2 24*segno is the compiler designation of the segment in which 2 25* the data to be addressed is located. 2 26* 2 27*char_offset is the character offset within segno of the data to 2 28* be addressed. 2 29* 2 30*send_receive indicates whether the data being addressed is a 2 31* sending or receiving field for the instruction whose 2 32* address field is being set; 0 indicates sending. 2 33* */ 2 34 2 35 2 36 declare 1 input_struc aligned static, 2 37 2 type fixed bin aligned init(4), 2 38 2 operand_no fixed bin aligned init(1), 2 39 2 lock fixed bin aligned init(0), 2 40 2 operand, 2 41 3 token_ptr ptr aligned init(null), 2 42 3 send_receive fixed bin aligned init(0), 2 43 3 ic_mod fixed bin aligned, 2 44 3 size_sw fixed bin aligned init(0); 2 45 2 46 /* 2 47*type indicates type of addressing requested. 2 48* 1 - no operand, 1 wd, basic 2 49* 2 - 1 operand, 1 wd, non-EIS 2 50* 3 - 1 operand, 1 wd, EIS 2 51* 4 - 1 operand, 1 desc, 2wd, EIS 2 52* 5 - 2 operands, 2 desc, 3 wd, EIS 2 53* 6 - 3 operands, 3 desc, 4 wd, EIS 2 54* 2 55*operand_no number of operands associated with requested type. 2 56* 2 57*lock indicates lock requirements for registers used in 2 58* addressing. 2 59* 0 - do not lock registers used 2 60* 1 - lock registers used 2 61* 2 - unlock all registers 2 62* 2 63*token_ptr is a pointer to the operand token. 2 64* 2 65*send_receive indicates whether the operand being addressed is a 2 66* sending or receiving field for the instruction. 2 67* 0 - sending operand 2 68* 1 - receiving operand 2 69* 2 70*ic_mod indicates whether ic modification is specified in 2 71* the mf field of this operand (set by cobol_addr). 2 72* 0 - no ic modification 2 73* 1 - ic modification 2 74* 2 75*size_sw indicates size (length) handlhlng requirements to 2 76* cobol_addr. 2 77* 0 - cobol_addr may store the operand size in a 2 78* register or in the instruction 2 79* 1 - cobol_addr need not be concerned with size 2 80* */ 2 81 2 82 /* Error message structure. */ 2 83 2 84 declare 1 oprnd_ovfl static aligned, 2 85 2 gen_name char(32) init("cobol_call_gen"), 2 86 2 message_len fixed bin aligned init(26), 2 87 2 message char(26) aligned init 2 88 ("USING operands exceed 127!"); 2 89 2 90 /* Code and relocation sequences. */ 2 91 2 92 dcl inst_seq_1a(4) bit(18) unaligned static init 2 93 ("000000000000000000"b, "011101010001000000"b, /* epp2 oprnd_z */ 2 94 "110000000000000000"b, "010101010001000000"b); /* spri2 pr6|N+2z */ 2 95 2 96 dcl inst_seq_1b(6) bit(18) unaligned static init 2 97 ("110000000000011010"b, "011101001101010000"b, /* epp1 pr6|26,* */ 2 98 "001000000000000000"b, "011101010001010000"b, /* epp2 pr1|2y,* */ 2 99 "110000000000000000"b, "010101010001000000"b); /* spri2 pr6|N+2z */ 2 100 2 101 dcl inst_seq_2(2) bit(36) aligned static init 2 102 ("000000000000000000011101010000000100"b, /* epp2 desc_z,ic */ 2 103 "110000000000000000010101010001000000"b); /* spri2 pr6|N+2zt+2z */ 2 104 2 105 dcl ch_desc bit(36) ; 2 106 2 107 dcl inst_seq_3a(8) bit(18) unaligned static init 2 108 ("110000000000000000"b, "110010001001000000"b, /* eax1 pr6|N */ 2 109 "000000000000000000"b, "100011001000000111"b, /* fld 2**11zt,dl */ 2 110 "100000000000000000"b, "011101010001010000"b, /* epp2 pr4|ep_l,* */ 2 111 "000000000000000101"b, "111000000001000000"b); /* tsx0 pr0|5 */ 2 112 2 113 dcl inst_seq_3b(8) bit(18) unaligned static init 2 114 ("110000000000101110"b, "110010001001000000"b, /* eax1 pr6|46 */ 2 115 "000000000000000000"b, "100011001000000111"b, /* fld 0,dl */ 2 116 "100000000000000000"b, "011101010001010000"b, /* epp2 pr4|ep_l,* */ 2 117 "000000000000000110"b, "111000000001000000"b); /* tsx0 pr0|6 */ 2 118 2 119 dcl inst_seq_3rel(8) bit(5) aligned static init 2 120 ("00000"b, "00000"b, 2 121 "00000"b, "00000"b, 2 122 "10100"b, "00000"b, 2 123 "00000"b, "00000"b); 2 124 2 125 dcl inst_seq_1_1(26) bit(18) unaligned static init 2 126 ("000000000000000000"b, "011101010000010100"b, /* epp2 n_relp,ic* */ 2 127 "110000000001000110"b, "010101010001000000"b, /* spri2 pr6|M+2 */ 2 128 "110000000001000110"b, "011101010001000000"b, /* epp2 pr6|M+2 */ 2 129 "110000000001001110"b, "010101010001000000"b, /* spri2 pr6|M+10 */ 2 130 "110000000001000100"b, "011101010001000000"b, /* epp2 pr6|M */ 2 131 "110000000001010100"b, "010101010001000000"b, /* spri2 pr6|M+16 */ 2 132 "110000000000101000"b, "011101010001000000"b, /* epp2 pr6|40 */ 2 133 "110000000001010110"b, "010101010001000000"b, /* spri2 pr6|M+18 */ 2 134 "000000000000000000"b, "011101010000000100"b, /* epp2 ptr_d_relp,ic */ 2 135 "110000000001001010"b, "010101010001000000"b, /* spri2 pr6|M+20 */ 2 136 "110000000001010000"b, "010101010001000000"b, /* spri2 pr6|M+26 */ 2 137 "000000000000000000"b, "011101010000000100"b, /* epp2 fb_d_relp,ic */ 2 138 "110000000001010010"b, "010101010001000000"b); /* spri2 pr6|M+28 */ 2 139 2 140 dcl inst_seq_1_3(60) bit(18) unaligned static init 2 141 ("000000000000000011"b, "001010100101000000"b, /* scm (pr),(du),mask(0) */ 2 142 "010000000000000000"b, "000000000000000000"b, /* adsc9 pr2|0 */ 2 143 "000100100000000000"b, "000000000000000000"b, /* vfd o9/044,27/0 */ 2 144 "110000000001001001"b, "000000000001000000"b, /* arg pr6|M+5 */ 2 145 "000000000000010000"b, "110000110100000100"b, /* ttn 16,ic */ 2 146 "110000000001001001"b, "010011101001000000"b, /* lda pr6|M+5 */ 2 147 "101010110000000000"b, "010111101000000011"b, /* ora 174080,du */ 2 148 "110000000001001010"b, "111101101001000000"b, /* sta pr6|M+6 */ 2 149 "110000000001001001"b, "010011101001000000"b, /* lda pr6|M+5 */ 2 150 "000000000000000001"b, "000111101000000111"b, /* ada 1,dl */ 2 151 "010000000000000000"b, "101000000101000101"b, /* a9bd pr2|0,a */ 2 152 "110000000001010010"b, "010101010001000000"b, /* spri2 pr6|M+14 */ 2 153 "000000000000000000"b, "101011001000000000"b, /* neg */ 2 154 "000000000000000000"b, "000111101000000000"b, /* ada 0 */ 2 155 "101010110000000000"b, "010111101000000011"b, /* ora 174080,du */ 2 156 "110000000001001011"b, "111101101001000000"b, /* sta pr6|M+7 */ 2 157 "110000000001001010"b, "011101010001000000"b, /* epp2 pr6|M+6 */ 2 158 "110000000001011010"b, "010101010001000000"b, /* spri2 pr6|M+22 */ 2 159 "110000000001001011"b, "011101010001000000"b, /* epp2 pr6|M+7 */ 2 160 "000000000000000111"b, "111001000000000100"b, /* tra 7,ic */ 2 161 "110000000001010010"b, "010101010001000000"b, /* spri2 pr6|M+14 */ 2 162 "000000000000000000"b, "010011101000000000"b, /* lda 0 */ 2 163 "101010110000000000"b, "010111101000000011"b, /* ora 174080,du */ 2 164 "110000000001001010"b, "111101101001000000"b, /* sta pr6|M+6 */ 2 165 "110000000001001010"b, "011101010001000000"b, /* epp2 pr6|M+6 */ 2 166 "110000000001011010"b, "010101010001000000"b, /* spri2 pr6|M+22 */ 2 167 "110000000001011100"b, "010101010001000000"b, /* spri2 pr6|M+24 */ 2 168 "110000000001001100"b, "110010001001000000"b, /* eax1 pr6|M+8 */ 2 169 "000010100000000000"b, "100011001000000111"b, /* fld 10240,dl */ 2 170 "100000000000000000"b, "011101010001010000"b); /* epp2 pr4|0,* */ 2 171 2 172 dcl rel_seq_1_3(62) bit(5) aligned static init 2 173 ("00000"b, "00000"b, 2 174 "00000"b, "00000"b, 2 175 "00000"b, "00000"b, 2 176 "00000"b, "00000"b, 2 177 "00000"b, "00000"b, 2 178 "00000"b, "00000"b, 2 179 "00000"b, "00000"b, 2 180 "00000"b, "00000"b, 2 181 "00000"b, "00000"b, 2 182 "00000"b, "00000"b, 2 183 "00000"b, "00000"b, 2 184 "00000"b, "00000"b, 2 185 "00000"b, "00000"b, 2 186 "00000"b, "00000"b, 2 187 "00000"b, "00000"b, 2 188 "00000"b, "00000"b, 2 189 "00000"b, "00000"b, 2 190 "00000"b, "00000"b, 2 191 "00000"b, "00000"b, 2 192 "00000"b, "00000"b, 2 193 "00000"b, "00000"b, 2 194 "00000"b, "00000"b, 2 195 "00000"b, "00000"b, 2 196 "00000"b, "00000"b, 2 197 "00000"b, "00000"b, 2 198 "00000"b, "00000"b, 2 199 "00000"b, "00000"b, 2 200 "00000"b, "00000"b, 2 201 "00000"b, "00000"b, 2 202 "10100"b, "00000"b, 2 203 "00000"b, "00000"b); 2 204 2 205 dcl inst_seq_2_0(6) bit(18) unaligned static init 2 206 ("110000000000101000"b, "010011101001000000"b, /* lda pr6|40 */ 2 207 "000000000000000000"b, "110000000000000100"b, /* tze 0,ic */ 2 208 "000000000000000000"b, "111001000000000100"b); /* tra 0,ic */ 2 209 2 210 dcl var_inst (4) bit(18) unaligned static init( 2 211 "101010110000000000"b, "010111101000000011"b, /* ora 526000,du */ 2 212 "110000000000000000"b, "111101101001000000"b); /* sta pr6|var_stack */ 2 213 /* fixup directive for link, used when profile options is specified. */ 2 214 dcl 1 fixup_directive aligned static, 2 215 2 operation bit(1) unal init("0"b), 2 216 2 type bit(4) unal init("1111"b), 2 217 2 reserved bit(9) unal init("000000000"b), 2 218 2 location unal, 2 219 3 half bit(1) unal init("0"b), 2 220 3 base bit(3) unal init("001"b), 2 221 3 offset fixed bin unal, 2 222 2 tag_number fixed bin aligned; 2 223 2 224 /* 2 225*P__r_o_c_e_d_u_r_e_s_C__a_l_l_e_d:_ 2 226* */ 2 227 2 228 dcl cobol_addr entry (ptr, ptr, ptr), 2 229 cobol_make_fixup entry(ptr), 2 230 cobol_make_type9$type2_3 entry(ptr,ptr), 2 231 cobol_alloc$stack entry (fixed bin, fixed bin, fixed bin), 2 232 cobol_arg_descriptor entry (bit(36), bit(36), fixed bin), 2 233 cobol_arg_descriptor$type9 entry (ptr, bit(36), fixed bin), 2 234 cobol_get_size entry (ptr,fixed bin,fixed bin), 2 235 cobol_define_tag_nc entry (fixed bin, fixed bin), 2 236 cobol_define_tag entry(fixed bin), 2 237 cobol_emit entry (ptr, ptr, fixed bin), 2 238 cobol_make_link$type_4 entry (fixed bin, char(*)), 2 239 cobol_make_tagref entry (fixed bin, fixed bin, ptr), 2 240 cobol_pointer_register$call entry, 2 241 cobol_pointer_register$get entry (ptr), 2 242 cobol_pool entry (char(*), fixed bin, fixed bin), 2 243 cobol_gen_error entry (fixed bin, fixed bin), 2 244 cobol_call_op entry(fixed bin,fixed bin), 2 245 cobol_reg_manager$after_op entry(fixed bin), 2 246 signal_ entry (char(*), ptr, ptr); 2 247 2 248 /* 2 249*B__u_i_l_t-__i_n_F__u_n_c_t_i_o_n_s_U__s_e_d:_ 2 250* */ 2 251 2 252 dcl addr builtin, 2 253 binary builtin, 2 254 null builtin, 2 255 substr builtin, 2 256 unspec builtin; 2 257 2 258 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 2 259 4 1 4 2 /* BEGIN INCLUDE FILE ... cobol_type3.incl.pl1 */ 4 3 /* Last modified on 11/19/76 by ORN */ 4 4 4 5 /* 4 6*A type 3 alphanumeric literal token is entered into the minpral file by the 4 7*lexical analysis phase for each alphanumeric literal encountered in the 4 8*source program. 4 9**/ 4 10 4 11 dcl alit_ptr ptr; 4 12 4 13 /* BEGIN DECLARATION OR TYPE3 (ALPHANUMERIC LITERAL) TOKEN */ 4 14 dcl 1 alphanum_lit based (alit_ptr), 5 1 5 2 /* begin include file ... cobol_TYPE3.incl.pl1 */ 5 3 /* Last modified on 11/17/76 by ORN */ 5 4 /* Last modified on 12/28/76 by FCH */ 5 5 5 6 /* header */ 5 7 2 size fixed bin, 5 8 2 line fixed bin, 5 9 2 column fixed bin, 5 10 2 type fixed bin, 5 11 /* body */ 5 12 2 lit_type bit (1), 5 13 2 all_lit bit (1), 5 14 2 filler1 bit (6), 5 15 2 lit_size fixed bin, 5 16 2 string char(0 refer(alphanum_lit.lit_size)); 5 17 5 18 5 19 5 20 /* end include file ... cobol_TYPE3.incl.pl1 */ 5 21 4 15 4 16 /* END DECLARATION OF TYPE3 (ALPHANUMERIC LITERAL) TOKEN */ 4 17 4 18 /* END INCLUDE FILE ... cobol_type3.incl.pl1 */ 4 19 2 260 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_type9.incl.pl1 */ 6 3 /* Last modified on 11/19/76 by ORN */ 6 4 6 5 /* 6 6*A type 9 data name token is entered into the name table by the data 6 7*division syntax phase for each data name described in the data division. 6 8*The replacement phase subsequently replaces type 8 user word references 6 9*to data names in the procedure division minpral file with the corresponding 6 10*type 9 tokens from the name table. 6 11**/ 6 12 6 13 /* dcl dn_ptr ptr; */ 6 14 6 15 /* BEGIN DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 6 16 dcl 1 data_name based (dn_ptr), 7 1 7 2 /* begin include file ... cobol_TYPE9.incl.pl1 */ 7 3 /* Last modified on 06/19/77 by ORN */ 7 4 /* Last modified on 12/28/76 by FCH */ 7 5 7 6 /* header */ 7 7 2 size fixed bin, 7 8 2 line fixed bin, 7 9 2 column fixed bin, 7 10 2 type fixed bin, 7 11 /* body */ 7 12 2 string_ptr ptr, 7 13 2 prev_rec ptr, 7 14 2 searched bit (1), 7 15 2 duplicate bit (1), 7 16 2 saved bit (1), 7 17 2 debug_ind bit (1), 7 18 2 filler2 bit (3), 7 19 2 used_as_sub bit (1), 7 20 2 def_line fixed bin, 7 21 2 level fixed bin, 7 22 2 linkage fixed bin, 7 23 2 file_num fixed bin, 7 24 2 size_rtn fixed bin, 7 25 2 item_length fixed bin(24), 7 26 2 places_left fixed bin, 7 27 2 places_right fixed bin, 7 28 /* description */ 7 29 2 file_section bit (1), 7 30 2 working_storage bit (1), 7 31 2 constant_section bit (1), 7 32 2 linkage_section bit (1), 7 33 2 communication_section bit (1), 7 34 2 report_section bit (1), 7 35 2 level_77 bit (1), 7 36 2 level_01 bit (1), 7 37 2 non_elementary bit (1), 7 38 2 elementary bit (1), 7 39 2 filler_item bit (1), 7 40 2 s_of_rdf bit (1), 7 41 2 o_of_rdf bit (1), 7 42 2 bin_18 bit (1), 7 43 2 bin_36 bit (1), 7 44 2 pic_has_l bit (1), 7 45 2 pic_is_do bit (1), 7 46 2 numeric bit (1), 7 47 2 numeric_edited bit (1), 7 48 2 alphanum bit (1), 7 49 2 alphanum_edited bit (1), 7 50 2 alphabetic bit (1), 7 51 2 alphabetic_edited bit (1), 7 52 2 pic_has_p bit (1), 7 53 2 pic_has_ast bit (1), 7 54 2 item_signed bit(1), 7 55 2 sign_separate bit (1), 7 56 2 display bit (1), 7 57 2 comp bit (1), 7 58 2 ascii_packed_dec_h bit (1), /* as of 8/16/76 this field used for comp8. */ 7 59 2 ascii_packed_dec bit (1), 7 60 2 ebcdic_packed_dec bit (1), 7 61 2 bin_16 bit (1), 7 62 2 bin_32 bit (1), 7 63 2 usage_index bit (1), 7 64 2 just_right bit (1), 7 65 2 compare_argument bit (1), 7 66 2 sync bit (1), 7 67 2 temporary bit (1), 7 68 2 bwz bit (1), 7 69 2 variable_length bit (1), 7 70 2 subscripted bit (1), 7 71 2 occurs_do bit (1), 7 72 2 key_a bit (1), 7 73 2 key_d bit (1), 7 74 2 indexed_by bit (1), 7 75 2 value_numeric bit (1), 7 76 2 value_non_numeric bit (1), 7 77 2 value_signed bit (1), 7 78 2 sign_type bit (3), 7 79 2 pic_integer bit (1), 7 80 2 ast_when_zero bit (1), 7 81 2 label_record bit (1), 7 82 2 sign_clause_occurred bit (1), 7 83 2 okey_dn bit (1), 7 84 2 subject_of_keyis bit (1), 7 85 2 exp_redefining bit (1), 7 86 2 sync_in_rec bit (1), 7 87 2 rounded bit (1), 7 88 2 ad_bit bit (1), 7 89 2 debug_all bit (1), 7 90 2 overlap bit (1), 7 91 2 sum_counter bit (1), 7 92 2 exp_occurs bit (1), 7 93 2 linage_counter bit (1), 7 94 2 rnm_01 bit (1), 7 95 2 aligned bit (1), 7 96 2 not_user_writable bit (1), 7 97 2 database_key bit (1), 7 98 2 database_data_item bit (1), 7 99 2 seg_num fixed bin, 7 100 2 offset fixed bin(24), 7 101 2 initial_ptr fixed bin, 7 102 2 edit_ptr fixed bin, 7 103 2 occurs_ptr fixed bin, 7 104 2 do_rec char(5), 7 105 2 bitt bit (1), 7 106 2 byte bit (1), 7 107 2 half_word bit (1), 7 108 2 word bit (1), 7 109 2 double_word bit (1), 7 110 2 half_byte bit (1), 7 111 2 filler5 bit (1), 7 112 2 bit_offset bit (4), 7 113 2 son_cnt bit (16), 7 114 2 max_red_size fixed bin(24), 7 115 2 name_size fixed bin, 7 116 2 name char(0 refer(data_name.name_size)); 7 117 7 118 7 119 7 120 /* end include file ... cobol_TYPE9.incl.pl1 */ 7 121 6 17 6 18 /* END DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 6 19 6 20 /* END INCLUDE FILE ... cobol_type9.incl.pl1 */ 6 21 2 261 8 1 8 2 /* BEGIN INCLUDE FILE ... cobol_type19.incl.pl1 */ 8 3 /* last modified on 11/19/76 by ORN */ 8 4 8 5 /* 8 6*A type 19 end of statement token is created in the procedure division 8 7*minpral file at the end of each minpral statement generated by the 8 8*procedure division syntax phase. A minpral statement may be a complete or 8 9*partial source language statement. A type 19 token contains information 8 10*describing the statement which it delimits. 8 11**/ 8 12 8 13 dcl eos_ptr ptr; 8 14 8 15 /* BEGIN DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 8 16 dcl 1 end_stmt based (eos_ptr), 9 1 9 2 /* begin include file ... cobol_TYPE19.incl.pl1 */ 9 3 /* Last modified on 11/17/76 by ORN */ 9 4 9 5 /* header */ 9 6 2 size fixed bin, 9 7 2 line fixed bin, 9 8 2 column fixed bin, 9 9 2 type fixed bin, 9 10 /* body */ 9 11 2 verb fixed bin, 9 12 2 e fixed bin, 9 13 2 h fixed bin, 9 14 2 i fixed bin, 9 15 2 j fixed bin, 9 16 2 a bit (3), 9 17 2 b bit (1), 9 18 2 c bit (1), 9 19 2 d bit (2), 9 20 2 f bit (2), 9 21 2 g bit (2), 9 22 2 k bit (5), 9 23 2 always_an bit (1); 9 24 9 25 /* end include file ... cobol_TYPE19.incl.pl1 */ 9 26 8 17 8 18 /* END DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 8 19 8 20 /* 8 21*FIELD CONTENTS 8 22* 8 23*size The total size in bytes of this end of statement token. 8 24*line 0 8 25*column 0 8 26*type 19 8 27*verb A value indicating the verb in this statement 8 28* 1 = accept 8 29* 2 = add 8 30* 3 = on size error 8 31* 4 = alter 8 32* 5 = call 8 33* 7 = cancel 8 34* 8 = close 8 35* 9 = divide 8 36* 10 = multiply 8 37* 11 = subtract 8 38* 12 = exit 8 39* 14 = go 8 40* 15 = merge 8 41* 16 = initiate 8 42* 17 = inspect 8 43* 18 = move 8 44* 19 = open 8 45* 20 = perform 8 46* 21 = read 8 47* 23 = receive 8 48* 24 = release 8 49* 25 = return 8 50* 26 = search 8 51* 27 = rewrite 8 52* 29 = seek 8 53* 30 = send 8 54* 31 = set 8 55* 33 = stop 8 56* 34 = string 8 57* 35 = suspend 8 58* 36 = terminate 8 59* 37 = unstring 8 60* 38 = write 8 61* 39 = use 8 62* 40 = compute 8 63* 41 = disable 8 64* 42 = display 8 65* 43 = enable 8 66* 45 = generate 8 67* 46 = hold 8 68* 48 = process 8 69* 49 = sort 8 70* 52 = procedure 8 71* 53 = declaratives 8 72* 54 = section name 8 73* 55 = paragraph name 8 74* 98 = end 8 75*e,h,i,j The significance of these fields differs with each 8 76* statement. These fields are normally used as counters. 8 77*a,b,c,d,f,g,k The significance of these fields differs with each 8 78* statement. These fields are normally used as indicators. 8 79**/ 8 80 8 81 /* END INCLUDE FILE ... cobol_type19.incl.pl1 */ 8 82 2 262 10 1 10 2 /* BEGIN INCLUDE FILE ... cobol_in_token.incl.pl1 */ 10 3 10 4 /* Last modified August 22, 1974 by AEG */ 10 5 10 6 10 7 declare in_token_ptr ptr; 10 8 10 9 declare 1 in_token aligned based(in_token_ptr), 10 10 2 n fixed bin aligned, 10 11 2 code fixed bin aligned, 10 12 2 token_ptr(0 refer(in_token.n)) ptr aligned; 10 13 10 14 10 15 /* END INCLUDE FILE ... cobol_in_token.incl.pl1 */ 10 16 2 263 11 1 11 2 /* BEGIN INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 11 3 /* Modified on 10/27/82 by FCH, [5.1-1], cobol_cln added to save last line num, BUG543(phx13643) */ 11 4 /* Modified on 07/31/80 by FCH, [4.3-1], use_reporting field added for Report Writer */ 11 5 /* Modified on 03/30/79 by FCH, [4.1-1], -card option added */ 11 6 /* Modified on 03/30/79 by FCH, [4.0-2], -svNM option added */ 11 7 /* Modified on 03/02/79 by FCH, [4.0-1], -levNM option added */ 11 8 /* Modified by RAL on 10/13/78, [4.0-0], Added option exp from fil2. */ 11 9 /* Modified by BC on 06/20/77, descriptor added. */ 11 10 /* Modified by BC on 06/02/77, init_cd_seg, init_cd_offset added. */ 11 11 /* Modified by BC on 1/21/77, options.profile added. */ 11 12 /* Modified by FCH on 7/6/76, sysin_fno & sysout_fno deleted, accept_device & display_device added */ 11 13 /* Modified by FCH on 5/20/77, comp_level added */ 11 14 11 15 11 16 /* THE SIZE OF THIS STRUCTURE IN BYTES, (EXCLUDING VARIABLE 11 17* LENGTH ENTITIES), FOR EACH HARDWARE IMPLEMENTATION IS: 11 18* 11 19* HARDWARE | SIZE (BYTES) 11 20* --------------------------------- 11 21* 645/6180 | 464 11 22* P7 | 396 11 23* --------------------------------- 11 24* */ 11 25 11 26 dcl 1 fixed_common based ( cobol_com_ptr), 11 27 2 prog_name char (30), 11 28 2 compiler_rev_no char (25), 11 29 2 phase_name char (6), 11 30 2 currency char (1), 11 31 2 fatal_no fixed bin, 11 32 2 warn_no fixed bin, 11 33 2 proc_counter fixed bin, 11 34 2 spec_tag_counter fixed bin, 11 35 2 file_count fixed bin, 11 36 2 filedescr_offsets (20) char (5), 11 37 2 perf_alter_info char (5), 11 38 2 another_perform_info char (5), 11 39 2 sort_in_info char (5), 11 40 2 odo_info char (5), 11 41 2 size_seg fixed bin, 11 42 2 size_offset fixed bin(24), 11 43 2 size_perform_info char (5), 11 44 2 rename_info char (5), 11 45 2 report_names char (5), 11 46 2 rw_buf_seg fixed bin, 11 47 2 rw_buf_offset fixed bin(24), 11 48 2 rw_buf_length fixed bin(24), 11 49 2 file_keys char (5), 11 50 2 search_keys char (5), 11 51 2 dd_seg_size fixed bin(24), 11 52 2 pd_seg_size fixed bin(24), 11 53 2 seg_limit fixed bin , 11 54 2 number_of_dd_segs fixed bin, 11 55 2 seg_info char (5), 11 56 2 number_of_ls_pointers fixed bin, 11 57 2 link_sec_seg fixed bin, 11 58 2 link_sec_offset fixed bin(24), 11 59 2 sra_clauses fixed bin, 11 60 2 fix_up_info char (5), 11 61 2 linage_info char (5), 11 62 2 first_dd_item char (5), 11 63 2 sort_out_info char (5), 11 64 2 db_info char (5), 11 65 2 realm_info char (5), 11 66 2 rc_realm_info char (5), 11 67 2 last_file_key char (5), 11 68 2 prog_coll_seq fixed bin, 11 69 2 init_cd_seg fixed bin, 11 70 2 init_cd_offset fixed bin(24), 11 71 2 input_error_exit fixed bin, 11 72 2 output_error_exit fixed bin, 11 73 2 i_o_error_exit fixed bin, 11 74 2 extend_error_exit fixed bin, 11 75 2 dummy15 fixed bin, 11 76 2 options, 11 77 3 cu bit (1), 11 78 3 st bit (1), 11 79 3 wn bit (1), 11 80 3 obs bit (1), 11 81 3 dm bit (1), 11 82 3 xrl bit (1), 11 83 3 xrn bit (1), 11 84 3 src bit (1), 11 85 3 obj bit (1), 11 86 3 exs bit (1), 11 87 3 sck bit (1), 11 88 3 rno bit (1), 11 89 3 u_l bit (1), 11 90 3 cnv bit (1), 11 91 3 cos bit (1), 11 92 3 fmt bit (1), 11 93 3 profile bit(1), 11 94 3 nw bit (1), 11 95 3 exp bit (1), /* [4.0-0] */ 11 96 3 card bit (1), /*[4.1-1]*/ 11 97 3 fil2 bit (5), 11 98 3 m_map bit (1), 11 99 3 m_bf bit (1), 11 100 3 m_fat bit (1), 11 101 3 m_wn bit (1), 11 102 3 m_obs bit(1), 11 103 3 pd bit(1), 11 104 3 oc bit(1), 11 105 2 supervisor bit (1), 11 106 2 dec_comma bit (1), 11 107 2 init_cd bit (1), 11 108 2 corr bit (1), 11 109 2 initl bit (1), 11 110 2 debug bit (1), 11 111 2 report bit (1), 11 112 2 sync_in_prog bit (1), 11 113 2 pd_section bit (1), 11 114 2 list_switch bit (1), 11 115 2 alpha_cond bit (1), 11 116 2 num_cond bit (1), 11 117 2 spec_sysin bit (1), 11 118 2 spec_sysout bit (1), 11 119 2 cpl_files bit (1), 11 120 2 obj_dec_comma bit (1), 11 121 2 default_sign_type bit (3), 11 122 2 use_debug bit(1), 11 123 2 syntax_trace bit(1), 11 124 2 comp_defaults, 11 125 3 comp bit(1), 11 126 3 comp_1 bit(1), 11 127 3 comp_2 bit(1), 11 128 3 comp_3 bit(1), 11 129 3 comp_4 bit(1), 11 130 3 comp_5 bit(1), 11 131 3 comp_6 bit(1), 11 132 3 comp_7 bit(1), 11 133 3 comp_8 bit(1), 11 134 2 disp_defaults, 11 135 3 disp bit(1), 11 136 3 disp_1 bit(1), 11 137 3 disp_2 bit(1), 11 138 3 disp_3 bit(1), 11 139 3 disp_4 bit(1), 11 140 3 disp_5 bit(1), 11 141 3 disp_6 bit(1), 11 142 3 disp_7 bit(1), 11 143 2 descriptor bit(2), 11 144 2 levsv bit(3), /*[4.0-1]*/ 11 145 2 use_reporting bit(1), /*[4.3-1]*/ 11 146 2 cd bit(1), /*[4.4-1]*/ 11 147 2 dummy17 bit(3), 11 148 2 lvl_rstr bit(32), 11 149 2 inst_rstr bit(32), 11 150 2 comp_level char(1), 11 151 2 dummy18 char(30), 11 152 2 object_sign char (1), 11 153 2 last_print_rec char (5), 11 154 2 coll_seq_info char (5), 11 155 2 sys_status_seg fixed bin, 11 156 2 sys_status_offset fixed bin(24), 11 157 2 compiler_id fixed bin, 11 158 2 date_comp_ln fixed bin, 11 159 2 compile_mode bit(36), 11 160 2 default_temp fixed bin, 11 161 2 accept_device fixed bin, 11 162 2 display_device fixed bin, 11 163 2 cobol_cln fixed bin, /*[5.1-1]*/ 11 164 2 alphabet_offset fixed bin; 11 165 11 166 11 167 11 168 /* END INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 11 169 2 264 12 1 12 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 12 3 /* Last modified on 06/17/76 by ORN */ 12 4 /* Last modified on 12/28/76 by FCH */ 12 5 /* Last modified on 12/01/80 by FCH */ 12 6 12 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 12 8 12 9 12 10 dcl cobol_ext_$cobol_afp ptr ext; 12 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 12 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 12 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 12 14 dcl cobol_ext_$report_first_token ptr ext; 12 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 12 16 dcl cobol_ext_$report_last_token ptr ext; 12 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 12 18 dcl cobol_ext_$cobol_eltp ptr ext; 12 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 12 20 dcl cobol_ext_$cobol_cmfp ptr ext; 12 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 12 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 12 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 12 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 12 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 12 26 dcl cobol_ext_$cobol_dfp ptr ext; 12 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 12 28 dcl cobol_ext_$cobol_hfp ptr ext; 12 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 12 30 dcl cobol_ext_$cobol_m1fp ptr ext; 12 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 12 32 dcl cobol_ext_$cobol_m2fp ptr ext; 12 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 12 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 12 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 12 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 12 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 12 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 12 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 12 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 12 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 12 42 dcl cobol_ext_$cobol_ntfp ptr ext; 12 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 12 44 dcl cobol_ext_$cobol_pdofp ptr ext; 12 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 12 46 dcl cobol_ext_$cobol_pfp ptr ext; 12 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 12 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 12 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 12 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 12 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 12 52 dcl cobol_ext_$cobol_curr_in ptr ext; 12 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 12 54 dcl cobol_ext_$cobol_curr_out ptr ext; 12 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 12 56 dcl cobol_ext_$cobol_sfp ptr ext; 12 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 12 58 dcl cobol_ext_$cobol_w1p ptr ext; 12 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 12 60 dcl cobol_ext_$cobol_w2p ptr ext; 12 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 12 62 dcl cobol_ext_$cobol_w3p ptr ext; 12 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 12 64 dcl cobol_ext_$cobol_w5p ptr ext; 12 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 12 66 dcl cobol_ext_$cobol_w6p ptr ext; 12 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 12 68 dcl cobol_ext_$cobol_w7p ptr ext; 12 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 12 70 dcl cobol_ext_$cobol_x3fp ptr ext; 12 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 12 72 dcl cobol_ext_$cobol_rwdd ptr ext; 12 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 12 74 dcl cobol_ext_$cobol_rwpd ptr ext; 12 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 12 76 12 77 12 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 12 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 12 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 12 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 12 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 12 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 12 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 12 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 12 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 12 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 12 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 12 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 12 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 12 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 12 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 12 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 12 94 12 95 dcl cobol_ext_$cobol_lpr char (5) ext; 12 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 12 97 dcl cobol_ext_$cobol_options char (120) ext; 12 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 12 99 12 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 12 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 12 102 dcl cobol_ext_$report_exists bit (1) ext; 12 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 12 104 12 105 12 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 12 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 12 108 2 265 490 491 end cobol_call_gen; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0830.3 cobol_call_gen.pl1 >spec>install>MR12.3-1048>cobol_call_gen.pl1 489 1 03/27/82 0439.3 cobol_call_gen_info.incl.pl1 >ldd>include>cobol_call_gen_info.incl.pl1 490 2 03/27/82 0439.3 cobol_call_gen_data.incl.pl1 >ldd>include>cobol_call_gen_data.incl.pl1 2-259 3 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.incl.pl1 2-260 4 03/27/82 0439.8 cobol_type3.incl.pl1 >ldd>include>cobol_type3.incl.pl1 4-15 5 11/11/82 1712.8 cobol_TYPE3.incl.pl1 >ldd>include>cobol_TYPE3.incl.pl1 2-261 6 03/27/82 0439.9 cobol_type9.incl.pl1 >ldd>include>cobol_type9.incl.pl1 6-17 7 11/11/82 1712.7 cobol_TYPE9.incl.pl1 >ldd>include>cobol_TYPE9.incl.pl1 2-262 8 03/27/82 0439.8 cobol_type19.incl.pl1 >ldd>include>cobol_type19.incl.pl1 8-17 9 03/27/82 0439.6 cobol_TYPE19.incl.pl1 >ldd>include>cobol_TYPE19.incl.pl1 2-263 10 11/11/82 1712.7 cobol_in_token.incl.pl1 >ldd>include>cobol_in_token.incl.pl1 2-264 11 11/11/82 1712.8 cobol_fixed_common.incl.pl1 >ldd>include>cobol_fixed_common.incl.pl1 2-265 12 03/27/82 0431.3 cobol_ext_.incl.pl1 >ldd>include>cobol_ext_.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. a 11 based bit(3) level 2 packed packed unaligned dcl 8-16 ref 72 addr builtin function dcl 2-252 ref 83 83 117 117 121 121 121 121 140 140 143 143 143 143 148 148 148 148 150 150 228 228 232 232 232 232 291 291 299 299 302 302 302 302 308 308 328 328 328 328 351 351 351 351 356 356 356 356 359 359 398 398 398 398 403 403 414 414 415 415 424 424 445 445 480 480 alit_ptr 000732 automatic pointer dcl 4-11 set ref 101* 104 alphanum_lit based structure level 1 unaligned dcl 4-14 binary builtin function dcl 2-252 ref 214 219 ch_desc 000730 automatic bit(36) packed unaligned dcl 2-105 set ref 431* 447* 448 char_offset 4 000017 internal static fixed bin(24,0) level 2 dcl 2-4 set ref 396* cobol_$next_tag 000334 external static fixed bin(17,0) dcl 3-128 set ref 65 69* 69 311* 312* 314* 314 cobol_$text_wd_off 000332 external static fixed bin(17,0) dcl 3-90 set ref 115 139 224 298 306 306 311* 471 cobol_addr 000266 constant entry external dcl 2-228 ref 232 398 cobol_alloc$stack 000274 constant entry external dcl 2-228 ref 127 165 435 cobol_arg_descriptor 000276 constant entry external dcl 2-228 ref 212 217 cobol_arg_descriptor$type9 000300 constant entry external dcl 2-228 ref 431 cobol_call_op 000324 constant entry external dcl 2-228 ref 304 cobol_com_ptr defined pointer dcl 12-25 ref 112 136 143 296 351 427 429 454 cobol_define_tag 000306 constant entry external dcl 2-228 ref 70 cobol_define_tag_nc 000304 constant entry external dcl 2-228 ref 311 cobol_emit 000310 constant entry external dcl 2-228 ref 121 143 148 150 228 291 302 308 328 351 356 359 403 415 424 445 480 cobol_ext_$cobol_com_ptr 000336 external static pointer dcl 12-24 ref 112 112 136 136 143 143 296 296 351 351 427 427 429 429 454 454 cobol_gen_error 000322 constant entry external dcl 2-228 ref 310 cobol_get_size 000302 constant entry external dcl 2-228 ref 437 cobol_make_fixup 000270 constant entry external dcl 2-228 ref 117 140 299 cobol_make_link$type_4 000312 constant entry external dcl 2-228 ref 104 292 cobol_make_tagref 000314 constant entry external dcl 2-228 ref 312 cobol_make_type9$type2_3 000272 constant entry external dcl 2-228 ref 389 cobol_pointer_register$get 000316 constant entry external dcl 2-228 ref 414 cobol_pool 000320 constant entry external dcl 2-228 ref 222 cobol_reg_manager$after_op 000326 constant entry external dcl 2-228 ref 156 365 data_name based structure level 1 unaligned dcl 6-16 desc_code 000515 automatic bit(36) array packed unaligned dcl 35 set ref 457* 464* 465* 470* 472* 477* 480 480 desc_off 000726 automatic bit(36) packed unaligned dcl 35 set ref 212* 214 217* 219 descriptor 134(34) based bit(2) level 2 packed packed unaligned dcl 11-26 ref 143 351 427 429 454 e 5 based fixed bin(17,0) level 2 dcl 8-16 ref 79 end_stmt based structure level 1 unaligned dcl 8-16 fixed_common based structure level 1 unaligned dcl 11-26 fixup_directive 000264 internal static structure level 1 dcl 2-214 set ref 117 117 140 140 299 299 fst_inst_no 000725 automatic fixed bin(17,0) dcl 35 set ref 224* 225 in_token based structure level 1 dcl 10-9 in_token_ptr parameter pointer dcl 10-7 ref 28 72 72 79 79 94 101 230 265 379 index 000717 automatic fixed bin(17,0) dcl 35 set ref 377* 379 400 421 431 435 443 448* 459* 461 465 471 471 472 476* input_struc 000026 internal static structure level 1 dcl 2-36 set ref 232 232 inst_seq_1_1 000105 internal static bit(18) initial array packed unaligned dcl 2-125 set ref 170* 172* 173* 173 175* 177* 179* 181* 183* 185* 215* 220* 226* 228 228 inst_seq_1_2 000100 automatic bit(36) array packed unaligned dcl 31 set ref 232 232 236 240* 241* 241 245 249* 250* 250 252* 257* 259* 261 278 282* 284* 285* 285 289* 291 291 inst_seq_1_3 000122 internal static bit(18) initial array packed unaligned dcl 2-140 set ref 187* 188* 188 189* 189 191* 192* 192 193* 193 194* 194 196* 197* 197 199* 201* 202* 202 204* 205* 205 207* 264* 265* 266* 266 267* 267 268* 269* 275* 276* 277* 278* 279* 280* 294* 302 302 inst_seq_1a 000060 internal static bit(18) initial array packed unaligned dcl 2-92 set ref 398 398 401* 403 403 inst_seq_1b 000062 internal static bit(18) initial array packed unaligned dcl 2-96 set ref 415 415 420* 422* 424 424 inst_seq_2 000000 constant bit(36) initial array dcl 2-101 ref 457 470 inst_seq_2_0 000256 internal static bit(18) initial array packed unaligned dcl 2-205 set ref 308 308 inst_seq_3a 000065 internal static bit(18) initial array packed unaligned dcl 2-107 set ref 131* 132* 133* 134* 143 143 148 148 335* 336* 341* 342* 351 351 356 356 inst_seq_3b 000071 internal static bit(18) initial array packed unaligned dcl 2-113 set ref 109* 110* 121 121 150 150 318* 319* 328 328 359 359 inst_seq_3rel 000075 internal static bit(5) initial array dcl 2-119 set ref 121 121 143 143 148 148 328 328 351 351 356 356 item_length 16 based fixed bin(24,0) level 2 dcl 6-16 ref 265 level 12 based fixed bin(17,0) level 2 dcl 6-16 ref 439 439 link_flag 000514 automatic fixed bin(17,0) dcl 35 set ref 89* 409 412* linkage 13 based fixed bin(17,0) level 2 dcl 6-16 ref 419 linkage_section 21(03) based bit(1) level 2 packed packed unaligned dcl 6-16 ref 380 lit_size 5 based fixed bin(17,0) level 2 dcl 4-14 ref 104 104 location 0(14) 000264 internal static structure level 2 packed packed unaligned dcl 2-214 n based fixed bin(17,0) level 2 dcl 10-9 ref 72 79 new_oprnd_ptr 000512 automatic pointer dcl 35 set ref 387* 389* 391 no_wds 000721 automatic fixed bin(17,0) dcl 35 set ref 478* 480* null builtin function dcl 2-252 ref 83 83 150 150 228 228 232 232 291 291 308 308 312 312 359 359 387 398 398 403 403 415 415 424 424 445 445 480 480 num_wds 000724 automatic fixed bin(17,0) dcl 35 set ref 234* 239* 239 240 241 248* 248 249 250 251* 251 252 256* 256 257 259 281* 281 282 283* 283 284 285 291* offset 24 based fixed bin(24,0) level 2 in structure "data_name" dcl 6-16 in procedure "cobol_call_gen" ref 396 offset 000722 automatic fixed bin(17,0) dcl 35 in procedure "cobol_call_gen" set ref 104* 110 134 222* 225 292* 294 offset 0(18) 000264 internal static fixed bin(17,0) level 3 in structure "fixup_directive" packed packed unaligned dcl 2-214 in procedure "cobol_call_gen" set ref 115* 139* 298* operand 4 000026 internal static structure level 2 dcl 2-36 operands 000506 automatic fixed bin(17,0) dcl 35 set ref 74* 79* 80 83 106 132 316 342 377 459 476 oprnd_ln 000110 automatic fixed bin(17,0) array dcl 35 set ref 431* 448* 461 471* 471 472 oprnd_ovfl 000037 internal static structure level 1 dcl 2-84 set ref 83 83 oprnd_ptr 000510 automatic pointer dcl 35 set ref 379* 380 380 380 384 384 389* 391* 395 396 419 429 431* 437* 439 439 oprnd_z 000017 internal static structure level 1 dcl 2-4 set ref 398 398 options 133 based structure level 2 packed packed unaligned dcl 11-26 profile 133(16) based bit(1) level 3 packed packed unaligned dcl 11-26 ref 112 136 296 register_request 000010 internal static structure level 1 dcl 1-413 set ref 414 414 rel_seq_1_3 000160 internal static bit(5) initial array dcl 2-172 set ref 302 302 retry_tag 000720 automatic fixed bin(17,0) dcl 35 set ref 65* 70* 310* seg_num 23 based fixed bin(17,0) level 2 dcl 6-16 ref 395 segno 3 000017 internal static fixed bin(17,0) level 2 dcl 2-4 set ref 395* signal_ 000330 constant entry external dcl 2-228 ref 83 stack_wds 000723 automatic fixed bin(17,0) dcl 35 set ref 75* 80* 127 159* 159 162 162* 165 stackoff 000715 automatic fixed bin(17,0) dcl 35 set ref 127* 131 165* 167 170 171 174 176 178 180 182 184 186 190 195 198 200 203 206 258 319 336 337* 337 341 400 421 476 string 6 based char level 2 packed packed unaligned dcl 4-14 set ref 104* substr builtin function dcl 2-252 set ref 110* 110 131* 131 132* 132 134* 134 170* 170 172* 172 175* 175 177* 177 179* 179 181* 181 183* 183 185* 185 187* 187 191* 191 196* 196 199* 199 201* 201 204* 204 207* 207 214 215 219 220 226 236 241* 241 245 250* 250 259* 259 261 264* 265 267* 267 268* 269* 275* 278* 278 279* 280* 285* 285 289* 294* 294 319* 319 336* 336 341* 341 342* 342 401* 401 420* 420 422* 422 443* 443 465* 465 472* 472 477* 477 temp 000716 automatic fixed bin(17,0) dcl 35 set ref 171* 172 174* 175 176* 177 178* 179 180* 181 182* 183 184* 185 186* 187 190* 191 195* 196 198* 199 200* 201 203* 204 206* 207 212* 214* 215 217* 219* 220 225* 226 258* 259 400* 401 419* 420 421* 422 476* 477 text_wd_off defined fixed bin(17,0) dcl 3-91 ref 306 token_ptr 2 based pointer array level 2 in structure "in_token" dcl 10-9 in procedure "cobol_call_gen" ref 72 79 94 101 230 265 379 token_ptr 4 000026 internal static pointer initial level 3 in structure "input_struc" dcl 2-36 in procedure "cobol_call_gen" set ref 230* type 3 based fixed bin(17,0) level 2 in structure "data_name" dcl 6-16 in procedure "cobol_call_gen" ref 380 380 384 384 type 3 based fixed bin(17,0) level 2 in structure "alphanum_lit" dcl 4-14 in procedure "cobol_call_gen" ref 94 tze_loc 000727 automatic fixed bin(17,0) dcl 35 set ref 306* 312* unspec builtin function dcl 2-252 ref 110 131 132 134 170 172 175 177 179 181 183 185 187 191 196 199 201 204 207 215 220 226 259 265 294 319 336 341 342 401 420 422 443 465 472 477 var_inst 000262 internal static bit(18) initial array packed unaligned dcl 2-210 set ref 439* 441* 443* 445 445 var_stack 000307 automatic fixed bin(17,0) array dcl 35 set ref 435* 443 465 variable_length 22(04) based bit(1) level 2 packed packed unaligned dcl 6-16 ref 429 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. 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 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_$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_$ptr_status_ptr external static pointer dcl 3-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 3-146 cobol_$reg_status_ptr external static pointer dcl 3-58 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_$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 12-11 cobol_analin_fileno defined pointer dcl 12-13 cobol_cmfp defined pointer dcl 12-21 cobol_com_fileno defined pointer dcl 12-23 cobol_curr_in defined pointer dcl 12-53 cobol_curr_out defined pointer dcl 12-55 cobol_data_wd_off defined fixed bin(17,0) dcl 3-119 cobol_dfp defined pointer dcl 12-27 cobol_eltp defined pointer dcl 12-19 cobol_ext_$cobol_afp external static pointer dcl 12-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 12-12 cobol_ext_$cobol_cmfp external static pointer dcl 12-20 cobol_ext_$cobol_com_fileno external static pointer dcl 12-22 cobol_ext_$cobol_curr_in external static pointer dcl 12-52 cobol_ext_$cobol_curr_out external static pointer dcl 12-54 cobol_ext_$cobol_dfp external static pointer dcl 12-26 cobol_ext_$cobol_eltp external static pointer dcl 12-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 12-78 cobol_ext_$cobol_hfp external static pointer dcl 12-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 12-95 cobol_ext_$cobol_m1fp external static pointer dcl 12-30 cobol_ext_$cobol_m2fp external static pointer dcl 12-32 cobol_ext_$cobol_min1_fileno external static pointer dcl 12-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 12-36 cobol_ext_$cobol_name_fileno external static pointer dcl 12-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 12-40 cobol_ext_$cobol_ntfp external static pointer dcl 12-42 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 12-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 12-80 cobol_ext_$cobol_pdofp external static pointer dcl 12-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 12-82 cobol_ext_$cobol_pfp external static pointer dcl 12-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 12-84 cobol_ext_$cobol_rm2fp external static pointer dcl 12-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 12-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 12-50 cobol_ext_$cobol_rwdd external static pointer dcl 12-72 cobol_ext_$cobol_rwpd external static pointer dcl 12-74 cobol_ext_$cobol_sfp external static pointer dcl 12-56 cobol_ext_$cobol_w1p external static pointer dcl 12-58 cobol_ext_$cobol_w2p external static pointer dcl 12-60 cobol_ext_$cobol_w3p external static pointer dcl 12-62 cobol_ext_$cobol_w5p external static pointer dcl 12-64 cobol_ext_$cobol_w6p external static pointer dcl 12-66 cobol_ext_$cobol_w7p external static pointer dcl 12-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 12-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 12-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 12-92 cobol_ext_$cobol_x3fp external static pointer dcl 12-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 12-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 12-102 cobol_ext_$report_first_token external static pointer dcl 12-14 cobol_ext_$report_last_token external static pointer dcl 12-16 cobol_fileno1 defined fixed bin(24,0) dcl 12-79 cobol_hfp defined pointer dcl 12-29 cobol_lpr defined char(5) packed unaligned dcl 12-96 cobol_m1fp defined pointer dcl 12-31 cobol_m2fp defined pointer dcl 12-33 cobol_min1_fileno defined pointer dcl 12-35 cobol_min2_fileno_ptr defined pointer dcl 12-37 cobol_name_fileno defined pointer dcl 12-39 cobol_name_fileno_ptr defined pointer dcl 12-41 cobol_ntfp defined pointer dcl 12-43 cobol_options defined char(120) packed unaligned dcl 12-98 cobol_options_len defined fixed bin(24,0) dcl 12-81 cobol_pdofp defined pointer dcl 12-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 12-83 cobol_pfp defined pointer dcl 12-47 cobol_pointer_register$call 000000 constant entry external dcl 2-228 cobol_print_fileno defined fixed bin(24,0) dcl 12-85 cobol_rm2fp defined pointer dcl 12-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 12-87 cobol_rmin2fp defined pointer dcl 12-51 cobol_rwdd defined pointer dcl 12-73 cobol_rwpd defined pointer dcl 12-75 cobol_sfp defined pointer dcl 12-57 cobol_w1p defined pointer dcl 12-59 cobol_w2p defined pointer dcl 12-61 cobol_w3p defined pointer dcl 12-63 cobol_w5p defined pointer dcl 12-65 cobol_w6p defined pointer dcl 12-67 cobol_w7p defined pointer dcl 12-69 cobol_x1_fileno defined fixed bin(24,0) dcl 12-89 cobol_x2_fileno defined fixed bin(24,0) dcl 12-91 cobol_x3_fileno defined fixed bin(24,0) dcl 12-93 cobol_x3fp defined pointer dcl 12-71 cobol_xlast8 defined bit(1) packed unaligned dcl 12-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 dn_ptr automatic pointer dcl 35 eln_max defined fixed bin(17,0) dcl 3-173 eln_ptr defined pointer dcl 3-69 eos_ptr automatic pointer dcl 8-13 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 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 jndex automatic fixed bin(17,0) dcl 35 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_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 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 prec_len automatic fixed bin(17,0) dcl 35 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 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 12-103 report_first_token defined pointer dcl 12-15 report_last_token defined pointer dcl 12-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 stack_off defined fixed bin(17,0) dcl 3-121 statement_info_ptr defined pointer dcl 3-77 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_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 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 NAMES DECLARED BY EXPLICIT CONTEXT. call_id 000422 constant label dcl 159 ref 97 call_lit 000141 constant label dcl 101 ref 94 cobol_call_gen 000035 constant entry external dcl 28 exit 001560 constant label dcl 367 exit_make_arg_list 002262 constant label dcl 484 make_arg_list 001561 constant entry internal dcl 374 ref 129 339 next_arg 002155 constant label dcl 451 ref 427 start 000042 constant label dcl 65 start_make_arg_list 001562 constant label dcl 377 NAME DECLARED BY CONTEXT OR IMPLICATION. fixed builtin function ref 448 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2554 3114 2265 2564 Length 3646 2265 340 515 267 256 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_call_gen 532 external procedure is an external procedure. make_arg_list internal procedure shares stack frame of external procedure cobol_call_gen. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 register_request cobol_call_gen 000017 oprnd_z cobol_call_gen 000026 input_struc cobol_call_gen 000037 oprnd_ovfl cobol_call_gen 000060 inst_seq_1a cobol_call_gen 000062 inst_seq_1b cobol_call_gen 000065 inst_seq_3a cobol_call_gen 000071 inst_seq_3b cobol_call_gen 000075 inst_seq_3rel cobol_call_gen 000105 inst_seq_1_1 cobol_call_gen 000122 inst_seq_1_3 cobol_call_gen 000160 rel_seq_1_3 cobol_call_gen 000256 inst_seq_2_0 cobol_call_gen 000262 var_inst cobol_call_gen 000264 fixup_directive cobol_call_gen STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_call_gen 000100 inst_seq_1_2 cobol_call_gen 000110 oprnd_ln cobol_call_gen 000307 var_stack cobol_call_gen 000506 operands cobol_call_gen 000510 oprnd_ptr cobol_call_gen 000512 new_oprnd_ptr cobol_call_gen 000514 link_flag cobol_call_gen 000515 desc_code cobol_call_gen 000715 stackoff cobol_call_gen 000716 temp cobol_call_gen 000717 index cobol_call_gen 000720 retry_tag cobol_call_gen 000721 no_wds cobol_call_gen 000722 offset cobol_call_gen 000723 stack_wds cobol_call_gen 000724 num_wds cobol_call_gen 000725 fst_inst_no cobol_call_gen 000726 desc_off cobol_call_gen 000727 tze_loc cobol_call_gen 000730 ch_desc cobol_call_gen 000732 alit_ptr cobol_call_gen THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_addr cobol_alloc$stack cobol_arg_descriptor cobol_arg_descriptor$type9 cobol_call_op cobol_define_tag cobol_define_tag_nc cobol_emit cobol_gen_error cobol_get_size cobol_make_fixup cobol_make_link$type_4 cobol_make_tagref cobol_make_type9$type2_3 cobol_pointer_register$get cobol_pool cobol_reg_manager$after_op signal_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$next_tag cobol_$text_wd_off cobol_ext_$cobol_com_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 28 000032 65 000042 69 000044 70 000045 72 000053 74 000065 75 000066 76 000067 79 000070 80 000072 83 000075 89 000130 94 000131 97 000140 101 000141 104 000142 106 000162 109 000164 110 000167 112 000174 115 000201 117 000204 121 000214 123 000235 127 000236 129 000256 131 000257 132 000265 133 000272 134 000274 136 000301 139 000306 140 000311 143 000321 148 000350 150 000370 156 000411 157 000421 159 000422 162 000424 165 000431 167 000450 170 000453 171 000461 172 000463 173 000470 174 000472 175 000475 176 000502 177 000505 178 000512 179 000515 180 000522 181 000525 182 000532 183 000535 184 000542 185 000545 186 000552 187 000555 188 000562 189 000564 190 000566 191 000571 192 000576 193 000600 194 000602 195 000604 196 000607 197 000614 198 000616 199 000621 200 000626 201 000631 202 000636 203 000640 204 000643 205 000650 206 000652 207 000655 212 000662 214 000677 215 000703 217 000707 219 000723 220 000727 222 000733 224 000756 225 000761 226 000765 228 000770 230 001010 232 001016 234 001036 236 001040 239 001043 240 001044 241 001047 245 001053 248 001056 249 001057 250 001062 251 001067 252 001070 256 001073 257 001074 258 001077 259 001102 261 001107 264 001112 265 001115 266 001124 267 001125 268 001130 269 001132 271 001134 275 001135 276 001140 277 001142 278 001144 279 001146 280 001150 281 001152 282 001153 283 001156 284 001157 285 001162 289 001167 291 001171 292 001207 294 001230 296 001236 298 001243 299 001246 302 001256 304 001277 306 001313 308 001317 310 001337 311 001352 312 001363 314 001400 316 001402 318 001404 319 001406 328 001413 331 001433 335 001434 336 001436 337 001443 339 001445 341 001446 342 001454 351 001461 356 001507 359 001527 365 001550 367 001560 374 001561 377 001562 379 001571 380 001577 384 001614 387 001620 389 001622 391 001633 395 001635 396 001641 398 001643 400 001663 401 001667 403 001675 405 001715 409 001716 412 001720 414 001722 415 001733 419 001754 420 001760 421 001766 422 001772 424 001777 427 002017 429 002025 431 002035 432 002050 435 002051 437 002070 439 002105 441 002117 443 002122 445 002130 447 002150 448 002152 451 002155 454 002157 457 002166 459 002170 461 002177 464 002202 465 002204 467 002212 470 002213 471 002215 472 002222 476 002225 477 002232 478 002237 480 002241 482 002260 484 002262