COMPILATION LISTING OF SEGMENT cobol_short_to_longbin Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 05/24/89 1029.5 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 17* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 18* MCR8060 cobol_short_to_longbin.pl1 Added Trace statements. 19* END HISTORY COMMENTS */ 20 21 22 /* Modified on 11/16/84 by FCH, [5.3...], trace added */ 23 /* Modified on 10/19/84 by FCH, [5.3-1], BUG563(phx18381), new cobol_addr_tokens.incl.pl1 */ 24 /* Modified since Version 5.3 */ 25 26 27 28 29 30 /*{*/ 31 32 /* format: style3 */ 33 cobol_short_to_longbin: 34 proc (source_token_ptr, target_token_ptr); 35 36 /* 37*This procedure generates code to convert a short binary datum 38*to a long binary datum using the hardware registers. 39**/ 40 41 /* DECLARATION OF THE PARAMETERS */ 42 43 dcl source_token_ptr ptr; 44 dcl target_token_ptr ptr; 45 46 /* DESCRIPTION OF THE PARAMETERS */ 47 48 /* 49*PARAMETER DESCRIPTION 50* 51*source_token_ptr Pointer to a token that describes the short 52* binary datum to be converted. This token 53* will always be a data name (type 9) token. 54* (input) 55*target_token_ptr Pointer to a token that describes the long 56* binary result of the conversion. The contents 57* of this pointer on input to this procedure 58* vary in meaning, depending on the entry 59* point called. See "Additional Details" 60* below. 61* 62**/ 63 64 /* 65* 66*Additional Details 67* 68*This procedure has two entry points: 69* 1. $register 70* 2. $temp 71* 72*When called at the "register" entry point, code is generated to 73*convert the short binary to a long binary, and leave the long 74*binary result in a hardware register. (either A orQ). The 75*token poihted at by target_token_ptr will be a register (type100) 76*token. The register containing the long binary value 77*will be locked. 78*If target_token_ptr is null on input, then this procedure 79*chooses the register in which the short binary value is converted. 80*Space for the register token in provided by this procedure. 81*If target_token_ptr is not null on input, then it must point to 82*a register token (type 100) that specifies the register into 83*which the short binary value is to be converted and returned. 84*This procedure acquires (loads) and locks the specified register. 85* 86* 87*When called at the "temp" entry point, code is generated to 88*convert the short binary to a long binary, and store the 89*result into a temporary in the stack. The token pointed at by 90*target_token_ptr on exit will be a data name (type 9) token. 91*If target_token_ptr is null on input, then space for the data name 92*token is provided by this procedure. If target_token_ptr 93*is not null, then it must point to a buffer in which the data name 94*token is to be built. 95* 96* 97**/ 98 99 /* DECLARATION OF EXTERNAL ENTRIES */ 100 101 dcl cobol_alloc$stack ext entry (fixed bin, fixed bin, fixed bin (24)); 102 dcl cobol_make_type9$long_bin 103 ext entry (ptr, fixed bin, fixed bin (24)); 104 dcl cobol_addr ext entry (ptr, ptr, ptr); 105 dcl cobol_emit ext entry (ptr, ptr, fixed bin); 106 dcl cobol_register$release 107 ext entry (ptr); 108 dcl cobol_register$load ext entry (ptr); 109 110 /* DECLARATION OF INTERNAL STATIC DATA */ 111 112 dcl shift_inst bit (36) int static init ("000000000000010010000000000000000000"b); 113 /* 18 in upper half */ 114 115 dcl STA bit (10) int static init ("1111011010"b); 116 /* 755(0) */ 117 dcl STQ bit (10) int static init ("1111011100"b); 118 /* 756(0) */ 119 dcl LDA bit (10) int static init ("0100111010"b); 120 /* 235(0) */ 121 dcl LDQ bit (10) int static init ("0100111100"b); 122 /* 236(0) */ 123 dcl ALS bit (10) int static init ("1110111010"b); 124 /* 735(0) */ 125 dcl QLS bit (10) int static init ("1110111100"b); 126 /* 736(0) */ 127 dcl ARS bit (10) int static init ("1110110010"b); 128 /* 731(0) */ 129 dcl QRS bit (10) int static init ("1110110100"b); 130 /* 732(0) */ 131 132 133 /* DECLARATION OF INTERNAL VARIABLES */ 134 135 dcl char_offset fixed bin (24); 136 dcl temp_target_ptr ptr; 137 138 dcl 1 input_buff aligned, 139 2 buff (1:10) ptr; 140 dcl 1 inst_buff aligned, 141 2 buff (1:5) fixed bin; 142 dcl 1 reloc_buff aligned, 143 2 buff (1:6) bit (5) aligned; 144 145 146 dcl 1 register_struc, 147 2 what_reg fixed bin, 148 2 reg_no bit (4), 149 2 lock fixed bin, 150 2 already_there fixed bin, 151 2 contains fixed bin, 152 2 tok_ptr ptr, 153 2 literal bit (36); 154 155 dcl shift_inst_ptr ptr; 156 dcl any_register bit (1); 157 158 dcl dn_ptr ptr; 159 160 /*************************************************/ 161 /* ENTRY POINT: register */ 162 /**************************************************/ 163 164 register: 165 entry (source_token_ptr, target_token_ptr); 166 167 /* 168*This entry point generates code to convert a short binary datum 169*to a long binary datum, and leaves the long binary result in 170*a hardware register. (either A or Q). 171**/ 172 /***..... dcl LOCAL_NAME char (9) int static init ("$REGISTER");/**/ 173 /***..... if Trace_Bit then call cobol_gen_driver_$Tr_Beg(MY_NAME||LOCAL_NAME);/**/ 174 175 176 any_register = "0"b; 177 if target_token_ptr = null () 178 then do; /* Create space for the target token. */ 179 target_token_ptr = cobol_$temp_token_ptr; 180 cobol_$temp_token_ptr = addrel (cobol_$temp_token_ptr, 5); 181 any_register = "1"b; 182 end; /* Create space for the target token. */ 183 call common_processing (source_token_ptr, target_token_ptr, any_register); 184 185 /***************************************************/ 186 /* RETURN POINT: register */ 187 /**************************************************/ 188 189 clbx: /***..... if Trace_Bit then call cobol_gen_driver_$Tr_End(MY_NAME);/**/ 190 return; 191 192 193 194 /**************************************************/ 195 /* ENTRY POINT: temp */ 196 /**************************************************/ 197 temp: 198 entry (source_token_ptr, target_token_ptr); 199 dcl work_buff (1:5) ptr; 200 201 /***..... dcl LOCAL_NAME2 char (5) int static init ("$TEMP");/**/ 202 /***..... if Trace_Bit then call cobol_gen_driver_$Tr_Beg(MY_NAME||LOCAL_NAME2);/**/ 203 204 205 /* Allocate space in the stack to hold the long binary result of the conversion. */ 206 call cobol_alloc$stack (4, 0, char_offset); 207 208 /* Make a long binary data name (type 9) token */ 209 call cobol_make_type9$long_bin (target_token_ptr, 1000 /*stack*/, char_offset); 210 211 temp_target_ptr = addr (work_buff (1)); 212 temp_target_ptr -> cobol_type100.type = 100; 213 any_register = "1"b; 214 call common_processing (source_token_ptr, temp_target_ptr, any_register); 215 216 /* On returning from common_processing, code has been generated to convert 217* the short binary in a register. The result is in the register, and 218* temp_target_ptr points to the register token that describes the 219* register that contains the result. */ 220 221 input_ptr = addr (input_buff); 222 inst_ptr = addr (inst_buff); 223 reloc_ptr = addr (reloc_buff); 224 225 input_struc_basic.type = 1; 226 input_struc_basic.operand_no = 0; 227 input_struc_basic.lock = 0; 228 input_struc_basic.segno = target_token_ptr -> data_name.seg_num; 229 input_struc_basic.char_offset = target_token_ptr -> data_name.offset; 230 231 /* Get the address of the temp in which to store the long fixed binary. */ 232 call cobol_addr (input_ptr, inst_ptr, reloc_ptr); 233 234 if register_struc.reg_no = "0001"b /* A register */ 235 then inst_struc_basic.fill1_op = STA; 236 else inst_struc_basic.fill1_op = STQ; /* Emit code to store the register into the temp */ 237 call cobol_emit (inst_ptr, null (), 1); 238 239 /* Unlock the register */ 240 call cobol_register$release (addr (register_struc)); 241 242 /**************************************************/ 243 /* RETURN POINT: temp */ 244 /**************************************************/ 245 246 go to clbx; 247 248 249 /**************************************************/ 250 /* INTERNAL PROCEDURE */ 251 /* common_processing */ 252 /**************************************************/ 253 254 common_processing: 255 proc (source_tok_ptr, target_tok_ptr, any_register_flag); 256 257 /* 258*This internal procedure generates code to load a short binary value 259*into the A or Q register, and shift it as necessary to extend the sign, and 260*produce an equivalent long binary value in the same register. 261**/ 262 263 dcl source_tok_ptr ptr; 264 dcl target_tok_ptr ptr; 265 dcl any_register_flag bit (1); 266 267 /* DESCRIPTION OF THE PARAMETERS */ 268 269 /* 270*PARAMETER DESCRIPTION 271* 272*source_tok_ptr Pointer to the data name token (type9) 273* for the short binary datum to be converted 274* to long binary. (input) 275*target_tok_ptr Pointer to a register token (type 100) 276* for the register which is to contain the 277* converted value. (input) 278*any_register_flag A flag that indicates whether any register 279* may be used for the conversion, or whether 280* the input register token specifies a 281* particular register to be used. If "1"b, 282* then any register may be used. 283* 284* 285**/ 286 287 /* Establish addressability to the source of conversion */ 288 input_ptr = addr (input_buff); 289 inst_ptr = addr (inst_buff); 290 reloc_ptr = addr (reloc_buff); 291 292 input_struc.type = 2; 293 input_struc.operand_no = 1; 294 input_struc.operand.token_ptr (1) = source_tok_ptr; 295 input_struc.operand.size_sw (1) = 0; 296 call cobol_addr (input_ptr, inst_ptr, reloc_ptr); 297 298 if any_register_flag 299 then register_struc.what_reg = 4; /* A or Q */ 300 else if target_token_ptr -> cobol_type100.register = "0001"b 301 then register_struc.what_reg = 1; /* A */ 302 else register_struc.what_reg = 2; /* Q */ 303 304 register_struc.lock = 1; /* LOCK the register */ 305 register_struc.contains = 0; 306 call cobol_register$load (addr (register_struc)); 307 308 if register_struc.reg_no = "0001"b /* A */ 309 then inst_struc_basic.fill1_op = LDA; 310 else inst_struc_basic.fill1_op = LDQ; 311 312 call cobol_emit (inst_ptr, reloc_ptr, 1); 313 314 shift_inst_ptr = addr (shift_inst); 315 if mod (source_tok_ptr -> data_name.offset, 4) ^= 0 316 then do; /* source is half-word aligned, and is presently in A or Qlower */ 317 318 if register_struc.reg_no = "0001"b 319 then shift_inst_ptr -> inst_struc_basic.fill1_op = ALS; 320 else shift_inst_ptr -> inst_struc_basic.fill1_op = QLS; 321 322 /* Emit code to shift the short binary to upper of A or Q */ 323 call cobol_emit (shift_inst_ptr, null (), 1); 324 end; /* Source is half-word aligned, and is presently in A or q lower. */ 325 326 if register_struc.reg_no = "0001"b /* A */ 327 then shift_inst_ptr -> inst_struc_basic.fill1_op = ARS; 328 else shift_inst_ptr -> inst_struc_basic.fill1_op = QRS; 329 /* Emit code to shift the value in upper to lower, extending the sign */ 330 call cobol_emit (shift_inst_ptr, null (), 1); 331 332 /* Set the register number of the register containing the long binary value into the output token. */ 333 target_tok_ptr -> cobol_type100.register = register_struc.reg_no; 334 target_tok_ptr -> cobol_type100.type = 100; 335 end common_processing; 336 337 /***..... dcl cobol_gen_driver_$Tr_Beg entry(char(*));/**/ 338 /***..... dcl cobol_gen_driver_$Tr_End entry(char(*));/**/ 339 340 /***..... dcl Trace_Bit bit(1) static external;/**/ 341 /***..... dcl Trace_Lev fixed bin static external;/**/ 342 /***..... dcl Trace_Line char(36) static external;/**/ 343 /***..... dcl ioa_ entry options(variable); /**/ 344 /***..... dcl MY_NAME char (22) int static init ("COBOL_SHORT_TO_LONGBIN");/**/ 345 346 347 /* INCLUDE FILES USED BY THIS PROCEDRUE */ 348 349 350 /***** Declaration for builtin function *****/ 351 352 dcl (substr, mod, binary, fixed, addr, addrel, rel, length, string, unspec, null, index) 353 builtin; 354 355 /***** End of declaration for builtin function *****/ 356 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_type9.incl.pl1 */ 1 3 /* Last modified on 11/19/76 by ORN */ 1 4 1 5 /* 1 6*A type 9 data name token is entered into the name table by the data 1 7*division syntax phase for each data name described in the data division. 1 8*The replacement phase subsequently replaces type 8 user word references 1 9*to data names in the procedure division minpral file with the corresponding 1 10*type 9 tokens from the name table. 1 11**/ 1 12 1 13 /* dcl dn_ptr ptr; */ 1 14 1 15 /* BEGIN DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 1 16 dcl 1 data_name based (dn_ptr), 2 1 2 2 /* begin include file ... cobol_TYPE9.incl.pl1 */ 2 3 /* Last modified on 06/19/77 by ORN */ 2 4 /* Last modified on 12/28/76 by FCH */ 2 5 2 6 /* header */ 2 7 2 size fixed bin, 2 8 2 line fixed bin, 2 9 2 column fixed bin, 2 10 2 type fixed bin, 2 11 /* body */ 2 12 2 string_ptr ptr, 2 13 2 prev_rec ptr, 2 14 2 searched bit (1), 2 15 2 duplicate bit (1), 2 16 2 saved bit (1), 2 17 2 debug_ind bit (1), 2 18 2 filler2 bit (3), 2 19 2 used_as_sub bit (1), 2 20 2 def_line fixed bin, 2 21 2 level fixed bin, 2 22 2 linkage fixed bin, 2 23 2 file_num fixed bin, 2 24 2 size_rtn fixed bin, 2 25 2 item_length fixed bin(24), 2 26 2 places_left fixed bin, 2 27 2 places_right fixed bin, 2 28 /* description */ 2 29 2 file_section bit (1), 2 30 2 working_storage bit (1), 2 31 2 constant_section bit (1), 2 32 2 linkage_section bit (1), 2 33 2 communication_section bit (1), 2 34 2 report_section bit (1), 2 35 2 level_77 bit (1), 2 36 2 level_01 bit (1), 2 37 2 non_elementary bit (1), 2 38 2 elementary bit (1), 2 39 2 filler_item bit (1), 2 40 2 s_of_rdf bit (1), 2 41 2 o_of_rdf bit (1), 2 42 2 bin_18 bit (1), 2 43 2 bin_36 bit (1), 2 44 2 pic_has_l bit (1), 2 45 2 pic_is_do bit (1), 2 46 2 numeric bit (1), 2 47 2 numeric_edited bit (1), 2 48 2 alphanum bit (1), 2 49 2 alphanum_edited bit (1), 2 50 2 alphabetic bit (1), 2 51 2 alphabetic_edited bit (1), 2 52 2 pic_has_p bit (1), 2 53 2 pic_has_ast bit (1), 2 54 2 item_signed bit(1), 2 55 2 sign_separate bit (1), 2 56 2 display bit (1), 2 57 2 comp bit (1), 2 58 2 ascii_packed_dec_h bit (1), /* as of 8/16/76 this field used for comp8. */ 2 59 2 ascii_packed_dec bit (1), 2 60 2 ebcdic_packed_dec bit (1), 2 61 2 bin_16 bit (1), 2 62 2 bin_32 bit (1), 2 63 2 usage_index bit (1), 2 64 2 just_right bit (1), 2 65 2 compare_argument bit (1), 2 66 2 sync bit (1), 2 67 2 temporary bit (1), 2 68 2 bwz bit (1), 2 69 2 variable_length bit (1), 2 70 2 subscripted bit (1), 2 71 2 occurs_do bit (1), 2 72 2 key_a bit (1), 2 73 2 key_d bit (1), 2 74 2 indexed_by bit (1), 2 75 2 value_numeric bit (1), 2 76 2 value_non_numeric bit (1), 2 77 2 value_signed bit (1), 2 78 2 sign_type bit (3), 2 79 2 pic_integer bit (1), 2 80 2 ast_when_zero bit (1), 2 81 2 label_record bit (1), 2 82 2 sign_clause_occurred bit (1), 2 83 2 okey_dn bit (1), 2 84 2 subject_of_keyis bit (1), 2 85 2 exp_redefining bit (1), 2 86 2 sync_in_rec bit (1), 2 87 2 rounded bit (1), 2 88 2 ad_bit bit (1), 2 89 2 debug_all bit (1), 2 90 2 overlap bit (1), 2 91 2 sum_counter bit (1), 2 92 2 exp_occurs bit (1), 2 93 2 linage_counter bit (1), 2 94 2 rnm_01 bit (1), 2 95 2 aligned bit (1), 2 96 2 not_user_writable bit (1), 2 97 2 database_key bit (1), 2 98 2 database_data_item bit (1), 2 99 2 seg_num fixed bin, 2 100 2 offset fixed bin(24), 2 101 2 initial_ptr fixed bin, 2 102 2 edit_ptr fixed bin, 2 103 2 occurs_ptr fixed bin, 2 104 2 do_rec char(5), 2 105 2 bitt bit (1), 2 106 2 byte bit (1), 2 107 2 half_word bit (1), 2 108 2 word bit (1), 2 109 2 double_word bit (1), 2 110 2 half_byte bit (1), 2 111 2 filler5 bit (1), 2 112 2 bit_offset bit (4), 2 113 2 son_cnt bit (16), 2 114 2 max_red_size fixed bin(24), 2 115 2 name_size fixed bin, 2 116 2 name char(0 refer(data_name.name_size)); 2 117 2 118 2 119 2 120 /* end include file ... cobol_TYPE9.incl.pl1 */ 2 121 1 17 1 18 /* END DECLARATION OF TYPE9 (DATA NAME) TOKEN */ 1 19 1 20 /* END INCLUDE FILE ... cobol_type9.incl.pl1 */ 1 21 357 358 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_addr_tokens.incl.pl1 */ 3 3 3 4 3 5 /****^ HISTORY COMMENTS: 3 6* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8058), 3 7* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 3 8* MCR8058 cobol_addr_tokens.incl.pl1 Change array extents to refer to 3 9* constants rather than variables. 3 10* END HISTORY COMMENTS */ 3 11 3 12 3 13 /* Last modified on 10/1/74 by tg */ 3 14 3 15 3 16 /* parameter list */ 3 17 3 18 dcl (input_ptr, inst_ptr, reloc_ptr) ptr; 3 19 3 20 3 21 /* input_struc_basic is used for type 1 addressing */ 3 22 3 23 dcl 1 input_struc_basic based (input_ptr), 3 24 2 type fixed bin, 3 25 2 operand_no fixed bin, 3 26 2 lock fixed bin, 3 27 2 segno fixed bin, 3 28 2 char_offset fixed bin (24), 3 29 2 send_receive fixed bin; 3 30 3 31 3 32 dcl 1 input_struc based (input_ptr), 3 33 2 type fixed bin, 3 34 2 operand_no fixed bin, 3 35 2 lock fixed bin, 3 36 2 operand (0 refer (input_struc.operand_no)), 3 37 3 token_ptr ptr, 3 38 3 send_receive fixed bin, 3 39 3 ic_mod fixed bin, 3 40 3 size_sw fixed bin; 3 41 3 42 /* reloc_struc is used for all types of addressing * all types */ 3 43 3 44 dcl 1 reloc_struc (input_struc.operand_no + 1) based (reloc_ptr), 3 45 2 left_wd bit (5) aligned, 3 46 2 right_wd bit (5) aligned; 3 47 3 48 /* Instruction format for 1 word instruction */ 3 49 3 50 3 51 dcl 1 inst_struc_basic based (inst_ptr) aligned, 3 52 2 y unaligned, 3 53 3 pr bit (3) unaligned, 3 54 3 wd_offset bit (15) unaligned, 3 55 2 fill1_op bit (10) unaligned, 3 56 2 zero1 bit (1) unaligned, 3 57 2 pr_spec bit (1) unaligned, 3 58 2 tm bit (2) unaligned, 3 59 2 td bit (4) unaligned; 3 60 3 61 3 62 /* The detailed definitions of the fields in this structure 3 63* can be found in the GMAP manual section 8 */ 3 64 /* EIS instruction format for 2_4 word instructions */ 3 65 3 66 dcl 1 inst_struc based (inst_ptr) aligned, 3 67 2 inst unaligned, 3 68 3 zero1 bit (2) unaligned, 3 69 3 mf3 unaligned, 3 70 4 pr_spec bit (1) unaligned, 3 71 4 reg_or_length bit (1) unaligned, 3 72 4 zero2 bit (1) unaligned, 3 73 4 reg_mod bit (4) unaligned, 3 74 3 zero3 bit (2) unaligned, 3 75 3 mf2 unaligned, 3 76 4 pr_spec bit (1) unaligned, 3 77 4 reg_or_length bit (1) unaligned, 3 78 4 zero4 bit (1) unaligned, 3 79 4 reg_mod bit (4) unaligned, 3 80 3 fill1_op bit (10) unaligned, 3 81 3 zero5 bit (1) unaligned, 3 82 3 mf1 unaligned, 3 83 4 pr_spec bit (1) unaligned, 3 84 4 reg_or_length bit (1) unaligned, 3 85 4 zero6 bit (1) unaligned, 3 86 4 reg_mod bit (4) unaligned, 3 87 2 desc_ext unaligned, 3 88 3 desc (512) unaligned, 3 89 4 desc_od bit (36) unaligned; 3 90 3 91 /* The detailed definitions of the fields in this structure 3 92* can be found in the GMAP manual section 8. 3 93* The desc_ext is the descriptor extension of this eis 3 94* instruction. The number of descriptors associated with 3 95* this instruction is equavalent to the operand number. 3 96* Depending on operand data type, the descriptor 3 97* can be alphanumeric or numeric. The structures of the 3 98* alphanumeric and the numeric descriptors are defined 3 99* below. */ 3 100 3 101 /* alphanumeric descriptor format */ 3 102 3 103 dcl 1 desc_an based (desc_an_ptr) unaligned, 3 104 2 desc_f (512) unaligned, 3 105 3 y unaligned, 3 106 4 pr bit (3) unaligned, 3 107 4 wd_offset bit (15) unaligned, 3 108 3 char_n bit (3) unaligned, 3 109 3 zero1 bit (1) unaligned, 3 110 3 ta bit (2), 3 111 3 n bit (12) unaligned; 3 112 3 113 3 114 /* The detailed definitions of the fields in this structure can 3 115* be found in the GMAP manual section 8. */ 3 116 /* numeric descriptor format */ 3 117 3 118 dcl desc_nn_ptr ptr; 3 119 dcl desc_an_ptr ptr; 3 120 3 121 3 122 dcl 1 desc_nn based (desc_nn_ptr) unaligned, 3 123 2 desc_f (512) unaligned, 3 124 3 y unaligned, 3 125 4 pr bit (3) unaligned, 3 126 4 wd_offset bit (15) unaligned, 3 127 3 digit_n bit (3) unaligned, 3 128 3 tn bit (1) unaligned, 3 129 3 sign_type bit (2) unaligned, 3 130 3 scal bit (6) unaligned, 3 131 3 n bit (6) unaligned; 3 132 3 133 3 134 /* The detailed definitions of fields in this structure can 3 135* be found in the GMAP manual section 8. */ 3 136 /* END INCLUDE FILE ... cobol_addr_tokens.incl.pl1 */ 3 137 359 360 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 361 362 5 1 5 2 /* BEGIN INCLUDE FILE ... cobol_type100.incl.pl1 */ 5 3 /* Last modified on 11/19/76 by ORN */ 5 4 5 5 /* 5 6*The internal register token is used only during the code generation phase. 5 7**/ 5 8 5 9 dcl cobol_type100_ptr ptr; 5 10 5 11 /* BEGIN DECLARATION OF TYPE100 (INTERNAL REGISTER) TOKEN */ 5 12 dcl 1 cobol_type100 based (cobol_type100_ptr) aligned, 5 13 /* header */ 5 14 2 size fixed bin (15), 5 15 2 line fixed bin (15), 5 16 2 column fixed bin (7), 5 17 2 type fixed bin (7), 5 18 /* body */ 5 19 2 register bit (4) unaligned; 5 20 /* END DECLARATION OF TYPE100 (INTERNAL REGISTER) TOKEN */ 5 21 5 22 /* 5 23*FIELD CONTENTS 5 24* 5 25*size The total size in bytes of this token. 5 26*line Generated sequence number of source line. 5 27* Always 0. 5 28*column The column number on the source image. 5 29* Always 0. 5 30*type 100 5 31*register The register number in the following form. 5 32* "0001"b - A register. 5 33* "0010"b - Q register. 5 34* "0011"b - A and Q registers. 5 35* "1nnn"b - index register nnn. 5 36**/ 5 37 5 38 /* END INCLUDE FILE ... cobol_type100.incl.pl1 */ 5 39 363 364 365 366 /**************************************************/ 367 /* END OF EXTERNAL PROCEDURE */ 368 /* cobol_short_to_longbin */ 369 /**************************************************/ 370 371 end cobol_short_to_longbin; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0834.6 cobol_short_to_longbin.pl1 >spec>install>MR12.3-1048>cobol_short_to_longbin.pl1 357 1 03/27/82 0439.9 cobol_type9.incl.pl1 >ldd>include>cobol_type9.incl.pl1 1-17 2 11/11/82 1712.7 cobol_TYPE9.incl.pl1 >ldd>include>cobol_TYPE9.incl.pl1 359 3 05/24/89 0811.7 cobol_addr_tokens.incl.pl1 >spec>install>MR12.3-1048>cobol_addr_tokens.incl.pl1 361 4 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.incl.pl1 363 5 03/27/82 0439.8 cobol_type100.incl.pl1 >ldd>include>cobol_type100.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. ALS constant bit(10) initial packed unaligned dcl 123 ref 318 ARS constant bit(10) initial packed unaligned dcl 127 ref 326 LDA constant bit(10) initial packed unaligned dcl 119 ref 308 LDQ constant bit(10) initial packed unaligned dcl 121 ref 310 QLS constant bit(10) initial packed unaligned dcl 125 ref 320 QRS constant bit(10) initial packed unaligned dcl 129 ref 328 STA constant bit(10) initial packed unaligned dcl 115 ref 234 STQ constant bit(10) initial packed unaligned dcl 117 ref 236 addr builtin function dcl 352 ref 211 221 222 223 240 240 288 289 290 306 306 314 addrel builtin function dcl 352 ref 180 any_register 000160 automatic bit(1) packed unaligned dcl 156 set ref 176* 181* 183* 213* 214* any_register_flag parameter bit(1) packed unaligned dcl 265 ref 254 298 char_offset 4 based fixed bin(24,0) level 2 in structure "input_struc_basic" dcl 3-23 in procedure "cobol_short_to_longbin" set ref 229* char_offset 000100 automatic fixed bin(24,0) dcl 135 in procedure "cobol_short_to_longbin" set ref 206* 209* cobol_$temp_token_ptr 000026 external static pointer dcl 4-44 set ref 179 180* 180 cobol_addr 000016 constant entry external dcl 104 ref 232 296 cobol_alloc$stack 000012 constant entry external dcl 101 ref 206 cobol_emit 000020 constant entry external dcl 105 ref 237 312 323 330 cobol_make_type9$long_bin 000014 constant entry external dcl 102 ref 209 cobol_register$load 000024 constant entry external dcl 108 ref 306 cobol_register$release 000022 constant entry external dcl 106 ref 240 cobol_type100 based structure level 1 dcl 5-12 contains 4 000144 automatic fixed bin(17,0) level 2 dcl 146 set ref 305* data_name based structure level 1 unaligned dcl 1-16 fill1_op 0(18) based bit(10) level 2 packed packed unaligned dcl 3-51 set ref 234* 236* 308* 310* 318* 320* 326* 328* input_buff 000104 automatic structure level 1 dcl 138 set ref 221 288 input_ptr 000174 automatic pointer dcl 3-18 set ref 221* 225 226 227 228 229 232* 288* 292 293 294 295 296* input_struc based structure level 1 unaligned dcl 3-32 input_struc_basic based structure level 1 unaligned dcl 3-23 inst_buff 000130 automatic structure level 1 dcl 140 set ref 222 289 inst_ptr 000176 automatic pointer dcl 3-18 set ref 222* 232* 234 236 237* 289* 296* 308 310 312* inst_struc_basic based structure level 1 dcl 3-51 lock 2 based fixed bin(17,0) level 2 in structure "input_struc_basic" dcl 3-23 in procedure "cobol_short_to_longbin" set ref 227* lock 2 000144 automatic fixed bin(17,0) level 2 in structure "register_struc" dcl 146 in procedure "cobol_short_to_longbin" set ref 304* mod builtin function dcl 352 ref 315 null builtin function dcl 352 ref 177 237 237 323 323 330 330 offset 24 based fixed bin(24,0) level 2 dcl 1-16 ref 229 315 operand 4 based structure array level 2 unaligned dcl 3-32 operand_no 1 based fixed bin(17,0) level 2 in structure "input_struc_basic" dcl 3-23 in procedure "cobol_short_to_longbin" set ref 226* operand_no 1 based fixed bin(17,0) level 2 in structure "input_struc" dcl 3-32 in procedure "cobol_short_to_longbin" set ref 293* reg_no 1 000144 automatic bit(4) level 2 packed packed unaligned dcl 146 set ref 234 308 318 326 333 register 4 based bit(4) level 2 packed packed unaligned dcl 5-12 set ref 300 333* register_struc 000144 automatic structure level 1 unaligned dcl 146 set ref 240 240 306 306 reloc_buff 000135 automatic structure level 1 dcl 142 set ref 223 290 reloc_ptr 000200 automatic pointer dcl 3-18 set ref 223* 232* 290* 296* 312* seg_num 23 based fixed bin(17,0) level 2 dcl 1-16 ref 228 segno 3 based fixed bin(17,0) level 2 dcl 3-23 set ref 228* shift_inst 000010 internal static bit(36) initial packed unaligned dcl 112 set ref 314 shift_inst_ptr 000156 automatic pointer dcl 155 set ref 314* 318 320 323* 326 328 330* size_sw 10 based fixed bin(17,0) array level 3 dcl 3-32 set ref 295* source_tok_ptr parameter pointer dcl 263 ref 254 294 315 source_token_ptr parameter pointer dcl 43 set ref 33 164 183* 197 214* target_tok_ptr parameter pointer dcl 264 ref 254 333 334 target_token_ptr parameter pointer dcl 44 set ref 33 164 177 179* 183* 197 209* 228 229 300 temp_target_ptr 000102 automatic pointer dcl 136 set ref 211* 212 214* token_ptr 4 based pointer array level 3 dcl 3-32 set ref 294* type 3 based fixed bin(7,0) level 2 in structure "cobol_type100" dcl 5-12 in procedure "cobol_short_to_longbin" set ref 212* 334* type based fixed bin(17,0) level 2 in structure "input_struc" dcl 3-32 in procedure "cobol_short_to_longbin" set ref 292* type based fixed bin(17,0) level 2 in structure "input_struc_basic" dcl 3-23 in procedure "cobol_short_to_longbin" set ref 225* what_reg 000144 automatic fixed bin(17,0) level 2 dcl 146 set ref 298* 300* 302* work_buff 000162 automatic pointer array dcl 199 set ref 211 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. allo1_max defined fixed bin(17,0) dcl 4-171 allo1_ptr defined pointer dcl 4-67 alter_flag defined fixed bin(17,0) dcl 4-135 alter_index defined fixed bin(17,0) dcl 4-153 alter_list_ptr defined pointer dcl 4-39 binary builtin function dcl 352 cd_cnt defined fixed bin(17,0) dcl 4-197 cobol_$allo1_max external static fixed bin(17,0) dcl 4-170 cobol_$allo1_ptr external static pointer dcl 4-66 cobol_$alter_flag external static fixed bin(17,0) dcl 4-134 cobol_$alter_index external static fixed bin(17,0) dcl 4-152 cobol_$alter_list_ptr external static pointer dcl 4-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 4-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 4-118 cobol_$compile_count external static fixed bin(17,0) dcl 4-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 4-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 4-202 cobol_$con_end_ptr external static pointer dcl 4-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 4-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 4-192 cobol_$constant_offset external static fixed bin(17,0) dcl 4-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 4-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 4-180 cobol_$debug_enable external static fixed bin(17,0) dcl 4-174 cobol_$def_base_ptr external static pointer dcl 4-12 cobol_$def_max external static fixed bin(17,0) dcl 4-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 4-94 cobol_$diag_ptr external static pointer dcl 4-70 cobol_$eln_max external static fixed bin(17,0) dcl 4-172 cobol_$eln_ptr external static pointer dcl 4-68 cobol_$fixup_max external static fixed bin(17,0) dcl 4-164 cobol_$fixup_ptr external static pointer dcl 4-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 4-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 4-198 cobol_$include_cnt external static fixed bin(17,0) dcl 4-182 cobol_$include_info_ptr external static pointer dcl 4-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 4-124 cobol_$initval_base_ptr external static pointer dcl 4-32 cobol_$initval_file_ptr external static pointer dcl 4-34 cobol_$initval_flag external static fixed bin(17,0) dcl 4-178 cobol_$link_base_ptr external static pointer dcl 4-14 cobol_$link_max external static fixed bin(17,0) dcl 4-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 4-98 cobol_$list_off external static fixed bin(17,0) dcl 4-154 cobol_$list_ptr external static pointer dcl 4-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 4-190 cobol_$main_pcs_ptr external static pointer dcl 4-84 cobol_$map_data_max external static fixed bin(17,0) dcl 4-162 cobol_$map_data_ptr external static pointer dcl 4-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 4-122 cobol_$minpral5_ptr external static pointer dcl 4-50 cobol_$misc_base_ptr external static pointer dcl 4-60 cobol_$misc_end_ptr external static pointer dcl 4-62 cobol_$misc_max external static fixed bin(17,0) dcl 4-158 cobol_$next_tag external static fixed bin(17,0) dcl 4-128 cobol_$non_source_offset external static fixed bin(17,0) dcl 4-176 cobol_$ntbuf_ptr external static pointer dcl 4-82 cobol_$obj_seg_name external static char(32) dcl 4-208 cobol_$op_con_ptr external static pointer dcl 4-80 cobol_$para_eop_flag external static fixed bin(17,0) dcl 4-138 cobol_$pd_map_index external static fixed bin(17,0) dcl 4-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 4-160 cobol_$pd_map_ptr external static pointer dcl 4-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 4-126 cobol_$perform_list_ptr external static pointer dcl 4-36 cobol_$perform_para_index external static fixed bin(17,0) dcl 4-148 cobol_$perform_sect_index external static fixed bin(17,0) dcl 4-150 cobol_$priority_no external static fixed bin(17,0) dcl 4-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 4-144 cobol_$ptr_status_ptr external static pointer dcl 4-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 4-146 cobol_$reg_status_ptr external static pointer dcl 4-58 cobol_$reloc_def_base_ptr external static pointer dcl 4-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 4-108 cobol_$reloc_link_base_ptr external static pointer dcl 4-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 4-110 cobol_$reloc_sym_base_ptr external static pointer dcl 4-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 4-112 cobol_$reloc_text_base_ptr external static pointer dcl 4-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 4-106 cobol_$reloc_work_base_ptr external static pointer dcl 4-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 4-114 cobol_$reswd_ptr external static pointer dcl 4-78 cobol_$same_sort_merge_proc external static bit(1) dcl 4-214 cobol_$scratch_dir external static char(168) dcl 4-206 cobol_$sect_eop_flag external static fixed bin(17,0) dcl 4-136 cobol_$seg_init_flag external static fixed bin(17,0) dcl 4-132 cobol_$seg_init_list_ptr external static pointer dcl 4-40 cobol_$stack_off external static fixed bin(17,0) dcl 4-120 cobol_$statement_info_ptr external static pointer dcl 4-76 cobol_$sym_base_ptr external static pointer dcl 4-16 cobol_$sym_max external static fixed bin(17,0) dcl 4-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 4-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 4-166 cobol_$tag_table_ptr external static pointer dcl 4-52 cobol_$temp_token_area_ptr external static pointer dcl 4-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 4-168 cobol_$text_base_ptr external static pointer dcl 4-8 cobol_$text_wd_off external static fixed bin(17,0) dcl 4-90 cobol_$token_block1_ptr external static pointer dcl 4-46 cobol_$token_block2_ptr external static pointer dcl 4-48 cobol_$value_cnt external static fixed bin(17,0) dcl 4-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 4-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 4-200 cobol_$xref_bypass external static bit(1) dcl 4-212 cobol_$xref_chain_ptr external static pointer dcl 4-74 cobol_$xref_token_ptr external static pointer dcl 4-72 cobol_data_wd_off defined fixed bin(17,0) dcl 4-119 cobol_type100_ptr automatic pointer dcl 5-9 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 desc_an based structure level 1 packed packed unaligned dcl 3-103 desc_an_ptr automatic pointer dcl 3-119 desc_nn based structure level 1 packed packed unaligned dcl 3-122 desc_nn_ptr automatic pointer dcl 3-118 diag_ptr defined pointer dcl 4-71 dn_ptr automatic pointer dcl 158 eln_max defined fixed bin(17,0) dcl 4-173 eln_ptr defined pointer dcl 4-69 fixed builtin function dcl 352 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 index builtin function dcl 352 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 inst_struc based structure level 1 dcl 3-66 length builtin function dcl 352 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_list_ptr defined pointer dcl 4-37 perform_para_index defined fixed bin(17,0) dcl 4-149 perform_sect_index defined fixed bin(17,0) dcl 4-151 priority_no defined fixed bin(17,0) dcl 4-141 ptr_assumption_ind defined fixed bin(17,0) dcl 4-145 ptr_status_ptr defined pointer dcl 4-57 reg_assumption_ind defined fixed bin(17,0) dcl 4-147 reg_status_ptr defined pointer dcl 4-59 rel builtin function dcl 352 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_struc based structure array level 1 unaligned dcl 3-44 reloc_sym_base_ptr defined pointer dcl 4-25 reloc_sym_max defined fixed bin(24,0) dcl 4-113 reloc_text_base_ptr defined pointer dcl 4-19 reloc_text_max defined fixed bin(24,0) dcl 4-107 reloc_work_base_ptr defined pointer dcl 4-27 reloc_work_max defined fixed bin(24,0) dcl 4-115 reswd_ptr defined pointer dcl 4-79 same_sort_merge_proc defined bit(1) dcl 4-215 scratch_dir defined char(168) dcl 4-207 sect_eop_flag defined fixed bin(17,0) dcl 4-137 seg_init_flag defined fixed bin(17,0) dcl 4-133 seg_init_list_ptr defined pointer dcl 4-41 stack_off defined fixed bin(17,0) dcl 4-121 statement_info_ptr defined pointer dcl 4-77 string builtin function dcl 352 substr builtin function dcl 352 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 unspec builtin function dcl 352 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. clbx 000056 constant label dcl 189 ref 246 cobol_short_to_longbin 000010 constant entry external dcl 33 common_processing 000244 constant entry internal dcl 254 ref 183 214 register 000020 constant entry external dcl 164 temp 000061 constant entry external dcl 197 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 636 666 505 646 Length 1160 505 30 256 130 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_short_to_longbin 161 external procedure is an external procedure. common_processing internal procedure shares stack frame of external procedure cobol_short_to_longbin. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 shift_inst cobol_short_to_longbin STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_short_to_longbin 000100 char_offset cobol_short_to_longbin 000102 temp_target_ptr cobol_short_to_longbin 000104 input_buff cobol_short_to_longbin 000130 inst_buff cobol_short_to_longbin 000135 reloc_buff cobol_short_to_longbin 000144 register_struc cobol_short_to_longbin 000156 shift_inst_ptr cobol_short_to_longbin 000160 any_register cobol_short_to_longbin 000162 work_buff cobol_short_to_longbin 000174 input_ptr cobol_short_to_longbin 000176 inst_ptr cobol_short_to_longbin 000200 reloc_ptr cobol_short_to_longbin THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return_mac mdfx1 ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_addr cobol_alloc$stack cobol_emit cobol_make_type9$long_bin cobol_register$load cobol_register$release THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$temp_token_ptr LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 33 000004 164 000015 176 000025 177 000026 179 000033 180 000036 181 000042 183 000044 189 000056 197 000057 206 000066 209 000104 211 000122 212 000124 213 000126 214 000130 221 000143 222 000145 223 000147 225 000151 226 000153 227 000154 228 000155 229 000162 232 000164 234 000177 236 000207 237 000213 240 000232 246 000243 254 000244 288 000246 289 000250 290 000252 292 000254 293 000256 294 000261 295 000264 296 000266 298 000301 300 000312 302 000324 304 000326 305 000330 306 000331 308 000342 310 000352 312 000356 314 000373 315 000376 318 000405 320 000415 323 000421 326 000437 328 000447 330 000453 333 000472 334 000501 335 000503 ----------------------------------------------------------- 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