COMPILATION LISTING OF SEGMENT dfu_cv_tva_to_dim_table Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 01/03/85 1641.5 mst Thu Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* DESCRIPTION: 8* 9* This routine converts the typed_vector_array.dimenstion_table 10* sub-structure into a stand-alone dimension_table structure. 11**/ 12 13 /* HISTORY: 14* 15*Written by Matthew Pierret, 08/24/83. 16*Modified: 17*12/07/84 by M. Sharpe: to cleanup format and dcls; to modify the call to 18* CHECK_VERSION_FB to pass params by reference. 19**/ 20 21 /* format: style2,ind3 */ 22 23 dfu_cv_tva_to_dim_table: 24 proc (p_work_area_ptr, p_typed_vector_array_ptr, p_dimension_table_ptr); 25 26 /* START OF DECLARATIONS */ 27 /* Parameter */ 28 dcl p_work_area_ptr ptr; /* is a pointer to a work area */ 29 dcl p_typed_vector_array_ptr 30 ptr; /* is a pointer to an input typed_vector_array */ 31 dcl p_dimension_table_ptr ptr; /* is a pointer to the output dimension_table */ 32 33 /* Automatic */ 34 dcl dimension_idx fixed bin (35) init (-1); 35 36 /* Based */ 37 38 dcl p_work_area area (10000) based (p_work_area_ptr); 39 dcl based_descriptor_string 40 bit (36) based; 41 42 /* Builtin */ 43 44 dcl (addr, hbound, null) builtin; 45 46 /* Condition */ 47 48 dcl cleanup condition; 49 50 /* Constant */ 51 52 dcl myname init ("dfu_cv_tva_to_dim_table") char (32) varying internal static 53 options (constant); 54 55 /* Entry */ 56 57 dcl sub_err_ entry () options (variable); 58 59 /* External */ 60 61 dcl error_table_$unimplemented_version 62 fixed bin (35) ext; 63 64 /* END OF DECLARATIONS */ 65 66 p_dimension_table_ptr = null; 67 68 typed_vector_array_ptr = p_typed_vector_array_ptr; 69 call CHECK_VERSION_FB (typed_vector_array.version, TYPED_VECTOR_ARRAY_VERSION_2, "typed_vector_array"); 70 71 on cleanup call FINISH (); 72 73 dt_number_of_dimensions = hbound (typed_vector_array.dimension_table, 1); 74 dt_maximum_dimension_name_length = typed_vector_array.maximum_dimension_name_length; 75 alloc dimension_table in (p_work_area); 76 77 do dimension_idx = 1 to hbound (dimension_table.dimension, 1); 78 dimension_table.dimension (dimension_idx).name = typed_vector_array.dimension_table (dimension_idx).name; 79 dimension_table.dimension (dimension_idx).descriptor_ptr = 80 addr (dimension_table.dimension (dimension_idx).descriptor_string); 81 dimension_table.dimension (dimension_idx).descriptor_string = 82 typed_vector_array.dimension_table (dimension_idx).descriptor_ptr -> based_descriptor_string; 83 dimension_table.dimension (dimension_idx).cv_to_typed = 84 typed_vector_array.dimension_table (dimension_idx).cv_to_typed; 85 dimension_table.dimension (dimension_idx).cv_to_print = 86 typed_vector_array.dimension_table (dimension_idx).cv_to_print; 87 end; 88 89 p_dimension_table_ptr = dimension_table_ptr; 90 91 return; 92 93 FINISH: 94 proc (); 95 96 if dimension_table_ptr ^= null & p_dimension_table_ptr = null 97 then free dimension_table; 98 99 end FINISH; 100 101 CHECK_VERSION_FB: 102 proc (p_received_version, p_expected_version, p_structure_name); 103 dcl p_received_version fixed bin (35); 104 dcl p_expected_version fixed bin (35); 105 dcl p_structure_name char (*); 106 107 if p_received_version ^= p_expected_version 108 then call 109 sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, 110 "^/Expected version ^d of the ^a structure. 111 Received version ^d instead.", p_expected_version, p_structure_name, p_received_version); 112 /* FOR DM_ERROR_UTIL_: Replace preceding statement with following 113* 114* dm_error_util_$signal (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART || NO_ANCILLARY_ACTIONS, 115* "^/Expected version ^d of the ^a structure. 116*Received version ^d instead.", p_expected_version, p_structure_name, p_received_version); 117**/ 118 119 end CHECK_VERSION_FB; 120 1 1 /* *********************************************************** 1 2* * * 1 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 1 4* * * 1 5* *********************************************************** */ 1 6 1 7 /* ***** BEGIN INCLUDE FILE vu_dimension_table.incl.pl1 ****** */ 1 8 1 9 /* format: style2,ind3 */ 1 10 1 11 /* HISTORY: 1 12*Written by Matthew Pierret, 08/24/83. 1 13*Modified: 1 14**/ 1 15 1 16 dcl 1 dimension_table aligned based (dimension_table_ptr), 1 17 /* This structure describes a set of dimensions. */ 1 18 /* These dimensions are primarily used in association */ 1 19 /* with a vector_list structure. */ 1 20 2 version char (8) init (DIMENSION_TABLE_VERSION_1), 1 21 2 maximum_dimension_name_length 1 22 fixed bin (35), /* length of the dimension.name field */ 1 23 2 number_of_dimensions 1 24 fixed bin (35), /* extent of the dimension array */ 1 25 2 dimension (dt_number_of_dimensions refer (dimension_table.number_of_dimensions)), 1 26 3 name char (dt_maximum_dimension_name_length 1 27 refer (dimension_table.maximum_dimension_name_length)) varying init (""), 1 28 /* name of a dimension */ 1 29 3 descriptor_string 1 30 bit (36) aligned init ("0"b), 1 31 /* One-word Multics descriptor. */ 1 32 3 descriptor_ptr ptr init (null), /* points to the Multics descriptor for this dimension. */ 1 33 /* For one-word descriptors, the value is usually */ 1 34 /* addr (dimension_table.dimension.descriptor_string) */ 1 35 /* Multi-word descriptors must be allocated in */ 1 36 /* separate storage */ 1 37 3 cv_to_print entry (ptr, ptr, ptr, fixed bin (35), char (*) varying, fixed bin (35)), 1 38 /* call cv_to_print (descriptor_ptr, typed_value_ptr, */ 1 39 /* temp_seg_ptr, max_length_for_print_value, */ 1 40 /* print_value, code) */ 1 41 3 cv_to_typed entry (ptr, ptr, ptr, ptr, fixed bin (35)); 1 42 /* call cv_to_typed (descriptor_ptr, area_ptr, */ 1 43 /* print_value_ptr, typed_value_ptr, code) */ 1 44 1 45 dcl dimension_table_ptr ptr init (null); 1 46 dcl dt_maximum_dimension_name_length 1 47 fixed bin (35) init (-1); 1 48 dcl dt_number_of_dimensions 1 49 fixed bin (35) init (-1); 1 50 dcl DIMENSION_TABLE_VERSION_1 1 51 char (8) init ("DimTbl_1") internal static options (constant); 1 52 1 53 1 54 /* ******* END INCLUDE FILE vu_dimension_table.incl.pl1 ****** */ 121 122 2 1 /* *********************************************************** 2 2* * * 2 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 2 4* * * 2 5* *********************************************************** */ 2 6 /* BEGIN INCLUDE FILE vu_typed_vector_array.incl.pl1 */ 2 7 2 8 /* Written by Lindsey Spratt, 03/04/82. 2 9*Modified: 2 10*06/23/82 by Lindsey Spratt: Changed to version 2. The cv entry declarations 2 11* were altered. cv_to_typed now takes ptr to the descriptor, ptr to 2 12* the print_vector value (char varying), ptr to the typed_vector 2 13* value location, and a code. cv_to_print now takes ptr to the 2 14* descriptor, ptr to the typed_vector value, the print_vector value 2 15* (char(*) varying), the maximum allowed length for the print_vector 2 16* value, a temp_seg to put the value in if its to big to fit into 2 17* the print_vector, and a code. 2 18**/ 2 19 2 20 /* format: style2,ind3 */ 2 21 dcl 1 typed_vector_array based (typed_vector_array_ptr) aligned, 2 22 2 version fixed bin (35), 2 23 2 number_of_dimensions 2 24 fixed bin (17), 2 25 2 number_of_vectors fixed bin (17), 2 26 2 number_of_vector_slots 2 27 fixed bin (17), 2 28 2 maximum_dimension_name_length 2 29 fixed bin (17), 2 30 2 dimension_table (tva_number_of_dimensions refer (typed_vector_array.number_of_dimensions)), 2 31 3 name char (tva_maximum_dimension_name_length 2 32 refer (typed_vector_array.maximum_dimension_name_length)) varying, 2 33 3 descriptor_ptr ptr, /* call cv_to_print (descriptor_ptr, typed_value_ptr, */ 2 34 /* temp_seg_ptr, max_length_for_print_value, */ 2 35 /* print_value, code) */ 2 36 3 cv_to_print entry (ptr, ptr, ptr, fixed bin (35), char (*) varying, fixed bin (35)), 2 37 /* call cv_to_typed (descriptor_ptr, area_ptr, */ 2 38 /* print_value_ptr, typed_value_ptr, code) */ 2 39 3 cv_to_typed entry (ptr, ptr, ptr, ptr, fixed bin (35)), 2 40 2 vector_slot (tva_number_of_vector_slots refer (typed_vector_array.number_of_vector_slots)) 2 41 pointer; 2 42 2 43 dcl typed_vector_array_ptr ptr; 2 44 dcl tva_number_of_vector_slots 2 45 fixed bin; 2 46 dcl tva_number_of_dimensions 2 47 fixed bin; 2 48 dcl tva_maximum_dimension_name_length 2 49 fixed bin; 2 50 dcl TYPED_VECTOR_ARRAY_VERSION_2 2 51 fixed bin (35) int static options (constant) init (2); 2 52 2 53 /* END INCLUDE FILE vu_typed_vector_array.incl.pl1 */ 123 124 3 1 /* BEGIN INCLUDE FILE sub_err_flags.incl.pl1 BIM 11/81 */ 3 2 /* format: style3 */ 3 3 3 4 /* These constants are to be used for the flags argument of sub_err_ */ 3 5 /* They are just "string (condition_info_header.action_flags)" */ 3 6 3 7 declare ( 3 8 ACTION_CAN_RESTART init (""b), 3 9 ACTION_CANT_RESTART init ("1"b), 3 10 ACTION_DEFAULT_RESTART 3 11 init ("01"b), 3 12 ACTION_QUIET_RESTART 3 13 init ("001"b), 3 14 ACTION_SUPPORT_SIGNAL 3 15 init ("0001"b) 3 16 ) bit (36) aligned internal static options (constant); 3 17 3 18 /* End include file */ 125 126 end dfu_cv_tva_to_dim_table; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 01/03/85 1149.7 dfu_cv_tva_to_dim_table.pl1 >spec>temp>famis1>dfu_cv_tva_to_dim_table.pl1 121 1 01/03/85 1005.8 vu_dimension_table.incl.pl1 >spec>temp>famis1>vu_dimension_table.incl.pl1 123 2 10/14/83 1609.1 vu_typed_vector_array.incl.pl1 >ldd>include>vu_typed_vector_array.incl.pl1 125 3 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.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. ACTION_CANT_RESTART 000000 constant bit(36) initial dcl 3-7 set ref 107* DIMENSION_TABLE_VERSION_1 000002 constant char(8) initial unaligned dcl 1-50 ref 75 TYPED_VECTOR_ARRAY_VERSION_2 000024 constant fixed bin(35,0) initial dcl 2-50 set ref 69* addr builtin function dcl 44 ref 79 based_descriptor_string based bit(36) unaligned dcl 39 ref 81 cleanup 000102 stack reference condition dcl 48 ref 71 cv_to_print based entry variable array level 3 in structure "typed_vector_array" dcl 2-21 in procedure "dfu_cv_tva_to_dim_table" ref 85 cv_to_print based entry variable array level 3 in structure "dimension_table" dcl 1-16 in procedure "dfu_cv_tva_to_dim_table" set ref 85* cv_to_typed based entry variable array level 3 in structure "typed_vector_array" dcl 2-21 in procedure "dfu_cv_tva_to_dim_table" ref 83 cv_to_typed based entry variable array level 3 in structure "dimension_table" dcl 1-16 in procedure "dfu_cv_tva_to_dim_table" set ref 83* descriptor_ptr based pointer initial array level 3 in structure "dimension_table" dcl 1-16 in procedure "dfu_cv_tva_to_dim_table" set ref 75* 79* descriptor_ptr based pointer array level 3 in structure "typed_vector_array" dcl 2-21 in procedure "dfu_cv_tva_to_dim_table" ref 81 descriptor_string based bit(36) initial array level 3 dcl 1-16 set ref 75* 79 81* dimension 4 based structure array level 2 dcl 1-16 set ref 77 dimension_idx 000100 automatic fixed bin(35,0) initial dcl 34 set ref 34* 77* 78 78 79 79 81 81 83 83 85 85* dimension_table based structure level 1 dcl 1-16 in procedure "dfu_cv_tva_to_dim_table" set ref 75 96 dimension_table 6 based structure array level 2 in structure "typed_vector_array" dcl 2-21 in procedure "dfu_cv_tva_to_dim_table" ref 73 dimension_table_ptr 000110 automatic pointer initial dcl 1-45 set ref 75* 77 78 79 79 81 83 85 89 1-45* 96 96 dt_maximum_dimension_name_length 000112 automatic fixed bin(35,0) initial dcl 1-46 set ref 74* 75 75 1-46* dt_number_of_dimensions 000113 automatic fixed bin(35,0) initial dcl 1-48 set ref 73* 75 75 1-48* error_table_$unimplemented_version 000012 external static fixed bin(35,0) dcl 61 set ref 107* hbound builtin function dcl 44 ref 73 77 maximum_dimension_name_length 4 based fixed bin(17,0) level 2 in structure "typed_vector_array" dcl 2-21 in procedure "dfu_cv_tva_to_dim_table" ref 74 78 78 81 81 81 83 83 83 85 85 85 maximum_dimension_name_length 2 based fixed bin(35,0) level 2 in structure "dimension_table" dcl 1-16 in procedure "dfu_cv_tva_to_dim_table" set ref 75* 75 75 75 75 75 75 75 75 75 78 78 78 79 79 79 79 79 79 81 81 81 83 83 83 85 85 85 96 myname 000004 constant varying char(32) initial dcl 52 set ref 107* name 4 based varying char initial array level 3 in structure "dimension_table" dcl 1-16 in procedure "dfu_cv_tva_to_dim_table" set ref 75* 78* name 6 based varying char array level 3 in structure "typed_vector_array" dcl 2-21 in procedure "dfu_cv_tva_to_dim_table" ref 78 null builtin function dcl 44 ref 66 75 1-45 96 96 107 107 number_of_dimensions 1 based fixed bin(17,0) level 2 in structure "typed_vector_array" dcl 2-21 in procedure "dfu_cv_tva_to_dim_table" ref 73 number_of_dimensions 3 based fixed bin(35,0) level 2 in structure "dimension_table" dcl 1-16 in procedure "dfu_cv_tva_to_dim_table" set ref 75* 77 96 p_dimension_table_ptr parameter pointer dcl 31 set ref 23 66* 89* 96 p_expected_version parameter fixed bin(35,0) dcl 104 set ref 101 107 107* p_received_version parameter fixed bin(35,0) dcl 103 set ref 101 107 107* p_structure_name parameter char unaligned dcl 105 set ref 101 107* p_typed_vector_array_ptr parameter pointer dcl 29 ref 23 68 p_work_area based area(10000) dcl 38 ref 75 p_work_area_ptr parameter pointer dcl 28 ref 23 75 sub_err_ 000010 constant entry external dcl 57 ref 107 typed_vector_array based structure level 1 dcl 2-21 typed_vector_array_ptr 000114 automatic pointer dcl 2-43 set ref 68* 69 73 74 78 81 83 85 version based fixed bin(35,0) level 2 in structure "typed_vector_array" dcl 2-21 in procedure "dfu_cv_tva_to_dim_table" set ref 69* version based char(8) initial level 2 in structure "dimension_table" dcl 1-16 in procedure "dfu_cv_tva_to_dim_table" set ref 75* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ACTION_CAN_RESTART internal static bit(36) initial dcl 3-7 ACTION_DEFAULT_RESTART internal static bit(36) initial dcl 3-7 ACTION_QUIET_RESTART internal static bit(36) initial dcl 3-7 ACTION_SUPPORT_SIGNAL internal static bit(36) initial dcl 3-7 tva_maximum_dimension_name_length automatic fixed bin(17,0) dcl 2-48 tva_number_of_dimensions automatic fixed bin(17,0) dcl 2-46 tva_number_of_vector_slots automatic fixed bin(17,0) dcl 2-44 NAMES DECLARED BY EXPLICIT CONTEXT. CHECK_VERSION_FB 000465 constant entry internal dcl 101 ref 69 FINISH 000433 constant entry internal dcl 93 ref 71 dfu_cv_tva_to_dim_table 000065 constant entry external dcl 23 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 642 656 561 652 Length 1106 561 14 214 60 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME dfu_cv_tva_to_dim_table 176 external procedure is an external procedure. on unit on line 71 70 on unit FINISH internal procedure shares stack frame of on unit on line 71. CHECK_VERSION_FB internal procedure shares stack frame of external procedure dfu_cv_tva_to_dim_table. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME dfu_cv_tva_to_dim_table 000100 dimension_idx dfu_cv_tva_to_dim_table 000110 dimension_table_ptr dfu_cv_tva_to_dim_table 000112 dt_maximum_dimension_name_length dfu_cv_tva_to_dim_table 000113 dt_number_of_dimensions dfu_cv_tva_to_dim_table 000114 typed_vector_array_ptr dfu_cv_tva_to_dim_table THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return enable ext_entry int_entry alloc_based free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. sub_err_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$unimplemented_version CONSTANTS 000000 aa 400000000000 000002 aa 104 151 155 124 DimT 000003 aa 142 154 137 061 bl_1 000004 aa 000000000027 000005 aa 144 146 165 137 dfu_ 000006 aa 143 166 137 164 cv_t 000007 aa 166 141 137 164 va_t 000010 aa 157 137 144 151 o_di 000011 aa 155 137 164 141 m_ta 000012 aa 142 154 145 040 ble 000013 aa 040 040 040 040 000014 aa 040 040 040 040 000015 aa 524000000107 000016 aa 404000000005 000017 aa 514000000044 000020 aa 530000000040 000021 aa 526077777777 000022 aa 524000000022 000023 aa 404000000043 000024 aa 000000000002 000025 aa 464000000000 000026 aa 077777000043 000027 aa 000001000000 000030 aa 143 154 145 141 clea 000031 aa 156 165 160 000 nup 000032 aa 164 171 160 145 type 000033 aa 144 137 166 145 d_ve 000034 aa 143 164 157 162 ctor 000035 aa 137 141 162 162 _arr 000036 aa 141 171 000 000 ay 000037 aa 136 057 105 170 ^/Ex 000040 aa 160 145 143 164 pect 000041 aa 145 144 040 166 ed v 000042 aa 145 162 163 151 ersi 000043 aa 157 156 040 136 on ^ 000044 aa 144 040 157 146 d of 000045 aa 040 164 150 145 the 000046 aa 040 136 141 040 ^a 000047 aa 163 164 162 165 stru 000050 aa 143 164 165 162 ctur 000051 aa 145 056 012 122 e. R 000052 aa 145 143 145 151 ecei 000053 aa 166 145 144 040 ved 000054 aa 166 145 162 163 vers 000055 aa 151 157 156 040 ion 000056 aa 136 144 040 151 ^d i 000057 aa 156 163 164 145 nste 000060 aa 141 144 056 000 ad. BEGIN PROCEDURE dfu_cv_tva_to_dim_table ENTRY TO dfu_cv_tva_to_dim_table STATEMENT 1 ON LINE 23 dfu_cv_tva_to_dim_table: proc (p_work_area_ptr, p_typed_vector_array_ptr, p_dimension_table_ptr); 000061 at 000003000025 000062 tt 000025000025 000063 ta 000061000000 000064 da 000046300000 000065 aa 000260 6270 00 eax7 176 000066 aa 7 00034 3521 20 epp2 pr7|28,* 000067 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000070 aa 000006000000 000071 aa 000000000000 STATEMENT 1 ON LINE 34 000072 aa 000001 3360 07 lcq 1,dl 000073 aa 6 00100 7561 00 stq pr6|64 dimension_idx STATEMENT 1 ON LINE 45 OF FILE 1 000074 aa 777732 2370 04 ldaq -38,ic 000026 = 077777000043 000001000000 000075 aa 6 00110 7571 00 staq pr6|72 dimension_table_ptr STATEMENT 1 ON LINE 46 OF FILE 1 000076 aa 000001 3360 07 lcq 1,dl 000077 aa 6 00112 7561 00 stq pr6|74 dt_maximum_dimension_name_length STATEMENT 1 ON LINE 48 OF FILE 1 000100 aa 6 00113 7561 00 stq pr6|75 dt_number_of_dimensions STATEMENT 1 ON LINE 66 p_dimension_table_ptr = null; 000101 aa 777725 2370 04 ldaq -43,ic 000026 = 077777000043 000001000000 000102 aa 6 00032 3735 20 epp7 pr6|26,* 000103 aa 7 00006 7571 20 staq pr7|6,* p_dimension_table_ptr STATEMENT 1 ON LINE 68 typed_vector_array_ptr = p_typed_vector_array_ptr; 000104 aa 7 00004 3715 20 epp5 pr7|4,* p_typed_vector_array_ptr 000105 aa 5 00000 3715 20 epp5 pr5|0,* p_typed_vector_array_ptr 000106 aa 6 00114 6515 00 spri5 pr6|76 typed_vector_array_ptr STATEMENT 1 ON LINE 69 call CHECK_VERSION_FB (typed_vector_array.version, TYPED_VECTOR_ARRAY_VERSION_2, "typed_vector_array"); 000107 aa 777723 2370 04 ldaq -45,ic 000032 = 164171160145 144137166145 000110 aa 6 00130 7571 00 staq pr6|88 000111 aa 777723 2370 04 ldaq -45,ic 000034 = 143164157162 137141162162 000112 aa 6 00132 7571 00 staq pr6|90 000113 aa 141171 2350 03 lda 49785,du 000114 aa 6 00134 7551 00 sta pr6|92 000115 aa 5 00000 3521 00 epp2 pr5|0 typed_vector_array.version 000116 aa 6 00140 2521 00 spri2 pr6|96 000117 aa 777705 3520 04 epp2 -59,ic 000024 = 000000000002 000120 aa 6 00142 2521 00 spri2 pr6|98 000121 aa 6 00130 3521 00 epp2 pr6|88 000122 aa 6 00144 2521 00 spri2 pr6|100 000123 aa 777700 3520 04 epp2 -64,ic 000023 = 404000000043 000124 aa 6 00146 2521 00 spri2 pr6|102 000125 aa 6 00150 2521 00 spri2 pr6|104 000126 aa 777674 3520 04 epp2 -68,ic 000022 = 524000000022 000127 aa 6 00152 2521 00 spri2 pr6|106 000130 aa 6 00136 3521 00 epp2 pr6|94 000131 aa 014000 4310 07 fld 6144,dl 000132 aa 2 00000 7571 00 staq pr2|0 000133 aa 000332 6700 04 tsp4 218,ic 000465 STATEMENT 1 ON LINE 71 on cleanup call FINISH (); 000134 aa 000007 7260 07 lxl6 7,dl 000135 aa 777673 3520 04 epp2 -69,ic 000030 = 143154145141 000136 aa 0 00717 7001 00 tsx0 pr0|463 enable 000137 aa 000004 7100 04 tra 4,ic 000143 000140 aa 000102000000 000141 aa 000011 7100 04 tra 9,ic 000152 BEGIN CONDITION cleanup.1 ENTRY TO cleanup.1 STATEMENT 1 ON LINE 71 on cleanup call FINISH (); 000142 da 000054200000 000143 aa 000120 6270 00 eax7 80 000144 aa 7 00034 3521 20 epp2 pr7|28,* 000145 aa 2 01047 2721 00 tsp2 pr2|551 int_entry 000146 aa 000000000000 000147 aa 000000000000 000150 aa 000263 6700 04 tsp4 179,ic 000433 000151 aa 0 00631 7101 00 tra pr0|409 return END CONDITION cleanup.1 STATEMENT 1 ON LINE 73 dt_number_of_dimensions = hbound (typed_vector_array.dimension_table, 1); 000152 aa 6 00114 3735 20 epp7 pr6|76,* typed_vector_array_ptr 000153 aa 7 00001 2361 00 ldq pr7|1 typed_vector_array.number_of_dimensions 000154 aa 6 00113 7561 00 stq pr6|75 dt_number_of_dimensions STATEMENT 1 ON LINE 74 dt_maximum_dimension_name_length = typed_vector_array.maximum_dimension_name_length; 000155 aa 7 00004 2361 00 ldq pr7|4 typed_vector_array.maximum_dimension_name_length 000156 aa 6 00112 7561 00 stq pr6|74 dt_maximum_dimension_name_length STATEMENT 1 ON LINE 75 alloc dimension_table in (p_work_area); 000157 aa 6 00112 2361 00 ldq pr6|74 dt_maximum_dimension_name_length 000160 aa 000003 0760 07 adq 3,dl 000161 aa 000002 7320 00 qrs 2 000162 aa 000002 0760 07 adq 2,dl 000163 aa 000001 0760 07 adq 1,dl 000164 aa 777776 3760 07 anq 262142,dl 000165 aa 000012 0760 07 adq 10,dl 000166 aa 000001 0760 07 adq 1,dl 000167 aa 777776 3760 07 anq 262142,dl 000170 aa 6 00113 4021 00 mpy pr6|75 dt_number_of_dimensions 000171 aa 000004 0330 07 adl 4,dl 000172 aa 6 00032 3735 20 epp7 pr6|26,* 000173 aa 7 00002 3715 20 epp5 pr7|2,* p_work_area_ptr 000174 aa 5 00000 3521 20 epp2 pr5|0,* p_work_area 000175 aa 0 01402 7001 00 tsx0 pr0|770 alloc_based 000176 aa 777761 7100 04 tra -15,ic 000157 000177 aa 6 00110 2521 00 spri2 pr6|72 dimension_table_ptr 000200 aa 777602 2370 04 ldaq -126,ic 000002 = 104151155124 142154137061 000201 aa 2 00000 7551 00 sta pr2|0 dimension_table.version 000202 aa 2 00001 7561 00 stq pr2|1 dimension_table.version 000203 aa 6 00113 2361 00 ldq pr6|75 dt_number_of_dimensions 000204 aa 2 00003 7561 00 stq pr2|3 dimension_table.number_of_dimensions 000205 aa 6 00112 2361 00 ldq pr6|74 dt_maximum_dimension_name_length 000206 aa 2 00002 7561 00 stq pr2|2 dimension_table.maximum_dimension_name_length 000207 aa 6 00116 4501 00 stz pr6|78 000210 aa 6 00116 0541 00 aos pr6|78 000211 aa 000003 0760 07 adq 3,dl 000212 aa 000002 7320 00 qrs 2 000213 aa 6 00135 7561 00 stq pr6|93 000214 aa 000002 0760 07 adq 2,dl 000215 aa 000001 0760 07 adq 1,dl 000216 aa 777776 3760 07 anq 262142,dl 000217 aa 6 00156 7561 00 stq pr6|110 000220 aa 000012 0760 07 adq 10,dl 000221 aa 000001 0760 07 adq 1,dl 000222 aa 777776 3760 07 anq 262142,dl 000223 aa 6 00157 7561 00 stq pr6|111 000224 aa 6 00116 2361 00 ldq pr6|78 000225 aa 000001 1760 07 sbq 1,dl 000226 aa 6 00157 4021 00 mpy pr6|111 000227 aa 2 00004 4501 06 stz pr2|4,ql dimension_table.name 000230 aa 6 00117 4501 00 stz pr6|79 000231 aa 6 00117 0541 00 aos pr6|79 000232 aa 6 00157 2361 00 ldq pr6|111 000233 aa 6 00117 4021 00 mpy pr6|79 000234 aa 6 00157 1761 00 sbq pr6|111 000235 aa 6 00160 7561 00 stq pr6|112 000236 aa 6 00135 2361 00 ldq pr6|93 000237 aa 000005 0760 07 adq 5,dl 000240 aa 6 00160 0761 00 adq pr6|112 000241 aa 2 00000 4501 06 stz pr2|0,ql dimension_table.descriptor_string 000242 aa 6 00120 4501 00 stz pr6|80 000243 aa 6 00120 0541 00 aos pr6|80 000244 aa 6 00157 2361 00 ldq pr6|111 000245 aa 6 00120 4021 00 mpy pr6|80 000246 aa 6 00157 1761 00 sbq pr6|111 000247 aa 6 00157 7561 00 stq pr6|111 000250 aa 6 00156 2361 00 ldq pr6|110 000251 aa 000004 0760 07 adq 4,dl 000252 aa 6 00157 0761 00 adq pr6|111 000253 aa 000000 6270 06 eax7 0,ql 000254 aa 777552 2370 04 ldaq -150,ic 000026 = 077777000043 000001000000 000255 aa 2 00000 7571 17 staq pr2|0,7 dimension_table.descriptor_ptr STATEMENT 1 ON LINE 77 do dimension_idx = 1 to hbound (dimension_table.dimension, 1); 000256 aa 2 00003 2361 00 ldq pr2|3 dimension_table.number_of_dimensions 000257 aa 6 00121 7561 00 stq pr6|81 000260 aa 000001 2360 07 ldq 1,dl 000261 aa 6 00100 7561 00 stq pr6|64 dimension_idx 000262 aa 6 00100 2361 00 ldq pr6|64 dimension_idx 000263 aa 6 00121 1161 00 cmpq pr6|81 000264 aa 000143 6054 04 tpnz 99,ic 000427 STATEMENT 1 ON LINE 78 dimension_table.dimension (dimension_idx).name = typed_vector_array.dimension_table (dimension_idx).name; 000265 aa 6 00110 3735 20 epp7 pr6|72,* dimension_table_ptr 000266 aa 7 00002 2361 00 ldq pr7|2 dimension_table.maximum_dimension_name_length 000267 aa 000003 0760 07 adq 3,dl 000270 aa 000002 7320 00 qrs 2 000271 aa 6 00157 7561 00 stq pr6|111 000272 aa 000002 0760 07 adq 2,dl 000273 aa 000001 0760 07 adq 1,dl 000274 aa 777776 3760 07 anq 262142,dl 000275 aa 6 00156 7561 00 stq pr6|110 000276 aa 000012 0760 07 adq 10,dl 000277 aa 000001 0760 07 adq 1,dl 000300 aa 777776 3760 07 anq 262142,dl 000301 aa 6 00160 7561 00 stq pr6|112 000302 aa 6 00100 2361 00 ldq pr6|64 dimension_idx 000303 aa 000001 1760 07 sbq 1,dl 000304 aa 6 00135 7561 00 stq pr6|93 000305 aa 6 00160 4021 00 mpy pr6|112 000306 aa 6 00114 3715 20 epp5 pr6|76,* typed_vector_array_ptr 000307 aa 000000 6260 06 eax6 0,ql 000310 aa 5 00004 2361 00 ldq pr5|4 typed_vector_array.maximum_dimension_name_length 000311 aa 000003 0760 07 adq 3,dl 000312 aa 000002 7320 00 qrs 2 000313 aa 000001 0760 07 adq 1,dl 000314 aa 000001 0760 07 adq 1,dl 000315 aa 777776 3760 07 anq 262142,dl 000316 aa 6 00162 7561 00 stq pr6|114 000317 aa 000012 0760 07 adq 10,dl 000320 aa 000001 0760 07 adq 1,dl 000321 aa 777776 3760 07 anq 262142,dl 000322 aa 6 00163 7561 00 stq pr6|115 000323 aa 6 00135 4021 00 mpy pr6|93 000324 aa 000000 6270 06 eax7 0,ql 000325 aa 5 00006 2361 06 ldq pr5|6,ql typed_vector_array.name 000326 aa 7 00002 1161 00 cmpq pr7|2 dimension_table.maximum_dimension_name_length 000327 aa 000002 6040 04 tmi 2,ic 000331 000330 aa 7 00002 2361 00 ldq pr7|2 dimension_table.maximum_dimension_name_length 000331 aa 5 00007 3535 17 epp3 pr5|7,7 typed_vector_array.name 000332 aa 7 00004 7561 16 stq pr7|4,6 dimension_table.name 000333 aa 7 00005 3515 16 epp1 pr7|5,6 dimension_table.name 000334 aa 040 140 100 540 mlr (pr,rl),(pr,rl),fill(040) 000335 aa 3 00000 00 0006 desc9a pr3|0,ql typed_vector_array.name 000336 aa 1 00000 00 0006 desc9a pr1|0,ql dimension_table.name STATEMENT 1 ON LINE 79 dimension_table.dimension (dimension_idx).descriptor_ptr = addr (dimension_table.dimension (dimension_idx).descriptor_string); 000337 aa 6 00160 2361 00 ldq pr6|112 000340 aa 6 00100 4021 00 mpy pr6|64 dimension_idx 000341 aa 6 00160 1761 00 sbq pr6|112 000342 aa 6 00160 7561 00 stq pr6|112 000343 aa 6 00156 2361 00 ldq pr6|110 000344 aa 000004 0760 07 adq 4,dl 000345 aa 6 00160 0761 00 adq pr6|112 000346 aa 000000 6250 06 eax5 0,ql 000347 aa 6 00157 2361 00 ldq pr6|111 000350 aa 000005 0760 07 adq 5,dl 000351 aa 6 00160 0761 00 adq pr6|112 000352 aa 7 00000 3535 06 epp3 pr7|0,ql dimension_table.descriptor_string 000353 aa 7 00000 2535 15 spri3 pr7|0,5 dimension_table.descriptor_ptr STATEMENT 1 ON LINE 81 dimension_table.dimension (dimension_idx).descriptor_string = typed_vector_array.dimension_table (dimension_idx).descriptor_ptr -> based_descriptor_string; 000354 aa 000000 6240 06 eax4 0,ql 000355 aa 6 00163 2361 00 ldq pr6|115 000356 aa 6 00100 4021 00 mpy pr6|64 dimension_idx 000357 aa 6 00163 1761 00 sbq pr6|115 000360 aa 6 00163 7561 00 stq pr6|115 000361 aa 6 00162 2361 00 ldq pr6|114 000362 aa 000006 0760 07 adq 6,dl 000363 aa 6 00163 0761 00 adq pr6|115 000364 aa 7 00000 3515 14 epp1 pr7|0,4 dimension_table.descriptor_string 000365 aa 5 00000 3535 26 epp3 pr5|0,ql* typed_vector_array.descriptor_ptr 000366 aa 003 100 060 500 csl (pr),(pr),fill(0),bool(move) 000367 aa 3 00000 00 0044 descb pr3|0,36 based_descriptor_string 000370 aa 1 00000 00 0044 descb pr1|0,36 dimension_table.descriptor_string STATEMENT 1 ON LINE 83 dimension_table.dimension (dimension_idx).cv_to_typed = typed_vector_array.dimension_table (dimension_idx).cv_to_typed; 000371 aa 6 00156 2361 00 ldq pr6|110 000372 aa 000006 0760 07 adq 6,dl 000373 aa 6 00156 7561 00 stq pr6|110 000374 aa 000004 0760 07 adq 4,dl 000375 aa 6 00160 0761 00 adq pr6|112 000376 aa 000000 6230 06 eax3 0,ql 000377 aa 6 00162 2361 00 ldq pr6|114 000400 aa 000002 0760 07 adq 2,dl 000401 aa 6 00162 7561 00 stq pr6|114 000402 aa 000012 0760 07 adq 10,dl 000403 aa 6 00163 0761 00 adq pr6|115 000404 aa 5 00000 3521 26 epp2 pr5|0,ql* typed_vector_array.cv_to_typed 000405 aa 7 00000 2521 13 spri2 pr7|0,3 dimension_table.cv_to_typed 000406 aa 5 00002 3521 26 epp2 pr5|2,ql* typed_vector_array.cv_to_typed 000407 aa 7 00002 2521 13 spri2 pr7|2,3 dimension_table.cv_to_typed STATEMENT 1 ON LINE 85 dimension_table.dimension (dimension_idx).cv_to_print = typed_vector_array.dimension_table (dimension_idx).cv_to_print; 000410 aa 6 00156 2361 00 ldq pr6|110 000411 aa 6 00160 0761 00 adq pr6|112 000412 aa 000000 6220 06 eax2 0,ql 000413 aa 6 00162 2361 00 ldq pr6|114 000414 aa 000006 0760 07 adq 6,dl 000415 aa 6 00163 0761 00 adq pr6|115 000416 aa 5 00000 3521 26 epp2 pr5|0,ql* typed_vector_array.cv_to_print 000417 aa 7 00000 2521 12 spri2 pr7|0,2 dimension_table.cv_to_print 000420 aa 5 00002 3521 26 epp2 pr5|2,ql* typed_vector_array.cv_to_print 000421 aa 7 00002 2521 12 spri2 pr7|2,2 dimension_table.cv_to_print STATEMENT 1 ON LINE 87 end; 000422 aa 6 00100 2351 00 lda pr6|64 dimension_idx 000423 aa 000044 7330 00 lrs 36 000424 aa 000001 0330 07 adl 1,dl 000425 aa 6 00100 7561 00 stq pr6|64 dimension_idx 000426 aa 777634 7100 04 tra -100,ic 000262 STATEMENT 1 ON LINE 89 p_dimension_table_ptr = dimension_table_ptr; 000427 aa 6 00110 3735 20 epp7 pr6|72,* dimension_table_ptr 000430 aa 6 00032 3715 20 epp5 pr6|26,* 000431 aa 5 00006 6535 20 spri7 pr5|6,* p_dimension_table_ptr STATEMENT 1 ON LINE 91 return; 000432 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 126 end dfu_cv_tva_to_dim_table; BEGIN PROCEDURE FINISH ENTRY TO FINISH STATEMENT 1 ON LINE 93 FINISH: proc (); 000433 aa 6 00100 6501 00 spri4 pr6|64 STATEMENT 1 ON LINE 96 if dimension_table_ptr ^= null & p_dimension_table_ptr = null then free dimension_table; 000434 aa 6 00040 3735 20 epp7 pr6|32,* 000435 aa 7 00110 2371 00 ldaq pr7|72 dimension_table_ptr 000436 aa 777370 6770 04 eraq -264,ic 000026 = 077777000043 000001000000 000437 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000440 aa 000024 6000 04 tze 20,ic 000464 000441 aa 7 00032 3715 20 epp5 pr7|26,* 000442 aa 5 00006 2371 20 ldaq pr5|6,* p_dimension_table_ptr 000443 aa 777363 6770 04 eraq -269,ic 000026 = 077777000043 000001000000 000444 aa 0 00460 3771 00 anaq pr0|304 = 077777000077 777777077077 000445 aa 000017 6010 04 tnz 15,ic 000464 000446 aa 7 00110 3535 20 epp3 pr7|72,* dimension_table_ptr 000447 aa 3 00002 2361 00 ldq pr3|2 dimension_table.maximum_dimension_name_length 000450 aa 000003 0760 07 adq 3,dl 000451 aa 000002 7320 00 qrs 2 000452 aa 000002 0760 07 adq 2,dl 000453 aa 000001 0760 07 adq 1,dl 000454 aa 777776 3760 07 anq 262142,dl 000455 aa 000012 0760 07 adq 10,dl 000456 aa 000001 0760 07 adq 1,dl 000457 aa 777776 3760 07 anq 262142,dl 000460 aa 3 00003 4021 00 mpy pr3|3 dimension_table.number_of_dimensions 000461 aa 000004 0330 07 adl 4,dl 000462 aa 7 00110 3715 00 epp5 pr7|72 dimension_table_ptr 000463 aa 0 01404 7001 00 tsx0 pr0|772 free_based STATEMENT 1 ON LINE 99 end FINISH; 000464 aa 6 00100 6101 00 rtcd pr6|64 END PROCEDURE FINISH BEGIN PROCEDURE CHECK_VERSION_FB ENTRY TO CHECK_VERSION_FB STATEMENT 1 ON LINE 101 CHECK_VERSION_FB: proc (p_received_version, p_expected_version, p_structure_name); 000465 aa 6 00122 6501 00 spri4 pr6|82 000466 aa 6 00124 2521 00 spri2 pr6|84 000467 aa 2 00002 3521 01 epp2 pr2|2,au 000470 aa 6 00126 2521 00 spri2 pr6|86 000471 aa 2 00004 2361 20 ldq pr2|4,* 000472 aa 000002 6040 04 tmi 2,ic 000474 000473 aa 777777 3760 07 anq 262143,dl 000474 aa 0 00250 3761 00 anq pr0|168 = 000077777777 000475 aa 6 00164 7561 00 stq pr6|116 STATEMENT 1 ON LINE 107 if p_received_version ^= p_expected_version then call sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, "^/Expected version ^d of the ^a structure. Received version ^d instead.", p_expected_version, p_structure_name, p_received_version); 000476 aa 6 00124 3735 20 epp7 pr6|84,* 000477 aa 7 00002 2361 20 ldq pr7|2,* p_received_version 000500 aa 7 00004 1161 20 cmpq pr7|4,* p_expected_version 000501 aa 000057 6000 04 tze 47,ic 000560 000502 aa 777324 3714 24 epp5 -300,ic* 000503 aa 6 00166 6515 00 spri5 pr6|118 000504 aa 6 00165 4501 00 stz pr6|117 000505 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000506 aa 777332 00 0110 desc9a -294,72 000037 = 136057105170 000507 aa 6 00170 00 0110 desc9a pr6|120,72 000510 aa 6 00044 3701 20 epp4 pr6|36,* 000511 la 4 00012 3521 20 epp2 pr4|10,* error_table_$unimplemented_version 000512 aa 6 00214 2521 00 spri2 pr6|140 000513 aa 777272 3520 04 epp2 -326,ic 000005 = 144146165137 000514 aa 6 00216 2521 00 spri2 pr6|142 000515 aa 777263 3520 04 epp2 -333,ic 000000 = 400000000000 000516 aa 6 00220 2521 00 spri2 pr6|144 000517 aa 6 00166 3521 00 epp2 pr6|118 000520 aa 6 00222 2521 00 spri2 pr6|146 000521 aa 6 00165 3521 00 epp2 pr6|117 000522 aa 6 00224 2521 00 spri2 pr6|148 000523 aa 6 00170 3521 00 epp2 pr6|120 000524 aa 6 00226 2521 00 spri2 pr6|150 000525 aa 7 00004 3521 20 epp2 pr7|4,* p_expected_version 000526 aa 6 00230 2521 00 spri2 pr6|152 000527 aa 7 00006 3521 20 epp2 pr7|6,* p_structure_name 000530 aa 6 00232 2521 00 spri2 pr6|154 000531 aa 7 00002 3521 20 epp2 pr7|2,* p_received_version 000532 aa 6 00234 2521 00 spri2 pr6|156 000533 aa 777270 3520 04 epp2 -328,ic 000023 = 404000000043 000534 aa 6 00236 2521 00 spri2 pr6|158 000535 aa 6 00252 2521 00 spri2 pr6|170 000536 aa 6 00256 2521 00 spri2 pr6|174 000537 aa 777261 3520 04 epp2 -335,ic 000020 = 530000000040 000540 aa 6 00240 2521 00 spri2 pr6|160 000541 aa 777256 3520 04 epp2 -338,ic 000017 = 514000000044 000542 aa 6 00242 2521 00 spri2 pr6|162 000543 aa 777262 3520 04 epp2 -334,ic 000025 = 464000000000 000544 aa 6 00244 2521 00 spri2 pr6|164 000545 aa 777251 3520 04 epp2 -343,ic 000016 = 404000000005 000546 aa 6 00246 2521 00 spri2 pr6|166 000547 aa 777246 3520 04 epp2 -346,ic 000015 = 524000000107 000550 aa 6 00250 2521 00 spri2 pr6|168 000551 aa 6 00126 3535 20 epp3 pr6|86,* 000552 aa 3 00004 3521 20 epp2 pr3|4,* 000553 aa 6 00254 2521 00 spri2 pr6|172 000554 aa 6 00212 6211 00 eax1 pr6|138 000555 aa 044000 4310 07 fld 18432,dl 000556 la 4 00010 3521 20 epp2 pr4|8,* sub_err_ 000557 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 119 end CHECK_VERSION_FB; 000560 aa 6 00122 6101 00 rtcd pr6|82 END PROCEDURE CHECK_VERSION_FB END PROCEDURE dfu_cv_tva_to_dim_table ----------------------------------------------------------- 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