COMPILATION LISTING OF SEGMENT vu_append_simple_print Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 02/16/84 1305.3 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 /* format: style2,ind3 */ 7 vu_append_simple_print: 8 append_simple_print_vector: 9 proc (); 10 11 /* DESCRIPTION: 12* 13* This entry appends a print vector to a print vector array. 14**/ 15 16 /* History: 17* 18*Written by Lindsey Spratt, 02/01/82. 19*Modified: 20*08/23/82 by Lindsey Spratt: Fixed to set the vector_slot when the 21* number_of_vectors is less than or equal to the number of vector 22* slots. 23**/ 24 25 /* START OF DECLARATIONS */ 26 /* Parameter */ 27 /* Automatic */ 28 29 dcl CODE_ARG_IDX fixed bin; 30 dcl PVA_PTR_ARG_IDX fixed bin; 31 dcl dim_idx fixed bin; 32 dcl values_given bit (1) aligned init ("0"b); 33 dcl old_pva_ptr ptr; 34 dcl vector_idx fixed bin; 35 dcl free_old_print_vector_array_ptr 36 ptr; 37 dcl arg_list_arg_count fixed bin; 38 dcl arg_list_ptr ptr; 39 dcl type fixed bin; 40 dcl packed bit (1) aligned; 41 dcl size fixed bin; 42 dcl ndims fixed bin; 43 dcl scale fixed bin; 44 dcl p_code_ptr ptr; 45 dcl nargs fixed bin; 46 dcl arg_idx fixed bin; 47 dcl work_area_ptr ptr; 48 49 /* Based */ 50 51 dcl free_old_print_vector_array 52 bit (1) aligned based (free_old_print_vector_array_ptr); 53 dcl work_area area based (work_area_ptr); 54 dcl s_fixed_real_template based fixed bin; 55 dcl ptr_template based ptr; 56 dcl v_char_template based char (size) varying; 57 dcl char_template based char (size); 58 59 dcl p_code based (p_code_ptr) fixed bin (35); 60 61 62 /* Builtin */ 63 64 dcl null builtin; 65 66 /* Controlled */ 67 /* Constant */ 68 69 dcl MYNAME init ("vector_util_$init_print_vector_array") char (40) varying internal 70 static options (constant); 71 72 dcl ( 73 AREA_PTR_ARG_IDX init (1), 74 SLOT_INCREASE_ARG_IDX init (2), 75 FREE_OLD_PVA_ARG_IDX init (3), 76 MAXIMUM_VALUE_LENGTH_ARG_IDX 77 init (4), 78 NUMBER_OF_NONVALUE_ARGS_AT_BEGINNING 79 init (3), 80 PVA_PTR_ARG_OFFSET_FROM_END 81 init (1), 82 NUMBER_OF_NONVALUE_ARGS_AT_END 83 init (2) 84 ) fixed bin internal static options (constant); 85 86 87 /* Entry */ 88 89 dcl cu_$arg_list_ptr entry (ptr); 90 dcl decode_descriptor_ entry (ptr, fixed bin, fixed bin, bit (1) aligned, fixed bin, fixed bin, fixed bin); 91 dcl cu_$arg_count entry (fixed bin); 92 dcl sub_err_ entry () options (variable); 93 94 /* External */ 95 96 dcl error_table_$bad_arg fixed bin (35) ext; 97 dcl error_table_$fatal_error 98 fixed bin (35) ext; 99 100 /* END OF DECLARATIONS */ 101 102 call cu_$arg_count (nargs); 103 arg_list_arg_count = nargs; 104 call cu_$arg_list_ptr (arg_list_ptr); 105 106 CODE_ARG_IDX = nargs; 107 PVA_PTR_ARG_IDX = nargs - PVA_PTR_ARG_OFFSET_FROM_END; 108 109 call decode_descriptor_ (arg_list_ptr, CODE_ARG_IDX, type, packed, ndims, size, scale); 110 if type ^= s_fixed_real_desc 111 then call 112 sub_err_ (error_table_$fatal_error, MYNAME, "s", null, 0, 113 "^/^a was called incorrectly.^/The final argument must be fixed bin(35).", MYNAME); 114 115 p_code_ptr = arg_list_ptr -> arg_list.arg_ptrs (CODE_ARG_IDX); 116 117 call decode_descriptor_ (arg_list_ptr, AREA_PTR_ARG_IDX, type, packed, ndims, size, scale); 118 119 if type ^= pointer_desc 120 then 121 do; 122 p_code = error_table_$bad_arg; 123 return; 124 end; 125 126 work_area_ptr = arg_list_ptr -> arg_list.arg_ptrs (AREA_PTR_ARG_IDX) -> ptr_template; 127 128 call decode_descriptor_ (arg_list_ptr, PVA_PTR_ARG_IDX, type, packed, ndims, size, scale); 129 130 if type ^= pointer_desc 131 then 132 do; 133 p_code = error_table_$bad_arg; 134 return; 135 end; 136 137 print_vector_array_ptr = arg_list_ptr -> arg_list.arg_ptrs (PVA_PTR_ARG_IDX) -> ptr_template; 138 139 call decode_descriptor_ (arg_list_ptr, SLOT_INCREASE_ARG_IDX, type, packed, ndims, size, scale); 140 141 if type ^= s_fixed_real_desc 142 then 143 do; 144 p_code = error_table_$bad_arg; 145 return; 146 end; 147 148 149 pva_number_of_vector_slots = 150 print_vector_array.number_of_vector_slots 151 + arg_list_ptr -> arg_list.arg_ptrs (SLOT_INCREASE_ARG_IDX) -> s_fixed_real_template; 152 call decode_descriptor_ (arg_list_ptr, FREE_OLD_PVA_ARG_IDX, type, packed, ndims, size, scale); 153 154 if type ^= bit_desc | packed | size ^= 1 155 then 156 do; 157 p_code = error_table_$bad_arg; 158 return; 159 end; 160 161 free_old_print_vector_array_ptr = arg_list_ptr -> arg_list.arg_ptrs (FREE_OLD_PVA_ARG_IDX); 162 163 pv_number_of_dimensions = print_vector_array.number_of_dimensions; 164 call decode_descriptor_ (arg_list_ptr, MAXIMUM_VALUE_LENGTH_ARG_IDX, type, packed, ndims, size, scale); 165 if type = s_fixed_real_desc 166 then if ^packed 167 then 168 do; 169 pv_maximum_value_length = 170 arg_list_ptr -> arg_list.arg_ptrs (MAXIMUM_VALUE_LENGTH_ARG_IDX) -> s_fixed_real_template; 171 values_given = "0"b; 172 end; 173 else 174 do; 175 p_code = error_table_$bad_arg; 176 return; 177 end; 178 else 179 do; 180 values_given = "1"b; 181 pv_maximum_value_length = 0; 182 do arg_idx = NUMBER_OF_NONVALUE_ARGS_AT_BEGINNING + 1 to nargs - NUMBER_OF_NONVALUE_ARGS_AT_END; 183 call decode_descriptor_ (arg_list_ptr, arg_idx, type, packed, ndims, size, scale); 184 185 if type = v_char_desc | type = char_desc 186 then 187 do; 188 pv_maximum_value_length = 189 max (pv_maximum_value_length, 190 length (rtrim (arg_list_ptr -> arg_list.arg_ptrs (arg_idx) -> char_template))); 191 end; 192 else 193 do; 194 p_code = error_table_$bad_arg; 195 return; 196 end; 197 end; 198 end; 199 200 alloc print_vector in (work_area); 201 print_vector_array.number_of_vectors = print_vector_array.number_of_vectors + 1; 202 if print_vector_array.number_of_vectors > print_vector_array.number_of_vector_slots 203 then 204 do; 205 pva_maximum_dimension_name_length = print_vector_array.maximum_dimension_name_length; 206 pva_number_of_dimensions = print_vector_array.number_of_dimensions; 207 old_pva_ptr = print_vector_array_ptr; 208 alloc print_vector_array in (work_area); 209 print_vector_array.version = PRINT_VECTOR_ARRAY_VERSION_2; 210 print_vector_array.dimension_table = old_pva_ptr -> print_vector_array.dimension_table; 211 print_vector_array.number_of_vectors = old_pva_ptr -> print_vector_array.number_of_vectors; 212 /* This number includes the newly created print_vector. */ 213 do vector_idx = 1 to print_vector_array.number_of_vectors - 1; 214 print_vector_array.vector_slot (vector_idx) = old_pva_ptr -> print_vector_array.vector_slot (vector_idx); 215 end; 216 print_vector_array.vector_slot (vector_idx) = print_vector_ptr; 217 if free_old_print_vector_array 218 then free old_pva_ptr -> print_vector_array in (work_area); 219 end; 220 else print_vector_array.vector_slot (print_vector_array.number_of_vectors) = print_vector_ptr; 221 222 if values_given 223 then 224 do arg_idx = NUMBER_OF_NONVALUE_ARGS_AT_BEGINNING + 1 to nargs - NUMBER_OF_NONVALUE_ARGS_AT_END; 225 call decode_descriptor_ (arg_list_ptr, arg_idx, type, packed, ndims, size, scale); 226 if type = v_char_desc | type = char_desc 227 then print_vector.dimension (arg_idx - NUMBER_OF_NONVALUE_ARGS_AT_BEGINNING).value = 228 rtrim (arg_list_ptr -> arg_list.arg_ptrs (arg_idx) -> char_template); 229 else 230 do; 231 p_code = error_table_$bad_arg; 232 return; 233 end; 234 print_vector.dimension (arg_idx - NUMBER_OF_NONVALUE_ARGS_AT_BEGINNING).identifier = 235 arg_idx - NUMBER_OF_NONVALUE_ARGS_AT_BEGINNING; 236 end; 237 else 238 do dim_idx = 1 to print_vector.number_of_dimensions; 239 print_vector.dimension (dim_idx).value = ""; 240 print_vector.dimension (dim_idx).identifier = dim_idx; 241 end; 242 243 return; 244 1 1 /* *********************************************************** 1 2* * * 1 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 1 4* * * 1 5* *********************************************************** */ 1 6 /* BEGIN INCLUDE FILE - vu_print_vector_array.incl.pl1 */ 1 7 /* Written by Matthew C. Pierret, 01/21/82 1 8*Modified: 1 9**/ 1 10 1 11 /* format: style2,ind3 */ 1 12 dcl 1 print_vector_array based (print_vector_array_ptr), 1 13 2 version fixed bin (35), 1 14 2 number_of_dimensions 1 15 fixed bin (17), 1 16 2 maximum_dimension_name_length 1 17 fixed bin (17), 1 18 2 number_of_vectors fixed bin (17), 1 19 2 number_of_vector_slots 1 20 fixed bin (17), 1 21 2 dimension_table (pva_number_of_dimensions refer (print_vector_array.number_of_dimensions)), 1 22 3 name char (pva_maximum_dimension_name_length 1 23 refer (print_vector_array.maximum_dimension_name_length)) varying, 1 24 3 descriptor_ptr ptr, 1 25 3 cv_to_print entry (ptr, fixed bin (17), fixed bin (17), ptr, ptr, fixed bin (35)), 1 26 3 cv_to_typed entry (ptr, fixed bin (17), fixed bin (17), ptr, ptr, fixed bin (35)), 1 27 3 maximum_value_length 1 28 fixed bin (17), 1 29 2 vector_slot (pva_number_of_vector_slots refer (print_vector_array.number_of_vector_slots)) ptr; 1 30 1 31 dcl 1 print_vector based (print_vector_ptr), 1 32 2 number_of_dimensions 1 33 fixed bin (17), 1 34 2 maximum_value_length 1 35 fixed bin (35), 1 36 2 dimension (pv_number_of_dimensions refer (print_vector.number_of_dimensions)), 1 37 3 identifier fixed bin (17), 1 38 3 value char (pv_maximum_value_length refer (print_vector.maximum_value_length)) varying; 1 39 1 40 dcl pva_number_of_dimensions 1 41 fixed bin; 1 42 dcl pva_number_of_vector_slots 1 43 fixed bin; 1 44 dcl pva_maximum_dimension_name_length 1 45 fixed bin; 1 46 dcl pv_number_of_dimensions 1 47 fixed bin; 1 48 dcl pv_maximum_value_length 1 49 fixed bin; 1 50 1 51 dcl print_vector_array_ptr ptr; 1 52 dcl print_vector_ptr ptr; 1 53 dcl PRINT_VECTOR_ARRAY_VERSION_2 1 54 fixed bin (35) init (2) internal static options (constant); 1 55 1 56 /* END INCLUDE FILE - vu_print_vector_array.incl.pl1 */ 245 246 2 1 dcl ( s_fixed_real_desc init( 1), 2 2 d_fixed_real_desc init( 2), 2 3 s_float_real_desc init( 3), 2 4 d_float_real_desc init( 4), 2 5 s_fixed_cplx_desc init( 5), 2 6 d_fixed_cplx_desc init( 6), 2 7 s_float_cplx_desc init( 7), 2 8 d_float_cplx_desc init( 8), 2 9 2 10 D_fixed_real_desc init( 9), 2 11 D_float_real_desc init(10), 2 12 D_fixed_cplx_desc init(11), 2 13 D_float_cplx_desc init(12), 2 14 2 15 pointer_desc init(13), 2 16 offset_desc init(14), 2 17 label_desc init(15), 2 18 entry_desc init(16), 2 19 structure_desc init(17), 2 20 area_desc init(18), 2 21 2 22 bit_desc init(19), 2 23 v_bit_desc init(20), 2 24 2 25 char_desc init(21), 2 26 v_char_desc init(22), 2 27 2 28 file_desc init(23) 2 29 ) fixed bin int static options(constant); 247 248 3 1 /* BEGIN INCLUDE FILE ... descriptor.incl.pl1 */ 3 2 3 3 dcl 1 desc_ aligned, 3 4 2 version2_ bit(1) unal, 3 5 2 type_ fixed bin(6) unsigned unal, 3 6 2 pack_ bit(1) unal, 3 7 2 dimension_ bit(4) unal, 3 8 2 scale_ fixed bin(11) unal, 3 9 2 precision_ fixed bin(11) unal; 3 10 3 11 /* END INCLUDE FILE ... descriptor.incl.pl1 */ 249 250 4 1 /* BEGIN INCLUDE FILE ... arg_list.incl.pl1 4 2* 4 3* James R. Davis 10 May 79 */ 4 4 4 5 dcl 1 arg_list aligned based, 4 6 2 header, 4 7 3 arg_count fixed bin (17) unsigned unal, 4 8 3 pad1 bit (1) unal, 4 9 3 call_type fixed bin (18) unsigned unal, 4 10 3 desc_count fixed bin (17) unsigned unal, 4 11 3 pad2 bit (19) unal, 4 12 2 arg_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr, 4 13 2 desc_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr; 4 14 4 15 4 16 4 17 dcl 1 arg_list_with_envptr aligned based, /* used with non-quick int and entry-var calls */ 4 18 2 header, 4 19 3 arg_count fixed bin (17) unsigned unal, 4 20 3 pad1 bit (1) unal, 4 21 3 call_type fixed bin (18) unsigned unal, 4 22 3 desc_count fixed bin (17) unsigned unal, 4 23 3 pad2 bit (19) unal, 4 24 2 arg_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr, 4 25 2 envptr ptr, 4 26 2 desc_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr; 4 27 4 28 4 29 dcl ( 4 30 Quick_call_type init (0), 4 31 Interseg_call_type init (4), 4 32 Envptr_supplied_call_type 4 33 init (8) 4 34 ) fixed bin (18) unsigned unal int static options (constant); 4 35 4 36 /* The user must declare arg_list_arg_count - if an adjustable automatic structure 4 37* is being "liked" then arg_list_arg_count may be a parameter, in order to allocate 4 38* an argument list of the proper size in the user's stack 4 39* 4 40**/ 4 41 /* END INCLUDE FILE ... arg_list.incl.pl1 */ 251 252 end vu_append_simple_print; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 02/16/84 1249.9 vu_append_simple_print.pl1 >spec>on>mtape>vu_append_simple_print.pl1 245 1 02/16/84 1230.3 vu_print_vector_array.incl.pl1 >spec>on>mtape>vu_print_vector_array.incl.pl1 247 2 01/12/79 1059.7 desc_types.incl.pl1 >ldd>include>desc_types.incl.pl1 249 3 11/30/78 1227.5 descriptor.incl.pl1 >ldd>include>descriptor.incl.pl1 251 4 10/23/81 1948.6 arg_list.incl.pl1 >ldd>include>arg_list.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. AREA_PTR_ARG_IDX 000024 constant fixed bin(17,0) initial dcl 72 set ref 117* 126 CODE_ARG_IDX 000100 automatic fixed bin(17,0) dcl 29 set ref 106* 109* 115 FREE_OLD_PVA_ARG_IDX 000013 constant fixed bin(17,0) initial dcl 72 set ref 152* 161 MAXIMUM_VALUE_LENGTH_ARG_IDX 000022 constant fixed bin(17,0) initial dcl 72 set ref 164* 169 MYNAME 000000 constant varying char(40) initial dcl 69 set ref 110* 110* NUMBER_OF_NONVALUE_ARGS_AT_BEGINNING constant fixed bin(17,0) initial dcl 72 ref 182 222 226 234 234 NUMBER_OF_NONVALUE_ARGS_AT_END constant fixed bin(17,0) initial dcl 72 ref 182 222 PRINT_VECTOR_ARRAY_VERSION_2 constant fixed bin(35,0) initial dcl 1-53 ref 209 PVA_PTR_ARG_IDX 000101 automatic fixed bin(17,0) dcl 30 set ref 107* 128* 137 PVA_PTR_ARG_OFFSET_FROM_END constant fixed bin(17,0) initial dcl 72 ref 107 SLOT_INCREASE_ARG_IDX 000023 constant fixed bin(17,0) initial dcl 72 set ref 139* 149 arg_idx 000127 automatic fixed bin(17,0) dcl 46 set ref 182* 183* 188* 222* 225* 226 226 234 234* arg_list based structure level 1 dcl 4-5 arg_list_arg_count 000112 automatic fixed bin(17,0) dcl 37 set ref 103* arg_list_ptr 000114 automatic pointer dcl 38 set ref 104* 109* 115 117* 126 128* 137 139* 149 152* 161 164* 169 183* 188 225* 226 arg_ptrs 2 based pointer array level 2 dcl 4-5 ref 115 126 137 149 161 169 188 226 bit_desc constant fixed bin(17,0) initial dcl 2-1 ref 154 char_desc constant fixed bin(17,0) initial dcl 2-1 ref 185 226 char_template based char unaligned dcl 57 ref 188 226 cu_$arg_count 000014 constant entry external dcl 91 ref 102 cu_$arg_list_ptr 000010 constant entry external dcl 89 ref 104 decode_descriptor_ 000012 constant entry external dcl 90 ref 109 117 128 139 152 164 183 225 dim_idx 000102 automatic fixed bin(17,0) dcl 31 set ref 237* 239 240 240* dimension 2 based structure array level 2 unaligned dcl 1-31 dimension_table 6 based structure array level 2 unaligned dcl 1-12 set ref 210* 210 error_table_$bad_arg 000020 external static fixed bin(35,0) dcl 96 ref 122 133 144 157 175 194 231 error_table_$fatal_error 000022 external static fixed bin(35,0) dcl 97 set ref 110* free_old_print_vector_array based bit(1) dcl 51 ref 217 free_old_print_vector_array_ptr 000110 automatic pointer dcl 35 set ref 161* 217 identifier 2 based fixed bin(17,0) array level 3 dcl 1-31 set ref 234* 240* maximum_dimension_name_length 2 based fixed bin(17,0) level 2 dcl 1-12 set ref 205 208* 210 214 214 216 217 220 maximum_value_length 1 based fixed bin(35,0) level 2 dcl 1-31 set ref 200* 226 226 226 234 234 239 239 239 240 240 nargs 000126 automatic fixed bin(17,0) dcl 45 set ref 102* 103 106 107 182 222 ndims 000121 automatic fixed bin(17,0) dcl 42 set ref 109* 117* 128* 139* 152* 164* 183* 225* null builtin function dcl 64 ref 110 110 number_of_dimensions based fixed bin(17,0) level 2 in structure "print_vector" dcl 1-31 in procedure "append_simple_print_vector" set ref 200* 237 number_of_dimensions 1 based fixed bin(17,0) level 2 in structure "print_vector_array" dcl 1-12 in procedure "append_simple_print_vector" set ref 163 206 208* 210 214 214 216 217 220 number_of_vector_slots 4 based fixed bin(17,0) level 2 dcl 1-12 set ref 149 202 208* 217 number_of_vectors 3 based fixed bin(17,0) level 2 dcl 1-12 set ref 201* 201 202 211* 211 213 220 old_pva_ptr 000104 automatic pointer dcl 33 set ref 207* 210 211 214 217 p_code based fixed bin(35,0) dcl 59 set ref 122* 133* 144* 157* 175* 194* 231* p_code_ptr 000124 automatic pointer dcl 44 set ref 115* 122 133 144 157 175 194 231 packed 000117 automatic bit(1) dcl 40 set ref 109* 117* 128* 139* 152* 154 164* 165 183* 225* pointer_desc constant fixed bin(17,0) initial dcl 2-1 ref 119 130 print_vector based structure level 1 unaligned dcl 1-31 set ref 200 print_vector_array based structure level 1 unaligned dcl 1-12 set ref 208 217 print_vector_array_ptr 000140 automatic pointer dcl 1-51 set ref 137* 149 163 201 201 202 202 205 206 207 208* 209 210 211 213 214 216 220 220 print_vector_ptr 000142 automatic pointer dcl 1-52 set ref 200* 216 220 226 234 237 239 240 ptr_template based pointer dcl 55 ref 126 137 pv_maximum_value_length 000136 automatic fixed bin(17,0) dcl 1-48 set ref 169* 181* 188* 188 200 200 pv_number_of_dimensions 000135 automatic fixed bin(17,0) dcl 1-46 set ref 163* 200 200 pva_maximum_dimension_name_length 000134 automatic fixed bin(17,0) dcl 1-44 set ref 205* 208 208 pva_number_of_dimensions 000132 automatic fixed bin(17,0) dcl 1-40 set ref 206* 208 208 pva_number_of_vector_slots 000133 automatic fixed bin(17,0) dcl 1-42 set ref 149* 208 208 s_fixed_real_desc constant fixed bin(17,0) initial dcl 2-1 ref 110 141 165 s_fixed_real_template based fixed bin(17,0) dcl 54 ref 149 169 scale 000122 automatic fixed bin(17,0) dcl 43 set ref 109* 117* 128* 139* 152* 164* 183* 225* size 000120 automatic fixed bin(17,0) dcl 41 set ref 109* 117* 128* 139* 152* 154 164* 183* 188 225* 226 sub_err_ 000016 constant entry external dcl 92 ref 110 type 000116 automatic fixed bin(17,0) dcl 39 set ref 109* 110 117* 119 128* 130 139* 141 152* 154 164* 165 183* 185 185 225* 226 226 v_char_desc constant fixed bin(17,0) initial dcl 2-1 ref 185 226 value 3 based varying char array level 3 dcl 1-31 set ref 226* 239* values_given 000103 automatic bit(1) initial dcl 32 set ref 32* 171* 180* 222 vector_idx 000106 automatic fixed bin(17,0) dcl 34 set ref 213* 214 214* 216 vector_slot based pointer array level 2 dcl 1-12 set ref 214* 214 216* 220* version based fixed bin(35,0) level 2 dcl 1-12 set ref 209* work_area based area(1024) dcl 53 ref 200 208 217 work_area_ptr 000130 automatic pointer dcl 47 set ref 126* 200 208 217 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. D_fixed_cplx_desc internal static fixed bin(17,0) initial dcl 2-1 D_fixed_real_desc internal static fixed bin(17,0) initial dcl 2-1 D_float_cplx_desc internal static fixed bin(17,0) initial dcl 2-1 D_float_real_desc internal static fixed bin(17,0) initial dcl 2-1 Envptr_supplied_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 4-29 Interseg_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 4-29 Quick_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 4-29 area_desc internal static fixed bin(17,0) initial dcl 2-1 arg_list_with_envptr based structure level 1 dcl 4-17 d_fixed_cplx_desc internal static fixed bin(17,0) initial dcl 2-1 d_fixed_real_desc internal static fixed bin(17,0) initial dcl 2-1 d_float_cplx_desc internal static fixed bin(17,0) initial dcl 2-1 d_float_real_desc internal static fixed bin(17,0) initial dcl 2-1 desc_ automatic structure level 1 dcl 3-3 entry_desc internal static fixed bin(17,0) initial dcl 2-1 file_desc internal static fixed bin(17,0) initial dcl 2-1 label_desc internal static fixed bin(17,0) initial dcl 2-1 offset_desc internal static fixed bin(17,0) initial dcl 2-1 s_fixed_cplx_desc internal static fixed bin(17,0) initial dcl 2-1 s_float_cplx_desc internal static fixed bin(17,0) initial dcl 2-1 s_float_real_desc internal static fixed bin(17,0) initial dcl 2-1 structure_desc internal static fixed bin(17,0) initial dcl 2-1 v_bit_desc internal static fixed bin(17,0) initial dcl 2-1 v_char_template based varying char dcl 56 NAMES DECLARED BY EXPLICIT CONTEXT. append_simple_print_vector 000057 constant entry external dcl 7 vu_append_simple_print 000067 constant entry external dcl 7 NAMES DECLARED BY CONTEXT OR IMPLICATION. length builtin function ref 188 max builtin function ref 188 rtrim builtin function ref 188 226 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1352 1376 1235 1362 Length 1650 1235 24 236 114 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME append_simple_print_vector 179 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME append_simple_print_vector 000100 CODE_ARG_IDX append_simple_print_vector 000101 PVA_PTR_ARG_IDX append_simple_print_vector 000102 dim_idx append_simple_print_vector 000103 values_given append_simple_print_vector 000104 old_pva_ptr append_simple_print_vector 000106 vector_idx append_simple_print_vector 000110 free_old_print_vector_array_ptr append_simple_print_vector 000112 arg_list_arg_count append_simple_print_vector 000114 arg_list_ptr append_simple_print_vector 000116 type append_simple_print_vector 000117 packed append_simple_print_vector 000120 size append_simple_print_vector 000121 ndims append_simple_print_vector 000122 scale append_simple_print_vector 000124 p_code_ptr append_simple_print_vector 000126 nargs append_simple_print_vector 000127 arg_idx append_simple_print_vector 000130 work_area_ptr append_simple_print_vector 000132 pva_number_of_dimensions append_simple_print_vector 000133 pva_number_of_vector_slots append_simple_print_vector 000134 pva_maximum_dimension_name_length append_simple_print_vector 000135 pv_number_of_dimensions append_simple_print_vector 000136 pv_maximum_value_length append_simple_print_vector 000140 print_vector_array_ptr append_simple_print_vector 000142 print_vector_ptr append_simple_print_vector THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry alloc_based free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cu_$arg_count cu_$arg_list_ptr decode_descriptor_ sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$fatal_error LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 32 000053 7 000056 102 000075 103 000104 104 000106 106 000115 107 000117 109 000121 110 000144 115 000217 117 000224 119 000247 122 000252 123 000255 126 000256 128 000263 130 000306 133 000311 134 000314 137 000315 139 000323 141 000346 144 000351 145 000354 149 000355 152 000364 154 000407 157 000420 158 000423 161 000424 163 000430 164 000433 165 000456 169 000464 171 000470 172 000471 175 000472 176 000475 177 000476 180 000477 181 000501 182 000502 183 000513 185 000536 188 000543 191 000566 194 000567 195 000572 197 000573 200 000575 201 000613 202 000615 205 000620 206 000622 207 000624 208 000625 209 000662 210 000664 211 000703 213 000705 214 000715 215 000764 216 000766 217 001013 219 001043 220 001044 222 001067 225 001101 226 001124 231 001174 232 001177 234 001200 236 001203 237 001206 239 001215 240 001227 241 001232 243 001234 ----------------------------------------------------------- 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