COMPILATION LISTING OF SEGMENT cobol_make_bin_const 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 0946.9 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_make_bin_const.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 02/11/77 by Bob Chang to fix the bug for numeric literal to comp-7 move. */ 23 /* Modified on 1/14/77 by Bob Chang to search operator when pooling constant. */ 24 /* Modified since Version 2.0. */ 25 /*{*/ 26 27 /* format: style3 */ 28 cobol_make_bin_const: 29 proc (nlit_ptr, return_token_ptr, target_code); 30 31 /* 32*This procedure converts the decimal representation of a numeric 33*literal into a fixed binary representation. The fixed binary 34*value is either pooled in the constant section of a cobol 35*program, or returned in the output token from this procedure. 36*See DISCUSSION below for more details. 37**/ 38 39 /* DECLARATION OF THE PARAMETERS */ 40 41 /*dcl nlit_ptr ptr; */ 42 /* Declared below in an include file. */ 43 dcl return_token_ptr ptr; 44 dcl target_code fixed bin; 45 46 /* DESCRIPTION OF THE PARAMETERS */ 47 48 /* 49*PARAMETER DESCRIPTION 50* 51*nlit_ptr Pointer to the numeric literal token (type2) 52* whose constant is to be converted to a binary 53* constant. (input) 54* 55*return_token_ptr Pointer to a token that describes the 56* converted binary constant. If this pointer 57* is null() on entry to this procedure, 58* then the token spaxe will be provided by 59* this procedure. Otherwise this parameter 60* must point to some work space in which the 61* token will be built. 62*target_code A code that specifies the type of arithemtic 63* that is being done when this constant is 64* being made. (input) This code has the 65* following values: 66* 67* target code | meaning 68* ========================================== 69* 1 | short binary arithmetic 70* | is being performed 71* 2 | long binary arithmetic 72* | is being performed 73* 3 | short bin const pooled 74* 4 | long bin const pooled 75* =========================================== 76**/ 77 78 /* DISCUSSION 79* 80*If the constant can be contained in a short fixed binary variable 81*(half-word), then the token built by and returned by this 82*procedure is an "immediate constant" token. This token is 83*defined by the following declaration: 84* 85* dcl 1 immed_constant, 86* 2 size fixed bin(15), 87* 2 line fixed bin (15), 88* 2 column fixed bin (15), 89* 2 type fixed bin (15), NOTE: type = 102 90* 2 constant_value fixed bin (35); 91* 92*The binary representation of the numeric literal is returned 93*in the field "constant_value" of this token. 94*If the constant cannot be contained in a half-word, then the 95*binary representation is pooled into the constant section, and a long 96*fixed binary data name token (type 9) is returned. 97* 98**/ 99 100 /* DECLARATION OF EXTERNAL ENTRIES */ 101 102 dcl cobol_pool$search_op 103 ext entry (char (*), fixed bin, fixed bin (24), fixed bin); 104 dcl cobol_make_type9$long_bin 105 ext entry (ptr, fixed bin, fixed bin (24)); 106 dcl cobol_make_type9$short_bin 107 ext entry (ptr, fixed bin, fixed bin (24)); 108 109 /* DECLARATION OF INTERNAL STATIC DATA */ 110 111 dcl smallest_short_binary 112 fixed dec (6, 0) int static init (-131072); 113 dcl largest_short_binary 114 fixed dec (6, 0) int static init (131071); 115 dcl smallest_long_binary 116 fixed dec (11, 0) int static init (-32359738358); 117 dcl largest_long_binary fixed dec (11, 0) int static init (32359738357); 118 119 120 /* DECLARATION OF INTERNAL VARIABLES */ 121 122 dcl work_fdec fixed dec (19, 0); 123 dcl work_fdec_string char (20) based (work_fdec_ptr); 124 dcl double_binary fixed bin (71); 125 dcl temp fixed bin, 126 in_op fixed bin; 127 dcl work_fdec_ptr ptr; 128 129 dcl ret_offset fixed bin (24); 130 dcl long_bin_const fixed bin (35); 131 dcl long_bin_ptr ptr; 132 dcl long_bin_string char (4) based (long_bin_ptr); 133 dcl short_bin_const fixed bin (35); 134 dcl short_bin_ptr ptr; 135 dcl short_bin_const_bit bit (18); 136 dcl short_bin_string char (2) based (short_bin_ptr); 137 138 139 /**************************************************/ 140 /* START OF EXECUTION */ 141 /* cobol_make_bin_const */ 142 /**************************************************/ 143 144 start: 145 work_fdec = 0; 146 147 if numeric_lit.places_left > 0 148 then do; /* Numeric literal has an integer part */ 149 150 work_fdec_ptr = addr (work_fdec); 151 if numeric_lit.sign = " " 152 then substr (work_fdec_string, 1, 1) = "+"; 153 else substr (work_fdec_string, 1, 1) = numeric_lit.sign; 154 155 substr (work_fdec_string, 21 - numeric_lit.places_left, numeric_lit.places_left) = 156 substr (numeric_lit.literal, 1, numeric_lit.places_left); 157 end; /* Numeric literal has an integer part. */ 158 159 double_binary = binary (work_fdec); 160 if target_code = 4 161 then do; /* constant must be pooled into a long fixed bnary in the constant section */ 162 if double_binary > largest_short_binary | double_binary < smallest_short_binary 163 then do; 164 substr (work_fdec_string, 2, 13) = (13)"0"; 165 double_binary = binary (work_fdec); 166 if double_binary > largest_short_binary | double_binary < smallest_short_binary 167 then do; 168 substr (work_fdec_string, 15, 1) = "0"; 169 double_binary = binary (work_fdec); 170 end; 171 end; 172 173 long_bin_const = binary (work_fdec); 174 long_bin_ptr = addr (long_bin_const); 175 call cobol_pool$search_op (long_bin_string, 0, ret_offset, in_op); 176 if in_op = 0 177 then temp = 3000; 178 else temp = 3; 179 180 /* Make a data name token for the long binary constant just pooled. */ 181 call cobol_make_type9$long_bin (return_token_ptr, temp, ret_offset); 182 183 end; /* constant must be pooled into a fixed binary in the constant section */ 184 else do; 185 if double_binary > largest_long_binary | double_binary < smallest_long_binary 186 then do; 187 substr (work_fdec_string, 2, 8) = (8)"0"; 188 double_binary = binary (work_fdec); 189 if double_binary > largest_long_binary | double_binary < smallest_long_binary 190 then do; 191 substr (work_fdec_string, 10, 1) = "0"; 192 double_binary = binary (work_fdec); 193 end; 194 end; 195 if target_code = 3 196 then do; 197 198 short_bin_const = binary (work_fdec); 199 short_bin_const_bit = substr (unspec (short_bin_const), 19, 18); 200 short_bin_ptr = addr (short_bin_const_bit); 201 call cobol_pool$search_op (short_bin_string, 0, ret_offset, in_op); 202 if in_op = 0 203 then temp = 3000; 204 else temp = 3; 205 206 /* Make a data name token for the short binary constant just pooled. */ 207 call cobol_make_type9$short_bin (return_token_ptr, temp, ret_offset); 208 209 end; /* constant must be pooled into a fixed binary in the constant section */ 210 else if (smallest_short_binary <= work_fdec & work_fdec <= largest_short_binary) & target_code = 1 211 then do; /* Constant can be contained in a short fixed binary */ 212 /* AND target is short binary, OR the constant is positive or zero. NOTE: negative 213* immediate constants cannot be used in long binary computations. */ 214 215 if return_token_ptr = null () 216 then do; /* Make space for the token */ 217 return_token_ptr = cobol_$temp_token_ptr; 218 cobol_$temp_token_ptr = addrel (cobol_$temp_token_ptr, 5); 219 end; /* Make space for the token */ 220 221 return_token_ptr -> immed_const.const_value = binary (work_fdec); 222 return_token_ptr -> immed_const.type = 102; 223 end; /* Constant can be contained in a short fixed binary */ 224 225 else do; /* constant must be pooled into a long fixed bnary in the constant section */ 226 227 long_bin_const = binary (work_fdec); 228 long_bin_ptr = addr (long_bin_const); 229 call cobol_pool$search_op (long_bin_string, 0, ret_offset, in_op); 230 if in_op = 0 231 then temp = 3000; 232 else temp = 3; 233 234 /* Make a data name token for the long binary constant just pooled. */ 235 call cobol_make_type9$long_bin (return_token_ptr, temp, ret_offset); 236 237 end; /* constant must be pooled into a fixed binary in the constant section */ 238 end; 239 exit: 240 return; 241 242 243 244 245 /***** Declaration for builtin function *****/ 246 247 dcl (substr, mod, binary, fixed, addr, addrel, rel, length, string, unspec, null, index) 248 builtin; 249 250 /***** End of declaration for builtin function *****/ 251 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_type2.incl.pl1 */ 1 3 /* Last modified on 11/19/76 by ORN */ 1 4 1 5 /* 1 6*A type 2 numeric literal token is entered into the minpral file by the 1 7*lexical analysis phase for each numeric literal encountered in the source 1 8*program. 1 9**/ 1 10 1 11 dcl nlit_ptr ptr; 1 12 1 13 /* BEGIN DECLARATION OF TYPE2 (NUMERIC LITERAL) TOKEN */ 1 14 dcl 1 numeric_lit based (nlit_ptr), 2 1 2 2 /* begin include file ... cobol_TYPE2.incl.pl1 */ 2 3 /* Last modified on 12/28/76 by FCH */ 2 4 2 5 /* header */ 2 6 2 size fixed bin, 2 7 2 line fixed bin, 2 8 2 column fixed bin, 2 9 2 type fixed bin, 2 10 /* body */ 2 11 2 integral bit(1), 2 12 2 floating bit(1), 2 13 2 seg_range bit(1), 2 14 2 filler1 bit(4), 2 15 2 subscript bit(1), 2 16 2 sign char(1), 2 17 2 exp_sign char(1), 2 18 2 exp_places fixed bin, 2 19 2 places_left fixed bin, 2 20 2 places_right fixed bin, 2 21 2 places fixed bin, 2 22 2 literal char(0 refer(numeric_lit.places)); 2 23 2 24 2 25 2 26 /* end include file ... cobol_TYPE2.incl.pl1 */ 2 27 1 15 1 16 /* END DECLARATION OF TYPE2 (NUMERIC LITERAL) TOKEN */ 1 17 1 18 /* END INCLUDE FILE ... cobol_type2.incl.pl1 */ 1 19 252 253 3 1 3 2 /* BEGIN INCLUDE FILE... cobol_type102.incl.pl1 */ 3 3 /* Last modified on 1/19/76 by ORN */ 3 4 3 5 /* 3 6*An immediate constant token is created during the 3 7*generation of code that performs arithmetic in the hardware 3 8*registers, for any numeric literal token whose value is within 3 9*the range: (-131072,131071). 3 10**/ 3 11 3 12 dcl immed_const_ptr ptr; 3 13 3 14 /* BEGIN DECLARATION OF TYPE102 (IMMEDIATE CONSTANT) TOKEN */ 3 15 dcl 1 immed_const based(immed_const_ptr), 3 16 /* header */ 3 17 2 size fixed bin (15), 3 18 2 line fixed bin (15), 3 19 2 column fixed bin (15), 3 20 2 type fixed bin (15), 3 21 /* body */ 3 22 2 const_value fixed bin (35); 3 23 /* END DECLARATION OF TYPE102 (IMMEDIATE CONSTANT) TOKEN */ 3 24 3 25 /* 3 26*FIELD CONTENTS 3 27* 3 28*size The total size in bytes of this immediate 3 29* constant token. 3 30*line not used 3 31*column not used 3 32*type 102 3 33*const_value The fixed binary value of the immediate constant. 3 34**/ 3 35 3 36 /* END INCLUDE FILE... cobol_type102.incl.pl1 */ 3 37 254 255 4 1 4 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 4 3 /* last modified Feb 4, 1977 by ORN */ 4 4 4 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 4 6 4 7 /* POINTERS */ 4 8 dcl cobol_$text_base_ptr ptr ext; 4 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 4 10 dcl cobol_$con_end_ptr ptr ext; 4 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 4 12 dcl cobol_$def_base_ptr ptr ext; 4 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 4 14 dcl cobol_$link_base_ptr ptr ext; 4 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 4 16 dcl cobol_$sym_base_ptr ptr ext; 4 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 4 18 dcl cobol_$reloc_text_base_ptr ptr ext; 4 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 4 20 dcl cobol_$reloc_def_base_ptr ptr ext; 4 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 4 22 dcl cobol_$reloc_link_base_ptr ptr ext; 4 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 4 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 4 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 4 26 dcl cobol_$reloc_work_base_ptr ptr ext; 4 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 4 28 dcl cobol_$pd_map_ptr ptr ext; 4 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 4 30 dcl cobol_$fixup_ptr ptr ext; 4 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 4 32 dcl cobol_$initval_base_ptr ptr ext; 4 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 4 34 dcl cobol_$initval_file_ptr ptr ext; 4 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 4 36 dcl cobol_$perform_list_ptr ptr ext; 4 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 4 38 dcl cobol_$alter_list_ptr ptr ext; 4 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 4 40 dcl cobol_$seg_init_list_ptr ptr ext; 4 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 4 42 dcl cobol_$temp_token_area_ptr ptr ext; 4 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 4 44 dcl cobol_$temp_token_ptr ptr ext; 4 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 4 46 dcl cobol_$token_block1_ptr ptr ext; 4 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 4 48 dcl cobol_$token_block2_ptr ptr ext; 4 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 4 50 dcl cobol_$minpral5_ptr ptr ext; 4 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 4 52 dcl cobol_$tag_table_ptr ptr ext; 4 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 4 54 dcl cobol_$map_data_ptr ptr ext; 4 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 4 56 dcl cobol_$ptr_status_ptr ptr ext; 4 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 4 58 dcl cobol_$reg_status_ptr ptr ext; 4 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 4 60 dcl cobol_$misc_base_ptr ptr ext; 4 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 4 62 dcl cobol_$misc_end_ptr ptr ext; 4 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 4 64 dcl cobol_$list_ptr ptr ext; 4 65 dcl list_ptr ptr defined (cobol_$list_ptr); 4 66 dcl cobol_$allo1_ptr ptr ext; 4 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 4 68 dcl cobol_$eln_ptr ptr ext; 4 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 4 70 dcl cobol_$diag_ptr ptr ext; 4 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 4 72 dcl cobol_$xref_token_ptr ptr ext; 4 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 4 74 dcl cobol_$xref_chain_ptr ptr ext; 4 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 4 76 dcl cobol_$statement_info_ptr ptr ext; 4 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 4 78 dcl cobol_$reswd_ptr ptr ext; 4 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 4 80 dcl cobol_$op_con_ptr ptr ext; 4 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 4 82 dcl cobol_$ntbuf_ptr ptr ext; 4 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 4 84 dcl cobol_$main_pcs_ptr ptr ext; 4 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 4 86 dcl cobol_$include_info_ptr ptr ext; 4 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 4 88 4 89 /* FIXED BIN */ 4 90 dcl cobol_$text_wd_off fixed bin ext; 4 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 4 92 dcl cobol_$con_wd_off fixed bin ext; 4 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 4 94 dcl cobol_$def_wd_off fixed bin ext; 4 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 4 96 dcl cobol_$def_max fixed bin ext; 4 97 dcl def_max fixed bin defined (cobol_$def_max); 4 98 dcl cobol_$link_wd_off fixed bin ext; 4 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 4 100 dcl cobol_$link_max fixed bin ext; 4 101 dcl link_max fixed bin defined (cobol_$link_max); 4 102 dcl cobol_$sym_wd_off fixed bin ext; 4 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 4 104 dcl cobol_$sym_max fixed bin ext; 4 105 dcl sym_max fixed bin defined (cobol_$sym_max); 4 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 4 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 4 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 4 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 4 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 4 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 4 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 4 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 4 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 4 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 4 116 dcl cobol_$pd_map_index fixed bin ext; 4 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 4 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 4 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 4 120 dcl cobol_$stack_off fixed bin ext; 4 121 dcl stack_off fixed bin defined (cobol_$stack_off); 4 122 dcl cobol_$max_stack_off fixed bin ext; 4 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 4 124 dcl cobol_$init_stack_off fixed bin ext; 4 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 4 126 dcl cobol_$pd_map_sw fixed bin ext; 4 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 4 128 dcl cobol_$next_tag fixed bin ext; 4 129 dcl next_tag fixed bin defined (cobol_$next_tag); 4 130 dcl cobol_$data_init_flag fixed bin ext; 4 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 4 132 dcl cobol_$seg_init_flag fixed bin ext; 4 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 4 134 dcl cobol_$alter_flag fixed bin ext; 4 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 4 136 dcl cobol_$sect_eop_flag fixed bin ext; 4 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 4 138 dcl cobol_$para_eop_flag fixed bin ext; 4 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 4 140 dcl cobol_$priority_no fixed bin ext; 4 141 dcl priority_no fixed bin defined (cobol_$priority_no); 4 142 dcl cobol_$compile_count fixed bin ext; 4 143 dcl compile_count fixed bin defined (cobol_$compile_count); 4 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 4 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 4 146 dcl cobol_$reg_assumption_ind fixed bin ext; 4 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 4 148 dcl cobol_$perform_para_index fixed bin ext; 4 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 4 150 dcl cobol_$perform_sect_index fixed bin ext; 4 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 4 152 dcl cobol_$alter_index fixed bin ext; 4 153 dcl alter_index fixed bin defined (cobol_$alter_index); 4 154 dcl cobol_$list_off fixed bin ext; 4 155 dcl list_off fixed bin defined (cobol_$list_off); 4 156 dcl cobol_$constant_offset fixed bin ext; 4 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 4 158 dcl cobol_$misc_max fixed bin ext; 4 159 dcl misc_max fixed bin defined (cobol_$misc_max); 4 160 dcl cobol_$pd_map_max fixed bin ext; 4 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 4 162 dcl cobol_$map_data_max fixed bin ext; 4 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 4 164 dcl cobol_$fixup_max fixed bin ext; 4 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 4 166 dcl cobol_$tag_table_max fixed bin ext; 4 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 4 168 dcl cobol_$temp_token_max fixed bin ext; 4 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 4 170 dcl cobol_$allo1_max fixed bin ext; 4 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 4 172 dcl cobol_$eln_max fixed bin ext; 4 173 dcl eln_max fixed bin defined (cobol_$eln_max); 4 174 dcl cobol_$debug_enable fixed bin ext; 4 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 4 176 dcl cobol_$non_source_offset fixed bin ext; 4 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 4 178 dcl cobol_$initval_flag fixed bin ext; 4 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 4 180 dcl cobol_$date_compiled_sw fixed bin ext; 4 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 4 182 dcl cobol_$include_cnt fixed bin ext; 4 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 4 184 dcl cobol_$fs_charcnt fixed bin ext; 4 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 4 186 dcl cobol_$ws_charcnt fixed bin ext; 4 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 4 188 dcl cobol_$coms_charcnt fixed bin ext; 4 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 4 190 dcl cobol_$ls_charcnt fixed bin ext; 4 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 4 192 dcl cobol_$cons_charcnt fixed bin ext; 4 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 4 194 dcl cobol_$value_cnt fixed bin ext; 4 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 4 196 dcl cobol_$cd_cnt fixed bin ext; 4 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 4 198 dcl cobol_$fs_wdoff fixed bin ext; 4 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 4 200 dcl cobol_$ws_wdoff fixed bin ext; 4 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 4 202 dcl cobol_$coms_wdoff fixed bin ext; 4 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 4 204 4 205 /* CHARACTER */ 4 206 dcl cobol_$scratch_dir char (168) aligned ext; 4 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 4 208 dcl cobol_$obj_seg_name char (32) aligned ext; 4 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 4 210 4 211 /* BIT */ 4 212 dcl cobol_$xref_bypass bit(1) aligned ext; 4 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 4 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 4 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 4 216 4 217 4 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 4 219 4 220 256 257 258 259 /**************************************************/ 260 /* END OF EXTERNAL PROCEDURE */ 261 /* cobol_make_bin_const */ 262 /**************************************************/ 263 264 end cobol_make_bin_const; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0830.5 cobol_make_bin_const.pl1 >spec>install>MR12.3-1048>cobol_make_bin_const.pl1 252 1 03/27/82 0439.8 cobol_type2.incl.pl1 >ldd>include>cobol_type2.incl.pl1 1-15 2 11/11/82 1712.8 cobol_TYPE2.incl.pl1 >ldd>include>cobol_TYPE2.incl.pl1 254 3 03/27/82 0439.8 cobol_type102.incl.pl1 >ldd>include>cobol_type102.incl.pl1 256 4 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 247 ref 150 174 200 228 addrel builtin function dcl 247 ref 218 binary builtin function dcl 247 ref 159 165 169 173 188 192 198 221 227 cobol_$temp_token_ptr 000016 external static pointer dcl 4-44 set ref 217 218* 218 cobol_make_type9$long_bin 000012 constant entry external dcl 104 ref 181 235 cobol_make_type9$short_bin 000014 constant entry external dcl 106 ref 207 cobol_pool$search_op 000010 constant entry external dcl 102 ref 175 201 229 const_value 4 based fixed bin(35,0) level 2 dcl 3-15 set ref 221* double_binary 000106 automatic fixed bin(71,0) dcl 124 set ref 159* 162 162 165* 166 166 169* 185 185 188* 189 189 192* immed_const based structure level 1 unaligned dcl 3-15 in_op 000111 automatic fixed bin(17,0) dcl 125 set ref 175* 176 201* 202 229* 230 largest_long_binary 000000 constant fixed dec(11,0) initial dcl 117 ref 185 189 largest_short_binary 000006 constant fixed dec(6,0) initial dcl 113 ref 162 166 210 literal 11 based char level 2 packed packed unaligned dcl 1-14 ref 155 long_bin_const 000115 automatic fixed bin(35,0) dcl 130 set ref 173* 174 227* 228 long_bin_ptr 000116 automatic pointer dcl 131 set ref 174* 175 228* 229 long_bin_string based char(4) packed unaligned dcl 132 set ref 175* 229* nlit_ptr parameter pointer dcl 1-11 ref 28 147 151 153 155 155 155 155 null builtin function dcl 247 ref 215 numeric_lit based structure level 1 unaligned dcl 1-14 places 10 based fixed bin(17,0) level 2 dcl 1-14 ref 155 places_left 6 based fixed bin(17,0) level 2 dcl 1-14 ref 147 155 155 155 ret_offset 000114 automatic fixed bin(24,0) dcl 129 set ref 175* 181* 201* 207* 229* 235* return_token_ptr parameter pointer dcl 43 set ref 28 181* 207* 215 217* 221 222 235* short_bin_const 000120 automatic fixed bin(35,0) dcl 133 set ref 198* 199 short_bin_const_bit 000124 automatic bit(18) packed unaligned dcl 135 set ref 199* 200 short_bin_ptr 000122 automatic pointer dcl 134 set ref 200* 201 short_bin_string based char(2) packed unaligned dcl 136 set ref 201* sign 4(09) based char(1) level 2 packed packed unaligned dcl 1-14 ref 151 153 smallest_long_binary 000003 constant fixed dec(11,0) initial dcl 115 ref 185 189 smallest_short_binary 000010 constant fixed dec(6,0) initial dcl 111 ref 162 166 210 substr builtin function dcl 247 set ref 151* 153* 155* 155 164* 168* 187* 191* 199 target_code parameter fixed bin(17,0) dcl 44 ref 28 160 195 210 temp 000110 automatic fixed bin(17,0) dcl 125 set ref 176* 178* 181* 202* 204* 207* 230* 232* 235* type 3 based fixed bin(15,0) level 2 dcl 3-15 set ref 222* unspec builtin function dcl 247 ref 199 work_fdec 000100 automatic fixed dec(19,0) dcl 122 set ref 144* 150 159 165 169 173 188 192 198 210 210 221 227 work_fdec_ptr 000112 automatic pointer dcl 127 set ref 150* 151 153 155 164 168 187 191 work_fdec_string based char(20) packed unaligned dcl 123 set ref 151* 153* 155* 164* 168* 187* 191* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. allo1_max defined fixed bin(17,0) dcl 4-171 allo1_ptr defined pointer dcl 4-67 alter_flag defined fixed bin(17,0) dcl 4-135 alter_index defined fixed bin(17,0) dcl 4-153 alter_list_ptr defined pointer dcl 4-39 cd_cnt defined fixed bin(17,0) dcl 4-197 cobol_$allo1_max external static fixed bin(17,0) dcl 4-170 cobol_$allo1_ptr external static pointer dcl 4-66 cobol_$alter_flag external static fixed bin(17,0) dcl 4-134 cobol_$alter_index external static fixed bin(17,0) dcl 4-152 cobol_$alter_list_ptr external static pointer dcl 4-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 4-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 4-118 cobol_$compile_count external static fixed bin(17,0) dcl 4-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 4-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 4-202 cobol_$con_end_ptr external static pointer dcl 4-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 4-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 4-192 cobol_$constant_offset external static fixed bin(17,0) dcl 4-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 4-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 4-180 cobol_$debug_enable external static fixed bin(17,0) dcl 4-174 cobol_$def_base_ptr external static pointer dcl 4-12 cobol_$def_max external static fixed bin(17,0) dcl 4-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 4-94 cobol_$diag_ptr external static pointer dcl 4-70 cobol_$eln_max external static fixed bin(17,0) dcl 4-172 cobol_$eln_ptr external static pointer dcl 4-68 cobol_$fixup_max external static fixed bin(17,0) dcl 4-164 cobol_$fixup_ptr external static pointer dcl 4-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 4-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 4-198 cobol_$include_cnt external static fixed bin(17,0) dcl 4-182 cobol_$include_info_ptr external static pointer dcl 4-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 4-124 cobol_$initval_base_ptr external static pointer dcl 4-32 cobol_$initval_file_ptr external static pointer dcl 4-34 cobol_$initval_flag external static fixed bin(17,0) dcl 4-178 cobol_$link_base_ptr external static pointer dcl 4-14 cobol_$link_max external static fixed bin(17,0) dcl 4-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 4-98 cobol_$list_off external static fixed bin(17,0) dcl 4-154 cobol_$list_ptr external static pointer dcl 4-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 4-190 cobol_$main_pcs_ptr external static pointer dcl 4-84 cobol_$map_data_max external static fixed bin(17,0) dcl 4-162 cobol_$map_data_ptr external static pointer dcl 4-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 4-122 cobol_$minpral5_ptr external static pointer dcl 4-50 cobol_$misc_base_ptr external static pointer dcl 4-60 cobol_$misc_end_ptr external static pointer dcl 4-62 cobol_$misc_max external static fixed bin(17,0) dcl 4-158 cobol_$next_tag external static fixed bin(17,0) dcl 4-128 cobol_$non_source_offset external static fixed bin(17,0) dcl 4-176 cobol_$ntbuf_ptr external static pointer dcl 4-82 cobol_$obj_seg_name external static char(32) dcl 4-208 cobol_$op_con_ptr external static pointer dcl 4-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 4-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 4-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 4-160 cobol_$pd_map_ptr external static pointer dcl 4-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 4-126 cobol_$perform_list_ptr external static pointer dcl 4-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 4-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 4-150 cobol_$priority_no external static fixed bin(17,0) dcl 4-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 4-144 cobol_$ptr_status_ptr external static pointer dcl 4-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 4-146 cobol_$reg_status_ptr external static pointer dcl 4-58 cobol_$reloc_def_base_ptr external static pointer dcl 4-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 4-108 cobol_$reloc_link_base_ptr external static pointer dcl 4-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 4-110 cobol_$reloc_sym_base_ptr external static pointer dcl 4-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 4-112 cobol_$reloc_text_base_ptr external static pointer dcl 4-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 4-106 cobol_$reloc_work_base_ptr external static pointer dcl 4-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 4-114 cobol_$reswd_ptr external static pointer dcl 4-78 cobol_$same_sort_merge_proc external static bit(1) dcl 4-214 cobol_$scratch_dir external static char(168) dcl 4-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 4-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 4-132 cobol_$seg_init_list_ptr external static pointer dcl 4-40 cobol_$stack_off external static fixed bin(17,0) dcl 4-120 cobol_$statement_info_ptr external static pointer dcl 4-76 cobol_$sym_base_ptr external static pointer dcl 4-16 cobol_$sym_max external static fixed bin(17,0) dcl 4-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 4-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 4-166 cobol_$tag_table_ptr external static pointer dcl 4-52 cobol_$temp_token_area_ptr external static pointer dcl 4-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 4-168 cobol_$text_base_ptr external static pointer dcl 4-8 cobol_$text_wd_off external static fixed bin(17,0) dcl 4-90 cobol_$token_block1_ptr external static pointer dcl 4-46 cobol_$token_block2_ptr external static pointer dcl 4-48 cobol_$value_cnt external static fixed bin(17,0) dcl 4-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 4-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 4-200 cobol_$xref_bypass external static bit(1) dcl 4-212 cobol_$xref_chain_ptr external static pointer dcl 4-74 cobol_$xref_token_ptr external static pointer dcl 4-72 cobol_data_wd_off defined fixed bin(17,0) dcl 4-119 compile_count defined fixed bin(17,0) dcl 4-143 coms_charcnt defined fixed bin(17,0) dcl 4-189 coms_wdoff defined fixed bin(17,0) dcl 4-203 con_end_ptr defined pointer dcl 4-11 con_wd_off defined fixed bin(17,0) dcl 4-93 cons_charcnt defined fixed bin(17,0) dcl 4-193 constant_offset defined fixed bin(17,0) dcl 4-157 data_init_flag defined fixed bin(17,0) dcl 4-131 date_compiled_sw defined fixed bin(17,0) dcl 4-181 debug_enable defined fixed bin(17,0) dcl 4-175 def_base_ptr defined pointer dcl 4-13 def_max defined fixed bin(17,0) dcl 4-97 def_wd_off defined fixed bin(17,0) dcl 4-95 diag_ptr defined pointer dcl 4-71 eln_max defined fixed bin(17,0) dcl 4-173 eln_ptr defined pointer dcl 4-69 fixed builtin function dcl 247 fixup_max defined fixed bin(17,0) dcl 4-165 fixup_ptr defined pointer dcl 4-31 fs_charcnt defined fixed bin(17,0) dcl 4-185 fs_wdoff defined fixed bin(17,0) dcl 4-199 immed_const_ptr automatic pointer dcl 3-12 include_cnt defined fixed bin(17,0) dcl 4-183 include_info_ptr defined pointer dcl 4-87 index builtin function dcl 247 init_stack_off defined fixed bin(17,0) dcl 4-125 initval_base_ptr defined pointer dcl 4-33 initval_file_ptr defined pointer dcl 4-35 initval_flag defined fixed bin(17,0) dcl 4-179 length builtin function dcl 247 link_base_ptr defined pointer dcl 4-15 link_max defined fixed bin(17,0) dcl 4-101 link_wd_off defined fixed bin(17,0) dcl 4-99 list_off defined fixed bin(17,0) dcl 4-155 list_ptr defined pointer dcl 4-65 ls_charcnt defined fixed bin(17,0) dcl 4-191 main_pcs_ptr defined pointer dcl 4-85 map_data_max defined fixed bin(17,0) dcl 4-163 map_data_ptr defined pointer dcl 4-55 max_stack_off defined fixed bin(17,0) dcl 4-123 minpral5_ptr defined pointer dcl 4-51 misc_base_ptr defined pointer dcl 4-61 misc_end_ptr defined pointer dcl 4-63 misc_max defined fixed bin(17,0) dcl 4-159 mod builtin function dcl 247 next_tag defined fixed bin(17,0) dcl 4-129 non_source_offset defined fixed bin(17,0) dcl 4-177 ntbuf_ptr defined pointer dcl 4-83 obj_seg_name defined char(32) dcl 4-209 op_con_ptr defined pointer dcl 4-81 para_eop_flag defined fixed bin(17,0) dcl 4-139 pd_map_index defined fixed bin(17,0) dcl 4-117 pd_map_max defined fixed bin(17,0) dcl 4-161 pd_map_ptr defined pointer dcl 4-29 pd_map_sw defined fixed bin(17,0) dcl 4-127 perform_list_ptr defined pointer dcl 4-37 perform_para_index defined fixed bin(17,0) dcl 4-149 perform_sect_index defined fixed bin(17,0) dcl 4-151 priority_no defined fixed bin(17,0) dcl 4-141 ptr_assumption_ind defined fixed bin(17,0) dcl 4-145 ptr_status_ptr defined pointer dcl 4-57 reg_assumption_ind defined fixed bin(17,0) dcl 4-147 reg_status_ptr defined pointer dcl 4-59 rel builtin function dcl 247 reloc_def_base_ptr defined pointer dcl 4-21 reloc_def_max defined fixed bin(24,0) dcl 4-109 reloc_link_base_ptr defined pointer dcl 4-23 reloc_link_max defined fixed bin(24,0) dcl 4-111 reloc_sym_base_ptr defined pointer dcl 4-25 reloc_sym_max defined fixed bin(24,0) dcl 4-113 reloc_text_base_ptr defined pointer dcl 4-19 reloc_text_max defined fixed bin(24,0) dcl 4-107 reloc_work_base_ptr defined pointer dcl 4-27 reloc_work_max defined fixed bin(24,0) dcl 4-115 reswd_ptr defined pointer dcl 4-79 same_sort_merge_proc defined bit(1) dcl 4-215 scratch_dir defined char(168) dcl 4-207 sect_eop_flag defined fixed bin(17,0) dcl 4-137 seg_init_flag defined fixed bin(17,0) dcl 4-133 seg_init_list_ptr defined pointer dcl 4-41 stack_off defined fixed bin(17,0) dcl 4-121 statement_info_ptr defined pointer dcl 4-77 string builtin function dcl 247 sym_base_ptr defined pointer dcl 4-17 sym_max defined fixed bin(17,0) dcl 4-105 sym_wd_off defined fixed bin(17,0) dcl 4-103 tag_table_max defined fixed bin(17,0) dcl 4-167 tag_table_ptr defined pointer dcl 4-53 temp_token_area_ptr defined pointer dcl 4-43 temp_token_max defined fixed bin(17,0) dcl 4-169 temp_token_ptr defined pointer dcl 4-45 text_base_ptr defined pointer dcl 4-9 text_wd_off defined fixed bin(17,0) dcl 4-91 token_block1_ptr defined pointer dcl 4-47 token_block2_ptr defined pointer dcl 4-49 value_cnt defined fixed bin(17,0) dcl 4-195 ws_charcnt defined fixed bin(17,0) dcl 4-187 ws_wdoff defined fixed bin(17,0) dcl 4-201 xref_bypass defined bit(1) dcl 4-213 xref_chain_ptr defined pointer dcl 4-75 xref_token_ptr defined pointer dcl 4-73 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_make_bin_const 000026 constant entry external dcl 28 exit 000427 constant label dcl 239 start 000033 constant label dcl 144 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 524 544 431 534 Length 1004 431 20 224 72 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_make_bin_const 112 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_make_bin_const 000100 work_fdec cobol_make_bin_const 000106 double_binary cobol_make_bin_const 000110 temp cobol_make_bin_const 000111 in_op cobol_make_bin_const 000112 work_fdec_ptr cobol_make_bin_const 000114 ret_offset cobol_make_bin_const 000115 long_bin_const cobol_make_bin_const 000116 long_bin_ptr cobol_make_bin_const 000120 short_bin_const cobol_make_bin_const 000122 short_bin_ptr cobol_make_bin_const 000124 short_bin_const_bit cobol_make_bin_const THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_l_a r_g_a call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_make_type9$long_bin cobol_make_type9$short_bin cobol_pool$search_op THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$temp_token_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 28 000022 144 000033 147 000036 150 000043 151 000045 153 000057 155 000062 159 000070 160 000075 162 000100 164 000122 166 000126 168 000127 173 000132 174 000134 175 000136 176 000162 178 000167 181 000171 183 000205 185 000206 187 000226 189 000232 191 000233 195 000236 198 000241 199 000243 200 000246 201 000250 202 000274 204 000301 207 000303 209 000317 210 000320 215 000332 217 000336 218 000341 221 000345 222 000351 223 000353 227 000354 228 000356 229 000360 230 000404 232 000411 235 000413 239 000427 ----------------------------------------------------------- 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