COMPILATION LISTING OF SEGMENT cobol_arithop_gen Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1134.20_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* *********************************************************** */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 12* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 13* MCR8060 cobol_arithop_gen.pl1 Reformatted code to new Cobol standard. 14* END HISTORY COMMENTS */ 15 16 17 /* format: style3 */ 18 19 /* ****************************************************** 20* * * 21* * * 22* * Copyright (c) 1972 by Massachusetts Institute of * 23* * Technology and Honeywell Information Systems, Inc. * 24* * * 25* * * 26* ****************************************************** */ 27 28 /*{*/ 29 cobol_arithop_gen: 30 proc (in_token_ptr); 31 32 /* 33* The Arithmetic Operation Generator: cobol_arithop_gen 34* 35*FUNCTION 36* 37*The arithmetic operation generator is called to generate code for 38*the following arithmetic operations: 39* 40* 1. negation of one operand 41* 2. addition of two operands 42* 3. subtraction of one operand from another 43* 4. multiplication of one operand by another 44* 5. division of one operand by another 45* 6. raising one operand to a power specified by 46* another operand. 47* 48*INPUT 49* 50*The input to this procedure is a pointer that points to a 51*structure with a format defined by the follwoing declaration: 52*(NOTE: The actual declaration is done by an include file following 53*the executable statements of this procedure.) 54* 55*dcl 1 in_token aligned based (in_token_ptr), 56* 2 n fixed bin aligned, 57* 2 code fixed bin aligned, 58* 2 token_ptr ( 0 refer(in_token.n)) ptr aligned; 59* 60*The pointers in the array in_token.token_ptr point to tokens 61*that provide information required to generate code. The last two 62*or three entries in this array are of interest to 63*cobol_arithop_gen. 64* 65* 1. The last pointer (token_ptr(n)) points to an EOS 66*token (type 19) that defines the type of arithmetic operation 67*for which code is to be generated. The entry "end_stmt.e" in the 68*EOS token contains a value that defines the arithmetic operator. 69*(The declaration of the EOS token appears as an include file 70*following the executable statements of this procedure.) The 71*possible values of "end_stmt.e" and their meanings are given in 72*the following table: 73* 74* end_stmt.e value | meaning 75* ___________________________________________________ 76* 77* 182 | + (binary addition) 78* 183 | - (binary subtraction) 79* 184 | * (multiplication) 80* 185 | / (division) 81* 186 | ** (exponentiation) 82* 187 | unary minus (negation) 83* 84* 2. If the EOS indicates a negation operation, then only 85*in_token.token_ptr(n-1) is meaningful, and it points to the 86*token to be negated. Otherwise in_token.token_ptr(n-2) and 87*in_token.token_ptr(n-1) point to the two tokens that are to be 88*used in a binary operation. The pointer in in_token.token_ptr(n-2) 89*points to a token that appears to the left of the operator, and 90*the pointer in in_token.token_ptr(n-1) points to a token that 91*appears to the right of the operator in the source program. 92* 93*OUTPUT 94* 95*The execution of this procedure results in the generation of code 96*that performs the arithmetic operation, and the building of 97*a data name (type 9) token that describes the resultant operand. 98*A pointer to this resultant operand token is returned to the 99*calling procedure in the input in_token structure. For a negation 100*operation, the return pointer is returned in in_token.token_ptr(n-1). 101*For any other operation, the return pointer is returned in 102*in_token.token_ptr(n-2). The calling procedure also must know how 103*many entries in the in_token structure must be saved for subsequent 104*calls to cobol_arithop_gen or other generators. This information is 105*returned to the caller in the entry in_token.code, and is the 106*value of the subscript of the entry in array token_ptr that 107*points to the resultant operand token. Therefore, for a 108*negation operation,in_token.code is set to n-1, and for any other 109*operation, in_token.code is set to n-2. 110* 111**/ 112 /*}*/ 113 114 115 116 /* DECLARATION OF EXTERNAL ENTRIES */ 117 118 dcl cobol_make_type9$type2_3 119 ext entry (ptr, ptr); 120 dcl cobol_build_resop ext entry (ptr, ptr, fixed bin, ptr, bit (1), fixed bin, bit (1)); 121 dcl cobol_add3 ext entry (ptr, ptr, ptr, fixed bin); 122 dcl cobol_mpy3 ext entry (ptr, ptr, ptr, fixed bin); 123 dcl cobol_exp3 ext entry (ptr, ptr, ptr, fixed bin); 124 125 126 /* DECLARATION OF INTERNAL STATIC VARIABLES */ 127 128 /* Variables required for pooling of decimal minus one */ 129 130 dcl minus_one_pooled fixed bin int static init (0); 131 132 /* Buffer in which data name (tyype 9) token for minus one is saved */ 133 dcl minus_one_buff (1:40) fixed bin int static; 134 135 /* Pointer used to point to the minus one data name (type 9) token */ 136 dcl minus_one_ptr ptr int static; 137 138 /* Definition of a minus one numeric literal */ 139 140 dcl 1 minus_one_literal int static, 141 2 size fixed bin (15) init (37), 142 2 line fixed bin (15) init (0), 143 2 column fixed bin (15) init (0), 144 2 type fixed bin (15) init (2), 145 2 integral bit (1) init ("1"b), /* INTEGER */ 146 2 floating bit (1) init ("0"b), 147 2 filler1 bit (5) init ("0"b), 148 2 subscrript bit (1) init ("0"b), 149 2 sign char (1) init ("-"), 150 2 exp_sign char (1) init (" "), 151 2 exp_places fixed bin (15) init (0), 152 2 places_left fixed bin (15) init (1), 153 2 places_right fixed bin (15) init (0), 154 2 places fixed bin (15) init (1), 155 2 literal char (1) init ("1"); 156 157 158 /* Declarations of variables used to define values that can appear in the EOS field "end_stmt.e" */ 159 160 dcl eos_plus fixed bin (15) int static init (182); 161 dcl eos_minus fixed bin (15) int static init (183); 162 dcl eos_multiply fixed bin (15) int static init (184); 163 dcl eos_divide fixed bin (15) int static init (185); 164 dcl eos_exponentiate fixed bin (15) int static init (186); 165 dcl eos_unary_minus fixed bin (15) int static init (187); 166 167 168 /* DECLARATION OF INTERNAL ATOMATIC VARIABLES */ 169 170 dcl arithop fixed bin; 171 dcl return_index fixed bin; 172 dcl lop_ptr ptr; 173 dcl rop_ptr ptr; 174 dcl resultant_operand_ptr 175 ptr; 176 dcl possible_overflow_flag 177 bit (1); 178 dcl gen_code fixed bin; 179 180 181 /**************************************************/ 182 /* START OF EXECUTION */ 183 /* cobol_arithop_gen */ 184 /**************************************************/ 185 186 187 /* Base EOS template on the EOS token */ 188 eos_ptr = in_token.token_ptr (in_token.n); 189 190 if end_stmt.e = eos_unary_minus 191 then do; /* unary minus */ 192 if minus_one_pooled ^= cobol_$compile_count 193 then do; /* Must pool minus one literal */ 194 195 minus_one_ptr = addr (minus_one_buff (1)); 196 197 /* Pool the minus one literal and make a data name token */ 198 call cobol_make_type9$type2_3 (minus_one_ptr, addr (minus_one_literal)); 199 minus_one_pooled = cobol_$compile_count; 200 201 end; /* Must pool minus one literal */ 202 /* Set left op and right op pointers, and set arithop code to multiply */ 203 return_index = in_token.n - 1; /* Subscript of array element in which pointer 204* to resultant operand is returned */ 205 206 lop_ptr = in_token.token_ptr (return_index); 207 rop_ptr = minus_one_ptr; 208 arithop = eos_multiply; 209 210 end; /* unary minus */ 211 212 else do; /* A binary operator */ 213 214 215 return_index = in_token.n - 2; /* Subscript of token_ptr array element 216* in which pointer to resultant operand is returned */ 217 lop_ptr = in_token.token_ptr (return_index); 218 rop_ptr = in_token.token_ptr (return_index + 1); 219 arithop = end_stmt.e; 220 221 end; /* A binary operator */ 222 223 /* At this point, we have the following conditions: 224* 225* 1. lop_ptr points to the left operand token. 226* 2. rop_ptr points to the right operand token. (-1 literal for negation) 227* 3. arithop contains the operator code from end_stmt.e. ( or "multiply" for negation) 228* 229* */ 230 231 /* Build the operand for the result of the arithmetic operation */ 232 233 call cobol_build_resop (lop_ptr, rop_ptr, arithop, resultant_operand_ptr, "0"b /* no RDMAX*/, 0, 234 possible_overflow_flag); 235 236 /* Call the appropriate arithmetic generator to generate code */ 237 238 if (arithop = eos_plus | arithop = eos_minus) 239 then do; /* Add or subtract */ 240 241 if arithop = eos_plus 242 then gen_code = 1; /* add */ 243 else gen_code = 2; /* subtract */ 244 245 /* Reverse operands because for subtraction rop_ptr must appear first, and 246* addition is commutative, so order of the operands is irrelevant. */ 247 248 call cobol_add3 (rop_ptr, lop_ptr, resultant_operand_ptr, gen_code); 249 250 end; /* Add or subtract */ 251 252 else if (arithop = eos_multiply | arithop = eos_divide) 253 then do; /* Multiply or divide */ 254 255 if arithop = eos_multiply 256 then gen_code = 1; /* Multiply */ 257 else gen_code = 2; /* Divide */ 258 259 /* Reverse order of operands, because for divison, rop_ptr must 260* appear first. Multiplication is commutative, so the order 261* of the operands is irrelevant. */ 262 call cobol_mpy3 (rop_ptr, lop_ptr, resultant_operand_ptr, gen_code); 263 264 end; /* Multiply or divide */ 265 266 else /* ASSUME EXPONENTIATION */ 267 call cobol_exp3 (lop_ptr, rop_ptr, resultant_operand_ptr, 0); 268 269 270 /* At this point, code has been generated to effect the arithmetic operation, 271* and the pointer resultant_operand_ptr points to a data name (type 9) token 272* that describes the result of the operation */ 273 274 /* Set appropriate entry in the token_ptr array to point to the resultant operand */ 275 in_token.token_ptr (return_index) = resultant_operand_ptr; 276 277 /* Set in_token.code to tell the caller how many elements of the token_ptr array 278* are to be "saved" */ 279 280 in_token.code = return_index; 281 282 /**************************************************/ 283 /* END OF EXECUTABLE STATEMENTS */ 284 /* cobol_arithop_gen */ 285 /**************************************************/ 286 287 /* INCLUDE FILES USED BY THIS PROCEDURE */ 288 289 290 /***** Declaration for builtin function *****/ 291 292 dcl (substr, mod, binary, fixed, addr, addrel, rel, length, string, unspec, null, index) 293 builtin; 294 295 /***** End of declaration for builtin function *****/ 296 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_in_token.incl.pl1 */ 1 3 1 4 /* Last modified August 22, 1974 by AEG */ 1 5 1 6 1 7 declare in_token_ptr ptr; 1 8 1 9 declare 1 in_token aligned based(in_token_ptr), 1 10 2 n fixed bin aligned, 1 11 2 code fixed bin aligned, 1 12 2 token_ptr(0 refer(in_token.n)) ptr aligned; 1 13 1 14 1 15 /* END INCLUDE FILE ... cobol_in_token.incl.pl1 */ 1 16 297 298 299 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 2 3 /* last modified Feb 4, 1977 by ORN */ 2 4 2 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 2 6 2 7 /* POINTERS */ 2 8 dcl cobol_$text_base_ptr ptr ext; 2 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 2 10 dcl cobol_$con_end_ptr ptr ext; 2 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 2 12 dcl cobol_$def_base_ptr ptr ext; 2 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 2 14 dcl cobol_$link_base_ptr ptr ext; 2 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 2 16 dcl cobol_$sym_base_ptr ptr ext; 2 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 2 18 dcl cobol_$reloc_text_base_ptr ptr ext; 2 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 2 20 dcl cobol_$reloc_def_base_ptr ptr ext; 2 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 2 22 dcl cobol_$reloc_link_base_ptr ptr ext; 2 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 2 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 2 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 2 26 dcl cobol_$reloc_work_base_ptr ptr ext; 2 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 2 28 dcl cobol_$pd_map_ptr ptr ext; 2 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 2 30 dcl cobol_$fixup_ptr ptr ext; 2 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 2 32 dcl cobol_$initval_base_ptr ptr ext; 2 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 2 34 dcl cobol_$initval_file_ptr ptr ext; 2 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 2 36 dcl cobol_$perform_list_ptr ptr ext; 2 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 2 38 dcl cobol_$alter_list_ptr ptr ext; 2 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 2 40 dcl cobol_$seg_init_list_ptr ptr ext; 2 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 2 42 dcl cobol_$temp_token_area_ptr ptr ext; 2 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 2 44 dcl cobol_$temp_token_ptr ptr ext; 2 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 2 46 dcl cobol_$token_block1_ptr ptr ext; 2 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 2 48 dcl cobol_$token_block2_ptr ptr ext; 2 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 2 50 dcl cobol_$minpral5_ptr ptr ext; 2 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 2 52 dcl cobol_$tag_table_ptr ptr ext; 2 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 2 54 dcl cobol_$map_data_ptr ptr ext; 2 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 2 56 dcl cobol_$ptr_status_ptr ptr ext; 2 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 2 58 dcl cobol_$reg_status_ptr ptr ext; 2 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 2 60 dcl cobol_$misc_base_ptr ptr ext; 2 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 2 62 dcl cobol_$misc_end_ptr ptr ext; 2 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 2 64 dcl cobol_$list_ptr ptr ext; 2 65 dcl list_ptr ptr defined (cobol_$list_ptr); 2 66 dcl cobol_$allo1_ptr ptr ext; 2 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 2 68 dcl cobol_$eln_ptr ptr ext; 2 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 2 70 dcl cobol_$diag_ptr ptr ext; 2 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 2 72 dcl cobol_$xref_token_ptr ptr ext; 2 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 2 74 dcl cobol_$xref_chain_ptr ptr ext; 2 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 2 76 dcl cobol_$statement_info_ptr ptr ext; 2 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 2 78 dcl cobol_$reswd_ptr ptr ext; 2 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 2 80 dcl cobol_$op_con_ptr ptr ext; 2 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 2 82 dcl cobol_$ntbuf_ptr ptr ext; 2 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 2 84 dcl cobol_$main_pcs_ptr ptr ext; 2 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 2 86 dcl cobol_$include_info_ptr ptr ext; 2 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 2 88 2 89 /* FIXED BIN */ 2 90 dcl cobol_$text_wd_off fixed bin ext; 2 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 2 92 dcl cobol_$con_wd_off fixed bin ext; 2 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 2 94 dcl cobol_$def_wd_off fixed bin ext; 2 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 2 96 dcl cobol_$def_max fixed bin ext; 2 97 dcl def_max fixed bin defined (cobol_$def_max); 2 98 dcl cobol_$link_wd_off fixed bin ext; 2 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 2 100 dcl cobol_$link_max fixed bin ext; 2 101 dcl link_max fixed bin defined (cobol_$link_max); 2 102 dcl cobol_$sym_wd_off fixed bin ext; 2 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 2 104 dcl cobol_$sym_max fixed bin ext; 2 105 dcl sym_max fixed bin defined (cobol_$sym_max); 2 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 2 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 2 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 2 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 2 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 2 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 2 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 2 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 2 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 2 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 2 116 dcl cobol_$pd_map_index fixed bin ext; 2 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 2 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 2 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 2 120 dcl cobol_$stack_off fixed bin ext; 2 121 dcl stack_off fixed bin defined (cobol_$stack_off); 2 122 dcl cobol_$max_stack_off fixed bin ext; 2 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 2 124 dcl cobol_$init_stack_off fixed bin ext; 2 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 2 126 dcl cobol_$pd_map_sw fixed bin ext; 2 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 2 128 dcl cobol_$next_tag fixed bin ext; 2 129 dcl next_tag fixed bin defined (cobol_$next_tag); 2 130 dcl cobol_$data_init_flag fixed bin ext; 2 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 2 132 dcl cobol_$seg_init_flag fixed bin ext; 2 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 2 134 dcl cobol_$alter_flag fixed bin ext; 2 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 2 136 dcl cobol_$sect_eop_flag fixed bin ext; 2 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 2 138 dcl cobol_$para_eop_flag fixed bin ext; 2 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 2 140 dcl cobol_$priority_no fixed bin ext; 2 141 dcl priority_no fixed bin defined (cobol_$priority_no); 2 142 dcl cobol_$compile_count fixed bin ext; 2 143 dcl compile_count fixed bin defined (cobol_$compile_count); 2 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 2 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 2 146 dcl cobol_$reg_assumption_ind fixed bin ext; 2 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 2 148 dcl cobol_$perform_para_index fixed bin ext; 2 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 2 150 dcl cobol_$perform_sect_index fixed bin ext; 2 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 2 152 dcl cobol_$alter_index fixed bin ext; 2 153 dcl alter_index fixed bin defined (cobol_$alter_index); 2 154 dcl cobol_$list_off fixed bin ext; 2 155 dcl list_off fixed bin defined (cobol_$list_off); 2 156 dcl cobol_$constant_offset fixed bin ext; 2 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 2 158 dcl cobol_$misc_max fixed bin ext; 2 159 dcl misc_max fixed bin defined (cobol_$misc_max); 2 160 dcl cobol_$pd_map_max fixed bin ext; 2 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 2 162 dcl cobol_$map_data_max fixed bin ext; 2 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 2 164 dcl cobol_$fixup_max fixed bin ext; 2 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 2 166 dcl cobol_$tag_table_max fixed bin ext; 2 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 2 168 dcl cobol_$temp_token_max fixed bin ext; 2 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 2 170 dcl cobol_$allo1_max fixed bin ext; 2 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 2 172 dcl cobol_$eln_max fixed bin ext; 2 173 dcl eln_max fixed bin defined (cobol_$eln_max); 2 174 dcl cobol_$debug_enable fixed bin ext; 2 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 2 176 dcl cobol_$non_source_offset fixed bin ext; 2 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 2 178 dcl cobol_$initval_flag fixed bin ext; 2 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 2 180 dcl cobol_$date_compiled_sw fixed bin ext; 2 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 2 182 dcl cobol_$include_cnt fixed bin ext; 2 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 2 184 dcl cobol_$fs_charcnt fixed bin ext; 2 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 2 186 dcl cobol_$ws_charcnt fixed bin ext; 2 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 2 188 dcl cobol_$coms_charcnt fixed bin ext; 2 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 2 190 dcl cobol_$ls_charcnt fixed bin ext; 2 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 2 192 dcl cobol_$cons_charcnt fixed bin ext; 2 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 2 194 dcl cobol_$value_cnt fixed bin ext; 2 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 2 196 dcl cobol_$cd_cnt fixed bin ext; 2 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 2 198 dcl cobol_$fs_wdoff fixed bin ext; 2 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 2 200 dcl cobol_$ws_wdoff fixed bin ext; 2 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 2 202 dcl cobol_$coms_wdoff fixed bin ext; 2 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 2 204 2 205 /* CHARACTER */ 2 206 dcl cobol_$scratch_dir char (168) aligned ext; 2 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 2 208 dcl cobol_$obj_seg_name char (32) aligned ext; 2 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 2 210 2 211 /* BIT */ 2 212 dcl cobol_$xref_bypass bit(1) aligned ext; 2 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 2 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 2 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 2 216 2 217 2 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 2 219 2 220 300 301 302 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_type19.incl.pl1 */ 3 3 /* last modified on 11/19/76 by ORN */ 3 4 3 5 /* 3 6*A type 19 end of statement token is created in the procedure division 3 7*minpral file at the end of each minpral statement generated by the 3 8*procedure division syntax phase. A minpral statement may be a complete or 3 9*partial source language statement. A type 19 token contains information 3 10*describing the statement which it delimits. 3 11**/ 3 12 3 13 dcl eos_ptr ptr; 3 14 3 15 /* BEGIN DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 3 16 dcl 1 end_stmt based (eos_ptr), 4 1 4 2 /* begin include file ... cobol_TYPE19.incl.pl1 */ 4 3 /* Last modified on 11/17/76 by ORN */ 4 4 4 5 /* header */ 4 6 2 size fixed bin, 4 7 2 line fixed bin, 4 8 2 column fixed bin, 4 9 2 type fixed bin, 4 10 /* body */ 4 11 2 verb fixed bin, 4 12 2 e fixed bin, 4 13 2 h fixed bin, 4 14 2 i fixed bin, 4 15 2 j fixed bin, 4 16 2 a bit (3), 4 17 2 b bit (1), 4 18 2 c bit (1), 4 19 2 d bit (2), 4 20 2 f bit (2), 4 21 2 g bit (2), 4 22 2 k bit (5), 4 23 2 always_an bit (1); 4 24 4 25 /* end include file ... cobol_TYPE19.incl.pl1 */ 4 26 3 17 3 18 /* END DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 3 19 3 20 /* 3 21*FIELD CONTENTS 3 22* 3 23*size The total size in bytes of this end of statement token. 3 24*line 0 3 25*column 0 3 26*type 19 3 27*verb A value indicating the verb in this statement 3 28* 1 = accept 3 29* 2 = add 3 30* 3 = on size error 3 31* 4 = alter 3 32* 5 = call 3 33* 7 = cancel 3 34* 8 = close 3 35* 9 = divide 3 36* 10 = multiply 3 37* 11 = subtract 3 38* 12 = exit 3 39* 14 = go 3 40* 15 = merge 3 41* 16 = initiate 3 42* 17 = inspect 3 43* 18 = move 3 44* 19 = open 3 45* 20 = perform 3 46* 21 = read 3 47* 23 = receive 3 48* 24 = release 3 49* 25 = return 3 50* 26 = search 3 51* 27 = rewrite 3 52* 29 = seek 3 53* 30 = send 3 54* 31 = set 3 55* 33 = stop 3 56* 34 = string 3 57* 35 = suspend 3 58* 36 = terminate 3 59* 37 = unstring 3 60* 38 = write 3 61* 39 = use 3 62* 40 = compute 3 63* 41 = disable 3 64* 42 = display 3 65* 43 = enable 3 66* 45 = generate 3 67* 46 = hold 3 68* 48 = process 3 69* 49 = sort 3 70* 52 = procedure 3 71* 53 = declaratives 3 72* 54 = section name 3 73* 55 = paragraph name 3 74* 98 = end 3 75*e,h,i,j The significance of these fields differs with each 3 76* statement. These fields are normally used as counters. 3 77*a,b,c,d,f,g,k The significance of these fields differs with each 3 78* statement. These fields are normally used as indicators. 3 79**/ 3 80 3 81 /* END INCLUDE FILE ... cobol_type19.incl.pl1 */ 3 82 303 304 305 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_mcdb.incl.pl1 */ 5 3 /* Last modified on 10/31/74 by tlf */ 5 4 5 5 /* DECLARATION OF MCOBOL DEBUGGING SWITCHES */ 5 6 5 7 dcl cobol_mcdb_enable bit (1) ext static; 5 8 dcl cobol_mcdb_flag (1:100) bit (1) ext static; 5 9 5 10 /* ASSIGNMENT OF DEBUGGING SWITCHES */ 5 11 5 12 5 13 dcl mcdb_compare_gen fixed bin int static init (1); 5 14 dcl mcdb_compute_gen fixed bin int static init (2); 5 15 dcl mcdb_bldresop fixed bin int static init (3); 5 16 5 17 5 18 /* END INCLUDE FILE... cobol_mcdb.incl.pl1 */ 5 19 306 307 308 309 /**************************************************/ 310 /* END OF PROCEDURE */ 311 /* cobol_arithop_gen */ 312 /**************************************************/ 313 314 end cobol_arithop_gen; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1134.2 cobol_arithop_gen.pl1 >udd>sm>ds>w>ml>cobol_arithop_gen.pl1 297 1 11/11/82 1812.7 cobol_in_token.incl.pl1 >ldd>incl>cobol_in_token.incl.pl1 300 2 11/11/82 1812.7 cobol_.incl.pl1 >ldd>incl>cobol_.incl.pl1 303 3 03/27/82 0539.8 cobol_type19.incl.pl1 >ldd>incl>cobol_type19.incl.pl1 3-17 4 03/27/82 0539.6 cobol_TYPE19.incl.pl1 >ldd>incl>cobol_TYPE19.incl.pl1 306 5 03/27/82 0539.7 cobol_mcdb.incl.pl1 >ldd>incl>cobol_mcdb.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 292 ref 195 198 198 arithop 000100 automatic fixed bin(17,0) dcl 170 set ref 208* 219* 233* 238 238 241 252 252 255 cobol_$compile_count 000110 external static fixed bin(17,0) dcl 2-142 ref 192 199 cobol_add3 000102 constant entry external dcl 121 ref 248 cobol_build_resop 000100 constant entry external dcl 120 ref 233 cobol_exp3 000106 constant entry external dcl 123 ref 266 cobol_make_type9$type2_3 000076 constant entry external dcl 118 ref 198 cobol_mpy3 000104 constant entry external dcl 122 ref 262 code 1 based fixed bin(17,0) level 2 dcl 1-9 set ref 280* e 5 based fixed bin(17,0) level 2 dcl 3-16 ref 190 219 end_stmt based structure level 1 unaligned dcl 3-16 eos_divide constant fixed bin(15,0) initial dcl 163 ref 252 eos_minus constant fixed bin(15,0) initial dcl 161 ref 238 eos_multiply constant fixed bin(15,0) initial dcl 162 ref 208 252 255 eos_plus constant fixed bin(15,0) initial dcl 160 ref 238 241 eos_ptr 000112 automatic pointer dcl 3-13 set ref 188* 190 219 eos_unary_minus constant fixed bin(15,0) initial dcl 165 ref 190 gen_code 000111 automatic fixed bin(17,0) dcl 178 set ref 241* 243* 248* 255* 257* 262* in_token based structure level 1 dcl 1-9 in_token_ptr parameter pointer dcl 1-7 ref 29 188 188 203 206 215 217 218 275 280 lop_ptr 000102 automatic pointer dcl 172 set ref 206* 217* 233* 248* 262* 266* minus_one_buff 000011 internal static fixed bin(17,0) array dcl 133 set ref 195 minus_one_literal 000064 internal static structure level 1 unaligned dcl 140 set ref 198 198 minus_one_pooled 000010 internal static fixed bin(17,0) initial dcl 130 set ref 192 199* minus_one_ptr 000062 internal static pointer dcl 136 set ref 195* 198* 207 n based fixed bin(17,0) level 2 dcl 1-9 ref 188 203 215 possible_overflow_flag 000110 automatic bit(1) packed unaligned dcl 176 set ref 233* resultant_operand_ptr 000106 automatic pointer dcl 174 set ref 233* 248* 262* 266* 275 return_index 000101 automatic fixed bin(17,0) dcl 171 set ref 203* 206 215* 217 218 275 280 rop_ptr 000104 automatic pointer dcl 173 set ref 207* 218* 233* 248* 262* 266* token_ptr 2 based pointer array level 2 dcl 1-9 set ref 188 206 217 218 275* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 292 allo1_max defined fixed bin(17,0) dcl 2-171 allo1_ptr defined pointer dcl 2-67 alter_flag defined fixed bin(17,0) dcl 2-135 alter_index defined fixed bin(17,0) dcl 2-153 alter_list_ptr defined pointer dcl 2-39 binary builtin function dcl 292 cd_cnt defined fixed bin(17,0) dcl 2-197 cobol_$allo1_max external static fixed bin(17,0) dcl 2-170 cobol_$allo1_ptr external static pointer dcl 2-66 cobol_$alter_flag external static fixed bin(17,0) dcl 2-134 cobol_$alter_index external static fixed bin(17,0) dcl 2-152 cobol_$alter_list_ptr external static pointer dcl 2-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 2-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 2-118 cobol_$coms_charcnt external static fixed bin(17,0) dcl 2-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 2-202 cobol_$con_end_ptr external static pointer dcl 2-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 2-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 2-192 cobol_$constant_offset external static fixed bin(17,0) dcl 2-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 2-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 2-180 cobol_$debug_enable external static fixed bin(17,0) dcl 2-174 cobol_$def_base_ptr external static pointer dcl 2-12 cobol_$def_max external static fixed bin(17,0) dcl 2-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 2-94 cobol_$diag_ptr external static pointer dcl 2-70 cobol_$eln_max external static fixed bin(17,0) dcl 2-172 cobol_$eln_ptr external static pointer dcl 2-68 cobol_$fixup_max external static fixed bin(17,0) dcl 2-164 cobol_$fixup_ptr external static pointer dcl 2-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 2-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 2-198 cobol_$include_cnt external static fixed bin(17,0) dcl 2-182 cobol_$include_info_ptr external static pointer dcl 2-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 2-124 cobol_$initval_base_ptr external static pointer dcl 2-32 cobol_$initval_file_ptr external static pointer dcl 2-34 cobol_$initval_flag external static fixed bin(17,0) dcl 2-178 cobol_$link_base_ptr external static pointer dcl 2-14 cobol_$link_max external static fixed bin(17,0) dcl 2-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 2-98 cobol_$list_off external static fixed bin(17,0) dcl 2-154 cobol_$list_ptr external static pointer dcl 2-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 2-190 cobol_$main_pcs_ptr external static pointer dcl 2-84 cobol_$map_data_max external static fixed bin(17,0) dcl 2-162 cobol_$map_data_ptr external static pointer dcl 2-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 2-122 cobol_$minpral5_ptr external static pointer dcl 2-50 cobol_$misc_base_ptr external static pointer dcl 2-60 cobol_$misc_end_ptr external static pointer dcl 2-62 cobol_$misc_max external static fixed bin(17,0) dcl 2-158 cobol_$next_tag external static fixed bin(17,0) dcl 2-128 cobol_$non_source_offset external static fixed bin(17,0) dcl 2-176 cobol_$ntbuf_ptr external static pointer dcl 2-82 cobol_$obj_seg_name external static char(32) dcl 2-208 cobol_$op_con_ptr external static pointer dcl 2-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 2-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 2-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 2-160 cobol_$pd_map_ptr external static pointer dcl 2-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 2-126 cobol_$perform_list_ptr external static pointer dcl 2-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 2-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 2-150 cobol_$priority_no external static fixed bin(17,0) dcl 2-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 2-144 cobol_$ptr_status_ptr external static pointer dcl 2-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 2-146 cobol_$reg_status_ptr external static pointer dcl 2-58 cobol_$reloc_def_base_ptr external static pointer dcl 2-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 2-108 cobol_$reloc_link_base_ptr external static pointer dcl 2-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 2-110 cobol_$reloc_sym_base_ptr external static pointer dcl 2-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 2-112 cobol_$reloc_text_base_ptr external static pointer dcl 2-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 2-106 cobol_$reloc_work_base_ptr external static pointer dcl 2-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 2-114 cobol_$reswd_ptr external static pointer dcl 2-78 cobol_$same_sort_merge_proc external static bit(1) dcl 2-214 cobol_$scratch_dir external static char(168) dcl 2-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 2-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 2-132 cobol_$seg_init_list_ptr external static pointer dcl 2-40 cobol_$stack_off external static fixed bin(17,0) dcl 2-120 cobol_$statement_info_ptr external static pointer dcl 2-76 cobol_$sym_base_ptr external static pointer dcl 2-16 cobol_$sym_max external static fixed bin(17,0) dcl 2-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 2-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 2-166 cobol_$tag_table_ptr external static pointer dcl 2-52 cobol_$temp_token_area_ptr external static pointer dcl 2-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 2-168 cobol_$temp_token_ptr external static pointer dcl 2-44 cobol_$text_base_ptr external static pointer dcl 2-8 cobol_$text_wd_off external static fixed bin(17,0) dcl 2-90 cobol_$token_block1_ptr external static pointer dcl 2-46 cobol_$token_block2_ptr external static pointer dcl 2-48 cobol_$value_cnt external static fixed bin(17,0) dcl 2-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 2-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 2-200 cobol_$xref_bypass external static bit(1) dcl 2-212 cobol_$xref_chain_ptr external static pointer dcl 2-74 cobol_$xref_token_ptr external static pointer dcl 2-72 cobol_data_wd_off defined fixed bin(17,0) dcl 2-119 cobol_mcdb_enable external static bit(1) packed unaligned dcl 5-7 cobol_mcdb_flag external static bit(1) array packed unaligned dcl 5-8 compile_count defined fixed bin(17,0) dcl 2-143 coms_charcnt defined fixed bin(17,0) dcl 2-189 coms_wdoff defined fixed bin(17,0) dcl 2-203 con_end_ptr defined pointer dcl 2-11 con_wd_off defined fixed bin(17,0) dcl 2-93 cons_charcnt defined fixed bin(17,0) dcl 2-193 constant_offset defined fixed bin(17,0) dcl 2-157 data_init_flag defined fixed bin(17,0) dcl 2-131 date_compiled_sw defined fixed bin(17,0) dcl 2-181 debug_enable defined fixed bin(17,0) dcl 2-175 def_base_ptr defined pointer dcl 2-13 def_max defined fixed bin(17,0) dcl 2-97 def_wd_off defined fixed bin(17,0) dcl 2-95 diag_ptr defined pointer dcl 2-71 eln_max defined fixed bin(17,0) dcl 2-173 eln_ptr defined pointer dcl 2-69 eos_exponentiate internal static fixed bin(15,0) initial dcl 164 fixed builtin function dcl 292 fixup_max defined fixed bin(17,0) dcl 2-165 fixup_ptr defined pointer dcl 2-31 fs_charcnt defined fixed bin(17,0) dcl 2-185 fs_wdoff defined fixed bin(17,0) dcl 2-199 include_cnt defined fixed bin(17,0) dcl 2-183 include_info_ptr defined pointer dcl 2-87 index builtin function dcl 292 init_stack_off defined fixed bin(17,0) dcl 2-125 initval_base_ptr defined pointer dcl 2-33 initval_file_ptr defined pointer dcl 2-35 initval_flag defined fixed bin(17,0) dcl 2-179 length builtin function dcl 292 link_base_ptr defined pointer dcl 2-15 link_max defined fixed bin(17,0) dcl 2-101 link_wd_off defined fixed bin(17,0) dcl 2-99 list_off defined fixed bin(17,0) dcl 2-155 list_ptr defined pointer dcl 2-65 ls_charcnt defined fixed bin(17,0) dcl 2-191 main_pcs_ptr defined pointer dcl 2-85 map_data_max defined fixed bin(17,0) dcl 2-163 map_data_ptr defined pointer dcl 2-55 max_stack_off defined fixed bin(17,0) dcl 2-123 mcdb_bldresop internal static fixed bin(17,0) initial dcl 5-15 mcdb_compare_gen internal static fixed bin(17,0) initial dcl 5-13 mcdb_compute_gen internal static fixed bin(17,0) initial dcl 5-14 minpral5_ptr defined pointer dcl 2-51 misc_base_ptr defined pointer dcl 2-61 misc_end_ptr defined pointer dcl 2-63 misc_max defined fixed bin(17,0) dcl 2-159 mod builtin function dcl 292 next_tag defined fixed bin(17,0) dcl 2-129 non_source_offset defined fixed bin(17,0) dcl 2-177 ntbuf_ptr defined pointer dcl 2-83 null builtin function dcl 292 obj_seg_name defined char(32) dcl 2-209 op_con_ptr defined pointer dcl 2-81 para_eop_flag defined fixed bin(17,0) dcl 2-139 pd_map_index defined fixed bin(17,0) dcl 2-117 pd_map_max defined fixed bin(17,0) dcl 2-161 pd_map_ptr defined pointer dcl 2-29 pd_map_sw defined fixed bin(17,0) dcl 2-127 perform_list_ptr defined pointer dcl 2-37 perform_para_index defined fixed bin(17,0) dcl 2-149 perform_sect_index defined fixed bin(17,0) dcl 2-151 priority_no defined fixed bin(17,0) dcl 2-141 ptr_assumption_ind defined fixed bin(17,0) dcl 2-145 ptr_status_ptr defined pointer dcl 2-57 reg_assumption_ind defined fixed bin(17,0) dcl 2-147 reg_status_ptr defined pointer dcl 2-59 rel builtin function dcl 292 reloc_def_base_ptr defined pointer dcl 2-21 reloc_def_max defined fixed bin(24,0) dcl 2-109 reloc_link_base_ptr defined pointer dcl 2-23 reloc_link_max defined fixed bin(24,0) dcl 2-111 reloc_sym_base_ptr defined pointer dcl 2-25 reloc_sym_max defined fixed bin(24,0) dcl 2-113 reloc_text_base_ptr defined pointer dcl 2-19 reloc_text_max defined fixed bin(24,0) dcl 2-107 reloc_work_base_ptr defined pointer dcl 2-27 reloc_work_max defined fixed bin(24,0) dcl 2-115 reswd_ptr defined pointer dcl 2-79 same_sort_merge_proc defined bit(1) dcl 2-215 scratch_dir defined char(168) dcl 2-207 sect_eop_flag defined fixed bin(17,0) dcl 2-137 seg_init_flag defined fixed bin(17,0) dcl 2-133 seg_init_list_ptr defined pointer dcl 2-41 stack_off defined fixed bin(17,0) dcl 2-121 statement_info_ptr defined pointer dcl 2-77 string builtin function dcl 292 substr builtin function dcl 292 sym_base_ptr defined pointer dcl 2-17 sym_max defined fixed bin(17,0) dcl 2-105 sym_wd_off defined fixed bin(17,0) dcl 2-103 tag_table_max defined fixed bin(17,0) dcl 2-167 tag_table_ptr defined pointer dcl 2-53 temp_token_area_ptr defined pointer dcl 2-43 temp_token_max defined fixed bin(17,0) dcl 2-169 temp_token_ptr defined pointer dcl 2-45 text_base_ptr defined pointer dcl 2-9 text_wd_off defined fixed bin(17,0) dcl 2-91 token_block1_ptr defined pointer dcl 2-47 token_block2_ptr defined pointer dcl 2-49 unspec builtin function dcl 292 value_cnt defined fixed bin(17,0) dcl 2-195 ws_charcnt defined fixed bin(17,0) dcl 2-187 ws_wdoff defined fixed bin(17,0) dcl 2-201 xref_bypass defined bit(1) dcl 2-213 xref_chain_ptr defined pointer dcl 2-75 xref_token_ptr defined pointer dcl 2-73 NAME DECLARED BY EXPLICIT CONTEXT. cobol_arithop_gen 000004 constant entry external dcl 29 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 344 456 241 354 Length 730 241 112 236 103 66 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_arithop_gen 102 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 minus_one_pooled cobol_arithop_gen 000011 minus_one_buff cobol_arithop_gen 000062 minus_one_ptr cobol_arithop_gen 000064 minus_one_literal cobol_arithop_gen STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_arithop_gen 000100 arithop cobol_arithop_gen 000101 return_index cobol_arithop_gen 000102 lop_ptr cobol_arithop_gen 000104 rop_ptr cobol_arithop_gen 000106 resultant_operand_ptr cobol_arithop_gen 000110 possible_overflow_flag cobol_arithop_gen 000111 gen_code cobol_arithop_gen 000112 eos_ptr cobol_arithop_gen THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_add3 cobol_build_resop cobol_exp3 cobol_make_type9$type2_3 cobol_mpy3 THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$compile_count LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 29 000001 188 000011 190 000020 192 000023 195 000026 198 000030 199 000042 203 000045 206 000052 207 000056 208 000060 210 000062 215 000063 217 000066 218 000072 219 000075 233 000100 238 000125 241 000132 243 000137 248 000141 250 000156 252 000157 255 000163 257 000170 262 000172 264 000207 266 000210 275 000226 280 000234 314 000240 ----------------------------------------------------------- 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