COMPILATION LISTING OF SEGMENT cobol_alter_perform Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1133.45_Tue_mdt 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_alter_perform.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 01/14/77 by ORN to signal command_abort_ rather than cobol_compiler_error */ 23 /* Modified since Version 2.0 */ 24 25 /*{*/ 26 /* format: style3 */ 27 cobol_alter_perform: 28 proc (space_ptr, space_max); /* 29*The procedure cobol_alter_perform is called by cobol_gen_driver only if 30*there are alter/perform records in variable common. It constructs 31*alter_list, perform_list, and seg_init_list, utilizing data taken 32*from these records, and sets seg_init_flag to one if there are 33*any perform records or any alterable GO's in the fixed portion of 34*the program. If neither of these conditions is met, seg_init_flag 35*is set to 0. The first of the alter_perform records is located 36*by the variable perf_alter_info contained in fixed_common and/or 37*the variable size_perform_info, also in fixed_common. The re- 38*cords located by the perf_alter_info "pointer" contain informa- 39*tion about perform and alter statements in the source program and 40*those located by the size_perform_info "pointer" contain informa- 41*tion on performable procedures created by ddalloc for computing 42*the "size" of data declared with "depending on" clauses. Alter_ 43*list, perform_list, and seg_init_list are described below in the 44*Data Section. 45* 46* 47*U__s_a_g_e:_ 48* 49* declare cobol_alter_perform entry (ptr, fixed bin); 50* call cobol_alter_perform(space_ptr, space_max); 51* */ 52 53 dcl space_ptr ptr, 54 space_max fixed bin; 55 56 /* 57*space_ptr is a pointer to the next free location in the segment 58* in which alter_list, perform_list, and seg_init_list 59* are to be or have been located. (Input/Output) 60* 61*space_max is the maximum number of words available in the 62* segment pointed to by space_ptr. (Input) 63* 64*D__a_t_a:_ 65* 66* % include cobol_; 67* Items in cobol_ include file used (u) and/or set (s) by 68* cobol_alter_perform: 69* 70* cobol_ptr (u) 71* com_ptr (u) 72* alter_list_ptr (s) 73* cobol_data_wd_off (u/s) 74* next_tag (u/s) 75* perform_list_ptr (s) 76* seg_init_list_ptr (s) 77* seg_init_flag (s) 78* 79* % include fixed_common; 80* Items in fixed_common include file used (u) and/or(s) by 81* cobol_alter_perform: 82* 83* perf_alter_info (u) 84* size_perform_info (u) 85* */ 86 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_alter_list.incl.pl1 */ 1 3 1 4 /* Last modified July 17, 1974 by AEG */ 1 5 1 6 1 7 declare 1 alter_list aligned based( cobol_$alter_list_ptr), 1 8 2 n fixed bin aligned, 1 9 2 goto (0 refer(alter_list.n)) aligned, 1 10 3 proc_num fixed bin aligned, 1 11 3 priority fixed bin aligned, 1 12 3 target_a_segno fixed bin aligned, 1 13 3 target_a_offset fixed bin(24) aligned; 1 14 1 15 1 16 /* 1 17*alter_list_ptr is a pointer upon which the structure alter_list 1 18* is based. It is declared in mc_.incl.pl1. 1 19* 1 20*n is the number of alterable GO's in the source 1 21* program. 1 22* 1 23*goto is an array of alter_list.n structures containing 1 24* information about the alterable GO's. 1 25* 1 26*proc_num is the tag number associated with a COBOL procedure 1 27* containing an alterable GO. 1 28* 1 29*priority is the COBOL segment number of the section con- 1 30* taining COBOL procedure proc_num. 1 31* 1 32*target_a_segno and target_a_offset are the artificial MCOBOL 1 33* segment number and character offset, respectively, 1 34* of a 36-bit variable, allocated in the COBOL data 1 35* segment on a word boundary, which contains trans- 1 36* fer address information for the alterable GO con- 1 37* tained in COBOL procedure proc_num. 1 38* 1 39* */ 1 40 /* END INCLUDE FILE ... cobol_alter_list.incl.pl1 */ 1 41 87 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_perform_list.incl.pl1 */ 2 3 /* Last modified July 17, 1974 by AEG */ 2 4 2 5 2 6 declare 1 perform_list aligned based( cobol_$perform_list_ptr), 2 7 2 n fixed bin aligned, 2 8 2 perf (0 refer(perform_list.n)) aligned, 2 9 3 proc_num fixed bin aligned, 2 10 3 priority fixed bin aligned, 2 11 3 target_a_segno fixed bin aligned, 2 12 3 target_a_offset fixed bin(24) aligned, 2 13 3 int_tag_no fixed bin aligned; 2 14 2 15 2 16 /* 2 17*perform_list_ptr is a pointer upon which the structure 2 18* perform_list is based. It is declared in 2 19* cobol_.incl.pl1. 2 20* 2 21*n is the number of COBOL procedures which 2 22* terminate perform ranges. 2 23* 2 24*perf is an array of perform_list.n structures which 2 25* contain information about end of perform range 2 26* procedures. 2 27* 2 28*proc_num is a tag number by which the end of perform 2 29* range procedure is identified. 2 30* 2 31*priority is the COBOL segment number of the section con- 2 32* taining COBOL procedure proc_num. 2 33* 2 34*target_a_segno and target_a_offset are the artificial MCOBOL seg- 2 35* ment number and character offset, respectively, 2 36* of a 36-bit variable, allocated in the COBOL 2 37* data segment on a word boundary, which contains 2 38* transfer address information for the alterable 2 39* GO contained in COBOL procedure proc_num. 2 40* 2 41*int_tag_no is an internal tag number assigned to the in- 2 42* struction to which control is transferred by the 2 43* end of perform range alterable GO when the pro- 2 44* cedure which it terminates is not being performed. 2 45* 2 46* 2 47* */ 2 48 /* END INCLUDE FILE ... cobol_perform_list.incl.pl1 */ 2 49 88 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_seg_init_list.incl.pl1 */ 3 3 3 4 /* Last modified July 17, 1974 by AEG */ 3 5 3 6 3 7 declare 1 seg_init_list aligned based( cobol_$seg_init_list_ptr), 3 8 2 n fixed bin aligned, 3 9 2 extra fixed bin aligned, 3 10 2 seg (0 refer(seg_init_list.n)) aligned, 3 11 3 priority fixed bin aligned, 3 12 3 int_tag_no fixed bin aligned, 3 13 3 no_gos fixed bin aligned, 3 14 3 next_init_no fixed bin aligned, 3 15 3 init_ptr ptr aligned; 3 16 3 17 3 18 /* 3 19*seg_init_list_ptr is a pointer upon which the structure 3 20* seg_init_list is based. It is declared in 3 21* cobol_.incl.pl1 3 22* 3 23*n is the number of COBOL segments containing 3 24* alterable GO's. All fixed segments are counted 3 25* as one segment and assigned segment number 0. 3 26* 3 27*extra available for future use. 3 28* 3 29*seg is an array of seg_init_list.n structures which 3 30* contain information about the segments contain- 3 31* ing alterable GO's. seg(1) always conatins 3 32* information about fixed segments if there are 3 33* any in the procedure. 3 34* 3 35*priority is the COBOL segment number associated with 3 36* the "alterable" segment. 3 37* 3 38*int_tag_no is an internal tag number associated with the 3 39* first instruction of the code sequence generat- 3 40* ed to initialize the alterable GO's in the seg- 3 41* ment whose segment number is priority. For 3 42* priority = 0, int_tag_no = 0 since initializa- 3 43* tion of alterable GO's in fixed segments is 3 44* accomplished by cobol_prologue_gen. 3 45* 3 46*no_gos is the number of alterable GO's in the segment 3 47* whose segment number is priority. 3 48* 3 49*next_init_no is the number of the next alterable GO in the 3 50* segment whose segment number is priority for 3 51* which initialization data entries are to be 3 52* made in an area reserved for that purpose. The 3 53* base of this area is located by init_ptr. 3 54* 1<_next_init_no<_no_gos. 3 55* 3 56*init_ptr is a pointer to a block of 3 times no_gos words 3 57* reserved for the storage of initialization data 3 58* for the alterable GO's in the segment whose 3 59* segment number is priority. 3 60* 3 61* 3 62* */ 3 63 /* END INCLUDE FILE ... cobol_seg_init_list.incl.pl1 */ 3 64 89 90 91 dcl alt_per_recd_ptr ptr; 92 93 dcl 1 alt_per_recd (100) aligned based (alt_per_recd_ptr), 94 2 filler fixed bin, 95 2 record_len fixed bin aligned, 96 2 proc_no fixed bin aligned, 97 2 code fixed bin aligned, 98 2 next_entry fixed bin aligned, 99 2 extra (2) fixed bin aligned, 100 2 priority fixed bin aligned, 101 2 extra1 fixed bin aligned; 102 103 dcl wds_left fixed bin, 104 index fixed bin, 105 jndex fixed bin, 106 make_even fixed bin, 107 no_fix_gos fixed bin, 108 num_alt_recds fixed bin, 109 num_recds fixed bin, 110 temp_min fixed bin, 111 temp_num fixed bin, 112 temp_pri fixed bin; 113 114 dcl 1 seg_ovfl_error aligned static, 115 2 my_name char (32) init ("cobol_alter_perform"), 116 2 message_len fixed bin init (36), 117 2 seg_name char (12), 118 2 message char (24) init ("Segment length exceeded!"); 119 120 /* 121*where: 122* 123*alt_per_recd_ptr is a pointer to the first alter/perform record 124* in variable common. 125* 126*record_len is the length, in characters, of the record. 127* The length of all alter/perform records is, in 128* fact, fixed and is 32 characters. 129* 130*proc_no is the tag number of the procedure to be altered 131* or of the procedure at the end of a perform 132* range. 133* 134*code is 1 if the information in the record pertains 135* to an ALTER statement, 0 if it pertains to an 136* explicit PERFORM statement, and 2 if it pertains 137* to a PERFORM statement created by PD_Syntax to 138* implement a SORT statement. 139* 140*next_entry is a locator of the next alter_perform record in 141* variable common. It contains the character 142* string "0000" if the record is the last record. 143* 144*extra is unused by MCOBOL. 145* 146*priority is the COBOL segment number assocoated with the 147* procedure identified by proc_no. 148* 149*extra1 is unused by MCOBOL. 150* 151*wds_left is the number of free words remaining in the 152* segment pointed to by space_ptr. 153* 154*index is a do loop index. 155* 156*jndex is a do loop index. 157* 158*make_even is a variable used to adjust space_ptr such that 159* seg_init_list begins on an even word boundary. 160*no_fix_gos is the number of alterable GO's in fixed COBOL 161* segments. 162* 163*num_alt_recds is the number of ALTER records in the chain of 164* alter_perform records located in variable common. 165*num_recds is the total number of records in the chain of 166* alter/perform records located in variable common. 167* 168*temp_min is used to hold the current minimun value of 169* procedure number in sorting alter_list and 170* perform_list on the basis of prodecure name. 171* 172*temp_num is the index in alter_list or perform_list of 173* temp_min. 174* 175*temp_pri is the COBOL segment number associated with 176* temp_min or is used to hold the priority number 177* of the member of alter_list being examined 178* during the construction of seg_init_list. 179* 180* */ 181 /* 182*P__r_o_c_e_d_u_r_e_s_C__a_l_l_e_d:_ 183* */ 184 dcl cobol_read_rand entry (fixed bin, char (5), ptr), 185 signal_ entry (char (*), ptr, ptr); 186 187 /* 188*B__u_i_l_t-__i_n_F__u_n_c_t_i_o_n_s_U__s_e_d:_ 189* */ 190 dcl addr builtin, 191 addrel builtin, 192 binary builtin, 193 null builtin, 194 rel builtin, 195 substr builtin, 196 unspec builtin; 197 198 /*}*/ 199 200 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 201 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 5 3 /* Modified on 10/27/82 by FCH, [5.1-1], cobol_cln added to save last line num, BUG543(phx13643) */ 5 4 /* Modified on 07/31/80 by FCH, [4.3-1], use_reporting field added for Report Writer */ 5 5 /* Modified on 03/30/79 by FCH, [4.1-1], -card option added */ 5 6 /* Modified on 03/30/79 by FCH, [4.0-2], -svNM option added */ 5 7 /* Modified on 03/02/79 by FCH, [4.0-1], -levNM option added */ 5 8 /* Modified by RAL on 10/13/78, [4.0-0], Added option exp from fil2. */ 5 9 /* Modified by BC on 06/20/77, descriptor added. */ 5 10 /* Modified by BC on 06/02/77, init_cd_seg, init_cd_offset added. */ 5 11 /* Modified by BC on 1/21/77, options.profile added. */ 5 12 /* Modified by FCH on 7/6/76, sysin_fno & sysout_fno deleted, accept_device & display_device added */ 5 13 /* Modified by FCH on 5/20/77, comp_level added */ 5 14 5 15 5 16 /* THE SIZE OF THIS STRUCTURE IN BYTES, (EXCLUDING VARIABLE 5 17* LENGTH ENTITIES), FOR EACH HARDWARE IMPLEMENTATION IS: 5 18* 5 19* HARDWARE | SIZE (BYTES) 5 20* --------------------------------- 5 21* 645/6180 | 464 5 22* P7 | 396 5 23* --------------------------------- 5 24* */ 5 25 5 26 dcl 1 fixed_common based ( cobol_com_ptr), 5 27 2 prog_name char (30), 5 28 2 compiler_rev_no char (25), 5 29 2 phase_name char (6), 5 30 2 currency char (1), 5 31 2 fatal_no fixed bin, 5 32 2 warn_no fixed bin, 5 33 2 proc_counter fixed bin, 5 34 2 spec_tag_counter fixed bin, 5 35 2 file_count fixed bin, 5 36 2 filedescr_offsets (20) char (5), 5 37 2 perf_alter_info char (5), 5 38 2 another_perform_info char (5), 5 39 2 sort_in_info char (5), 5 40 2 odo_info char (5), 5 41 2 size_seg fixed bin, 5 42 2 size_offset fixed bin(24), 5 43 2 size_perform_info char (5), 5 44 2 rename_info char (5), 5 45 2 report_names char (5), 5 46 2 rw_buf_seg fixed bin, 5 47 2 rw_buf_offset fixed bin(24), 5 48 2 rw_buf_length fixed bin(24), 5 49 2 file_keys char (5), 5 50 2 search_keys char (5), 5 51 2 dd_seg_size fixed bin(24), 5 52 2 pd_seg_size fixed bin(24), 5 53 2 seg_limit fixed bin , 5 54 2 number_of_dd_segs fixed bin, 5 55 2 seg_info char (5), 5 56 2 number_of_ls_pointers fixed bin, 5 57 2 link_sec_seg fixed bin, 5 58 2 link_sec_offset fixed bin(24), 5 59 2 sra_clauses fixed bin, 5 60 2 fix_up_info char (5), 5 61 2 linage_info char (5), 5 62 2 first_dd_item char (5), 5 63 2 sort_out_info char (5), 5 64 2 db_info char (5), 5 65 2 realm_info char (5), 5 66 2 rc_realm_info char (5), 5 67 2 last_file_key char (5), 5 68 2 prog_coll_seq fixed bin, 5 69 2 init_cd_seg fixed bin, 5 70 2 init_cd_offset fixed bin(24), 5 71 2 input_error_exit fixed bin, 5 72 2 output_error_exit fixed bin, 5 73 2 i_o_error_exit fixed bin, 5 74 2 extend_error_exit fixed bin, 5 75 2 dummy15 fixed bin, 5 76 2 options, 5 77 3 cu bit (1), 5 78 3 st bit (1), 5 79 3 wn bit (1), 5 80 3 obs bit (1), 5 81 3 dm bit (1), 5 82 3 xrl bit (1), 5 83 3 xrn bit (1), 5 84 3 src bit (1), 5 85 3 obj bit (1), 5 86 3 exs bit (1), 5 87 3 sck bit (1), 5 88 3 rno bit (1), 5 89 3 u_l bit (1), 5 90 3 cnv bit (1), 5 91 3 cos bit (1), 5 92 3 fmt bit (1), 5 93 3 profile bit(1), 5 94 3 nw bit (1), 5 95 3 exp bit (1), /* [4.0-0] */ 5 96 3 card bit (1), /*[4.1-1]*/ 5 97 3 fil2 bit (5), 5 98 3 m_map bit (1), 5 99 3 m_bf bit (1), 5 100 3 m_fat bit (1), 5 101 3 m_wn bit (1), 5 102 3 m_obs bit(1), 5 103 3 pd bit(1), 5 104 3 oc bit(1), 5 105 2 supervisor bit (1), 5 106 2 dec_comma bit (1), 5 107 2 init_cd bit (1), 5 108 2 corr bit (1), 5 109 2 initl bit (1), 5 110 2 debug bit (1), 5 111 2 report bit (1), 5 112 2 sync_in_prog bit (1), 5 113 2 pd_section bit (1), 5 114 2 list_switch bit (1), 5 115 2 alpha_cond bit (1), 5 116 2 num_cond bit (1), 5 117 2 spec_sysin bit (1), 5 118 2 spec_sysout bit (1), 5 119 2 cpl_files bit (1), 5 120 2 obj_dec_comma bit (1), 5 121 2 default_sign_type bit (3), 5 122 2 use_debug bit(1), 5 123 2 syntax_trace bit(1), 5 124 2 comp_defaults, 5 125 3 comp bit(1), 5 126 3 comp_1 bit(1), 5 127 3 comp_2 bit(1), 5 128 3 comp_3 bit(1), 5 129 3 comp_4 bit(1), 5 130 3 comp_5 bit(1), 5 131 3 comp_6 bit(1), 5 132 3 comp_7 bit(1), 5 133 3 comp_8 bit(1), 5 134 2 disp_defaults, 5 135 3 disp bit(1), 5 136 3 disp_1 bit(1), 5 137 3 disp_2 bit(1), 5 138 3 disp_3 bit(1), 5 139 3 disp_4 bit(1), 5 140 3 disp_5 bit(1), 5 141 3 disp_6 bit(1), 5 142 3 disp_7 bit(1), 5 143 2 descriptor bit(2), 5 144 2 levsv bit(3), /*[4.0-1]*/ 5 145 2 use_reporting bit(1), /*[4.3-1]*/ 5 146 2 cd bit(1), /*[4.4-1]*/ 5 147 2 dummy17 bit(3), 5 148 2 lvl_rstr bit(32), 5 149 2 inst_rstr bit(32), 5 150 2 comp_level char(1), 5 151 2 dummy18 char(30), 5 152 2 object_sign char (1), 5 153 2 last_print_rec char (5), 5 154 2 coll_seq_info char (5), 5 155 2 sys_status_seg fixed bin, 5 156 2 sys_status_offset fixed bin(24), 5 157 2 compiler_id fixed bin, 5 158 2 date_comp_ln fixed bin, 5 159 2 compile_mode bit(36), 5 160 2 default_temp fixed bin, 5 161 2 accept_device fixed bin, 5 162 2 display_device fixed bin, 5 163 2 cobol_cln fixed bin, /*[5.1-1]*/ 5 164 2 alphabet_offset fixed bin; 5 165 5 166 5 167 5 168 /* END INCLUDE FILE ... cobol_fixed_common.incl.pl1 */ 5 169 202 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 6 3 /* Last modified on 06/17/76 by ORN */ 6 4 /* Last modified on 12/28/76 by FCH */ 6 5 /* Last modified on 12/01/80 by FCH */ 6 6 6 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 6 8 6 9 6 10 dcl cobol_ext_$cobol_afp ptr ext; 6 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 6 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 6 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 6 14 dcl cobol_ext_$report_first_token ptr ext; 6 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 6 16 dcl cobol_ext_$report_last_token ptr ext; 6 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 6 18 dcl cobol_ext_$cobol_eltp ptr ext; 6 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 6 20 dcl cobol_ext_$cobol_cmfp ptr ext; 6 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 6 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 6 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 6 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 6 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 6 26 dcl cobol_ext_$cobol_dfp ptr ext; 6 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 6 28 dcl cobol_ext_$cobol_hfp ptr ext; 6 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 6 30 dcl cobol_ext_$cobol_m1fp ptr ext; 6 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 6 32 dcl cobol_ext_$cobol_m2fp ptr ext; 6 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 6 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 6 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 6 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 6 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 6 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 6 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 6 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 6 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 6 42 dcl cobol_ext_$cobol_ntfp ptr ext; 6 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 6 44 dcl cobol_ext_$cobol_pdofp ptr ext; 6 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 6 46 dcl cobol_ext_$cobol_pfp ptr ext; 6 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 6 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 6 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 6 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 6 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 6 52 dcl cobol_ext_$cobol_curr_in ptr ext; 6 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 6 54 dcl cobol_ext_$cobol_curr_out ptr ext; 6 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 6 56 dcl cobol_ext_$cobol_sfp ptr ext; 6 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 6 58 dcl cobol_ext_$cobol_w1p ptr ext; 6 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 6 60 dcl cobol_ext_$cobol_w2p ptr ext; 6 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 6 62 dcl cobol_ext_$cobol_w3p ptr ext; 6 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 6 64 dcl cobol_ext_$cobol_w5p ptr ext; 6 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 6 66 dcl cobol_ext_$cobol_w6p ptr ext; 6 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 6 68 dcl cobol_ext_$cobol_w7p ptr ext; 6 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 6 70 dcl cobol_ext_$cobol_x3fp ptr ext; 6 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 6 72 dcl cobol_ext_$cobol_rwdd ptr ext; 6 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 6 74 dcl cobol_ext_$cobol_rwpd ptr ext; 6 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 6 76 6 77 6 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 6 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 6 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 6 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 6 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 6 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 6 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 6 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 6 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 6 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 6 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 6 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 6 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 6 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 6 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 6 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 6 94 6 95 dcl cobol_ext_$cobol_lpr char (5) ext; 6 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 6 97 dcl cobol_ext_$cobol_options char (120) ext; 6 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 6 99 6 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 6 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 6 102 dcl cobol_ext_$report_exists bit (1) ext; 6 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 6 104 6 105 6 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 6 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 6 108 203 204 205 206 /*************************************/ 207 start: 208 cobol_$seg_init_flag = 0; 209 wds_left = space_max - binary (rel (space_ptr), 17); 210 211 /* PROCESS PERFORM INFORMATION */ 212 213 cobol_$perform_list_ptr = space_ptr; 214 perform_list.n = 0; 215 num_alt_recds = 0; 216 num_recds = 0; 217 218 if fixed_common.size_perform_info ^= "00000" 219 then do; 220 call cobol_read_rand (1, fixed_common.size_perform_info, alt_per_recd_ptr); 221 alt_per_recd_ptr = addrel (alt_per_recd_ptr, -2); 222 223 do index = 1 by 1; 224 if wds_left >= 5 225 then do; 226 perform_list.n = perform_list.n + 1; 227 perform_list.perf.proc_num (perform_list.n) = alt_per_recd.proc_no (index); 228 perform_list.perf.priority (perform_list.n) = alt_per_recd.priority (index); 229 wds_left = wds_left - 5; 230 end; 231 232 else goto signal_altr_prform_ovfl; 233 234 if unspec (alt_per_recd.next_entry (index)) = (4)"000110000"b 235 then goto eof_size_perform; 236 237 end; 238 239 eof_size_perform: 240 end; 241 if fixed_common.perf_alter_info ^= "00000" 242 then do; 243 call cobol_read_rand (1, fixed_common.perf_alter_info, alt_per_recd_ptr); 244 alt_per_recd_ptr = addrel (alt_per_recd_ptr, -2); 245 246 /* PUT PERFORMS, IF ANY, IN perform_list */ 247 248 do index = 1 by 1; 249 if alt_per_recd.code (index) ^= 1 250 then if wds_left >= 5 251 then do; 252 253 perform_list.n = perform_list.n + 1; 254 perform_list.perf.proc_num (perform_list.n) = alt_per_recd.proc_no (index); 255 perform_list.perf.priority (perform_list.n) = alt_per_recd.priority (index); 256 wds_left = wds_left - 5; 257 258 end; 259 else goto signal_altr_prform_ovfl; 260 else num_alt_recds = num_alt_recds + 1; 261 /* ORN */ 262 263 if unspec (alt_per_recd.next_entry (index)) = (4)"000110000"b 264 then do; 265 266 num_recds = index; 267 goto end_of_list; 268 269 end; 270 end; 271 end_of_list: 272 end; 273 274 if perform_list.n ^= 0 275 then /* SORT perform_list ON proc_num */ 276 do; 277 278 cobol_$seg_init_flag = 1; 279 if perform_list.n > 262144 - cobol_$cobol_data_wd_off 280 then goto signal_data_ovfl; 281 282 do index = 1 to perform_list.n; 283 284 temp_min = perform_list.perf.proc_num (index); 285 temp_num = index; 286 287 do jndex = index + 1 to perform_list.n; 288 289 if perform_list.perf.proc_num (jndex) < temp_min 290 then do; 291 292 temp_min = perform_list.perf.proc_num (jndex); 293 temp_num = jndex; 294 295 end; 296 end; 297 298 if temp_num ^= index 299 then do; 300 301 temp_pri = perform_list.perf.priority (temp_num); 302 perform_list.perf.proc_num (temp_num) = perform_list.perf.proc_num (index); 303 perform_list.perf.priority (temp_num) = perform_list.perf.priority (index); 304 perform_list.perf.proc_num (index) = temp_min; 305 perform_list.perf.priority (index) = temp_pri; 306 307 end; 308 perform_list.perf.target_a_segno (index) = 2; 309 perform_list.perf.target_a_offset (index) = 310 binary (unspec (cobol_$cobol_data_wd_off) || "00"b, 17); 311 cobol_$cobol_data_wd_off = cobol_$cobol_data_wd_off + 1; 312 perform_list.perf.int_tag_no (index) = cobol_$next_tag; 313 cobol_$next_tag = cobol_$next_tag + 1; 314 315 end; 316 cobol_$seg_init_flag = 1; 317 if wds_left < 1 318 then goto signal_altr_prform_ovfl; 319 320 wds_left = wds_left - 1; 321 space_ptr = addrel (space_ptr, binary (unspec (perform_list.n) || "00"b, 17) + perform_list.n + 1); 322 323 end; 324 else perform_list_ptr = null; 325 326 /* PROCESSING OF PERFORM INFORMATION COMPLETE */ 327 328 329 /* PROCESS ALTER INFORNATION */ 330 if num_alt_recds ^= 0 331 then do; 332 333 cobol_$alter_list_ptr = space_ptr; 334 alter_list.n = 0; 335 no_fix_gos = 0; 336 do index = 1 to num_recds; 337 338 if alt_per_recd.code (index) = 1 339 then if wds_left >= 4 340 then do; 341 342 alter_list.n = alter_list.n + 1; 343 alter_list.goto.proc_num (alter_list.n) = alt_per_recd.proc_no (index); 344 alter_list.goto.priority (alter_list.n) = alt_per_recd.priority (index); 345 if alter_list.goto.priority (alter_list.n) < 50 346 then no_fix_gos = no_fix_gos + 1; 347 348 wds_left = wds_left - 4; 349 350 end; 351 else goto signal_altr_prform_ovfl; 352 353 end; 354 if alter_list.n > 262144 - cobol_$cobol_data_wd_off 355 then goto signal_data_ovfl; 356 357 /* SORT alter_list ON proc_num */ 358 359 do index = 1 to alter_list.n; 360 361 temp_min = alter_list.goto.proc_num (index); 362 temp_num = index; 363 364 do jndex = index + 1 to alter_list.n; 365 366 if alter_list.goto.proc_num (jndex) < temp_min 367 then do; 368 369 temp_min = alter_list.goto.proc_num (jndex); 370 temp_num = jndex; 371 372 end; 373 end; 374 375 if temp_num ^= index 376 then do; 377 378 temp_pri = alter_list.goto.priority (temp_num); 379 alter_list.goto.proc_num (temp_num) = alter_list.goto.proc_num (index); 380 alter_list.goto.priority (temp_num) = alter_list.goto.priority (index); 381 alter_list.goto.proc_num (index) = temp_min; 382 alter_list.goto.priority (index) = temp_pri; 383 384 end; 385 alter_list.goto.target_a_segno (index) = 2; 386 alter_list.goto.target_a_offset (index) = 387 binary (unspec (cobol_$cobol_data_wd_off) || "00"b, 17); 388 cobol_$cobol_data_wd_off = cobol_$cobol_data_wd_off + 1; 389 390 end; /* CONSTRUCT seg_init_list */ 391 392 wds_left = wds_left - binary (unspec (alter_list.n) || "0"b, 17) - alter_list.n - 1; 393 if wds_left < 8 394 then goto signal_altr_prform_ovfl; 395 396 if substr (rel (space_ptr), 18, 1) = "1"b 397 /* odd */ 398 then make_even = 1; 399 400 else make_even = 2; 401 402 space_ptr = addrel (space_ptr, binary (unspec (alter_list.n) || "00"b, 17) + make_even); 403 cobol_$seg_init_list_ptr = space_ptr; 404 if no_fix_gos ^= 0 405 then do; 406 407 cobol_$seg_init_flag = 1; 408 seg_init_list.n = 1; 409 seg_init_list.seg.priority (1) = 0; 410 seg_init_list.seg.int_tag_no (1) = 0; 411 seg_init_list.seg.no_gos (1) = no_fix_gos; 412 seg_init_list.seg.next_init_no (1) = 0; 413 wds_left = wds_left - make_even - 6; 414 415 end; 416 else seg_init_list.n = 0; 417 418 if no_fix_gos ^= alter_list.n 419 then do index = 1 to alter_list.n; 420 421 temp_pri = alter_list.goto.priority (index); 422 if temp_pri > 49 423 then do; 424 do jndex = 1 to seg_init_list.n; 425 426 if temp_pri = seg_init_list.seg.priority (jndex) 427 then do; 428 429 seg_init_list.seg.no_gos (jndex) = 430 seg_init_list.seg.no_gos (jndex) + 1; 431 goto counted; 432 433 end; 434 end; 435 if wds_left < 6 436 then goto signal_altr_prform_ovfl; 437 438 seg_init_list.n = seg_init_list.n + 1; 439 seg_init_list.seg.priority (seg_init_list.n) = temp_pri; 440 seg_init_list.seg.int_tag_no (seg_init_list.n) = cobol_$next_tag; 441 cobol_$next_tag = cobol_$next_tag + 1; 442 seg_init_list.seg.no_gos (seg_init_list.n) = 1; 443 seg_init_list.seg.next_init_no (seg_init_list.n) = 0; 444 wds_left = wds_left - 6; 445 446 end; 447 counted: 448 end; 449 450 space_ptr = addrel (space_ptr, 6 * seg_init_list.n + 2); 451 452 do index = 1 to seg_init_list.n; 453 454 seg_init_list.seg.init_ptr (index) = space_ptr; 455 space_ptr = 456 addrel (space_ptr, 457 binary (unspec (seg_init_list.seg.no_gos (index)) || "0"b, 17) 458 + seg_init_list.seg.no_gos (index)); 459 460 end; 461 end; 462 else alter_list_ptr = null; 463 464 /* PROCESSING OF ALTER INFORMATION COMPLETE */ 465 exit: 466 return; 467 468 469 /*************************************/ 470 /* ERROR LOOPS */ 471 472 signal_altr_prform_ovfl: 473 seg_ovfl_error.seg_name = "ALTR/PRFORM "; 474 call signal_ ("command_abort_", null, addr (seg_ovfl_error)); 475 return; 476 477 signal_data_ovfl: 478 seg_ovfl_error.seg_name = "COBOL data "; 479 call signal_ ("command_abort_", null, addr (seg_ovfl_error)); 480 return; 481 482 end cobol_alter_perform; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1133.4 cobol_alter_perform.pl1 >udd>sm>ds>w>ml>cobol_alter_perform.pl1 87 1 03/27/82 0539.6 cobol_alter_list.incl.pl1 >ldd>incl>cobol_alter_list.incl.pl1 88 2 03/27/82 0539.8 cobol_perform_list.incl.pl1 >ldd>incl>cobol_perform_list.incl.pl1 89 3 03/27/82 0539.8 cobol_seg_init_list.incl.pl1 >ldd>incl>cobol_seg_init_list.incl.pl1 201 4 11/11/82 1812.7 cobol_.incl.pl1 >ldd>incl>cobol_.incl.pl1 202 5 11/11/82 1812.8 cobol_fixed_common.incl.pl1 >ldd>incl>cobol_fixed_common.incl.pl1 203 6 03/27/82 0531.3 cobol_ext_.incl.pl1 >ldd>incl>cobol_ext_.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. addr builtin function dcl 190 ref 474 474 479 479 addrel builtin function dcl 190 ref 221 244 321 402 450 455 alt_per_recd based structure array level 1 dcl 93 alt_per_recd_ptr 000100 automatic pointer dcl 91 set ref 220* 221* 221 227 228 234 243* 244* 244 249 254 255 263 338 343 344 alter_list based structure level 1 dcl 1-7 alter_list_ptr defined pointer dcl 4-39 set ref 462* binary builtin function dcl 190 ref 209 309 321 386 392 402 455 cobol_$alter_list_ptr 000040 external static pointer dcl 4-38 set ref 333* 334 342 342 343 343 344 344 345 345 354 359 361 364 366 369 378 379 379 380 380 381 382 385 386 392 392 402 418 418 421 462* 462 cobol_$cobol_data_wd_off 000044 external static fixed bin(17,0) dcl 4-118 set ref 279 309 311* 311 354 386 388* 388 cobol_$next_tag 000046 external static fixed bin(17,0) dcl 4-128 set ref 312 313* 313 440 441* 441 cobol_$perform_list_ptr 000036 external static pointer dcl 4-36 set ref 213* 214 226 226 227 227 228 228 253 253 254 254 255 255 274 279 282 284 287 289 292 301 302 302 303 303 304 305 308 309 312 321 321 324* 324 cobol_$seg_init_flag 000050 external static fixed bin(17,0) dcl 4-132 set ref 207* 278* 316* 407* cobol_$seg_init_list_ptr 000042 external static pointer dcl 4-40 set ref 403* 408 409 410 411 412 416 424 426 429 429 438 438 439 439 440 440 442 442 443 443 450 452 454 455 455 cobol_com_ptr defined pointer dcl 6-25 ref 218 220 241 243 cobol_ext_$cobol_com_ptr 000052 external static pointer dcl 6-24 ref 218 218 220 220 241 241 243 243 cobol_read_rand 000032 constant entry external dcl 184 ref 220 243 code 3 based fixed bin(17,0) array level 2 dcl 93 ref 249 338 fixed_common based structure level 1 unaligned dcl 5-26 goto 1 based structure array level 2 dcl 1-7 index 000103 automatic fixed bin(17,0) dcl 103 set ref 223* 227 228 234* 248* 249 254 255 263 266* 282* 284 285 287 298 302 303 304 305 308 309 312* 336* 338 343 344* 359* 361 362 364 375 379 380 381 382 385 386* 418* 421* 452* 454 455 455* init_ptr 6 based pointer array level 3 dcl 3-7 set ref 454* int_tag_no 5 based fixed bin(17,0) array level 3 in structure "perform_list" dcl 2-6 in procedure "cobol_alter_perform" set ref 312* int_tag_no 3 based fixed bin(17,0) array level 3 in structure "seg_init_list" dcl 3-7 in procedure "cobol_alter_perform" set ref 410* 440* jndex 000104 automatic fixed bin(17,0) dcl 103 set ref 287* 289 292 293* 364* 366 369 370* 424* 426 429 429* make_even 000105 automatic fixed bin(17,0) dcl 103 set ref 396* 400* 402 413 n based fixed bin(17,0) level 2 in structure "alter_list" dcl 1-7 in procedure "cobol_alter_perform" set ref 334* 342* 342 343 344 345 354 359 364 392 392 402 418 418 n based fixed bin(17,0) level 2 in structure "seg_init_list" dcl 3-7 in procedure "cobol_alter_perform" set ref 408* 416* 424 438* 438 439 440 442 443 450 452 n based fixed bin(17,0) level 2 in structure "perform_list" dcl 2-6 in procedure "cobol_alter_perform" set ref 214* 226* 226 227 228 253* 253 254 255 274 279 282 287 321 321 next_entry 4 based fixed bin(17,0) array level 2 dcl 93 ref 234 263 next_init_no 5 based fixed bin(17,0) array level 3 dcl 3-7 set ref 412* 443* no_fix_gos 000106 automatic fixed bin(17,0) dcl 103 set ref 335* 345* 345 404 411 418 no_gos 4 based fixed bin(17,0) array level 3 dcl 3-7 set ref 411* 429* 429 442* 455 455 null builtin function dcl 190 ref 324 462 474 474 479 479 num_alt_recds 000107 automatic fixed bin(17,0) dcl 103 set ref 215* 260* 260 330 num_recds 000110 automatic fixed bin(17,0) dcl 103 set ref 216* 266* 336 perf 1 based structure array level 2 dcl 2-6 perf_alter_info 56 based char(5) level 2 packed packed unaligned dcl 5-26 set ref 241 243* perform_list based structure level 1 dcl 2-6 perform_list_ptr defined pointer dcl 4-37 set ref 324* priority 2 based fixed bin(17,0) array level 3 in structure "alter_list" dcl 1-7 in procedure "cobol_alter_perform" set ref 344* 345 378 380* 380 382* 421 priority 7 based fixed bin(17,0) array level 2 in structure "alt_per_recd" dcl 93 in procedure "cobol_alter_perform" ref 228 255 344 priority 2 based fixed bin(17,0) array level 3 in structure "seg_init_list" dcl 3-7 in procedure "cobol_alter_perform" set ref 409* 426 439* priority 2 based fixed bin(17,0) array level 3 in structure "perform_list" dcl 2-6 in procedure "cobol_alter_perform" set ref 228* 255* 301 303* 303 305* proc_no 2 based fixed bin(17,0) array level 2 dcl 93 ref 227 254 343 proc_num 1 based fixed bin(17,0) array level 3 in structure "alter_list" dcl 1-7 in procedure "cobol_alter_perform" set ref 343* 361 366 369 379* 379 381* proc_num 1 based fixed bin(17,0) array level 3 in structure "perform_list" dcl 2-6 in procedure "cobol_alter_perform" set ref 227* 254* 284 289 292 302* 302 304* rel builtin function dcl 190 ref 209 396 seg 2 based structure array level 2 dcl 3-7 seg_init_list based structure level 1 dcl 3-7 seg_name 11 000010 internal static char(12) level 2 dcl 114 set ref 472* 477* seg_ovfl_error 000010 internal static structure level 1 dcl 114 set ref 474 474 479 479 signal_ 000034 constant entry external dcl 184 ref 474 479 size_perform_info 65 based char(5) level 2 packed packed unaligned dcl 5-26 set ref 218 220* space_max parameter fixed bin(17,0) dcl 53 ref 27 209 space_ptr parameter pointer dcl 53 set ref 27 209 213 321* 321 333 396 402* 402 403 450* 450 454 455* 455 substr builtin function dcl 190 ref 396 target_a_offset 4 based fixed bin(24,0) array level 3 in structure "alter_list" dcl 1-7 in procedure "cobol_alter_perform" set ref 386* target_a_offset 4 based fixed bin(24,0) array level 3 in structure "perform_list" dcl 2-6 in procedure "cobol_alter_perform" set ref 309* target_a_segno 3 based fixed bin(17,0) array level 3 in structure "perform_list" dcl 2-6 in procedure "cobol_alter_perform" set ref 308* target_a_segno 3 based fixed bin(17,0) array level 3 in structure "alter_list" dcl 1-7 in procedure "cobol_alter_perform" set ref 385* temp_min 000111 automatic fixed bin(17,0) dcl 103 set ref 284* 289 292* 304 361* 366 369* 381 temp_num 000112 automatic fixed bin(17,0) dcl 103 set ref 285* 293* 298 301 302 303 362* 370* 375 378 379 380 temp_pri 000113 automatic fixed bin(17,0) dcl 103 set ref 301* 305 378* 382 421* 422 426 439 unspec builtin function dcl 190 ref 234 263 309 321 386 392 402 455 wds_left 000102 automatic fixed bin(17,0) dcl 103 set ref 209* 224 229* 229 249 256* 256 317 320* 320 338 348* 348 392* 392 393 413* 413 435 444* 444 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 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_$cd_cnt external static fixed bin(17,0) dcl 4-196 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_$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_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_$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_$temp_token_ptr external static pointer dcl 4-44 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_afp defined pointer dcl 6-11 cobol_analin_fileno defined pointer dcl 6-13 cobol_cmfp defined pointer dcl 6-21 cobol_com_fileno defined pointer dcl 6-23 cobol_curr_in defined pointer dcl 6-53 cobol_curr_out defined pointer dcl 6-55 cobol_data_wd_off defined fixed bin(17,0) dcl 4-119 cobol_dfp defined pointer dcl 6-27 cobol_eltp defined pointer dcl 6-19 cobol_ext_$cobol_afp external static pointer dcl 6-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 6-12 cobol_ext_$cobol_cmfp external static pointer dcl 6-20 cobol_ext_$cobol_com_fileno external static pointer dcl 6-22 cobol_ext_$cobol_curr_in external static pointer dcl 6-52 cobol_ext_$cobol_curr_out external static pointer dcl 6-54 cobol_ext_$cobol_dfp external static pointer dcl 6-26 cobol_ext_$cobol_eltp external static pointer dcl 6-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 6-78 cobol_ext_$cobol_hfp external static pointer dcl 6-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 6-95 cobol_ext_$cobol_m1fp external static pointer dcl 6-30 cobol_ext_$cobol_m2fp external static pointer dcl 6-32 cobol_ext_$cobol_min1_fileno external static pointer dcl 6-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 6-36 cobol_ext_$cobol_name_fileno external static pointer dcl 6-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 6-40 cobol_ext_$cobol_ntfp external static pointer dcl 6-42 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 6-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 6-80 cobol_ext_$cobol_pdofp external static pointer dcl 6-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 6-82 cobol_ext_$cobol_pfp external static pointer dcl 6-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 6-84 cobol_ext_$cobol_rm2fp external static pointer dcl 6-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 6-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 6-50 cobol_ext_$cobol_rwdd external static pointer dcl 6-72 cobol_ext_$cobol_rwpd external static pointer dcl 6-74 cobol_ext_$cobol_sfp external static pointer dcl 6-56 cobol_ext_$cobol_w1p external static pointer dcl 6-58 cobol_ext_$cobol_w2p external static pointer dcl 6-60 cobol_ext_$cobol_w3p external static pointer dcl 6-62 cobol_ext_$cobol_w5p external static pointer dcl 6-64 cobol_ext_$cobol_w6p external static pointer dcl 6-66 cobol_ext_$cobol_w7p external static pointer dcl 6-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 6-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 6-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 6-92 cobol_ext_$cobol_x3fp external static pointer dcl 6-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 6-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 6-102 cobol_ext_$report_first_token external static pointer dcl 6-14 cobol_ext_$report_last_token external static pointer dcl 6-16 cobol_fileno1 defined fixed bin(24,0) dcl 6-79 cobol_hfp defined pointer dcl 6-29 cobol_lpr defined char(5) packed unaligned dcl 6-96 cobol_m1fp defined pointer dcl 6-31 cobol_m2fp defined pointer dcl 6-33 cobol_min1_fileno defined pointer dcl 6-35 cobol_min2_fileno_ptr defined pointer dcl 6-37 cobol_name_fileno defined pointer dcl 6-39 cobol_name_fileno_ptr defined pointer dcl 6-41 cobol_ntfp defined pointer dcl 6-43 cobol_options defined char(120) packed unaligned dcl 6-98 cobol_options_len defined fixed bin(24,0) dcl 6-81 cobol_pdofp defined pointer dcl 6-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 6-83 cobol_pfp defined pointer dcl 6-47 cobol_print_fileno defined fixed bin(24,0) dcl 6-85 cobol_rm2fp defined pointer dcl 6-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 6-87 cobol_rmin2fp defined pointer dcl 6-51 cobol_rwdd defined pointer dcl 6-73 cobol_rwpd defined pointer dcl 6-75 cobol_sfp defined pointer dcl 6-57 cobol_w1p defined pointer dcl 6-59 cobol_w2p defined pointer dcl 6-61 cobol_w3p defined pointer dcl 6-63 cobol_w5p defined pointer dcl 6-65 cobol_w6p defined pointer dcl 6-67 cobol_w7p defined pointer dcl 6-69 cobol_x1_fileno defined fixed bin(24,0) dcl 6-89 cobol_x2_fileno defined fixed bin(24,0) dcl 6-91 cobol_x3_fileno defined fixed bin(24,0) dcl 6-93 cobol_x3fp defined pointer dcl 6-71 cobol_xlast8 defined bit(1) packed unaligned dcl 6-101 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 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 include_cnt defined fixed bin(17,0) dcl 4-183 include_info_ptr defined pointer dcl 4-87 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 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 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_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 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 report_exists defined bit(1) packed unaligned dcl 6-103 report_first_token defined pointer dcl 6-15 report_last_token defined pointer dcl 6-17 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 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_alter_perform 000026 constant entry external dcl 27 counted 001000 constant label dcl 447 ref 431 end_of_list 000236 constant label dcl 271 ref 267 eof_size_perform 000137 constant label dcl 239 ref 234 exit 001051 constant label dcl 465 signal_altr_prform_ovfl 001052 constant label dcl 472 ref 224 249 317 338 393 435 signal_data_ovfl 001111 constant label dcl 477 ref 279 354 start 000033 constant label dcl 207 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1300 1354 1146 1310 Length 1676 1146 54 305 132 22 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_alter_perform 112 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 seg_ovfl_error cobol_alter_perform STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_alter_perform 000100 alt_per_recd_ptr cobol_alter_perform 000102 wds_left cobol_alter_perform 000103 index cobol_alter_perform 000104 jndex cobol_alter_perform 000105 make_even cobol_alter_perform 000106 no_fix_gos cobol_alter_perform 000107 num_alt_recds cobol_alter_perform 000110 num_recds cobol_alter_perform 000111 temp_min cobol_alter_perform 000112 temp_num cobol_alter_perform 000113 temp_pri cobol_alter_perform THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_read_rand signal_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$alter_list_ptr cobol_$cobol_data_wd_off cobol_$next_tag cobol_$perform_list_ptr cobol_$seg_init_flag cobol_$seg_init_list_ptr cobol_ext_$cobol_com_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 27 000022 207 000033 209 000034 213 000045 214 000046 215 000047 216 000050 218 000051 220 000060 221 000074 223 000077 224 000102 226 000105 227 000110 228 000122 229 000127 234 000131 237 000135 241 000137 243 000147 244 000163 248 000166 249 000170 253 000202 254 000205 255 000214 256 000221 258 000223 260 000224 263 000225 266 000231 267 000233 270 000234 274 000236 278 000242 279 000244 282 000250 284 000257 285 000265 287 000267 289 000277 292 000307 293 000310 296 000312 298 000314 301 000317 302 000326 303 000333 304 000335 305 000337 308 000341 309 000351 311 000355 312 000356 313 000360 315 000361 316 000363 317 000366 320 000371 321 000373 323 000406 324 000407 330 000411 333 000413 334 000417 335 000420 336 000421 338 000431 342 000442 343 000445 344 000454 345 000461 348 000470 353 000472 354 000474 359 000502 361 000511 362 000517 364 000521 366 000531 369 000541 370 000542 373 000544 375 000546 378 000551 379 000560 380 000565 381 000567 382 000571 385 000573 386 000603 388 000607 390 000610 392 000612 393 000625 396 000627 400 000643 402 000645 403 000653 404 000654 407 000656 408 000660 409 000661 410 000662 411 000663 412 000665 413 000666 415 000672 416 000673 418 000674 421 000707 422 000715 424 000717 426 000727 429 000740 431 000741 434 000742 435 000744 438 000747 439 000752 440 000760 441 000765 442 000766 443 000773 444 000776 447 001000 450 001002 452 001014 454 001023 455 001032 460 001044 461 001046 462 001047 465 001051 472 001052 474 001061 475 001110 477 001111 479 001116 480 001145 ----------------------------------------------------------- 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