COMPILATION LISTING OF SEGMENT cobol_compute_bin_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 0936.7 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_compute_bin_gen.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 06/29/79 by FCH, [4.0-1], not option added for debug */ 23 /* Modified since Version 4.0 */ 24 /*{*/ 25 26 /* format: style3 */ 27 cobol_compute_bin_gen: 28 proc (in_token_ptr, next_stmt_tag, target_code, source_code); 29 30 /* 31*This procedure generates code to evaluate a compute statement 32*by doing computation in the hardware registers. 33**/ 34 35 /* DECLARATION OF THE PARAMETERS */ 36 37 /* dcl in_token_ptr ptr; */ 38 /* Declared below in an include file. */ 39 dcl next_stmt_tag fixed bin; 40 dcl target_code fixed bin; 41 dcl source_code fixed bin; 42 43 /* DECLARATION OF EXTERNAL ENTRIES */ 44 45 dcl cobol_add2_binary_long 46 ext entry (ptr, ptr, ptr, fixed bin); 47 dcl cobol_add2_binary_short 48 ext entry (ptr, ptr, ptr, fixed bin); 49 dcl cobol_multiply2_binary 50 ext entry (ptr, ptr, ptr, fixed bin); 51 dcl cobol_store_binary ext entry (ptr, ptr, bit (1)); 52 dcl cobol_make_tagref ext entry (fixed bin, fixed bin, ptr); 53 dcl cobol_define_tag ext entry (fixed bin); 54 dcl cobol_emit ext entry (ptr, ptr, fixed bin); 55 dcl cobol_fofl_mask$on ext entry; 56 dcl cobol_fofl_mask$off ext entry; 57 dcl cobol_make_type9$type2_3 58 ext entry (ptr, ptr); 59 dcl cobol_register$release 60 ext entry (ptr); 61 dcl cobol_make_bin_const 62 ext entry (ptr, ptr, fixed bin); 63 64 /* DECLARATION OF INTERNAL STATIC DATA */ 65 66 dcl 1 dec_zero_token int static, 67 2 size fixed bin (15), 68 2 line fixed bin (15), 69 2 column fixed bin (15), 70 2 type fixed bin (15) init (2), 71 2 integral bit (1) init ("1"b), 72 2 floating bit (1) bit (1) init ("0"b), 73 2 filler1 bit (5), 74 2 subscript bit (1) init ("0"b), 75 2 sign char (1) init (" "), 76 2 exp_sign char (1) init (" "), 77 2 exp_places fixed bin (15), 78 2 places_left fixed bin (15) init (1), 79 2 places_right fixed bin (15) init (0), 80 2 places fixed bin (15) init (1), 81 2 literal char (1) init ("0"); 82 83 84 dcl plus_op fixed bin int static init (182); 85 dcl minus_op fixed bin int static init (183); 86 dcl multiply_op fixed bin int static init (184); 87 dcl divide_op fixed bin int static init (185); 88 dcl unary_minus_op fixed bin int static init (187); 89 90 dcl tov_inst bit (36) int static init ("000000000000000000110001111000000000"b); 91 /* TOV */ 92 93 dcl tra_inst bit (36) int static init ("000000000000000000111001000000000000"b); 94 /* TRA */ 95 96 97 /* DECLARATTION OF INTERNAL VARIABLES */ 98 99 dcl receive_count fixed bin; 100 dcl ose_flag bit (1); 101 dcl imperative_stmt_tag fixed bin; 102 dcl ix fixed bin; 103 dcl result_token_ptr ptr; 104 dcl top fixed bin; 105 dcl operand_stack (1:256) ptr; 106 dcl compute_code fixed bin; 107 dcl skipped_some bit (1); 108 dcl call_again bit (1); 109 dcl temp_ptr ptr; 110 111 dcl 1 register_struc, 112 2 what_reg fixed bin, 113 2 reg_no bit (4), 114 2 lock fixed bin, 115 2 already_there fixed bin, 116 2 contains fixed bin, 117 2 tok_ptr ptr, 118 2 literal bit (36); 119 120 dcl dn_ptr ptr; 121 122 123 /**************************************************/ 124 /* START OF EXECUTION */ 125 /* cobol_compute_bin_gen */ 126 /**************************************************/ 127 128 start: /* Determine whether the computation should be done in the A-Q or in index registers. */ 129 if target_code = source_code 130 then compute_code = target_code; 131 else compute_code = 2; /* source and target of different lengths, do the compute 132* in the longest length registers. */ 133 134 /* Determine the number of receiving operands. */ 135 eos_ptr = in_token.token_ptr (in_token.n); 136 receive_count = end_stmt.e; 137 138 ose_flag = end_stmt.b; 139 140 if ose_flag 141 then do; /* Reserve two tags for on size error processing. */ 142 imperative_stmt_tag = cobol_$next_tag; 143 next_stmt_tag = cobol_$next_tag + 1; 144 cobol_$next_tag = cobol_$next_tag + 2; 145 146 /* Generate code to turn on the fixed overflow mask indicator bit */ 147 call cobol_fofl_mask$on; 148 149 end; /* reserve two tags for on size error processing. */ 150 151 top = 0; 152 153 do ix = 2 to in_token.n - 1; /* Generate code to evaluate the expression. */ 154 155 eos_ptr = in_token.token_ptr (ix); 156 if end_stmt.type ^= rtc_eos 157 then do; /* Not an EOS, must be an operand. */ 158 159 if end_stmt.type = rtc_resword 160 then do; /* A reserved_word, must be fig constant ZERO */ 161 eos_ptr = null (); /* Make a data name token for decimal zero. */ 162 call cobol_make_type9$type2_3 (eos_ptr, addr (dec_zero_token)); 163 end; /* A reserved word, must be fig constant ZERO */ 164 165 top = top + 1; 166 operand_stack (top) = eos_ptr; 167 end; /* Not an EOS, must be an operand. */ 168 169 else do; /* An operator, perform a computation */ 170 171 result_token_ptr = null (); 172 if end_stmt.e = unary_minus_op 173 then do; /* Unary minus operation */ 174 eos_ptr = null (); 175 call cobol_make_bin_const (addr (dec_zero_token), eos_ptr, compute_code); 176 177 if compute_code = 2 /* long binary computation */ 178 then call cobol_add2_binary_long (eos_ptr, operand_stack (top), result_token_ptr, 2); 179 else call cobol_add2_binary_short (eos_ptr, operand_stack (top), result_token_ptr, 2); 180 181 /* Replace the top entry of the operand stack with the resulting negated 182* token. */ 183 operand_stack (top) = result_token_ptr; 184 end; /* unary minus operation */ 185 186 else do; /* Binary operation */ 187 188 if end_stmt.e = plus_op 189 then do; /* Binary addition */ 190 191 if compute_code = 2 192 /* long binary arithmetic */ 193 then call cobol_add2_binary_long (operand_stack (top - 1), 194 operand_stack (top), result_token_ptr, 1); 195 else call cobol_add2_binary_short (operand_stack (top - 1), 196 operand_stack (top), result_token_ptr, 1); 197 end; /* Binary addition */ 198 199 else if end_stmt.e = minus_op 200 then do; /* Binary subtraction */ 201 202 if compute_code = 2 203 then call cobol_add2_binary_long (operand_stack (top - 1), 204 operand_stack (top), result_token_ptr, 2); 205 else call cobol_add2_binary_short (operand_stack (top - 1), 206 operand_stack (top), result_token_ptr, 2); 207 end; /* Binary subtraction */ 208 209 else if end_stmt.e = multiply_op 210 then do; /* Multiply operation. */ 211 /* Set compute code to long binary, because multiplication is 212* done in the 36 bit registers. */ 213 compute_code = 2; 214 call cobol_multiply2_binary (operand_stack (top - 1), operand_stack (top), 215 result_token_ptr, 1); 216 end; /* Multiply operation. */ 217 218 else if end_stmt.e = divide_op 219 then do; /* Divide operation. */ 220 /* Set compute code to long binary, because 221* division is done in 36 bit registers. */ 222 compute_code = 2; 223 call cobol_multiply2_binary (operand_stack (top - 1), operand_stack (top), 224 result_token_ptr, 2); 225 /* Release the A register, (which is locked by 226* the multiply procedure.) */ 227 register_struc.reg_no = "0001"b; 228 /* A */ 229 call cobol_register$release (addr (register_struc)); 230 end; /* Divide operation. */ 231 232 233 top = top - 1; 234 operand_stack (top) = result_token_ptr; 235 end; /* Binary operation */ 236 237 if ose_flag & (end_stmt.e = plus_op | end_stmt.e = minus_op) 238 then do; /* On size error clause present, must test for overflow */ 239 /* Note that overflow can occur during the execution 240* of the computation only for addition and subtraction. */ 241 call cobol_emit (addr (tov_inst), null (), 1); 242 /* Make a reference to imperative_stmt_tag at the TOV just emitted */ 243 call cobol_make_tagref (imperative_stmt_tag, cobol_$text_wd_off - 1, null ()); 244 end; /* On size error clause present, must test for overflow */ 245 end; /* An operator, perform a computation */ 246 end; /* Generate code to evaluate the expression. */ 247 248 249 /* At this point in processing, code has been generated to compute the 250* expression. operand_stack(top) contains a pointer to a token that describes the 251* result of the computation */ 252 253 if operand_stack (top) ^= null 254 then if operand_stack (top) -> data_name.type = rtc_numlit 255 then do; /* Result is a numeric literal constant. */ 256 /* Convert the numeric literal to fixed binary. */ 257 temp_ptr = null (); 258 call cobol_make_bin_const (operand_stack (top), temp_ptr, compute_code); 259 operand_stack (top) = temp_ptr; 260 end; /* Result is a numeric literal constant. */ 261 262 if end_stmt.e ^= multiply_op 263 then do; /* Operation was add, subtract, or divide */ 264 265 /* For add, subtract, or divide, the result will always fit into a 36 bit 266* register. Here, we store the result, first into all long binary receiving 267* fields, and then into any short binary receiving fields. */ 268 269 skipped_some = "0"b; 270 271 do ix = 1 to receive_count; /* Store result into targets that will hold the result */ 272 273 if (compute_code = 2 & operand_stack (ix) -> data_name.bin_18) 274 then skipped_some = "1"b; 275 276 else if operand_stack (top) ^= null 277 then call cobol_store_binary (operand_stack (top), operand_stack (ix), call_again); 278 279 end; /* Store result into targets that will hold the result. */ 280 281 if skipped_some 282 then do; /* Must move the result into targets that may be too small */ 283 284 do ix = 1 to receive_count; /* scan for unfilled targets */ 285 286 if operand_stack (ix) -> data_name.bin_18 287 then call cobol_store_binary (operand_stack (top), operand_stack (ix), call_again); 288 289 if call_again 290 then do; /* Result moved to temp, must now move temp to target */ 291 292 if ose_flag 293 then do; 294 call cobol_emit (addr (tov_inst), null (), 1); 295 call cobol_make_tagref (imperative_stmt_tag, 296 cobol_$text_wd_off - 1, null ()); 297 end; 298 299 call cobol_store_binary (operand_stack (top), operand_stack (ix), call_again) 300 ; 301 302 end; /* Result moved to teep, must now move temp to target. */ 303 304 end; /* scan for unfilled targets */ 305 306 end; /* Move the result into targets that may be too small */ 307 308 309 end; /* Operation was add, subtract, or divide. */ 310 311 else do; /* Operation was multiply */ 312 313 314 315 /* The result of a fixed binary multiplication is in the A and Q registers, 316* and could potentially overflow both long and short binary targets. */ 317 /* Store the result, first into all long binary receiving fields. */ 318 skipped_some = "0"b; 319 do ix = 1 to receive_count; /* Store into all long binary targets. */ 320 if operand_stack (ix) -> data_name.bin_18 321 then skipped_some = "1"b; 322 else do; /* Target is long binary. */ 323 call cobol_store_binary (operand_stack (top), operand_stack (ix), call_again); 324 if call_again 325 then do; /* Result moved to temp in an attempt to force overflow. */ 326 if ose_flag 327 then do; /* Must generate code to test for overflow. */ 328 call cobol_emit (addr (tov_inst), null (), 1); 329 call cobol_make_tagref (imperative_stmt_tag, 330 cobol_$text_wd_off - 1, null ()); 331 end; /* Must generate code to test for overflow. */ 332 call cobol_store_binary (operand_stack (top), operand_stack (ix), call_again) 333 ; 334 end; /* Result moved to temp in an attempt to force overflow. */ 335 end; /* Target is long binary. */ 336 end; /* Store into all long binary targets. */ 337 338 if skipped_some 339 then do; /* Move result into short binary targets. */ 340 do ix = 1 to receive_count; /* Scan for unfilled targets. */ 341 if operand_stack (ix) -> data_name.bin_18 342 then do; /* A short binary target. */ 343 call cobol_store_binary (operand_stack (top), operand_stack (ix), call_again) 344 ; 345 if call_again 346 then do; /* Result moved to temp in attempt to force ovflow. */ 347 if ose_flag 348 then do; 349 /* Generate code to test for overflow. */ 350 call cobol_emit (addr (tov_inst), null (), 1); 351 call cobol_make_tagref (imperative_stmt_tag, 352 cobol_$text_wd_off - 1, null ()); 353 end; 354 /* Generate code to test for overflow. */ 355 /* Now must store the temp into the target. */ 356 call cobol_store_binary (operand_stack (top), operand_stack (ix), 357 call_again); 358 end; /* Result moved to temp in attempt to force ovflow */ 359 end; /* A short binary target. */ 360 end; /* Scan for unfilled targets. */ 361 end; /* Move result into short binary targets. */ 362 363 end; /* Operation was multiply */ 364 365 if ose_flag 366 then do; /* Emit code to transfer over the imperative stmt. */ 367 /* Turn off the fixed overflow mask indicator bit. */ 368 call cobol_fofl_mask$off; 369 370 /*[4.0-1]*/ 371 if end_stmt.f = "01"b /*[4.0-1]*/ 372 then next_stmt_tag = imperative_stmt_tag; 373 /*[4.0-1]*/ 374 else do; 375 376 /* Emit code to transfer to the next cobol statement. */ 377 call cobol_emit (addr (tra_inst), null (), 1); 378 /* Make a reference to the next stmt at the transfer instruction just emitted */ 379 call cobol_make_tagref (next_stmt_tag, cobol_$text_wd_off - 1, null ()); 380 /* Define the imperative statement tag at the NEXT instruction */ 381 call cobol_define_tag (imperative_stmt_tag); 382 383 /*[4.0-1]*/ 384 end; 385 386 /* Generate code to turn off the overflow mask indicator bit. */ 387 call cobol_fofl_mask$off; 388 end; /* Emit code to transfer over the imperative statement. */ 389 390 if operand_stack (top) ^= null 391 then if operand_stack (top) -> data_name.type = rtc_register 392 then do; /* Source is in a register, and has been stored into all targets. Release the 393* register now. */ 394 register_struc.reg_no = operand_stack (top) -> cobol_type100.register; 395 call cobol_register$release (addr (register_struc)); 396 end; /* Source is in a register, and has been stored into all targets. Release the 397* register now. */ 398 399 exit: 400 return; 401 402 /***** Declaration for builtin function *****/ 403 404 dcl (substr, mod, binary, fixed, addr, addrel, rel, length, string, unspec, null, index) 405 builtin; 406 407 /***** End of declaration for builtin function *****/ 408 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 409 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_type19.incl.pl1 */ 3 3 /* last modified on 11/19/76 by ORN */ 3 4 3 5 /* 3 6*A type 19 end of statement token is created in the procedure division 3 7*minpral file at the end of each minpral statement generated by the 3 8*procedure division syntax phase. A minpral statement may be a complete or 3 9*partial source language statement. A type 19 token contains information 3 10*describing the statement which it delimits. 3 11**/ 3 12 3 13 dcl eos_ptr ptr; 3 14 3 15 /* BEGIN DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 3 16 dcl 1 end_stmt based (eos_ptr), 4 1 4 2 /* begin include file ... cobol_TYPE19.incl.pl1 */ 4 3 /* Last modified on 11/17/76 by ORN */ 4 4 4 5 /* header */ 4 6 2 size fixed bin, 4 7 2 line fixed bin, 4 8 2 column fixed bin, 4 9 2 type fixed bin, 4 10 /* body */ 4 11 2 verb fixed bin, 4 12 2 e fixed bin, 4 13 2 h fixed bin, 4 14 2 i fixed bin, 4 15 2 j fixed bin, 4 16 2 a bit (3), 4 17 2 b bit (1), 4 18 2 c bit (1), 4 19 2 d bit (2), 4 20 2 f bit (2), 4 21 2 g bit (2), 4 22 2 k bit (5), 4 23 2 always_an bit (1); 4 24 4 25 /* end include file ... cobol_TYPE19.incl.pl1 */ 4 26 3 17 3 18 /* END DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 3 19 3 20 /* 3 21*FIELD CONTENTS 3 22* 3 23*size The total size in bytes of this end of statement token. 3 24*line 0 3 25*column 0 3 26*type 19 3 27*verb A value indicating the verb in this statement 3 28* 1 = accept 3 29* 2 = add 3 30* 3 = on size error 3 31* 4 = alter 3 32* 5 = call 3 33* 7 = cancel 3 34* 8 = close 3 35* 9 = divide 3 36* 10 = multiply 3 37* 11 = subtract 3 38* 12 = exit 3 39* 14 = go 3 40* 15 = merge 3 41* 16 = initiate 3 42* 17 = inspect 3 43* 18 = move 3 44* 19 = open 3 45* 20 = perform 3 46* 21 = read 3 47* 23 = receive 3 48* 24 = release 3 49* 25 = return 3 50* 26 = search 3 51* 27 = rewrite 3 52* 29 = seek 3 53* 30 = send 3 54* 31 = set 3 55* 33 = stop 3 56* 34 = string 3 57* 35 = suspend 3 58* 36 = terminate 3 59* 37 = unstring 3 60* 38 = write 3 61* 39 = use 3 62* 40 = compute 3 63* 41 = disable 3 64* 42 = display 3 65* 43 = enable 3 66* 45 = generate 3 67* 46 = hold 3 68* 48 = process 3 69* 49 = sort 3 70* 52 = procedure 3 71* 53 = declaratives 3 72* 54 = section name 3 73* 55 = paragraph name 3 74* 98 = end 3 75*e,h,i,j The significance of these fields differs with each 3 76* statement. These fields are normally used as counters. 3 77*a,b,c,d,f,g,k The significance of these fields differs with each 3 78* statement. These fields are normally used as indicators. 3 79**/ 3 80 3 81 /* END INCLUDE FILE ... cobol_type19.incl.pl1 */ 3 82 410 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_record_types.incl.pl1 */ 5 3 /* <<< LAST MODIFIED ON 09-09-75 by tlf >>> */ 5 4 5 5 dcl rtc_resword fixed bin (15) int static init(1); 5 6 dcl rtc_numlit fixed bin (15) int static init(2); 5 7 dcl rtc_alphalit fixed bin (15) int static init(3); 5 8 dcl rtc_picstring fixed bin (15) int static init(4); 5 9 dcl rtc_diag fixed bin (15) int static init(5); 5 10 dcl rtc_source fixed bin (15) int static init(6); 5 11 dcl rtc_procdef fixed bin (15) int static init(7); 5 12 dcl rtc_userwd fixed bin (15) int static init(8); 5 13 dcl rtc_dataname fixed bin (15) int static init(9); 5 14 dcl rtc_indexname fixed bin (15) int static init(10); 5 15 dcl rtc_condname fixed bin (15) int static init(11); 5 16 dcl rtc_filedef fixed bin (15) int static init(12); 5 17 dcl rtc_commdesc fixed bin (15) int static init(13); 5 18 dcl rtc_debugitems fixed bin (15) int static init(14); 5 19 dcl rtc_savedarea fixed bin (15) int static init(15); 5 20 dcl rtc_sortmerge fixed bin (15) int static init(16); 5 21 dcl rtc_mnemonic fixed bin (15) int static init(17); 5 22 dcl rtc_pararef fixed bin (15) int static init(18); 5 23 dcl rtc_eos fixed bin (15) int static init(19); 5 24 dcl rtc_reportname fixed bin (15) int static init(20); 5 25 dcl rtc_groupname fixed bin (15) int static init(21); 5 26 dcl rtc_reportentry fixed bin (15) int static init(22); 5 27 dcl rtc_unknown1 fixed bin (15) int static init(23); 5 28 dcl rtc_debugenable fixed bin (15) int static init(24); 5 29 dcl rtc_unknown2 fixed bin (15) int static init(25); 5 30 dcl rtc_unknown3 fixed bin (15) int static init(26); 5 31 dcl rtc_unknown4 fixed bin (15) int static init(27); 5 32 dcl rtc_unknown5 fixed bin (15) int static init(28); 5 33 dcl rtc_unknown6 fixed bin (15) int static init(29); 5 34 dcl rtc_internal_tag fixed bin (15) int static init(30); 5 35 dcl rtc_equate_tag fixed bin (15) int static init(31); 5 36 dcl rtc_register fixed bin (15) int static init(100); 5 37 dcl rtc_fdec_temp fixed bin (15) int static init(101); 5 38 dcl rtc_immed_const fixed bin (15) int static init(102); 5 39 5 40 /* END INCLUDE FILE ... cobol_record_types.incl.pl1 */ 5 41 411 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_type100.incl.pl1 */ 6 3 /* Last modified on 11/19/76 by ORN */ 6 4 6 5 /* 6 6*The internal register token is used only during the code generation phase. 6 7**/ 6 8 6 9 dcl cobol_type100_ptr ptr; 6 10 6 11 /* BEGIN DECLARATION OF TYPE100 (INTERNAL REGISTER) TOKEN */ 6 12 dcl 1 cobol_type100 based (cobol_type100_ptr) aligned, 6 13 /* header */ 6 14 2 size fixed bin (15), 6 15 2 line fixed bin (15), 6 16 2 column fixed bin (7), 6 17 2 type fixed bin (7), 6 18 /* body */ 6 19 2 register bit (4) unaligned; 6 20 /* END DECLARATION OF TYPE100 (INTERNAL REGISTER) TOKEN */ 6 21 6 22 /* 6 23*FIELD CONTENTS 6 24* 6 25*size The total size in bytes of this token. 6 26*line Generated sequence number of source line. 6 27* Always 0. 6 28*column The column number on the source image. 6 29* Always 0. 6 30*type 100 6 31*register The register number in the following form. 6 32* "0001"b - A register. 6 33* "0010"b - Q register. 6 34* "0011"b - A and Q registers. 6 35* "1nnn"b - index register nnn. 6 36**/ 6 37 6 38 /* END INCLUDE FILE ... cobol_type100.incl.pl1 */ 6 39 412 7 1 7 2 /* BEGIN INCLUDE FILE ... cobol_in_token.incl.pl1 */ 7 3 7 4 /* Last modified August 22, 1974 by AEG */ 7 5 7 6 7 7 declare in_token_ptr ptr; 7 8 7 9 declare 1 in_token aligned based(in_token_ptr), 7 10 2 n fixed bin aligned, 7 11 2 code fixed bin aligned, 7 12 2 token_ptr(0 refer(in_token.n)) ptr aligned; 7 13 7 14 7 15 /* END INCLUDE FILE ... cobol_in_token.incl.pl1 */ 7 16 413 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 414 415 end cobol_compute_bin_gen; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0830.2 cobol_compute_bin_gen.pl1 >spec>install>MR12.3-1048>cobol_compute_bin_gen.pl1 409 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 410 3 03/27/82 0439.8 cobol_type19.incl.pl1 >ldd>include>cobol_type19.incl.pl1 3-17 4 03/27/82 0439.6 cobol_TYPE19.incl.pl1 >ldd>include>cobol_TYPE19.incl.pl1 411 5 03/27/82 0439.8 cobol_record_types.incl.pl1 >ldd>include>cobol_record_types.incl.pl1 412 6 03/27/82 0439.8 cobol_type100.incl.pl1 >ldd>include>cobol_type100.incl.pl1 413 7 11/11/82 1712.7 cobol_in_token.incl.pl1 >ldd>include>cobol_in_token.incl.pl1 414 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 404 ref 162 162 175 175 229 229 241 241 294 294 328 328 350 350 377 377 395 395 b 11(03) based bit(1) level 2 packed packed unaligned dcl 3-16 ref 138 bin_18 21(13) based bit(1) level 2 packed packed unaligned dcl 1-16 ref 273 286 320 341 call_again 001112 automatic bit(1) packed unaligned dcl 108 set ref 276* 286* 289 299* 323* 324 332* 343* 345 356* cobol_$next_tag 000056 external static fixed bin(17,0) dcl 8-128 set ref 142 143 144* 144 cobol_$text_wd_off 000054 external static fixed bin(17,0) dcl 8-90 ref 243 295 329 351 379 cobol_add2_binary_long 000024 constant entry external dcl 45 ref 177 191 202 cobol_add2_binary_short 000026 constant entry external dcl 47 ref 179 195 205 cobol_define_tag 000036 constant entry external dcl 53 ref 381 cobol_emit 000040 constant entry external dcl 54 ref 241 294 328 350 377 cobol_fofl_mask$off 000044 constant entry external dcl 56 ref 368 387 cobol_fofl_mask$on 000042 constant entry external dcl 55 ref 147 cobol_make_bin_const 000052 constant entry external dcl 61 ref 175 258 cobol_make_tagref 000034 constant entry external dcl 52 ref 243 295 329 351 379 cobol_make_type9$type2_3 000046 constant entry external dcl 57 ref 162 cobol_multiply2_binary 000030 constant entry external dcl 49 ref 214 223 cobol_register$release 000050 constant entry external dcl 59 ref 229 395 cobol_store_binary 000032 constant entry external dcl 51 ref 276 286 299 323 332 343 356 cobol_type100 based structure level 1 dcl 6-12 compute_code 001110 automatic fixed bin(17,0) dcl 106 set ref 128* 131* 175* 177 191 202 213* 222* 258* 273 data_name based structure level 1 unaligned dcl 1-16 dec_zero_token 000010 internal static structure level 1 unaligned dcl 66 set ref 162 162 175 175 divide_op constant fixed bin(17,0) initial dcl 87 ref 218 e 5 based fixed bin(17,0) level 2 dcl 3-16 ref 136 172 188 199 209 218 237 237 262 end_stmt based structure level 1 unaligned dcl 3-16 eos_ptr 001130 automatic pointer dcl 3-13 set ref 135* 136 138 155* 156 159 161* 162* 166 172 174* 175* 177* 179* 188 199 209 218 237 237 262 371 f 11(07) based bit(2) level 2 packed packed unaligned dcl 3-16 ref 371 imperative_stmt_tag 000102 automatic fixed bin(17,0) dcl 101 set ref 142* 243* 295* 329* 351* 371 381* in_token based structure level 1 dcl 7-9 in_token_ptr parameter pointer dcl 7-7 ref 27 135 135 153 155 ix 000103 automatic fixed bin(17,0) dcl 102 set ref 153* 155* 271* 273 276* 284* 286 286 299* 319* 320 323 332* 340* 341 343 356* minus_op constant fixed bin(17,0) initial dcl 85 ref 199 237 multiply_op constant fixed bin(17,0) initial dcl 86 ref 209 262 n based fixed bin(17,0) level 2 dcl 7-9 ref 135 153 next_stmt_tag parameter fixed bin(17,0) dcl 39 set ref 27 143* 371* 379* null builtin function dcl 404 ref 161 171 174 241 241 243 243 253 257 276 294 294 295 295 328 328 329 329 350 350 351 351 377 377 379 379 390 operand_stack 000110 automatic pointer array dcl 105 set ref 166* 177* 179* 183* 191* 191* 195* 195* 202* 202* 205* 205* 214* 214* 223* 223* 234* 253 253 258* 259* 273 276 276* 276* 286 286* 286* 299* 299* 320 323* 323* 332* 332* 341 343* 343* 356* 356* 390 390 394 ose_flag 000101 automatic bit(1) packed unaligned dcl 100 set ref 138* 140 237 292 326 347 365 plus_op constant fixed bin(17,0) initial dcl 84 ref 188 237 receive_count 000100 automatic fixed bin(17,0) dcl 99 set ref 136* 271 284 319 340 reg_no 1 001116 automatic bit(4) level 2 packed packed unaligned dcl 111 set ref 227* 394* register 4 based bit(4) level 2 packed packed unaligned dcl 6-12 ref 394 register_struc 001116 automatic structure level 1 unaligned dcl 111 set ref 229 229 395 395 result_token_ptr 000104 automatic pointer dcl 103 set ref 171* 177* 179* 183 191* 195* 202* 205* 214* 223* 234 rtc_eos constant fixed bin(15,0) initial dcl 5-23 ref 156 rtc_numlit constant fixed bin(15,0) initial dcl 5-6 ref 253 rtc_register constant fixed bin(15,0) initial dcl 5-36 ref 390 rtc_resword constant fixed bin(15,0) initial dcl 5-5 ref 159 skipped_some 001111 automatic bit(1) packed unaligned dcl 107 set ref 269* 273* 281 318* 320* 338 source_code parameter fixed bin(17,0) dcl 41 ref 27 128 target_code parameter fixed bin(17,0) dcl 40 ref 27 128 128 temp_ptr 001114 automatic pointer dcl 109 set ref 257* 258* 259 token_ptr 2 based pointer array level 2 dcl 7-9 ref 135 155 top 000106 automatic fixed bin(17,0) dcl 104 set ref 151* 165* 165 166 177 179 183 191 191 195 195 202 202 205 205 214 214 223 223 233* 233 234 253 253 258 259 276 276 286 299 323 332 343 356 390 390 394 tov_inst 000022 internal static bit(36) initial packed unaligned dcl 90 set ref 241 241 294 294 328 328 350 350 tra_inst 000023 internal static bit(36) initial packed unaligned dcl 93 set ref 377 377 type 3 based fixed bin(17,0) level 2 in structure "data_name" dcl 1-16 in procedure "cobol_compute_bin_gen" ref 253 390 type 3 based fixed bin(17,0) level 2 in structure "end_stmt" dcl 3-16 in procedure "cobol_compute_bin_gen" ref 156 159 unary_minus_op constant fixed bin(17,0) initial dcl 88 ref 172 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 404 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 404 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_$compile_count external static fixed bin(17,0) dcl 8-142 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_$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_$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_type100_ptr automatic pointer dcl 6-9 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 diag_ptr defined pointer dcl 8-71 dn_ptr automatic pointer dcl 120 eln_max defined fixed bin(17,0) dcl 8-173 eln_ptr defined pointer dcl 8-69 fixed builtin function dcl 404 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 404 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 length builtin function dcl 404 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 404 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 404 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_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 5-7 rtc_commdesc internal static fixed bin(15,0) initial dcl 5-17 rtc_condname internal static fixed bin(15,0) initial dcl 5-15 rtc_dataname internal static fixed bin(15,0) initial dcl 5-13 rtc_debugenable internal static fixed bin(15,0) initial dcl 5-28 rtc_debugitems internal static fixed bin(15,0) initial dcl 5-18 rtc_diag internal static fixed bin(15,0) initial dcl 5-9 rtc_equate_tag internal static fixed bin(15,0) initial dcl 5-35 rtc_fdec_temp internal static fixed bin(15,0) initial dcl 5-37 rtc_filedef internal static fixed bin(15,0) initial dcl 5-16 rtc_groupname internal static fixed bin(15,0) initial dcl 5-25 rtc_immed_const internal static fixed bin(15,0) initial dcl 5-38 rtc_indexname internal static fixed bin(15,0) initial dcl 5-14 rtc_internal_tag internal static fixed bin(15,0) initial dcl 5-34 rtc_mnemonic internal static fixed bin(15,0) initial dcl 5-21 rtc_pararef internal static fixed bin(15,0) initial dcl 5-22 rtc_picstring internal static fixed bin(15,0) initial dcl 5-8 rtc_procdef internal static fixed bin(15,0) initial dcl 5-11 rtc_reportentry internal static fixed bin(15,0) initial dcl 5-26 rtc_reportname internal static fixed bin(15,0) initial dcl 5-24 rtc_savedarea internal static fixed bin(15,0) initial dcl 5-19 rtc_sortmerge internal static fixed bin(15,0) initial dcl 5-20 rtc_source internal static fixed bin(15,0) initial dcl 5-10 rtc_unknown1 internal static fixed bin(15,0) initial dcl 5-27 rtc_unknown2 internal static fixed bin(15,0) initial dcl 5-29 rtc_unknown3 internal static fixed bin(15,0) initial dcl 5-30 rtc_unknown4 internal static fixed bin(15,0) initial dcl 5-31 rtc_unknown5 internal static fixed bin(15,0) initial dcl 5-32 rtc_unknown6 internal static fixed bin(15,0) initial dcl 5-33 rtc_userwd internal static fixed bin(15,0) initial dcl 5-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 404 substr builtin function dcl 404 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 404 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. cobol_compute_bin_gen 000011 constant entry external dcl 27 exit 001366 constant label dcl 399 start 000016 constant label dcl 128 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1576 1656 1367 1606 Length 2244 1367 60 351 206 14 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_compute_bin_gen 638 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 dec_zero_token cobol_compute_bin_gen 000022 tov_inst cobol_compute_bin_gen 000023 tra_inst cobol_compute_bin_gen STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_compute_bin_gen 000100 receive_count cobol_compute_bin_gen 000101 ose_flag cobol_compute_bin_gen 000102 imperative_stmt_tag cobol_compute_bin_gen 000103 ix cobol_compute_bin_gen 000104 result_token_ptr cobol_compute_bin_gen 000106 top cobol_compute_bin_gen 000110 operand_stack cobol_compute_bin_gen 001110 compute_code cobol_compute_bin_gen 001111 skipped_some cobol_compute_bin_gen 001112 call_again cobol_compute_bin_gen 001114 temp_ptr cobol_compute_bin_gen 001116 register_struc cobol_compute_bin_gen 001130 eos_ptr cobol_compute_bin_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_add2_binary_long cobol_add2_binary_short cobol_define_tag cobol_emit cobol_fofl_mask$off cobol_fofl_mask$on cobol_make_bin_const cobol_make_tagref cobol_make_type9$type2_3 cobol_multiply2_binary cobol_register$release cobol_store_binary THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$next_tag cobol_$text_wd_off LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 27 000004 128 000016 131 000024 135 000026 136 000034 138 000036 140 000042 142 000043 143 000045 144 000047 147 000051 151 000055 153 000056 155 000071 156 000077 159 000102 161 000104 162 000106 165 000121 166 000122 167 000126 171 000127 172 000131 174 000134 175 000136 177 000153 179 000201 183 000223 184 000227 188 000230 191 000232 195 000260 197 000302 199 000303 202 000305 205 000333 207 000355 209 000356 213 000360 214 000362 216 000404 218 000405 222 000407 223 000411 227 000433 229 000435 233 000446 234 000450 237 000454 241 000464 243 000505 246 000525 253 000527 257 000543 258 000545 259 000560 262 000563 269 000567 271 000570 273 000577 276 000614 279 000640 281 000642 284 000644 286 000653 289 000677 292 000702 294 000704 295 000725 299 000745 304 000763 309 000765 318 000766 319 000767 320 000777 323 001010 324 001027 326 001032 328 001034 329 001055 332 001075 336 001112 338 001114 340 001116 341 001125 343 001133 345 001152 347 001155 350 001157 351 001200 356 001220 360 001235 365 001237 368 001241 371 001246 377 001260 379 001301 381 001322 387 001331 390 001336 394 001352 395 001355 399 001366 ----------------------------------------------------------- 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