COMPILATION LISTING OF SEGMENT cobol_arith_move_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 0939.3 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 17* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 18* MCR8060 cobol_arith_move_gen.pl1 Added Trace statements. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 11/16/84 by FCH, [5.3...], trace added */ 23 /* Modified on 10/19/84 by FCH, [5.3-1], BUG563(phx18381), new cobol_addr_tokens.incl.pl1 */ 24 /* Modified on 10/21/82 by FCH, [5.1-1], missing end statement added */ 25 /* Modified on 05/09/79 by FCH, [4.0-1], alloc more space for temp subscr btd conv */ 26 /* Modified since Version 4.0 */ 27 28 29 30 31 32 /* format: style3 */ 33 cobol_arith_move_gen: 34 proc (in_token_ptr); 35 36 37 /* 38*This procedure generates code that moves the result of an 39*arithmetic computation into one or more receiving variables. 40*This procedure is necessary because the generator for the 41*Cobol MOVE statement generates truncated moves (as required by 42*the semantics of the MOVE statement), while what is required 43*for moving the result of a computation to a receiving 44*variable is a non-truncated move, so that overflow conditions 45*can occur. 46* 47**/ 48 49 /* DECLARATION OF THE PARAMETER */ 50 51 52 53 /* dcl in_token_ptr ptr; */ 54 /* This parameter is declared 55*in an include file that follows the executable statements of 56*the procedure. */ 57 58 /* DESCRIPTION OF THE PARAMETER */ 59 60 /* 61*PARAMETER DESCRIPTION 62* 63*in_token_ptr Pointer to a structure that contains 64* information used for generating code to 65* move the result of a computation to one or 66* more receiving fields. (input) See INPUT 67* DETAILs below for a complete description 68* of the structure. 69* 70**/ 71 72 /* INPUT DETAILS */ 73 74 /* 75*The input to this prcedure is a pointer that points to a 76*structure with a format defined by the following declaration: 77* 78*dcl 1 in_token aligned based (in_token_ptr), 79* 2 n fixed bin aligned, 80* 2 code fixed bin aligned, 81* 2 token_ptr (0 refer(in_token.n)) ptr; 82* 83*The contents of this structure that are meaningful to this 84*procedure are the value in "n", and the pointers in the 85*"token_ptr" array. 86* 87* 88*1. in_token.n contains the number of pointers in the token 89*pointer array. This value will have a range equal to or greater 90*than 3. 91* 92*2. token_ptr is an array of pointers to tokens that describe 93*the operands for which move code is to be generated, or to a 94*special token that contains specific information concerning 95*the move. 96* 97* token_ptr(1) is not used by this procedure. 98* 99* token_ptr(2) points to the token that describes 100* the result of a computation. Code to store this 101* value is to be generated by this procedure. 102* 103* tokn_ptr(n) points to an EOS token. This token is 104* described by an include file that follows the 105* executable statements of this procedure. Only one 106* entry in the EOS token is meaningful to this 107* procedure: end_stmt.e contains the number of 108* receiving fields into whcih the result of the 109* computation is to be stored. 110* 111* 112* token_ptr(3) through token_ptr(n-1) point to data name 113* (type 9) tokens that describe the receiving variables 114* into which the result is to be stored. The type of 115* code generated depends on the receiving variable: 116* 117* 118* 2. For any other type of receiving variable, the 119* code that is generated is an EIS move numeric. The 120* execution of the move numeric will result in conversion 121* from one sign type to another, but will not result 122* in any truncation. If the result value is too large 123* to fit into the receiving variable, then the 124* fixedoverflow condition will be raised when the code 125* is executed. 126* 127**/ 128 /* DECLARATION OF EXTERNAL ENTRIES */ 129 130 dcl cobol_addr ext entry (ptr, ptr, ptr); 131 dcl cobol_emit ext entry (ptr, ptr, fixed bin); 132 dcl cobol_make_type9$type2_3 133 ext entry (ptr, ptr); 134 dcl cobol_make_type9$copy 135 ext entry (ptr, ptr); 136 dcl cobol_make_type9$decimal_9bit 137 ext entry (ptr, fixed bin, fixed bin (24), fixed bin, fixed bin); 138 dcl cobol_get_num_code ext entry (ptr, fixed bin); 139 dcl cobol_num_to_udts ext entry (ptr, ptr); 140 dcl cobol_alloc$stack ext entry (fixed bin, fixed bin, fixed bin); 141 142 143 /*}*/ 144 145 146 /* DECLARATION OF INTERNAL STATIC VARIABLES */ 147 148 /* Declaration of internal static variables that contains the MVN opcode */ 149 150 dcl mvn_op bit (10) int static init ("0110000001"b /*300(1)*/); 151 dcl dtb_op bit (10) int static init ("0110001011"b /*305(1)*/); 152 153 dcl first_ix fixed bin int static init (2); 154 155 156 /* Definition of a numeric literal zero */ 157 158 dcl 1 num_lit_zero int static, 159 2 size fixed bin (15) init (37), 160 2 line fixed bin (15) init (0), 161 2 column fixed bin (15) init (0), 162 2 type fixed bin (15) init (2), 163 2 integral bit (1) init ("1"b), 164 2 floating bit (1) init ("0"b), 165 2 filler1 bit (5) init ("0"b), 166 2 subscript bit (1) init ("0"b), 167 2 sign char (1) init (" "), 168 2 exp_sign char (1) init (" "), 169 2 exp_places fixed bin (15) init (0), 170 2 places_left fixed bin (15) init (1), 171 2 places_right fixed bin (15) init (0), 172 2 places fixed bin (15) init (1), 173 2 lit_val char (1) init ("0"); 174 175 /* Definition of a static flag that tells whether numeric zero has been allocated for this compilation. */ 176 177 dcl zero_allocated fixed bin int static init (0); 178 179 /* Definition of a pointer used to point to the data name token for the numeric zero data name token. */ 180 181 dcl zero_type9_ptr ptr int static; 182 183 /* Definition of an internal static buffer to contain the data name token for numeric zero. */ 184 185 dcl zero_type9_buff (1:40) fixed bin int static; 186 187 /* DECLARATION OF INTERNAL AUTOMATIC VARIABLES */ 188 189 /* Declaration of buffers used by the addressability utility */ 190 191 /* Relocation info buffer */ 192 dcl reloc_buffer (1:10) fixed bin; 193 194 /* instruction/descriptor buffer */ 195 dcl addr_inst_buffer (1:10) fixed bin; 196 197 /* addressability input buffer */ 198 dcl addr_input_buffer (1:30) fixed bin; 199 dcl dn_ptr ptr; 200 dcl ix fixed bin; 201 dcl iy fixed bin; 202 dcl dest_ptr ptr; 203 dcl source_ptr ptr; 204 dcl work_places_left fixed bin; 205 dcl ret_offset fixed bin; 206 dcl work_token_ptr ptr; 207 dcl dest_code fixed bin; 208 209 210 211 /**************************************************/ 212 /* START OF EXECUTION */ 213 /* cobol_arith_move_gen */ 214 /**************************************************/ 215 216 /***..... if Trace_Bit then call cobol_gen_driver_$Tr_Beg(camg);/**/ 217 218 in_token.code = 0; 219 220 /* Point pointers at the buffers used to establish addressability */ 221 222 reloc_ptr = addr (reloc_buffer (1)); 223 input_ptr = addr (addr_input_buffer (1)); 224 inst_ptr = addr (addr_inst_buffer (1)); 225 eos_ptr = in_token.token_ptr (in_token.n); 226 227 /* Build the input structure to the addressability utility */ 228 229 input_struc.type = 5; /* eis, 2 input operands, instruction word and 2 descriptors returned */ 230 input_struc.operand_no = 2; 231 input_struc.lock = 0; /* no locks */ 232 233 234 if in_token.token_ptr (first_ix) -> data_name.type ^= rtc_dataname 235 then do; /* Source token is not a data name token. */ 236 237 if in_token.token_ptr (first_ix) -> data_name.type ^= rtc_resword 238 then do; /* Not a reserved word, assume a numeric literal */ 239 240 source_ptr = null (); /* make_type9 supplies buffer for data name token */ 241 call cobol_make_type9$type2_3 (source_ptr, in_token.token_ptr (first_ix)); 242 243 end; /* Not a reserved word, assume a numeric literal */ 244 245 else do; /* ASSUME FIGURATIVE CONSTANT ZERO */ 246 247 if zero_allocated ^= cobol_$compile_count 248 then do; /* Allocate numeric literal zero and make data name token. */ 249 250 zero_type9_ptr = addr (zero_type9_buff (1)); 251 call cobol_make_type9$type2_3 (zero_type9_ptr, addr (num_lit_zero)); 252 zero_allocated = cobol_$compile_count; 253 254 end; /* Allocate numeric literal zero and make data name token. */ 255 256 source_ptr = zero_type9_ptr; 257 258 end; /* Assume FIGURATIVE CONSTATN ZERO */ 259 260 end; /* Source token is not a data name token. */ 261 262 else if in_token.token_ptr (first_ix) -> data_name.bin_18 | in_token.token_ptr (first_ix) -> data_name.bin_36 263 | (in_token.token_ptr (first_ix) -> data_name.item_signed 264 & in_token.token_ptr (first_ix) -> data_name.sign_separate = "0"b) 265 then do; /* Source is fixed binary or overpunch sign data. */ 266 267 /* Convert the source to unpacked decimal, trailing sign. */ 268 source_ptr = null (); 269 call cobol_num_to_udts (in_token.token_ptr (first_ix), source_ptr); 270 271 end; /* Source is not display, must be fixed binary or overpunch sign data. */ 272 273 274 else source_ptr = in_token.token_ptr (first_ix); 275 276 input_struc.operand.token_ptr (1) = source_ptr; 277 input_struc.operand.send_receive (1) = 0; /* sending */ 278 input_struc.operand.size_sw (1) = 0; /* utility worries about size */ 279 280 input_struc.operand.send_receive (2) = 0; /* sending */ 281 input_struc.operand.size_sw (2) = 0; 282 283 iy = first_ix + 1; 284 285 286 287 dest_ptr = in_token.token_ptr (first_ix + 1); 288 289 290 291 if dest_ptr -> data_name.numeric_edited 292 then do; /* Destination is numeric edited. */ 293 /* Generate code to move the source to a numeric temporary of length and scale factor 294* of the numeric edited receiving field, in an attempt to force overflow. */ 295 /* Allocate space on the stack equal to the size of the receiving numeric edited field. */ 296 /*[4.0-1]*/ 297 call cobol_alloc$stack (fixed (dest_ptr -> data_name.item_length, 17) + 1, 0, ret_offset); 298 299 /* Make a data name token for the temporary just allocated. */ 300 work_token_ptr = null (); 301 call cobol_make_type9$decimal_9bit (work_token_ptr, 1000 /*stack*/, fixed (ret_offset, 24), 302 fixed (dest_ptr -> data_name.places_left, 17), fixed (dest_ptr -> data_name.places_right, 17)); 303 304 input_struc.operand.token_ptr (2) = work_token_ptr; 305 call cobol_addr (input_ptr, inst_ptr, reloc_ptr); 306 307 /* Insert opcode and rounding bit if necessary. */ 308 inst_struc.fill1_op = mvn_op; 309 if in_token.token_ptr (iy) -> data_name.rounded 310 then inst_struc.zero3 = "01"b; /*rounding */ 311 312 call cobol_emit (inst_ptr, reloc_ptr, 3); 313 314 /* Set the in_token_structure to indicate an additional move is necessary in the calling 315* procedure. */ 316 in_token.code = 1; 317 318 /* Set the source entry pointer in the in_token structure to point to the temporary 319* that has just received the numeric value. */ 320 in_token.token_ptr (first_ix) = work_token_ptr; 321 322 end; /* Destination is numeric edited. */ 323 324 else do; /* Destination is scaled decimal,fixed binary, or overpunch sign. */ 325 326 call cobol_get_num_code (dest_ptr, dest_code); 327 328 goto destination_sequence (dest_code); 329 330 331 destination_sequence (1): /* DESTINATION IS UNPACKED SCALED DECIMAL */ 332 destination_sequence (2): /* DESTINATION IS PACKED SCALED DECIMAL */ 333 /* Generate brute force numeric move. */ 334 input_struc.operand.token_ptr (2) = dest_ptr; 335 call cobol_addr (input_ptr, inst_ptr, reloc_ptr); 336 337 /* Insert opcode and rounding bit if needed. */ 338 inst_struc.fill1_op = mvn_op; 339 if in_token.token_ptr (iy) -> data_name.rounded 340 then inst_struc.zero3 = "01"b; /* rounding bit on */ 341 342 if dest_ptr -> data_name.item_signed 343 then inst_struc.inst.zero1 = "10"b; /* Turn on the P bit so that 344* the target sign will be set to octal 13. */ 345 346 call cobol_emit (inst_ptr, reloc_ptr, 3); 347 348 goto brute_force_exit; 349 350 351 destination_sequence (3): /* DESTINATION IS SHORT FIXED BINARY */ 352 destination_sequence (4): /* DESTINATION IS LONG FIXED BINARY */ 353 if (source_ptr -> data_name.sign_type = "111"b | source_ptr -> data_name.places_right ^= 0) 354 then do; /* Source is floating decimal or scaled decimal with fractional part. */ 355 356 if source_ptr -> data_name.sign_type = "111"b 357 then work_places_left = 62; /* Floating is converted to scaled decimal 358* with precision (63,0) with leading separate sign */ 359 else work_places_left = source_ptr -> data_name.places_left; 360 361 /* Allocate space in the stack to receive the integer scaled decimal value. */ 362 call cobol_alloc$stack (work_places_left + 1, 0, ret_offset); 363 364 /* Make a data name token for the integer scaled decimal. */ 365 work_token_ptr = null (); 366 call cobol_make_type9$decimal_9bit (work_token_ptr, 1000 /*stack*/, fixed (ret_offset, 24), 367 work_places_left, 0); 368 369 /* Establish addressability to the source, and fixed decimal temp. */ 370 input_struc.operand.token_ptr (2) = work_token_ptr; 371 call cobol_addr (input_ptr, inst_ptr, reloc_ptr); 372 373 /* Make and emit code to move floating decimal to integer scaled decimal */ 374 inst_struc.fill1_op = mvn_op; 375 if in_token.token_ptr (iy) -> data_name.rounded 376 then inst_struc.zero3 = "01"b; 377 378 call cobol_emit (inst_ptr, reloc_ptr, 3); 379 380 input_struc.operand.token_ptr (1) = work_token_ptr; 381 /* integer scaled decimal */ 382 383 end; /* Source is floating decimal or scaled decimall with fractional part. */ 384 385 /* At this point if the source was floating decimal, it has been converted to 386* integer scaled decimal. Now, we generate code to convert the scaled decimal to fixed 387* binary. */ 388 389 input_struc.operand.token_ptr (2) = dest_ptr; 390 call cobol_addr (input_ptr, inst_ptr, reloc_ptr); 391 inst_struc.fill1_op = dtb_op; 392 call cobol_emit (inst_ptr, reloc_ptr, 3); 393 394 goto brute_force_exit; 395 396 397 398 destination_sequence (5): /* DESTINATION IS OVERPUNCH SIGN DATA */ 399 /* Destination is overpunch sign. */ 400 /* Generate code to move the source to a numeric temporary of length and scale factor 401* of the overpunch sign receiving field, in an attempt to force overflow. */ 402 /* Allocate space on the stack equal to the size of the receiving numeric edited field. */ 403 call cobol_alloc$stack (fixed (dest_ptr -> data_name.item_length + 1, 17), 0, ret_offset); 404 405 /* Make a data name token for the temporary just allocated. */ 406 work_token_ptr = null (); 407 call cobol_make_type9$decimal_9bit (work_token_ptr, 1000 /*stack*/, fixed (ret_offset, 24), 408 fixed (dest_ptr -> data_name.places_left, 17), fixed (dest_ptr -> data_name.places_right, 17)); 409 /* Change the sign type to trailing separate. */ 410 work_token_ptr -> data_name.sign_type = "011"b; 411 /* trailing separate */ 412 413 input_struc.operand.token_ptr (2) = work_token_ptr; 414 call cobol_addr (input_ptr, inst_ptr, reloc_ptr); 415 416 /* Insert opcode and rounding bit if necessary. */ 417 inst_struc.fill1_op = mvn_op; 418 if in_token.token_ptr (iy) -> data_name.rounded 419 then inst_struc.zero3 = "01"b; /*rounding */ 420 421 call cobol_emit (inst_ptr, reloc_ptr, 3); 422 423 /* Set the in_token_structure to indicate an additional move is necessary in the calling 424* procedure. */ 425 in_token.code = 1; 426 427 /* Set the source entry pointer in the in_token structure to point to the temporary 428* that has just received the numeric value. */ 429 in_token.token_ptr (first_ix) = work_token_ptr; 430 431 goto brute_force_exit; 432 brute_force_exit: /***..... if Trace_Bit then call cobol_gen_driver_$Tr_End(camg);/**/ 433 /***..... dcl camg char(20) init("COBOL_ARITH_MOVE_GEN");/**/ 434 /***..... dcl cobol_gen_driver_$Tr_Beg entry(char(*));/**/ 435 /***..... dcl cobol_gen_driver_$Tr_End entry(char(*));/**/ 436 /***..... dcl Trace_Bit bit(1) static external;/**/ 437 /***..... dcl Trace_Lev fixed bin static external;/**/ 438 /***..... dcl Trace_Line char(36) static external;/**/ 439 /***..... dcl ioa_ entry options(variable); /**/ 440 end; /* [5.1-1] */ 441 442 /* INCLUDE FILES USED BY THIS PROCEDURE */ 443 444 445 /***** Declaration for builtin function *****/ 446 447 dcl (substr, mod, binary, fixed, addr, addrel, rel, length, string, unspec, null, index) 448 builtin; 449 450 /***** End of declaration for builtin function *****/ 451 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_type9.incl.pl1 */ 1 3 /* Last modified on 11/19/76 by ORN */ 1 4 1 5 /* 1 6*A type 9 data name token is entered into the name table by the data 1 7*division syntax phase for each data name described in the data division. 1 8*The replacement phase subsequently replaces type 8 user word references 1 9*to data names in the procedure division minpral file with the corresponding 1 10*type 9 tokens from the name table. 1 11**/ 1 12 1 13 /* dcl dn_ptr ptr; */ 1 14 1 15 /* BEGIN DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 1 16 dcl 1 data_name based (dn_ptr), 2 1 2 2 /* begin include file ... cobol_TYPE9.incl.pl1 */ 2 3 /* Last modified on 06/19/77 by ORN */ 2 4 /* Last modified on 12/28/76 by FCH */ 2 5 2 6 /* header */ 2 7 2 size fixed bin, 2 8 2 line fixed bin, 2 9 2 column fixed bin, 2 10 2 type fixed bin, 2 11 /* body */ 2 12 2 string_ptr ptr, 2 13 2 prev_rec ptr, 2 14 2 searched bit (1), 2 15 2 duplicate bit (1), 2 16 2 saved bit (1), 2 17 2 debug_ind bit (1), 2 18 2 filler2 bit (3), 2 19 2 used_as_sub bit (1), 2 20 2 def_line fixed bin, 2 21 2 level fixed bin, 2 22 2 linkage fixed bin, 2 23 2 file_num fixed bin, 2 24 2 size_rtn fixed bin, 2 25 2 item_length fixed bin(24), 2 26 2 places_left fixed bin, 2 27 2 places_right fixed bin, 2 28 /* description */ 2 29 2 file_section bit (1), 2 30 2 working_storage bit (1), 2 31 2 constant_section bit (1), 2 32 2 linkage_section bit (1), 2 33 2 communication_section bit (1), 2 34 2 report_section bit (1), 2 35 2 level_77 bit (1), 2 36 2 level_01 bit (1), 2 37 2 non_elementary bit (1), 2 38 2 elementary bit (1), 2 39 2 filler_item bit (1), 2 40 2 s_of_rdf bit (1), 2 41 2 o_of_rdf bit (1), 2 42 2 bin_18 bit (1), 2 43 2 bin_36 bit (1), 2 44 2 pic_has_l bit (1), 2 45 2 pic_is_do bit (1), 2 46 2 numeric bit (1), 2 47 2 numeric_edited bit (1), 2 48 2 alphanum bit (1), 2 49 2 alphanum_edited bit (1), 2 50 2 alphabetic bit (1), 2 51 2 alphabetic_edited bit (1), 2 52 2 pic_has_p bit (1), 2 53 2 pic_has_ast bit (1), 2 54 2 item_signed bit(1), 2 55 2 sign_separate bit (1), 2 56 2 display bit (1), 2 57 2 comp bit (1), 2 58 2 ascii_packed_dec_h bit (1), /* as of 8/16/76 this field used for comp8. */ 2 59 2 ascii_packed_dec bit (1), 2 60 2 ebcdic_packed_dec bit (1), 2 61 2 bin_16 bit (1), 2 62 2 bin_32 bit (1), 2 63 2 usage_index bit (1), 2 64 2 just_right bit (1), 2 65 2 compare_argument bit (1), 2 66 2 sync bit (1), 2 67 2 temporary bit (1), 2 68 2 bwz bit (1), 2 69 2 variable_length bit (1), 2 70 2 subscripted bit (1), 2 71 2 occurs_do bit (1), 2 72 2 key_a bit (1), 2 73 2 key_d bit (1), 2 74 2 indexed_by bit (1), 2 75 2 value_numeric bit (1), 2 76 2 value_non_numeric bit (1), 2 77 2 value_signed bit (1), 2 78 2 sign_type bit (3), 2 79 2 pic_integer bit (1), 2 80 2 ast_when_zero bit (1), 2 81 2 label_record bit (1), 2 82 2 sign_clause_occurred bit (1), 2 83 2 okey_dn bit (1), 2 84 2 subject_of_keyis bit (1), 2 85 2 exp_redefining bit (1), 2 86 2 sync_in_rec bit (1), 2 87 2 rounded bit (1), 2 88 2 ad_bit bit (1), 2 89 2 debug_all bit (1), 2 90 2 overlap bit (1), 2 91 2 sum_counter bit (1), 2 92 2 exp_occurs bit (1), 2 93 2 linage_counter bit (1), 2 94 2 rnm_01 bit (1), 2 95 2 aligned bit (1), 2 96 2 not_user_writable bit (1), 2 97 2 database_key bit (1), 2 98 2 database_data_item bit (1), 2 99 2 seg_num fixed bin, 2 100 2 offset fixed bin(24), 2 101 2 initial_ptr fixed bin, 2 102 2 edit_ptr fixed bin, 2 103 2 occurs_ptr fixed bin, 2 104 2 do_rec char(5), 2 105 2 bitt bit (1), 2 106 2 byte bit (1), 2 107 2 half_word bit (1), 2 108 2 word bit (1), 2 109 2 double_word bit (1), 2 110 2 half_byte bit (1), 2 111 2 filler5 bit (1), 2 112 2 bit_offset bit (4), 2 113 2 son_cnt bit (16), 2 114 2 max_red_size fixed bin(24), 2 115 2 name_size fixed bin, 2 116 2 name char(0 refer(data_name.name_size)); 2 117 2 118 2 119 2 120 /* end include file ... cobol_TYPE9.incl.pl1 */ 2 121 1 17 1 18 /* END DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 1 19 1 20 /* END INCLUDE FILE ... cobol_type9.incl.pl1 */ 1 21 452 453 454 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_addr_tokens.incl.pl1 */ 3 3 3 4 3 5 /****^ HISTORY COMMENTS: 3 6* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8058), 3 7* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 3 8* MCR8058 cobol_addr_tokens.incl.pl1 Change array extents to refer to 3 9* constants rather than variables. 3 10* END HISTORY COMMENTS */ 3 11 3 12 3 13 /* Last modified on 10/1/74 by tg */ 3 14 3 15 3 16 /* parameter list */ 3 17 3 18 dcl (input_ptr, inst_ptr, reloc_ptr) ptr; 3 19 3 20 3 21 /* input_struc_basic is used for type 1 addressing */ 3 22 3 23 dcl 1 input_struc_basic based (input_ptr), 3 24 2 type fixed bin, 3 25 2 operand_no fixed bin, 3 26 2 lock fixed bin, 3 27 2 segno fixed bin, 3 28 2 char_offset fixed bin (24), 3 29 2 send_receive fixed bin; 3 30 3 31 3 32 dcl 1 input_struc based (input_ptr), 3 33 2 type fixed bin, 3 34 2 operand_no fixed bin, 3 35 2 lock fixed bin, 3 36 2 operand (0 refer (input_struc.operand_no)), 3 37 3 token_ptr ptr, 3 38 3 send_receive fixed bin, 3 39 3 ic_mod fixed bin, 3 40 3 size_sw fixed bin; 3 41 3 42 /* reloc_struc is used for all types of addressing * all types */ 3 43 3 44 dcl 1 reloc_struc (input_struc.operand_no + 1) based (reloc_ptr), 3 45 2 left_wd bit (5) aligned, 3 46 2 right_wd bit (5) aligned; 3 47 3 48 /* Instruction format for 1 word instruction */ 3 49 3 50 3 51 dcl 1 inst_struc_basic based (inst_ptr) aligned, 3 52 2 y unaligned, 3 53 3 pr bit (3) unaligned, 3 54 3 wd_offset bit (15) unaligned, 3 55 2 fill1_op bit (10) unaligned, 3 56 2 zero1 bit (1) unaligned, 3 57 2 pr_spec bit (1) unaligned, 3 58 2 tm bit (2) unaligned, 3 59 2 td bit (4) unaligned; 3 60 3 61 3 62 /* The detailed definitions of the fields in this structure 3 63* can be found in the GMAP manual section 8 */ 3 64 /* EIS instruction format for 2_4 word instructions */ 3 65 3 66 dcl 1 inst_struc based (inst_ptr) aligned, 3 67 2 inst unaligned, 3 68 3 zero1 bit (2) unaligned, 3 69 3 mf3 unaligned, 3 70 4 pr_spec bit (1) unaligned, 3 71 4 reg_or_length bit (1) unaligned, 3 72 4 zero2 bit (1) unaligned, 3 73 4 reg_mod bit (4) unaligned, 3 74 3 zero3 bit (2) unaligned, 3 75 3 mf2 unaligned, 3 76 4 pr_spec bit (1) unaligned, 3 77 4 reg_or_length bit (1) unaligned, 3 78 4 zero4 bit (1) unaligned, 3 79 4 reg_mod bit (4) unaligned, 3 80 3 fill1_op bit (10) unaligned, 3 81 3 zero5 bit (1) unaligned, 3 82 3 mf1 unaligned, 3 83 4 pr_spec bit (1) unaligned, 3 84 4 reg_or_length bit (1) unaligned, 3 85 4 zero6 bit (1) unaligned, 3 86 4 reg_mod bit (4) unaligned, 3 87 2 desc_ext unaligned, 3 88 3 desc (512) unaligned, 3 89 4 desc_od bit (36) unaligned; 3 90 3 91 /* The detailed definitions of the fields in this structure 3 92* can be found in the GMAP manual section 8. 3 93* The desc_ext is the descriptor extension of this eis 3 94* instruction. The number of descriptors associated with 3 95* this instruction is equavalent to the operand number. 3 96* Depending on operand data type, the descriptor 3 97* can be alphanumeric or numeric. The structures of the 3 98* alphanumeric and the numeric descriptors are defined 3 99* below. */ 3 100 3 101 /* alphanumeric descriptor format */ 3 102 3 103 dcl 1 desc_an based (desc_an_ptr) unaligned, 3 104 2 desc_f (512) unaligned, 3 105 3 y unaligned, 3 106 4 pr bit (3) unaligned, 3 107 4 wd_offset bit (15) unaligned, 3 108 3 char_n bit (3) unaligned, 3 109 3 zero1 bit (1) unaligned, 3 110 3 ta bit (2), 3 111 3 n bit (12) unaligned; 3 112 3 113 3 114 /* The detailed definitions of the fields in this structure can 3 115* be found in the GMAP manual section 8. */ 3 116 /* numeric descriptor format */ 3 117 3 118 dcl desc_nn_ptr ptr; 3 119 dcl desc_an_ptr ptr; 3 120 3 121 3 122 dcl 1 desc_nn based (desc_nn_ptr) unaligned, 3 123 2 desc_f (512) unaligned, 3 124 3 y unaligned, 3 125 4 pr bit (3) unaligned, 3 126 4 wd_offset bit (15) unaligned, 3 127 3 digit_n bit (3) unaligned, 3 128 3 tn bit (1) unaligned, 3 129 3 sign_type bit (2) unaligned, 3 130 3 scal bit (6) unaligned, 3 131 3 n bit (6) unaligned; 3 132 3 133 3 134 /* The detailed definitions of fields in this structure can 3 135* be found in the GMAP manual section 8. */ 3 136 /* END INCLUDE FILE ... cobol_addr_tokens.incl.pl1 */ 3 137 455 456 4 1 4 2 /* BEGIN INCLUDE FILE ... cobol_type19.incl.pl1 */ 4 3 /* last modified on 11/19/76 by ORN */ 4 4 4 5 /* 4 6*A type 19 end of statement token is created in the procedure division 4 7*minpral file at the end of each minpral statement generated by the 4 8*procedure division syntax phase. A minpral statement may be a complete or 4 9*partial source language statement. A type 19 token contains information 4 10*describing the statement which it delimits. 4 11**/ 4 12 4 13 dcl eos_ptr ptr; 4 14 4 15 /* BEGIN DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 4 16 dcl 1 end_stmt based (eos_ptr), 5 1 5 2 /* begin include file ... cobol_TYPE19.incl.pl1 */ 5 3 /* Last modified on 11/17/76 by ORN */ 5 4 5 5 /* header */ 5 6 2 size fixed bin, 5 7 2 line fixed bin, 5 8 2 column fixed bin, 5 9 2 type fixed bin, 5 10 /* body */ 5 11 2 verb fixed bin, 5 12 2 e fixed bin, 5 13 2 h fixed bin, 5 14 2 i fixed bin, 5 15 2 j fixed bin, 5 16 2 a bit (3), 5 17 2 b bit (1), 5 18 2 c bit (1), 5 19 2 d bit (2), 5 20 2 f bit (2), 5 21 2 g bit (2), 5 22 2 k bit (5), 5 23 2 always_an bit (1); 5 24 5 25 /* end include file ... cobol_TYPE19.incl.pl1 */ 5 26 4 17 4 18 /* END DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 4 19 4 20 /* 4 21*FIELD CONTENTS 4 22* 4 23*size The total size in bytes of this end of statement token. 4 24*line 0 4 25*column 0 4 26*type 19 4 27*verb A value indicating the verb in this statement 4 28* 1 = accept 4 29* 2 = add 4 30* 3 = on size error 4 31* 4 = alter 4 32* 5 = call 4 33* 7 = cancel 4 34* 8 = close 4 35* 9 = divide 4 36* 10 = multiply 4 37* 11 = subtract 4 38* 12 = exit 4 39* 14 = go 4 40* 15 = merge 4 41* 16 = initiate 4 42* 17 = inspect 4 43* 18 = move 4 44* 19 = open 4 45* 20 = perform 4 46* 21 = read 4 47* 23 = receive 4 48* 24 = release 4 49* 25 = return 4 50* 26 = search 4 51* 27 = rewrite 4 52* 29 = seek 4 53* 30 = send 4 54* 31 = set 4 55* 33 = stop 4 56* 34 = string 4 57* 35 = suspend 4 58* 36 = terminate 4 59* 37 = unstring 4 60* 38 = write 4 61* 39 = use 4 62* 40 = compute 4 63* 41 = disable 4 64* 42 = display 4 65* 43 = enable 4 66* 45 = generate 4 67* 46 = hold 4 68* 48 = process 4 69* 49 = sort 4 70* 52 = procedure 4 71* 53 = declaratives 4 72* 54 = section name 4 73* 55 = paragraph name 4 74* 98 = end 4 75*e,h,i,j The significance of these fields differs with each 4 76* statement. These fields are normally used as counters. 4 77*a,b,c,d,f,g,k The significance of these fields differs with each 4 78* statement. These fields are normally used as indicators. 4 79**/ 4 80 4 81 /* END INCLUDE FILE ... cobol_type19.incl.pl1 */ 4 82 457 458 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_in_token.incl.pl1 */ 6 3 6 4 /* Last modified August 22, 1974 by AEG */ 6 5 6 6 6 7 declare in_token_ptr ptr; 6 8 6 9 declare 1 in_token aligned based(in_token_ptr), 6 10 2 n fixed bin aligned, 6 11 2 code fixed bin aligned, 6 12 2 token_ptr(0 refer(in_token.n)) ptr aligned; 6 13 6 14 6 15 /* END INCLUDE FILE ... cobol_in_token.incl.pl1 */ 6 16 459 460 7 1 7 2 /* BEGIN INCLUDE FILE ... cobol_record_types.incl.pl1 */ 7 3 /* <<< LAST MODIFIED ON 09-09-75 by tlf >>> */ 7 4 7 5 dcl rtc_resword fixed bin (15) int static init(1); 7 6 dcl rtc_numlit fixed bin (15) int static init(2); 7 7 dcl rtc_alphalit fixed bin (15) int static init(3); 7 8 dcl rtc_picstring fixed bin (15) int static init(4); 7 9 dcl rtc_diag fixed bin (15) int static init(5); 7 10 dcl rtc_source fixed bin (15) int static init(6); 7 11 dcl rtc_procdef fixed bin (15) int static init(7); 7 12 dcl rtc_userwd fixed bin (15) int static init(8); 7 13 dcl rtc_dataname fixed bin (15) int static init(9); 7 14 dcl rtc_indexname fixed bin (15) int static init(10); 7 15 dcl rtc_condname fixed bin (15) int static init(11); 7 16 dcl rtc_filedef fixed bin (15) int static init(12); 7 17 dcl rtc_commdesc fixed bin (15) int static init(13); 7 18 dcl rtc_debugitems fixed bin (15) int static init(14); 7 19 dcl rtc_savedarea fixed bin (15) int static init(15); 7 20 dcl rtc_sortmerge fixed bin (15) int static init(16); 7 21 dcl rtc_mnemonic fixed bin (15) int static init(17); 7 22 dcl rtc_pararef fixed bin (15) int static init(18); 7 23 dcl rtc_eos fixed bin (15) int static init(19); 7 24 dcl rtc_reportname fixed bin (15) int static init(20); 7 25 dcl rtc_groupname fixed bin (15) int static init(21); 7 26 dcl rtc_reportentry fixed bin (15) int static init(22); 7 27 dcl rtc_unknown1 fixed bin (15) int static init(23); 7 28 dcl rtc_debugenable fixed bin (15) int static init(24); 7 29 dcl rtc_unknown2 fixed bin (15) int static init(25); 7 30 dcl rtc_unknown3 fixed bin (15) int static init(26); 7 31 dcl rtc_unknown4 fixed bin (15) int static init(27); 7 32 dcl rtc_unknown5 fixed bin (15) int static init(28); 7 33 dcl rtc_unknown6 fixed bin (15) int static init(29); 7 34 dcl rtc_internal_tag fixed bin (15) int static init(30); 7 35 dcl rtc_equate_tag fixed bin (15) int static init(31); 7 36 dcl rtc_register fixed bin (15) int static init(100); 7 37 dcl rtc_fdec_temp fixed bin (15) int static init(101); 7 38 dcl rtc_immed_const fixed bin (15) int static init(102); 7 39 7 40 /* END INCLUDE FILE ... cobol_record_types.incl.pl1 */ 7 41 461 462 8 1 8 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 8 3 /* last modified Feb 4, 1977 by ORN */ 8 4 8 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 8 6 8 7 /* POINTERS */ 8 8 dcl cobol_$text_base_ptr ptr ext; 8 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 8 10 dcl cobol_$con_end_ptr ptr ext; 8 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 8 12 dcl cobol_$def_base_ptr ptr ext; 8 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 8 14 dcl cobol_$link_base_ptr ptr ext; 8 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 8 16 dcl cobol_$sym_base_ptr ptr ext; 8 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 8 18 dcl cobol_$reloc_text_base_ptr ptr ext; 8 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 8 20 dcl cobol_$reloc_def_base_ptr ptr ext; 8 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 8 22 dcl cobol_$reloc_link_base_ptr ptr ext; 8 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 8 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 8 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 8 26 dcl cobol_$reloc_work_base_ptr ptr ext; 8 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 8 28 dcl cobol_$pd_map_ptr ptr ext; 8 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 8 30 dcl cobol_$fixup_ptr ptr ext; 8 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 8 32 dcl cobol_$initval_base_ptr ptr ext; 8 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 8 34 dcl cobol_$initval_file_ptr ptr ext; 8 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 8 36 dcl cobol_$perform_list_ptr ptr ext; 8 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 8 38 dcl cobol_$alter_list_ptr ptr ext; 8 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 8 40 dcl cobol_$seg_init_list_ptr ptr ext; 8 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 8 42 dcl cobol_$temp_token_area_ptr ptr ext; 8 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 8 44 dcl cobol_$temp_token_ptr ptr ext; 8 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 8 46 dcl cobol_$token_block1_ptr ptr ext; 8 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 8 48 dcl cobol_$token_block2_ptr ptr ext; 8 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 8 50 dcl cobol_$minpral5_ptr ptr ext; 8 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 8 52 dcl cobol_$tag_table_ptr ptr ext; 8 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 8 54 dcl cobol_$map_data_ptr ptr ext; 8 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 8 56 dcl cobol_$ptr_status_ptr ptr ext; 8 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 8 58 dcl cobol_$reg_status_ptr ptr ext; 8 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 8 60 dcl cobol_$misc_base_ptr ptr ext; 8 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 8 62 dcl cobol_$misc_end_ptr ptr ext; 8 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 8 64 dcl cobol_$list_ptr ptr ext; 8 65 dcl list_ptr ptr defined (cobol_$list_ptr); 8 66 dcl cobol_$allo1_ptr ptr ext; 8 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 8 68 dcl cobol_$eln_ptr ptr ext; 8 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 8 70 dcl cobol_$diag_ptr ptr ext; 8 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 8 72 dcl cobol_$xref_token_ptr ptr ext; 8 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 8 74 dcl cobol_$xref_chain_ptr ptr ext; 8 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 8 76 dcl cobol_$statement_info_ptr ptr ext; 8 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 8 78 dcl cobol_$reswd_ptr ptr ext; 8 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 8 80 dcl cobol_$op_con_ptr ptr ext; 8 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 8 82 dcl cobol_$ntbuf_ptr ptr ext; 8 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 8 84 dcl cobol_$main_pcs_ptr ptr ext; 8 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 8 86 dcl cobol_$include_info_ptr ptr ext; 8 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 8 88 8 89 /* FIXED BIN */ 8 90 dcl cobol_$text_wd_off fixed bin ext; 8 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 8 92 dcl cobol_$con_wd_off fixed bin ext; 8 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 8 94 dcl cobol_$def_wd_off fixed bin ext; 8 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 8 96 dcl cobol_$def_max fixed bin ext; 8 97 dcl def_max fixed bin defined (cobol_$def_max); 8 98 dcl cobol_$link_wd_off fixed bin ext; 8 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 8 100 dcl cobol_$link_max fixed bin ext; 8 101 dcl link_max fixed bin defined (cobol_$link_max); 8 102 dcl cobol_$sym_wd_off fixed bin ext; 8 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 8 104 dcl cobol_$sym_max fixed bin ext; 8 105 dcl sym_max fixed bin defined (cobol_$sym_max); 8 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 8 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 8 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 8 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 8 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 8 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 8 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 8 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 8 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 8 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 8 116 dcl cobol_$pd_map_index fixed bin ext; 8 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 8 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 8 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 8 120 dcl cobol_$stack_off fixed bin ext; 8 121 dcl stack_off fixed bin defined (cobol_$stack_off); 8 122 dcl cobol_$max_stack_off fixed bin ext; 8 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 8 124 dcl cobol_$init_stack_off fixed bin ext; 8 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 8 126 dcl cobol_$pd_map_sw fixed bin ext; 8 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 8 128 dcl cobol_$next_tag fixed bin ext; 8 129 dcl next_tag fixed bin defined (cobol_$next_tag); 8 130 dcl cobol_$data_init_flag fixed bin ext; 8 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 8 132 dcl cobol_$seg_init_flag fixed bin ext; 8 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 8 134 dcl cobol_$alter_flag fixed bin ext; 8 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 8 136 dcl cobol_$sect_eop_flag fixed bin ext; 8 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 8 138 dcl cobol_$para_eop_flag fixed bin ext; 8 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 8 140 dcl cobol_$priority_no fixed bin ext; 8 141 dcl priority_no fixed bin defined (cobol_$priority_no); 8 142 dcl cobol_$compile_count fixed bin ext; 8 143 dcl compile_count fixed bin defined (cobol_$compile_count); 8 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 8 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 8 146 dcl cobol_$reg_assumption_ind fixed bin ext; 8 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 8 148 dcl cobol_$perform_para_index fixed bin ext; 8 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 8 150 dcl cobol_$perform_sect_index fixed bin ext; 8 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 8 152 dcl cobol_$alter_index fixed bin ext; 8 153 dcl alter_index fixed bin defined (cobol_$alter_index); 8 154 dcl cobol_$list_off fixed bin ext; 8 155 dcl list_off fixed bin defined (cobol_$list_off); 8 156 dcl cobol_$constant_offset fixed bin ext; 8 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 8 158 dcl cobol_$misc_max fixed bin ext; 8 159 dcl misc_max fixed bin defined (cobol_$misc_max); 8 160 dcl cobol_$pd_map_max fixed bin ext; 8 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 8 162 dcl cobol_$map_data_max fixed bin ext; 8 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 8 164 dcl cobol_$fixup_max fixed bin ext; 8 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 8 166 dcl cobol_$tag_table_max fixed bin ext; 8 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 8 168 dcl cobol_$temp_token_max fixed bin ext; 8 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 8 170 dcl cobol_$allo1_max fixed bin ext; 8 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 8 172 dcl cobol_$eln_max fixed bin ext; 8 173 dcl eln_max fixed bin defined (cobol_$eln_max); 8 174 dcl cobol_$debug_enable fixed bin ext; 8 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 8 176 dcl cobol_$non_source_offset fixed bin ext; 8 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 8 178 dcl cobol_$initval_flag fixed bin ext; 8 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 8 180 dcl cobol_$date_compiled_sw fixed bin ext; 8 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 8 182 dcl cobol_$include_cnt fixed bin ext; 8 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 8 184 dcl cobol_$fs_charcnt fixed bin ext; 8 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 8 186 dcl cobol_$ws_charcnt fixed bin ext; 8 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 8 188 dcl cobol_$coms_charcnt fixed bin ext; 8 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 8 190 dcl cobol_$ls_charcnt fixed bin ext; 8 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 8 192 dcl cobol_$cons_charcnt fixed bin ext; 8 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 8 194 dcl cobol_$value_cnt fixed bin ext; 8 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 8 196 dcl cobol_$cd_cnt fixed bin ext; 8 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 8 198 dcl cobol_$fs_wdoff fixed bin ext; 8 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 8 200 dcl cobol_$ws_wdoff fixed bin ext; 8 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 8 202 dcl cobol_$coms_wdoff fixed bin ext; 8 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 8 204 8 205 /* CHARACTER */ 8 206 dcl cobol_$scratch_dir char (168) aligned ext; 8 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 8 208 dcl cobol_$obj_seg_name char (32) aligned ext; 8 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 8 210 8 211 /* BIT */ 8 212 dcl cobol_$xref_bypass bit(1) aligned ext; 8 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 8 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 8 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 8 216 8 217 8 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 8 219 8 220 463 464 465 /**************************************************/ 466 /* END OF PROCEDDURE */ 467 /* cobol_arith_move_gen */ 468 /*************************************************/ 469 470 end cobol_arith_move_gen; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0830.0 cobol_arith_move_gen.pl1 >spec>install>MR12.3-1048>cobol_arith_move_gen.pl1 452 1 03/27/82 0439.9 cobol_type9.incl.pl1 >ldd>include>cobol_type9.incl.pl1 1-17 2 11/11/82 1712.7 cobol_TYPE9.incl.pl1 >ldd>include>cobol_TYPE9.incl.pl1 455 3 05/24/89 0811.7 cobol_addr_tokens.incl.pl1 >spec>install>MR12.3-1048>cobol_addr_tokens.incl.pl1 457 4 03/27/82 0439.8 cobol_type19.incl.pl1 >ldd>include>cobol_type19.incl.pl1 4-17 5 03/27/82 0439.6 cobol_TYPE19.incl.pl1 >ldd>include>cobol_TYPE19.incl.pl1 459 6 11/11/82 1712.7 cobol_in_token.incl.pl1 >ldd>include>cobol_in_token.incl.pl1 461 7 03/27/82 0439.8 cobol_record_types.incl.pl1 >ldd>include>cobol_record_types.incl.pl1 463 8 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. addr builtin function dcl 447 ref 222 223 224 250 251 251 addr_input_buffer 000124 automatic fixed bin(17,0) array dcl 198 set ref 223 addr_inst_buffer 000112 automatic fixed bin(17,0) array dcl 195 set ref 224 bin_18 21(13) based bit(1) level 2 packed packed unaligned dcl 1-16 ref 262 bin_36 21(14) based bit(1) level 2 packed packed unaligned dcl 1-16 ref 262 cobol_$compile_count 000114 external static fixed bin(17,0) dcl 8-142 ref 247 252 cobol_addr 000076 constant entry external dcl 130 ref 305 335 371 390 414 cobol_alloc$stack 000112 constant entry external dcl 140 ref 297 362 398 cobol_emit 000100 constant entry external dcl 131 ref 312 346 378 392 421 cobol_get_num_code 000106 constant entry external dcl 138 ref 326 cobol_make_type9$decimal_9bit 000104 constant entry external dcl 136 ref 301 366 407 cobol_make_type9$type2_3 000102 constant entry external dcl 132 ref 241 251 cobol_num_to_udts 000110 constant entry external dcl 139 ref 269 code 1 based fixed bin(17,0) level 2 dcl 6-9 set ref 218* 316* 425* data_name based structure level 1 unaligned dcl 1-16 dest_code 000174 automatic fixed bin(17,0) dcl 207 set ref 326* 328 dest_ptr 000164 automatic pointer dcl 202 set ref 287* 291 297 301 301 301 301 326* 331 342 389 398 398 407 407 407 407 dtb_op constant bit(10) initial packed unaligned dcl 151 ref 391 eos_ptr 000204 automatic pointer dcl 4-13 set ref 225* fill1_op 0(18) based bit(10) level 3 packed packed unaligned dcl 3-66 set ref 308* 338* 374* 391* 417* first_ix constant fixed bin(17,0) initial dcl 153 ref 234 237 241 262 262 262 262 269 274 283 287 320 429 fixed builtin function dcl 447 ref 297 301 301 301 301 301 301 366 366 398 398 407 407 407 407 407 407 in_token based structure level 1 dcl 6-9 in_token_ptr parameter pointer dcl 6-7 ref 33 218 225 225 234 237 241 262 262 262 262 269 274 287 309 316 320 339 375 418 425 429 input_ptr 000176 automatic pointer dcl 3-18 set ref 223* 229 230 231 276 277 278 280 281 304 305* 331 335* 370 371* 380 389 390* 413 414* input_struc based structure level 1 unaligned dcl 3-32 inst based structure level 2 packed packed unaligned dcl 3-66 inst_ptr 000200 automatic pointer dcl 3-18 set ref 224* 305* 308 309 312* 335* 338 339 342 346* 371* 374 375 378* 390* 391 392* 414* 417 418 421* inst_struc based structure level 1 dcl 3-66 item_length 16 based fixed bin(24,0) level 2 dcl 1-16 ref 297 398 398 item_signed 21(25) based bit(1) level 2 packed packed unaligned dcl 1-16 ref 262 342 iy 000162 automatic fixed bin(17,0) dcl 201 set ref 283* 309 339 375 418 lock 2 based fixed bin(17,0) level 2 dcl 3-32 set ref 231* mvn_op constant bit(10) initial packed unaligned dcl 150 ref 308 338 374 417 n based fixed bin(17,0) level 2 dcl 6-9 ref 225 null builtin function dcl 447 ref 240 268 300 365 406 num_lit_zero 000010 internal static structure level 1 unaligned dcl 158 set ref 251 251 numeric_edited 21(18) based bit(1) level 2 packed packed unaligned dcl 1-16 ref 291 operand 4 based structure array level 2 unaligned dcl 3-32 operand_no 1 based fixed bin(17,0) level 2 dcl 3-32 set ref 230* places_left 17 based fixed bin(17,0) level 2 dcl 1-16 ref 301 301 359 407 407 places_right 20 based fixed bin(17,0) level 2 dcl 1-16 ref 301 301 351 407 407 reloc_buffer 000100 automatic fixed bin(17,0) array dcl 192 set ref 222 reloc_ptr 000202 automatic pointer dcl 3-18 set ref 222* 305* 312* 335* 346* 371* 378* 390* 392* 414* 421* ret_offset 000171 automatic fixed bin(17,0) dcl 205 set ref 297* 301 301 362* 366 366 398* 407 407 rounded 22(24) based bit(1) level 2 packed packed unaligned dcl 1-16 ref 309 339 375 418 rtc_dataname constant fixed bin(15,0) initial dcl 7-13 ref 234 rtc_resword constant fixed bin(15,0) initial dcl 7-5 ref 237 send_receive 6 based fixed bin(17,0) array level 3 dcl 3-32 set ref 277* 280* sign_separate 21(26) based bit(1) level 2 packed packed unaligned dcl 1-16 ref 262 sign_type 22(13) based bit(3) level 2 packed packed unaligned dcl 1-16 set ref 351 356 410* size_sw 10 based fixed bin(17,0) array level 3 dcl 3-32 set ref 278* 281* source_ptr 000166 automatic pointer dcl 203 set ref 240* 241* 256* 268* 269* 274* 276 351 351 356 359 token_ptr 2 based pointer array level 2 in structure "in_token" dcl 6-9 in procedure "cobol_arith_move_gen" set ref 225 234 237 241* 262 262 262 262 269* 274 287 309 320* 339 375 418 429* token_ptr 4 based pointer array level 3 in structure "input_struc" dcl 3-32 in procedure "cobol_arith_move_gen" set ref 276* 304* 331* 370* 380* 389* 413* type 3 based fixed bin(17,0) level 2 in structure "data_name" dcl 1-16 in procedure "cobol_arith_move_gen" ref 234 237 type based fixed bin(17,0) level 2 in structure "input_struc" dcl 3-32 in procedure "cobol_arith_move_gen" set ref 229* work_places_left 000170 automatic fixed bin(17,0) dcl 204 set ref 356* 359* 362 366* work_token_ptr 000172 automatic pointer dcl 206 set ref 300* 301* 304 320 365* 366* 370 380 406* 407* 410 413 429 zero1 based bit(2) level 3 packed packed unaligned dcl 3-66 set ref 342* zero3 0(09) based bit(2) level 3 packed packed unaligned dcl 3-66 set ref 309* 339* 375* 418* zero_allocated 000022 internal static fixed bin(17,0) initial dcl 177 set ref 247 252* zero_type9_buff 000026 internal static fixed bin(17,0) array dcl 185 set ref 250 zero_type9_ptr 000024 internal static pointer dcl 181 set ref 250* 251* 256 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 447 allo1_max defined fixed bin(17,0) dcl 8-171 allo1_ptr defined pointer dcl 8-67 alter_flag defined fixed bin(17,0) dcl 8-135 alter_index defined fixed bin(17,0) dcl 8-153 alter_list_ptr defined pointer dcl 8-39 binary builtin function dcl 447 cd_cnt defined fixed bin(17,0) dcl 8-197 cobol_$allo1_max external static fixed bin(17,0) dcl 8-170 cobol_$allo1_ptr external static pointer dcl 8-66 cobol_$alter_flag external static fixed bin(17,0) dcl 8-134 cobol_$alter_index external static fixed bin(17,0) dcl 8-152 cobol_$alter_list_ptr external static pointer dcl 8-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 8-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 8-118 cobol_$coms_charcnt external static fixed bin(17,0) dcl 8-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 8-202 cobol_$con_end_ptr external static pointer dcl 8-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 8-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 8-192 cobol_$constant_offset external static fixed bin(17,0) dcl 8-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 8-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 8-180 cobol_$debug_enable external static fixed bin(17,0) dcl 8-174 cobol_$def_base_ptr external static pointer dcl 8-12 cobol_$def_max external static fixed bin(17,0) dcl 8-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 8-94 cobol_$diag_ptr external static pointer dcl 8-70 cobol_$eln_max external static fixed bin(17,0) dcl 8-172 cobol_$eln_ptr external static pointer dcl 8-68 cobol_$fixup_max external static fixed bin(17,0) dcl 8-164 cobol_$fixup_ptr external static pointer dcl 8-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 8-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 8-198 cobol_$include_cnt external static fixed bin(17,0) dcl 8-182 cobol_$include_info_ptr external static pointer dcl 8-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 8-124 cobol_$initval_base_ptr external static pointer dcl 8-32 cobol_$initval_file_ptr external static pointer dcl 8-34 cobol_$initval_flag external static fixed bin(17,0) dcl 8-178 cobol_$link_base_ptr external static pointer dcl 8-14 cobol_$link_max external static fixed bin(17,0) dcl 8-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 8-98 cobol_$list_off external static fixed bin(17,0) dcl 8-154 cobol_$list_ptr external static pointer dcl 8-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 8-190 cobol_$main_pcs_ptr external static pointer dcl 8-84 cobol_$map_data_max external static fixed bin(17,0) dcl 8-162 cobol_$map_data_ptr external static pointer dcl 8-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 8-122 cobol_$minpral5_ptr external static pointer dcl 8-50 cobol_$misc_base_ptr external static pointer dcl 8-60 cobol_$misc_end_ptr external static pointer dcl 8-62 cobol_$misc_max external static fixed bin(17,0) dcl 8-158 cobol_$next_tag external static fixed bin(17,0) dcl 8-128 cobol_$non_source_offset external static fixed bin(17,0) dcl 8-176 cobol_$ntbuf_ptr external static pointer dcl 8-82 cobol_$obj_seg_name external static char(32) dcl 8-208 cobol_$op_con_ptr external static pointer dcl 8-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 8-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 8-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 8-160 cobol_$pd_map_ptr external static pointer dcl 8-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 8-126 cobol_$perform_list_ptr external static pointer dcl 8-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 8-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 8-150 cobol_$priority_no external static fixed bin(17,0) dcl 8-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 8-144 cobol_$ptr_status_ptr external static pointer dcl 8-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 8-146 cobol_$reg_status_ptr external static pointer dcl 8-58 cobol_$reloc_def_base_ptr external static pointer dcl 8-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 8-108 cobol_$reloc_link_base_ptr external static pointer dcl 8-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 8-110 cobol_$reloc_sym_base_ptr external static pointer dcl 8-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 8-112 cobol_$reloc_text_base_ptr external static pointer dcl 8-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 8-106 cobol_$reloc_work_base_ptr external static pointer dcl 8-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 8-114 cobol_$reswd_ptr external static pointer dcl 8-78 cobol_$same_sort_merge_proc external static bit(1) dcl 8-214 cobol_$scratch_dir external static char(168) dcl 8-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 8-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 8-132 cobol_$seg_init_list_ptr external static pointer dcl 8-40 cobol_$stack_off external static fixed bin(17,0) dcl 8-120 cobol_$statement_info_ptr external static pointer dcl 8-76 cobol_$sym_base_ptr external static pointer dcl 8-16 cobol_$sym_max external static fixed bin(17,0) dcl 8-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 8-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 8-166 cobol_$tag_table_ptr external static pointer dcl 8-52 cobol_$temp_token_area_ptr external static pointer dcl 8-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 8-168 cobol_$temp_token_ptr external static pointer dcl 8-44 cobol_$text_base_ptr external static pointer dcl 8-8 cobol_$text_wd_off external static fixed bin(17,0) dcl 8-90 cobol_$token_block1_ptr external static pointer dcl 8-46 cobol_$token_block2_ptr external static pointer dcl 8-48 cobol_$value_cnt external static fixed bin(17,0) dcl 8-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 8-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 8-200 cobol_$xref_bypass external static bit(1) dcl 8-212 cobol_$xref_chain_ptr external static pointer dcl 8-74 cobol_$xref_token_ptr external static pointer dcl 8-72 cobol_data_wd_off defined fixed bin(17,0) dcl 8-119 cobol_make_type9$copy 000000 constant entry external dcl 134 compile_count defined fixed bin(17,0) dcl 8-143 coms_charcnt defined fixed bin(17,0) dcl 8-189 coms_wdoff defined fixed bin(17,0) dcl 8-203 con_end_ptr defined pointer dcl 8-11 con_wd_off defined fixed bin(17,0) dcl 8-93 cons_charcnt defined fixed bin(17,0) dcl 8-193 constant_offset defined fixed bin(17,0) dcl 8-157 data_init_flag defined fixed bin(17,0) dcl 8-131 date_compiled_sw defined fixed bin(17,0) dcl 8-181 debug_enable defined fixed bin(17,0) dcl 8-175 def_base_ptr defined pointer dcl 8-13 def_max defined fixed bin(17,0) dcl 8-97 def_wd_off defined fixed bin(17,0) dcl 8-95 desc_an based structure level 1 packed packed unaligned dcl 3-103 desc_an_ptr automatic pointer dcl 3-119 desc_nn based structure level 1 packed packed unaligned dcl 3-122 desc_nn_ptr automatic pointer dcl 3-118 diag_ptr defined pointer dcl 8-71 dn_ptr automatic pointer dcl 199 eln_max defined fixed bin(17,0) dcl 8-173 eln_ptr defined pointer dcl 8-69 end_stmt based structure level 1 unaligned dcl 4-16 fixup_max defined fixed bin(17,0) dcl 8-165 fixup_ptr defined pointer dcl 8-31 fs_charcnt defined fixed bin(17,0) dcl 8-185 fs_wdoff defined fixed bin(17,0) dcl 8-199 include_cnt defined fixed bin(17,0) dcl 8-183 include_info_ptr defined pointer dcl 8-87 index builtin function dcl 447 init_stack_off defined fixed bin(17,0) dcl 8-125 initval_base_ptr defined pointer dcl 8-33 initval_file_ptr defined pointer dcl 8-35 initval_flag defined fixed bin(17,0) dcl 8-179 input_struc_basic based structure level 1 unaligned dcl 3-23 inst_struc_basic based structure level 1 dcl 3-51 ix automatic fixed bin(17,0) dcl 200 length builtin function dcl 447 link_base_ptr defined pointer dcl 8-15 link_max defined fixed bin(17,0) dcl 8-101 link_wd_off defined fixed bin(17,0) dcl 8-99 list_off defined fixed bin(17,0) dcl 8-155 list_ptr defined pointer dcl 8-65 ls_charcnt defined fixed bin(17,0) dcl 8-191 main_pcs_ptr defined pointer dcl 8-85 map_data_max defined fixed bin(17,0) dcl 8-163 map_data_ptr defined pointer dcl 8-55 max_stack_off defined fixed bin(17,0) dcl 8-123 minpral5_ptr defined pointer dcl 8-51 misc_base_ptr defined pointer dcl 8-61 misc_end_ptr defined pointer dcl 8-63 misc_max defined fixed bin(17,0) dcl 8-159 mod builtin function dcl 447 next_tag defined fixed bin(17,0) dcl 8-129 non_source_offset defined fixed bin(17,0) dcl 8-177 ntbuf_ptr defined pointer dcl 8-83 obj_seg_name defined char(32) dcl 8-209 op_con_ptr defined pointer dcl 8-81 para_eop_flag defined fixed bin(17,0) dcl 8-139 pd_map_index defined fixed bin(17,0) dcl 8-117 pd_map_max defined fixed bin(17,0) dcl 8-161 pd_map_ptr defined pointer dcl 8-29 pd_map_sw defined fixed bin(17,0) dcl 8-127 perform_list_ptr defined pointer dcl 8-37 perform_para_index defined fixed bin(17,0) dcl 8-149 perform_sect_index defined fixed bin(17,0) dcl 8-151 priority_no defined fixed bin(17,0) dcl 8-141 ptr_assumption_ind defined fixed bin(17,0) dcl 8-145 ptr_status_ptr defined pointer dcl 8-57 reg_assumption_ind defined fixed bin(17,0) dcl 8-147 reg_status_ptr defined pointer dcl 8-59 rel builtin function dcl 447 reloc_def_base_ptr defined pointer dcl 8-21 reloc_def_max defined fixed bin(24,0) dcl 8-109 reloc_link_base_ptr defined pointer dcl 8-23 reloc_link_max defined fixed bin(24,0) dcl 8-111 reloc_struc based structure array level 1 unaligned dcl 3-44 reloc_sym_base_ptr defined pointer dcl 8-25 reloc_sym_max defined fixed bin(24,0) dcl 8-113 reloc_text_base_ptr defined pointer dcl 8-19 reloc_text_max defined fixed bin(24,0) dcl 8-107 reloc_work_base_ptr defined pointer dcl 8-27 reloc_work_max defined fixed bin(24,0) dcl 8-115 reswd_ptr defined pointer dcl 8-79 rtc_alphalit internal static fixed bin(15,0) initial dcl 7-7 rtc_commdesc internal static fixed bin(15,0) initial dcl 7-17 rtc_condname internal static fixed bin(15,0) initial dcl 7-15 rtc_debugenable internal static fixed bin(15,0) initial dcl 7-28 rtc_debugitems internal static fixed bin(15,0) initial dcl 7-18 rtc_diag internal static fixed bin(15,0) initial dcl 7-9 rtc_eos internal static fixed bin(15,0) initial dcl 7-23 rtc_equate_tag internal static fixed bin(15,0) initial dcl 7-35 rtc_fdec_temp internal static fixed bin(15,0) initial dcl 7-37 rtc_filedef internal static fixed bin(15,0) initial dcl 7-16 rtc_groupname internal static fixed bin(15,0) initial dcl 7-25 rtc_immed_const internal static fixed bin(15,0) initial dcl 7-38 rtc_indexname internal static fixed bin(15,0) initial dcl 7-14 rtc_internal_tag internal static fixed bin(15,0) initial dcl 7-34 rtc_mnemonic internal static fixed bin(15,0) initial dcl 7-21 rtc_numlit internal static fixed bin(15,0) initial dcl 7-6 rtc_pararef internal static fixed bin(15,0) initial dcl 7-22 rtc_picstring internal static fixed bin(15,0) initial dcl 7-8 rtc_procdef internal static fixed bin(15,0) initial dcl 7-11 rtc_register internal static fixed bin(15,0) initial dcl 7-36 rtc_reportentry internal static fixed bin(15,0) initial dcl 7-26 rtc_reportname internal static fixed bin(15,0) initial dcl 7-24 rtc_savedarea internal static fixed bin(15,0) initial dcl 7-19 rtc_sortmerge internal static fixed bin(15,0) initial dcl 7-20 rtc_source internal static fixed bin(15,0) initial dcl 7-10 rtc_unknown1 internal static fixed bin(15,0) initial dcl 7-27 rtc_unknown2 internal static fixed bin(15,0) initial dcl 7-29 rtc_unknown3 internal static fixed bin(15,0) initial dcl 7-30 rtc_unknown4 internal static fixed bin(15,0) initial dcl 7-31 rtc_unknown5 internal static fixed bin(15,0) initial dcl 7-32 rtc_unknown6 internal static fixed bin(15,0) initial dcl 7-33 rtc_userwd internal static fixed bin(15,0) initial dcl 7-12 same_sort_merge_proc defined bit(1) dcl 8-215 scratch_dir defined char(168) dcl 8-207 sect_eop_flag defined fixed bin(17,0) dcl 8-137 seg_init_flag defined fixed bin(17,0) dcl 8-133 seg_init_list_ptr defined pointer dcl 8-41 stack_off defined fixed bin(17,0) dcl 8-121 statement_info_ptr defined pointer dcl 8-77 string builtin function dcl 447 substr builtin function dcl 447 sym_base_ptr defined pointer dcl 8-17 sym_max defined fixed bin(17,0) dcl 8-105 sym_wd_off defined fixed bin(17,0) dcl 8-103 tag_table_max defined fixed bin(17,0) dcl 8-167 tag_table_ptr defined pointer dcl 8-53 temp_token_area_ptr defined pointer dcl 8-43 temp_token_max defined fixed bin(17,0) dcl 8-169 temp_token_ptr defined pointer dcl 8-45 text_base_ptr defined pointer dcl 8-9 text_wd_off defined fixed bin(17,0) dcl 8-91 token_block1_ptr defined pointer dcl 8-47 token_block2_ptr defined pointer dcl 8-49 unspec builtin function dcl 447 value_cnt defined fixed bin(17,0) dcl 8-195 ws_charcnt defined fixed bin(17,0) dcl 8-187 ws_wdoff defined fixed bin(17,0) dcl 8-201 xref_bypass defined bit(1) dcl 8-213 xref_chain_ptr defined pointer dcl 8-75 xref_token_ptr defined pointer dcl 8-73 NAMES DECLARED BY EXPLICIT CONTEXT. brute_force_exit 000772 constant label dcl 432 ref 348 394 431 cobol_arith_move_gen 000013 constant entry external dcl 33 destination_sequence 000000 constant label array(5) dcl 331 ref 328 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1120 1236 773 1130 Length 1606 773 116 333 125 66 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_arith_move_gen 168 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 num_lit_zero cobol_arith_move_gen 000022 zero_allocated cobol_arith_move_gen 000024 zero_type9_ptr cobol_arith_move_gen 000026 zero_type9_buff cobol_arith_move_gen STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_arith_move_gen 000100 reloc_buffer cobol_arith_move_gen 000112 addr_inst_buffer cobol_arith_move_gen 000124 addr_input_buffer cobol_arith_move_gen 000162 iy cobol_arith_move_gen 000164 dest_ptr cobol_arith_move_gen 000166 source_ptr cobol_arith_move_gen 000170 work_places_left cobol_arith_move_gen 000171 ret_offset cobol_arith_move_gen 000172 work_token_ptr cobol_arith_move_gen 000174 dest_code cobol_arith_move_gen 000176 input_ptr cobol_arith_move_gen 000200 inst_ptr cobol_arith_move_gen 000202 reloc_ptr cobol_arith_move_gen 000204 eos_ptr cobol_arith_move_gen THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_addr cobol_alloc$stack cobol_emit cobol_get_num_code cobol_make_type9$decimal_9bit cobol_make_type9$type2_3 cobol_num_to_udts THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$compile_count LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 33 000010 218 000020 222 000024 223 000026 224 000030 225 000032 229 000036 230 000040 231 000043 234 000044 237 000052 240 000054 241 000056 243 000067 247 000070 250 000073 251 000075 252 000107 256 000112 260 000114 262 000115 268 000126 269 000130 271 000141 274 000142 276 000143 277 000146 278 000147 280 000150 281 000151 283 000152 287 000154 291 000162 297 000165 300 000204 301 000206 304 000236 305 000241 308 000254 309 000260 312 000275 316 000312 320 000317 322 000322 326 000323 328 000334 331 000336 335 000341 338 000354 339 000360 342 000375 346 000405 348 000422 351 000423 356 000434 359 000442 362 000444 365 000462 366 000464 370 000510 371 000513 374 000526 375 000532 378 000547 380 000564 389 000567 390 000572 391 000605 392 000611 394 000626 398 000627 406 000647 407 000651 410 000701 413 000706 414 000710 417 000723 418 000727 421 000744 425 000761 429 000766 431 000771 470 000772 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved