COMPILATION LISTING OF SEGMENT cobol_r_initialize 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 0958.6 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_r_initialize.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 04/08/76 by Bob Chnag to take out the preset of pr5. It is set in operator. */ 23 /* Modified on 3/19/76 by Bob Chang to interface with the cobol_operators_. */ 24 /*{*/ 25 26 /* revised 09-07-74 by wko*/ 27 28 /* format: style3 */ 29 cobol_r_initialize: 30 proc; /* 31* 1. Initialize structures containing information about the object 32* time A register,Q register, index registers and pointer 33* registers. 34* 2. Emit instructions to load the preset pointer registers to 35* cobol data. ie pr3 and pr5 (if more than 32k of cobol data). 36* 3. Emit instruction to store pr3 and pr5 (if needed) in the 37* object time stack. 38* 39* 40* 41* POINTER REGISTER ASSIGNMENTS: 42* 43* 44* the current assignment of object time pointer 45*registers follows. The intent is to be able to change 46*these assignments by making changes to only this utility and 47*other pointer register management utilities, and making 48*no changes to the main body of the generator 49* 50* 51* PR0: 52* function - permanently set to cobol operators 53* obtained - pr6 |24 54* representation - segment 4000, offset 0. 55* 56* 57* PR1: 58* function - temporary register 59* 60* 61* PR2: 62* function - temporary register 63* 64* 65* PR3: 66* function - permanently set to location 16k (words) 67* of cobol data. 68* obtained - initially pr4 | 8 contains the base address 69* of cobol data. Subsequent to its initial 70* setting it is obtained from pr6 | 64 71* representation - segment 2, offset 40000 (octal) 72* 73* 74* PR4: 75* function - permanently set to the multics linkage section. 76* obtained - pr6 | 36 77* representation - segment 3002, offset 0 78* 79* 80* PR5: 81* function - 82* (a) If there is more than 32k (words) of cobol data 83* permanently set to location 48k (words) of cobol data 84* (b) otherwise a temporary register 85* obtained - initially pr4 |8 contains the base address of 86* cobol data. Subsequent to its initial setting it 87* is obtained from pr6 | 66 88* representation - segment 2, offset 140000 (octal) 89* 90* 91* PR6: 92* function - this is always set to the stack frame of the 93* object program. All components of the generator can 94* assume this. There is no need to use the pointer 95* register management utilities, but it will not 96* hurt if the are used. 97* representation - segment 1000, offset 0 98* 99* 100* PR7: 101* function - temporary register. 102**/ 103 /*}*/ 104 dcl i fixed bin; 105 dcl cobol_emit entry (ptr, ptr, fixed bin) ext; 106 dcl reloc (6) bit (5) aligned init ("11001"b, "00000"b, "00000"b, "00000"b, "00000"b, "00000"b); 107 /* epp5 pr4|8,* */ 108 dcl ld5 bit (36) aligned init ("100000000000001000011111001101010000"b); 109 /* adwp5 49152,du */ 110 dcl add5 bit (36) aligned init ("001100000000000000001101001000000011"b); 111 /* spri5 pr6|66 */ 112 dcl st5 bit (36) aligned init ("110000000001000010110101001101000000"b); 113 114 115 dcl save_stack_max_value 116 fixed bin int static init (10); 117 118 cobol_$ptr_status_ptr = addr (ptr_status (0)); 119 cobol_$reg_status_ptr = addr (reg_status (0)); 120 121 /* clear pointer register structure */ 122 123 do i = 0 to 7; 124 usage (i) = 0; 125 contents_sw (i) = 0; 126 seg_num (i) = 0; 127 wd_offset (i) = 0; 128 p_lock (i) = 0; 129 p_priority (i) = 0; 130 p_reset (i) = 0; 131 reset_seg_num (i) = 0; 132 reset_wd_offset (i) = 0; 133 ptr_status.save_stack_max (i) = save_stack_max_value; 134 ptr_status.save_stack_count (i) = 0; 135 end; 136 137 /* set up pr0 for cobol operators */ 138 /* the prologue generation process loads pr0 */ 139 140 i = 0; 141 pointer_num (i) = "000"b; 142 usage (i) = 1; 143 contents_sw (i) = 1; 144 seg_num (i) = 4000; 145 p_reset (i) = 1; 146 reset_seg_num (i) = seg_num (i); 147 148 /* set up pr1 as temporary register */ 149 150 i = i + 1; 151 pointer_num (i) = "001"b; /* set up pr2 as temporary register */ 152 153 i = i + 1; 154 pointer_num (i) = "010"b; 155 156 /* set up pr3 to location 16k (words) of cobol data */ 157 158 i = i + 1; 159 pointer_num (i) = "011"b; 160 usage (i) = 1; 161 contents_sw (i) = 1; 162 seg_num (i) = 2; 163 wd_offset (i) = 16384; 164 p_reset (i) = 1; 165 reset_seg_num (i) = seg_num (i); 166 reset_wd_offset (i) = wd_offset (i); /* emit instructions to load pr3 and save it */ 167 168 /* set up pr4 as multics linkage */ 169 /* the prologue generation process loads pr4 */ 170 171 i = i + 1; 172 pointer_num (i) = "100"b; 173 usage (i) = 1; 174 contents_sw (i) = 1; 175 seg_num (i) = 3002; 176 p_reset (i) = 1; 177 reset_seg_num (i) = seg_num (i); 178 179 /* set up pr5 to location 48k (words) of cobol data (if there is over 32k (words) of cobol data), or as a temporary register otherwise */ 180 /* Commented out on cobol operator interface. */ 181 /*-04/08/76-*/ 182 i = i + 1; 183 pointer_num (i) = "101"b; 184 if cobol_$cobol_data_wd_off > 32767 185 then do; 186 usage (i) = 1; 187 contents_sw (i) = 1; 188 seg_num (i) = 2; 189 wd_offset (i) = 49152; 190 p_reset (i) = 1; 191 reset_seg_num (i) = seg_num (i); 192 reset_wd_offset (i) = wd_offset (i); 193 194 /* 195* call cobol_emit(addr(ld5),addr(reloc),3); 196**/ 197 end; 198 199 /* set up pr6 as stack frame */ 200 /* the prologue generation process sets pr6 */ 201 202 i = i + 1; 203 pointer_num (i) = "110"b; 204 usage (i) = 1; 205 contents_sw (i) = 1; 206 seg_num (i) = 1000; 207 208 /* set up pr7 as temporary register */ 209 210 i = i + 1; 211 pointer_num (i) = "111"b; 212 213 214 /* set up A,Q,index structure */ 215 216 217 /* Initialize register status structures for A,Q, and index registers 0 thru 7 */ 218 219 do i = 0 to 9; 220 reg_status.r_lock (i) = 0; 221 reg_status.r_priority (i) = 0; 222 reg_status.save_stack_max (i) = save_stack_max_value; 223 reg_status.save_stack_count (i) = 0; 224 if i < 8 225 then reg_status.register_num = "1"b || bit (fixed (i, 3), 3); 226 else if i < 9 227 then reg_status.register_num = "0001"b; /* A register */ 228 else reg_status.register_num = "0010"b; /* MUST BE Q */ 229 end; 230 231 232 233 return; 234 dcl 1 ptr_status (0:7) static aligned, 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_ptr_status.incl.pl1 */ 1 3 /* Last modified June 3, 76 by bc */ 1 4 /* last modified Oct. 31,75 by tlf */ 1 5 1 6 /* 1 7*1. This structure contains the status of the object time 1 8* pointer registers. 1 9*2. The caller should provide a dcl statement in the form: 1 10* dcl 1 ptr_status (0:7) based ( cobol_$ptr_status_ptr) aligned, 1 11**/ 1 12 1 13 2 pointer_num bit (3), 1 14 2 usage fixed bin, 1 15 2 contents_sw fixed bin, 1 16 2 seg_num fixed bin, 1 17 2 wd_offset fixed bin (24), 1 18 2 p_lock fixed bin, 1 19 2 p_priority fixed bin, 1 20 2 p_reset fixed bin, 1 21 2 reset_seg_num fixed bin, 1 22 2 reset_wd_offset fixed bin (24), 1 23 02 save_stack_max fixed bin, 1 24 02 save_stack_count fixed bin, 1 25 02 save_stack (1:10) bit (36), 1 26 02 reloc_stack (1:10), 1 27 03 left_reloc_info bit (5) aligned, 1 28 03 right_reloc_info bit (5) aligned; 1 29 1 30 1 31 1 32 /* END INCLUDE FILE ... cobol_ptr_status.incl.pl1 */ 1 33 235 236 237 /***** Declaration for builtin function *****/ 238 239 dcl (substr, mod, binary, fixed, addr, addrel, rel, length, string, unspec, null, index) 240 builtin; 241 242 /***** End of declaration for builtin function *****/ 243 244 dcl 1 reg_status (0:9) static aligned, 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_reg_status.incl.pl1 */ 2 3 /* last modified Oct. 31,75 by tlf */ 2 4 2 5 /* 2 6*1. This structure maintains the status of the object 2 7* time A,Q and index registers. 2 8*2. The caller should provide a dcl statement in the form. 2 9* dcl 1 reg_status (0:9) based ( cobol_$reg_status_ptr) aligned, 2 10**/ 2 11 2 12 2 register_num bit (4), 2 13 2 r_lock fixed bin, 2 14 2 r_priority fixed bin, 2 15 02 save_stack_max fixed bin, 2 16 02 save_stack_count fixed bin, 2 17 02 save_stack (1:10) bit (36), 2 18 02 reloc_stack (1:10), 2 19 03 left_reloc_info bit (5) aligned, 2 20 03 right_reloc_info bit (5) aligned; 2 21 2 22 2 23 2 24 /* END INCLUDE FILE ... cobol_reg_status.incl.pl1 */ 2 25 245 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 3 3 /* last modified Feb 4, 1977 by ORN */ 3 4 3 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 3 6 3 7 /* POINTERS */ 3 8 dcl cobol_$text_base_ptr ptr ext; 3 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 3 10 dcl cobol_$con_end_ptr ptr ext; 3 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 3 12 dcl cobol_$def_base_ptr ptr ext; 3 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 3 14 dcl cobol_$link_base_ptr ptr ext; 3 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 3 16 dcl cobol_$sym_base_ptr ptr ext; 3 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 3 18 dcl cobol_$reloc_text_base_ptr ptr ext; 3 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 3 20 dcl cobol_$reloc_def_base_ptr ptr ext; 3 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 3 22 dcl cobol_$reloc_link_base_ptr ptr ext; 3 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 3 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 3 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 3 26 dcl cobol_$reloc_work_base_ptr ptr ext; 3 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 3 28 dcl cobol_$pd_map_ptr ptr ext; 3 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 3 30 dcl cobol_$fixup_ptr ptr ext; 3 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 3 32 dcl cobol_$initval_base_ptr ptr ext; 3 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 3 34 dcl cobol_$initval_file_ptr ptr ext; 3 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 3 36 dcl cobol_$perform_list_ptr ptr ext; 3 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 3 38 dcl cobol_$alter_list_ptr ptr ext; 3 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 3 40 dcl cobol_$seg_init_list_ptr ptr ext; 3 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 3 42 dcl cobol_$temp_token_area_ptr ptr ext; 3 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 3 44 dcl cobol_$temp_token_ptr ptr ext; 3 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 3 46 dcl cobol_$token_block1_ptr ptr ext; 3 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 3 48 dcl cobol_$token_block2_ptr ptr ext; 3 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 3 50 dcl cobol_$minpral5_ptr ptr ext; 3 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 3 52 dcl cobol_$tag_table_ptr ptr ext; 3 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 3 54 dcl cobol_$map_data_ptr ptr ext; 3 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 3 56 dcl cobol_$ptr_status_ptr ptr ext; 3 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 3 58 dcl cobol_$reg_status_ptr ptr ext; 3 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 3 60 dcl cobol_$misc_base_ptr ptr ext; 3 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 3 62 dcl cobol_$misc_end_ptr ptr ext; 3 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 3 64 dcl cobol_$list_ptr ptr ext; 3 65 dcl list_ptr ptr defined (cobol_$list_ptr); 3 66 dcl cobol_$allo1_ptr ptr ext; 3 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 3 68 dcl cobol_$eln_ptr ptr ext; 3 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 3 70 dcl cobol_$diag_ptr ptr ext; 3 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 3 72 dcl cobol_$xref_token_ptr ptr ext; 3 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 3 74 dcl cobol_$xref_chain_ptr ptr ext; 3 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 3 76 dcl cobol_$statement_info_ptr ptr ext; 3 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 3 78 dcl cobol_$reswd_ptr ptr ext; 3 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 3 80 dcl cobol_$op_con_ptr ptr ext; 3 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 3 82 dcl cobol_$ntbuf_ptr ptr ext; 3 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 3 84 dcl cobol_$main_pcs_ptr ptr ext; 3 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 3 86 dcl cobol_$include_info_ptr ptr ext; 3 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 3 88 3 89 /* FIXED BIN */ 3 90 dcl cobol_$text_wd_off fixed bin ext; 3 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 3 92 dcl cobol_$con_wd_off fixed bin ext; 3 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 3 94 dcl cobol_$def_wd_off fixed bin ext; 3 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 3 96 dcl cobol_$def_max fixed bin ext; 3 97 dcl def_max fixed bin defined (cobol_$def_max); 3 98 dcl cobol_$link_wd_off fixed bin ext; 3 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 3 100 dcl cobol_$link_max fixed bin ext; 3 101 dcl link_max fixed bin defined (cobol_$link_max); 3 102 dcl cobol_$sym_wd_off fixed bin ext; 3 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 3 104 dcl cobol_$sym_max fixed bin ext; 3 105 dcl sym_max fixed bin defined (cobol_$sym_max); 3 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 3 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 3 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 3 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 3 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 3 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 3 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 3 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 3 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 3 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 3 116 dcl cobol_$pd_map_index fixed bin ext; 3 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 3 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 3 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 3 120 dcl cobol_$stack_off fixed bin ext; 3 121 dcl stack_off fixed bin defined (cobol_$stack_off); 3 122 dcl cobol_$max_stack_off fixed bin ext; 3 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 3 124 dcl cobol_$init_stack_off fixed bin ext; 3 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 3 126 dcl cobol_$pd_map_sw fixed bin ext; 3 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 3 128 dcl cobol_$next_tag fixed bin ext; 3 129 dcl next_tag fixed bin defined (cobol_$next_tag); 3 130 dcl cobol_$data_init_flag fixed bin ext; 3 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 3 132 dcl cobol_$seg_init_flag fixed bin ext; 3 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 3 134 dcl cobol_$alter_flag fixed bin ext; 3 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 3 136 dcl cobol_$sect_eop_flag fixed bin ext; 3 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 3 138 dcl cobol_$para_eop_flag fixed bin ext; 3 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 3 140 dcl cobol_$priority_no fixed bin ext; 3 141 dcl priority_no fixed bin defined (cobol_$priority_no); 3 142 dcl cobol_$compile_count fixed bin ext; 3 143 dcl compile_count fixed bin defined (cobol_$compile_count); 3 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 3 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 3 146 dcl cobol_$reg_assumption_ind fixed bin ext; 3 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 3 148 dcl cobol_$perform_para_index fixed bin ext; 3 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 3 150 dcl cobol_$perform_sect_index fixed bin ext; 3 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 3 152 dcl cobol_$alter_index fixed bin ext; 3 153 dcl alter_index fixed bin defined (cobol_$alter_index); 3 154 dcl cobol_$list_off fixed bin ext; 3 155 dcl list_off fixed bin defined (cobol_$list_off); 3 156 dcl cobol_$constant_offset fixed bin ext; 3 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 3 158 dcl cobol_$misc_max fixed bin ext; 3 159 dcl misc_max fixed bin defined (cobol_$misc_max); 3 160 dcl cobol_$pd_map_max fixed bin ext; 3 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 3 162 dcl cobol_$map_data_max fixed bin ext; 3 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 3 164 dcl cobol_$fixup_max fixed bin ext; 3 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 3 166 dcl cobol_$tag_table_max fixed bin ext; 3 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 3 168 dcl cobol_$temp_token_max fixed bin ext; 3 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 3 170 dcl cobol_$allo1_max fixed bin ext; 3 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 3 172 dcl cobol_$eln_max fixed bin ext; 3 173 dcl eln_max fixed bin defined (cobol_$eln_max); 3 174 dcl cobol_$debug_enable fixed bin ext; 3 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 3 176 dcl cobol_$non_source_offset fixed bin ext; 3 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 3 178 dcl cobol_$initval_flag fixed bin ext; 3 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 3 180 dcl cobol_$date_compiled_sw fixed bin ext; 3 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 3 182 dcl cobol_$include_cnt fixed bin ext; 3 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 3 184 dcl cobol_$fs_charcnt fixed bin ext; 3 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 3 186 dcl cobol_$ws_charcnt fixed bin ext; 3 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 3 188 dcl cobol_$coms_charcnt fixed bin ext; 3 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 3 190 dcl cobol_$ls_charcnt fixed bin ext; 3 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 3 192 dcl cobol_$cons_charcnt fixed bin ext; 3 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 3 194 dcl cobol_$value_cnt fixed bin ext; 3 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 3 196 dcl cobol_$cd_cnt fixed bin ext; 3 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 3 198 dcl cobol_$fs_wdoff fixed bin ext; 3 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 3 200 dcl cobol_$ws_wdoff fixed bin ext; 3 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 3 202 dcl cobol_$coms_wdoff fixed bin ext; 3 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 3 204 3 205 /* CHARACTER */ 3 206 dcl cobol_$scratch_dir char (168) aligned ext; 3 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 3 208 dcl cobol_$obj_seg_name char (32) aligned ext; 3 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 3 210 3 211 /* BIT */ 3 212 dcl cobol_$xref_bypass bit(1) aligned ext; 3 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 3 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 3 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 3 216 3 217 3 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 3 219 3 220 246 247 end cobol_r_initialize; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0832.7 cobol_r_initialize.pl1 >spec>install>MR12.3-1048>cobol_r_initialize.pl1 235 1 11/11/82 1712.8 cobol_ptr_status.incl.pl1 >ldd>include>cobol_ptr_status.incl.pl1 245 2 11/11/82 1712.8 cobol_reg_status.incl.pl1 >ldd>include>cobol_reg_status.incl.pl1 246 3 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. add5 000110 automatic bit(36) initial dcl 110 set ref 110* addr builtin function dcl 239 ref 118 119 cobol_$cobol_data_wd_off 001272 external static fixed bin(17,0) dcl 3-118 ref 184 cobol_$ptr_status_ptr 001266 external static pointer dcl 3-56 set ref 118* cobol_$reg_status_ptr 001270 external static pointer dcl 3-58 set ref 119* contents_sw 2 000010 internal static fixed bin(17,0) array level 2 dcl 234 set ref 125* 143* 161* 174* 187* 205* fixed builtin function dcl 239 ref 224 i 000100 automatic fixed bin(17,0) dcl 104 set ref 123* 124 125 126 127 128 129 130 131 132 133 134* 140* 141 142 143 144 145 146 146 150* 150 151 153* 153 154 158* 158 159 160 161 162 163 164 165 165 166 166 171* 171 172 173 174 175 176 177 177 182* 182 183 186 187 188 189 190 191 191 192 192 202* 202 203 204 205 206 210* 210 211 219* 220 221 222 223 224 224 226* ld5 000107 automatic bit(36) initial dcl 108 set ref 108* p_lock 5 000010 internal static fixed bin(17,0) array level 2 dcl 234 set ref 128* p_priority 6 000010 internal static fixed bin(17,0) array level 2 dcl 234 set ref 129* p_reset 7 000010 internal static fixed bin(17,0) array level 2 dcl 234 set ref 130* 145* 164* 176* 190* pointer_num 000010 internal static bit(3) array level 2 dcl 234 set ref 141* 151* 154* 159* 172* 183* 203* 211* ptr_status 000010 internal static structure array level 1 dcl 234 set ref 118 r_lock 1 000530 internal static fixed bin(17,0) array level 2 dcl 244 set ref 220* r_priority 2 000530 internal static fixed bin(17,0) array level 2 dcl 244 set ref 221* reg_status 000530 internal static structure array level 1 dcl 244 set ref 119 register_num 000530 internal static bit(4) array level 2 dcl 244 set ref 224* 226* 228* reloc 000101 automatic bit(5) initial array dcl 106 set ref 106* 106* 106* 106* 106* 106* reset_seg_num 10 000010 internal static fixed bin(17,0) array level 2 dcl 234 set ref 131* 146* 165* 177* 191* reset_wd_offset 11 000010 internal static fixed bin(24,0) array level 2 dcl 234 set ref 132* 166* 192* save_stack_count 13 000010 internal static fixed bin(17,0) array level 2 in structure "ptr_status" dcl 234 in procedure "cobol_r_initialize" set ref 134* save_stack_count 4 000530 internal static fixed bin(17,0) array level 2 in structure "reg_status" dcl 244 in procedure "cobol_r_initialize" set ref 223* save_stack_max 12 000010 internal static fixed bin(17,0) array level 2 in structure "ptr_status" dcl 234 in procedure "cobol_r_initialize" set ref 133* save_stack_max 3 000530 internal static fixed bin(17,0) array level 2 in structure "reg_status" dcl 244 in procedure "cobol_r_initialize" set ref 222* save_stack_max_value constant fixed bin(17,0) initial dcl 115 ref 133 222 seg_num 3 000010 internal static fixed bin(17,0) array level 2 dcl 234 set ref 126* 144* 146 162* 165 175* 177 188* 191 206* st5 000111 automatic bit(36) initial dcl 112 set ref 112* usage 1 000010 internal static fixed bin(17,0) array level 2 dcl 234 set ref 124* 142* 160* 173* 186* 204* wd_offset 4 000010 internal static fixed bin(24,0) array level 2 dcl 234 set ref 127* 163* 166 189* 192 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 239 allo1_max defined fixed bin(17,0) dcl 3-171 allo1_ptr defined pointer dcl 3-67 alter_flag defined fixed bin(17,0) dcl 3-135 alter_index defined fixed bin(17,0) dcl 3-153 alter_list_ptr defined pointer dcl 3-39 binary builtin function dcl 239 cd_cnt defined fixed bin(17,0) dcl 3-197 cobol_$allo1_max external static fixed bin(17,0) dcl 3-170 cobol_$allo1_ptr external static pointer dcl 3-66 cobol_$alter_flag external static fixed bin(17,0) dcl 3-134 cobol_$alter_index external static fixed bin(17,0) dcl 3-152 cobol_$alter_list_ptr external static pointer dcl 3-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 3-196 cobol_$compile_count external static fixed bin(17,0) dcl 3-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 3-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 3-202 cobol_$con_end_ptr external static pointer dcl 3-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 3-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 3-192 cobol_$constant_offset external static fixed bin(17,0) dcl 3-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 3-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 3-180 cobol_$debug_enable external static fixed bin(17,0) dcl 3-174 cobol_$def_base_ptr external static pointer dcl 3-12 cobol_$def_max external static fixed bin(17,0) dcl 3-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 3-94 cobol_$diag_ptr external static pointer dcl 3-70 cobol_$eln_max external static fixed bin(17,0) dcl 3-172 cobol_$eln_ptr external static pointer dcl 3-68 cobol_$fixup_max external static fixed bin(17,0) dcl 3-164 cobol_$fixup_ptr external static pointer dcl 3-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 3-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 3-198 cobol_$include_cnt external static fixed bin(17,0) dcl 3-182 cobol_$include_info_ptr external static pointer dcl 3-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 3-124 cobol_$initval_base_ptr external static pointer dcl 3-32 cobol_$initval_file_ptr external static pointer dcl 3-34 cobol_$initval_flag external static fixed bin(17,0) dcl 3-178 cobol_$link_base_ptr external static pointer dcl 3-14 cobol_$link_max external static fixed bin(17,0) dcl 3-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 3-98 cobol_$list_off external static fixed bin(17,0) dcl 3-154 cobol_$list_ptr external static pointer dcl 3-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 3-190 cobol_$main_pcs_ptr external static pointer dcl 3-84 cobol_$map_data_max external static fixed bin(17,0) dcl 3-162 cobol_$map_data_ptr external static pointer dcl 3-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 3-122 cobol_$minpral5_ptr external static pointer dcl 3-50 cobol_$misc_base_ptr external static pointer dcl 3-60 cobol_$misc_end_ptr external static pointer dcl 3-62 cobol_$misc_max external static fixed bin(17,0) dcl 3-158 cobol_$next_tag external static fixed bin(17,0) dcl 3-128 cobol_$non_source_offset external static fixed bin(17,0) dcl 3-176 cobol_$ntbuf_ptr external static pointer dcl 3-82 cobol_$obj_seg_name external static char(32) dcl 3-208 cobol_$op_con_ptr external static pointer dcl 3-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 3-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 3-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 3-160 cobol_$pd_map_ptr external static pointer dcl 3-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 3-126 cobol_$perform_list_ptr external static pointer dcl 3-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 3-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 3-150 cobol_$priority_no external static fixed bin(17,0) dcl 3-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 3-144 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 3-146 cobol_$reloc_def_base_ptr external static pointer dcl 3-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 3-108 cobol_$reloc_link_base_ptr external static pointer dcl 3-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 3-110 cobol_$reloc_sym_base_ptr external static pointer dcl 3-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 3-112 cobol_$reloc_text_base_ptr external static pointer dcl 3-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 3-106 cobol_$reloc_work_base_ptr external static pointer dcl 3-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 3-114 cobol_$reswd_ptr external static pointer dcl 3-78 cobol_$same_sort_merge_proc external static bit(1) dcl 3-214 cobol_$scratch_dir external static char(168) dcl 3-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 3-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 3-132 cobol_$seg_init_list_ptr external static pointer dcl 3-40 cobol_$stack_off external static fixed bin(17,0) dcl 3-120 cobol_$statement_info_ptr external static pointer dcl 3-76 cobol_$sym_base_ptr external static pointer dcl 3-16 cobol_$sym_max external static fixed bin(17,0) dcl 3-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 3-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 3-166 cobol_$tag_table_ptr external static pointer dcl 3-52 cobol_$temp_token_area_ptr external static pointer dcl 3-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 3-168 cobol_$temp_token_ptr external static pointer dcl 3-44 cobol_$text_base_ptr external static pointer dcl 3-8 cobol_$text_wd_off external static fixed bin(17,0) dcl 3-90 cobol_$token_block1_ptr external static pointer dcl 3-46 cobol_$token_block2_ptr external static pointer dcl 3-48 cobol_$value_cnt external static fixed bin(17,0) dcl 3-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 3-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 3-200 cobol_$xref_bypass external static bit(1) dcl 3-212 cobol_$xref_chain_ptr external static pointer dcl 3-74 cobol_$xref_token_ptr external static pointer dcl 3-72 cobol_data_wd_off defined fixed bin(17,0) dcl 3-119 cobol_emit 000000 constant entry external dcl 105 compile_count defined fixed bin(17,0) dcl 3-143 coms_charcnt defined fixed bin(17,0) dcl 3-189 coms_wdoff defined fixed bin(17,0) dcl 3-203 con_end_ptr defined pointer dcl 3-11 con_wd_off defined fixed bin(17,0) dcl 3-93 cons_charcnt defined fixed bin(17,0) dcl 3-193 constant_offset defined fixed bin(17,0) dcl 3-157 data_init_flag defined fixed bin(17,0) dcl 3-131 date_compiled_sw defined fixed bin(17,0) dcl 3-181 debug_enable defined fixed bin(17,0) dcl 3-175 def_base_ptr defined pointer dcl 3-13 def_max defined fixed bin(17,0) dcl 3-97 def_wd_off defined fixed bin(17,0) dcl 3-95 diag_ptr defined pointer dcl 3-71 eln_max defined fixed bin(17,0) dcl 3-173 eln_ptr defined pointer dcl 3-69 fixup_max defined fixed bin(17,0) dcl 3-165 fixup_ptr defined pointer dcl 3-31 fs_charcnt defined fixed bin(17,0) dcl 3-185 fs_wdoff defined fixed bin(17,0) dcl 3-199 include_cnt defined fixed bin(17,0) dcl 3-183 include_info_ptr defined pointer dcl 3-87 index builtin function dcl 239 init_stack_off defined fixed bin(17,0) dcl 3-125 initval_base_ptr defined pointer dcl 3-33 initval_file_ptr defined pointer dcl 3-35 initval_flag defined fixed bin(17,0) dcl 3-179 length builtin function dcl 239 link_base_ptr defined pointer dcl 3-15 link_max defined fixed bin(17,0) dcl 3-101 link_wd_off defined fixed bin(17,0) dcl 3-99 list_off defined fixed bin(17,0) dcl 3-155 list_ptr defined pointer dcl 3-65 ls_charcnt defined fixed bin(17,0) dcl 3-191 main_pcs_ptr defined pointer dcl 3-85 map_data_max defined fixed bin(17,0) dcl 3-163 map_data_ptr defined pointer dcl 3-55 max_stack_off defined fixed bin(17,0) dcl 3-123 minpral5_ptr defined pointer dcl 3-51 misc_base_ptr defined pointer dcl 3-61 misc_end_ptr defined pointer dcl 3-63 misc_max defined fixed bin(17,0) dcl 3-159 mod builtin function dcl 239 next_tag defined fixed bin(17,0) dcl 3-129 non_source_offset defined fixed bin(17,0) dcl 3-177 ntbuf_ptr defined pointer dcl 3-83 null builtin function dcl 239 obj_seg_name defined char(32) dcl 3-209 op_con_ptr defined pointer dcl 3-81 para_eop_flag defined fixed bin(17,0) dcl 3-139 pd_map_index defined fixed bin(17,0) dcl 3-117 pd_map_max defined fixed bin(17,0) dcl 3-161 pd_map_ptr defined pointer dcl 3-29 pd_map_sw defined fixed bin(17,0) dcl 3-127 perform_list_ptr defined pointer dcl 3-37 perform_para_index defined fixed bin(17,0) dcl 3-149 perform_sect_index defined fixed bin(17,0) dcl 3-151 priority_no defined fixed bin(17,0) dcl 3-141 ptr_assumption_ind defined fixed bin(17,0) dcl 3-145 ptr_status_ptr defined pointer dcl 3-57 reg_assumption_ind defined fixed bin(17,0) dcl 3-147 reg_status_ptr defined pointer dcl 3-59 rel builtin function dcl 239 reloc_def_base_ptr defined pointer dcl 3-21 reloc_def_max defined fixed bin(24,0) dcl 3-109 reloc_link_base_ptr defined pointer dcl 3-23 reloc_link_max defined fixed bin(24,0) dcl 3-111 reloc_sym_base_ptr defined pointer dcl 3-25 reloc_sym_max defined fixed bin(24,0) dcl 3-113 reloc_text_base_ptr defined pointer dcl 3-19 reloc_text_max defined fixed bin(24,0) dcl 3-107 reloc_work_base_ptr defined pointer dcl 3-27 reloc_work_max defined fixed bin(24,0) dcl 3-115 reswd_ptr defined pointer dcl 3-79 same_sort_merge_proc defined bit(1) dcl 3-215 scratch_dir defined char(168) dcl 3-207 sect_eop_flag defined fixed bin(17,0) dcl 3-137 seg_init_flag defined fixed bin(17,0) dcl 3-133 seg_init_list_ptr defined pointer dcl 3-41 stack_off defined fixed bin(17,0) dcl 3-121 statement_info_ptr defined pointer dcl 3-77 string builtin function dcl 239 substr builtin function dcl 239 sym_base_ptr defined pointer dcl 3-17 sym_max defined fixed bin(17,0) dcl 3-105 sym_wd_off defined fixed bin(17,0) dcl 3-103 tag_table_max defined fixed bin(17,0) dcl 3-167 tag_table_ptr defined pointer dcl 3-53 temp_token_area_ptr defined pointer dcl 3-43 temp_token_max defined fixed bin(17,0) dcl 3-169 temp_token_ptr defined pointer dcl 3-45 text_base_ptr defined pointer dcl 3-9 text_wd_off defined fixed bin(17,0) dcl 3-91 token_block1_ptr defined pointer dcl 3-47 token_block2_ptr defined pointer dcl 3-49 unspec builtin function dcl 239 value_cnt defined fixed bin(17,0) dcl 3-195 ws_charcnt defined fixed bin(17,0) dcl 3-187 ws_wdoff defined fixed bin(17,0) dcl 3-201 xref_bypass defined bit(1) dcl 3-213 xref_chain_ptr defined pointer dcl 3-75 xref_token_ptr defined pointer dcl 3-73 NAME DECLARED BY EXPLICIT CONTEXT. cobol_r_initialize 000004 constant entry external dcl 29 NAME DECLARED BY CONTEXT OR IMPLICATION. bit builtin function ref 224 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 414 1710 336 424 Length 2150 336 1274 224 56 1256 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_r_initialize 77 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 ptr_status cobol_r_initialize 000530 reg_status cobol_r_initialize STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_r_initialize 000100 i cobol_r_initialize 000101 reloc cobol_r_initialize 000107 ld5 cobol_r_initialize 000110 add5 cobol_r_initialize 000111 st5 cobol_r_initialize THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. return_mac ext_entry NO EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$cobol_data_wd_off cobol_$ptr_status_ptr cobol_$reg_status_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 29 000003 106 000011 108 000035 110 000037 112 000041 118 000043 119 000045 123 000047 124 000053 125 000056 126 000057 127 000060 128 000061 129 000062 130 000063 131 000064 132 000065 133 000066 134 000071 135 000072 140 000074 141 000075 142 000101 143 000104 144 000105 145 000107 146 000111 150 000113 151 000114 153 000120 154 000121 158 000125 159 000126 160 000132 161 000135 162 000136 163 000140 164 000142 165 000144 166 000146 171 000150 172 000151 173 000155 174 000160 175 000161 176 000163 177 000165 182 000167 183 000170 184 000174 186 000200 187 000203 188 000204 189 000206 190 000210 191 000212 192 000214 202 000216 203 000217 204 000223 205 000226 206 000227 210 000231 211 000232 219 000236 220 000243 221 000246 222 000247 223 000252 224 000253 226 000302 228 000320 229 000333 233 000335 ----------------------------------------------------------- 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