COMPILATION LISTING OF SEGMENT db_fnp_convert_address_ Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/15/82 1615.2 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* DB_FNP_CONVERT_ADDRESS_ - Implements the convert_address (cva) command in debug_fnp */ 12 /* This modules takes an expression and converts it to as many meaningful representations as possible */ 13 /* Written August 1977 by Larry Johnson */ 14 15 db_fnp_convert_address_: proc (arg_corep, arg_fnp, arg_cmd_infop, arg_expr_infop); 16 17 /* Parameters */ 18 19 dcl arg_corep ptr; 20 dcl arg_fnp fixed bin; 21 dcl arg_cmd_infop ptr; 22 dcl arg_expr_infop ptr; 23 24 /* Automatic */ 25 26 dcl corep ptr; 27 dcl fnp fixed bin; 28 dcl val fixed bin; 29 dcl code fixed bin (35); 30 dcl bcode bit (36) aligned based (addr (code)); 31 dcl work char (32) var; 32 dcl printed_version (20) char (32) var; 33 dcl n_printed fixed bin; 34 dcl i fixed bin; 35 dcl opname char (6); 36 dcl orig_argp ptr; 37 dcl orig_argl fixed bin; 38 dcl orig_arg char (orig_argl) based (orig_argp); 39 40 /* External */ 41 42 dcl (ioa_, ioa_$nnl, ioa_$rsnnl) entry options (variable); 43 dcl db_fnp_eval_ entry (ptr, fixed bin, char (*), ptr, char (*), fixed bin, fixed bin (35)); 44 dcl db_fnp_util_$edit_module_addr entry (ptr, fixed bin, fixed bin, char (*) var, fixed bin (35)); 45 dcl db_fnp_edit_inst_$compressed entry (ptr, fixed bin, bit (18), char (*) var); 46 dcl db_fnp_opblock_util_$get_name entry (bit (18), char (*)); 47 dcl db_fnp_reader_$get_operand entry (ptr); 48 49 dcl (addr, hbound, length, rtrim, substr) builtin; 50 51 corep = arg_corep; /* Copy args */ 52 fnp = arg_fnp; 53 expr_infop = arg_expr_infop; 54 cmd_infop = arg_cmd_infop; 55 56 call db_fnp_reader_$get_operand (cmd_infop); /* Be sure one operand */ 57 if cmd_info.error then go to error_return; 58 if cmd_info.endline then do; 59 call ioa_ ("Address missing"); 60 go to error_return; 61 end; 62 63 /* Evaluate each operand in turn. */ 64 65 do while (^cmd_info.endline); 66 call db_fnp_eval_ (corep, fnp, operand, expr_infop, "", val, code); /* Get value of arg */ 67 if code ^= 0 then go to next_operand; 68 orig_argp = addr (operand); 69 orig_argl = length (operand); 70 if substr (orig_arg, 1, 1) = "'" then do; /* Fudge apostrophed string */ 71 orig_argl = orig_argl - 1; 72 orig_argp = addr (substr (orig_arg, 2, 1)); 73 if substr (orig_arg, orig_argl, 1) = "'" then orig_argl = orig_argl - 1; 74 end; 75 call ioa_$nnl ("""^a""", orig_arg); /* Print origional arg */ 76 n_printed = 0; 77 78 /* Try octal */ 79 80 call ioa_$rsnnl ("^o", work, (0), val); 81 call test_print; 82 83 /* Special test for negative numbers */ 84 85 code = val; 86 if substr (bcode, 19, 1) then do; 87 call ioa_$rsnnl ("^.3b", work, (0), substr (bcode, 19)); 88 call test_print; 89 end; 90 91 /* Try module | offset */ 92 93 call db_fnp_util_$edit_module_addr (corep, fnp, val, work, code); 94 if code = 0 then if work ^= "" then call test_print; 95 96 /* Try opblock name */ 97 98 code = val; 99 if substr (bcode, 19, 9) = "777"b3 then do; 100 call db_fnp_opblock_util_$get_name (substr (bcode, 19, 18), opname); 101 if opname ^= "" then do; 102 work = rtrim (opname); 103 call test_print; 104 end; 105 end; 106 107 /* Try system defined symbols */ 108 109 symbol_tablep = addr (db_fnp_symbols_$db_fnp_symbols_); 110 do i = 1 to symbol_table.cnt; 111 symp = addr (symbol_table.entry (i)); 112 if sym.reloc = reloc_abs then call check_sym (0); 113 else if (sym.reloc = reloc_tib) & expr_info.tib_known then call check_sym (expr_info.tib_addr); 114 else if (sym.reloc = reloc_hwcm) & expr_info.hwcm_known then call check_sym (expr_info.hwcm_addr); 115 else if (sym.reloc = reloc_sfcm) & expr_info.sfcm_known then call check_sym (expr_info.sfcm_addr); 116 end; 117 if expr_info.star_known then if val = expr_info.star_addr then do; 118 work = "*"; 119 call test_print; 120 end; 121 122 /* Try decimal */ 123 124 call ioa_$rsnnl ("^d.", work, (0), val); 125 call test_print; 126 127 /* Try machine instruction */ 128 129 code = val; 130 call db_fnp_edit_inst_$compressed (corep, fnp, substr (bcode, 19), work); 131 if work ^= "" then call test_print; 132 133 /* All done with operand */ 134 135 call ioa_ (""); 136 next_operand: 137 call db_fnp_reader_$get_operand (cmd_infop); 138 if cmd_info.error then go to error_return; 139 end; 140 return; 141 142 error_return: 143 cmd_info.error = "1"b; 144 return; 145 146 /* Subroutine to decide whether expr is a valid symbol */ 147 148 check_sym: proc (reloc); 149 150 dcl reloc fixed bin; 151 dcl (w1, w2) fixed bin; /* Range of words in symbol */ 152 153 w1 = sym.value + reloc; 154 w2 = w1 + sym.len -1; 155 if val >= w1 & val <= w2 then do; /* Value within symbol */ 156 if val = w1 then work = sym.name; 157 else call ioa_$rsnnl ("^a+^o", work, (0), sym.name, val-w1); 158 call test_print; 159 end; 160 return; 161 162 end check_sym; 163 164 /* Subrotuine that prints a converted value only if it is diffetent */ 165 166 test_print: proc; 167 168 dcl i fixed bin; 169 170 if work = orig_arg then return; /* Same as origional */ 171 do i = 1 to n_printed; /* Scan list already printed */ 172 if work = printed_version (i) then return; 173 end; 174 call ioa_$nnl (" = ""^a""", work); /* Print new version */ 175 if n_printed < hbound (printed_version, 1) then do; /* And save it */ 176 n_printed = n_printed + 1; 177 printed_version (n_printed) = work; 178 end; 179 return; 180 181 end test_print; 182 1 1 /* Begin include file ..... debug_fnp_data.incl.pl1 */ 1 2 1 3 /* Describes various structures used by the debug_fnp command */ 1 4 1 5 /* Written February 1977 by Larry Johnson */ 1 6 1 7 /* Structures describing a symbol table used by the debug_fnp command, 1 8* to find values for common FNP symbols. */ 1 9 1 10 dcl db_fnp_symbols_$db_fnp_symbols_ ext; 1 11 1 12 dcl symbol_tablep ptr; 1 13 1 14 dcl 1 symbol_table aligned based (symbol_tablep), 1 15 2 cnt fixed bin, /* Number of entries */ 1 16 2 maxcnt fixed bin, /* Max count */ 1 17 2 entry (symbol_table.cnt) unal, 1 18 3 one_symbol like sym unal; 1 19 1 20 dcl symp ptr; /* Pointer to one symbol */ 1 21 1 22 dcl 1 sym unal based (symp), 1 23 2 name char (6), 1 24 2 value fixed bin (17), 1 25 2 len fixed bin (17), /* Number of words */ 1 26 2 reloc fixed bin (17), 1 27 2 type fixed bin (17), 1 28 2 flag_mem char (6), /* If non blank, name of word in which this is a flag */ 1 29 2 explain bit (18), /* Offset to explanation for symbol */ 1 30 2 pad bit (18); 1 31 1 32 dcl exptextp ptr; 1 33 1 34 dcl 1 exptext aligned based (exptextp), /* Symbol explanation entry */ 1 35 2 len fixed bin (8) unal, 1 36 2 data char (exptext.len) unal; 1 37 1 38 /* Values for sym.reloc, which is relocation required to find the symbol */ 1 39 1 40 dcl (reloc_abs init (0), /* Value is absolute */ 1 41 reloc_tib init (1), /* Value is relative to current tib addr */ 1 42 reloc_hwcm init (2), /* Value is relative to current hwcm */ 1 43 reloc_sfcm init (3), /* Value is relative to software comm region */ 1 44 reloc_meters init (4)) /* Value is relative to tib meters */ 1 45 int static options (constant); 1 46 1 47 /* Values for sym.type, which is the mode to be used in displaying symbol */ 1 48 1 49 dcl (type_oct init (0), /* Octal, default for most symbols */ 1 50 type_char init (1), /* Ascii characters */ 1 51 type_addr init (2), /* Address to be converted to mod|offset */ 1 52 type_clock init (3), /* Multics clock value */ 1 53 type_inst init (4), /* Machine instruction */ 1 54 type_op init (5), /* Interpreter opblock format */ 1 55 type_dec init (6), /* Decimal */ 1 56 type_bit init (7), /* In bits */ 1 57 type_ebcdic init (8)) /* 8-bit ebcdic characters */ 1 58 int static options (constant); 1 59 1 60 dcl long_type_names (0:8) char (12) int static options (constant) init ( 1 61 "octal", "character", "address", "clock", "instruction", "opblock", "decimal", "bit", "ebcdic"); 1 62 dcl short_type_names (0:8) char (4) int static options (constant) init ( 1 63 "oct", "ch", "addr", "ck", "inst", "op", "dec", "bit", "ebc"); 1 64 1 65 1 66 /* Structure of suplmental data used in evaluating expressions */ 1 67 1 68 dcl expr_infop ptr; 1 69 1 70 dcl 1 expr_info aligned based (expr_infop), 1 71 2 flags, 1 72 3 star_known bit (1) unal, /* Value of "*" is known */ 1 73 3 tib_known bit (1) unal, /* TIB addresses may be used */ 1 74 3 hwcm_known bit (1) unal, /* HWCM address may be used */ 1 75 3 sfcm_known bit (1) unal, /* SFCM address may be used */ 1 76 3 pad bit (32) unal, 1 77 2 star_addr fixed bin, /* Value of "*" */ 1 78 2 tib_addr fixed bin, /* Address of TIB */ 1 79 2 hwcm_addr fixed bin, /* Address of HWCM */ 1 80 2 sfcm_addr fixed bin, /* Address of SFCM */ 1 81 2 type fixed bin, /* Expression type (mode for printing) */ 1 82 2 len fixed bin, /* Implied length of expression */ 1 83 2 user_tablep ptr; /* Pointer to a user symbol table */ 1 84 1 85 1 86 /* Structure of opcode table of machine instructions */ 1 87 1 88 dcl db_fnp_opcodes_$ ext; 1 89 1 90 dcl optablep ptr; 1 91 1 92 dcl 1 optable aligned based (optablep), 1 93 2 cnt fixed bin, 1 94 2 entry (optable.cnt) unal, 1 95 3 one_op like op; 1 96 1 97 dcl opp ptr; 1 98 1 99 dcl 1 op unal based (opp), 1 100 2 name char (6), /* The mneumonic */ 1 101 2 code bit (12), /* The opcode */ 1 102 2 mask bit (12), /* Mask that says where the opcode is */ 1 103 2 type fixed bin (11), /* Type of display required */ 1 104 2 pad bit (18); 1 105 1 106 /* Values for op.type are: 1 107* 0 - storage reference 1 108* 1 - non-storage reference (immediate), 1 109* 2 - non-storage reference (iacxn only), 1 110* 3 - non-storage reference (shifts), 1 111* 4 - non-storage reference (no operands) */ 1 112 1 113 1 114 /* Stuctures used while parsing commands into operands */ 1 115 1 116 dcl cmd_infop ptr; 1 117 1 118 dcl 1 cmd_info aligned based (cmd_infop), 1 119 2 inbuf char (256), /* For reading lines */ 1 120 2 opbuf char (256), /* Used for operand in undoubling quotes */ 1 121 2 commandp ptr, /* Address of unparsed part of command */ 1 122 2 commandl fixed bin, /* Length of unparsed part */ 1 123 2 operandp ptr, /* Address of current operand */ 1 124 2 operandl fixed bin, /* And its length */ 1 125 2 error bit (1), /* Set if error parsing operand */ 1 126 2 endline bit (1), /* Set if no more operands on line */ 1 127 2 opstring bit (1), /* Set if operand was unquoted string */ 1 128 2 flush bit (1), /* If set, rest of input line will be ignored */ 1 129 2 envp ptr; /* Pointer to the debug_fnp environment structure */ 1 130 1 131 dcl command char (cmd_info.commandl) based (cmd_info.commandp); 1 132 dcl operand char (cmd_info.operandl) based (cmd_info.operandp); 1 133 1 134 /* The following structure describes the current debug_fnp environment. */ 1 135 /* It specifies whether we are working on a dump, fnp, core image, etc. */ 1 136 1 137 dcl envp ptr; 1 138 1 139 dcl 1 env aligned based (envp), 1 140 2 corep ptr, /* Ptr to current dump or core-image. Null means live FNP */ 1 141 2 fnp fixed bin, /* Current fnp number */ 1 142 2 dump_dir char (168) unal, /* Directory where dumps are found */ 1 143 2 dir char (168) unal, /* Directory for current dump or core image */ 1 144 2 ename char (32) unal, /* Ename for current dump or core image */ 1 145 2 tty_name char (32), /* Name of current channel */ 1 146 2 segp ptr, /* Pointer to base of current segment */ 1 147 2 flags unal, 1 148 3 fnps_configured bit (8), /* Says which FNP's appear in config deck */ 1 149 3 fnp_sw bit (1), /* 1 if currently working on fnp */ 1 150 3 image_sw bit (1), /* 1 if currently working on a core-image */ 1 151 3 dump_sw bit (1), /* 1 if current working on a dump */ 1 152 3 fdump_sw bit (1), /* 1 if current dump is a fdump */ 1 153 3 pad bit (24), 1 154 2 dump_time fixed bin (71); /* Clock time dump occured */ 1 155 1 156 /* Structure of data defining table of interpreter opblock names */ 1 157 1 158 dcl db_fnp_opblocks_$ ext; 1 159 1 160 dcl opblock_tablep ptr; 1 161 1 162 dcl 1 opblock_table aligned based (opblock_tablep), 1 163 2 cnt fixed bin, 1 164 2 name (0:opblock_table.cnt) char (6) unal; 1 165 1 166 /* End include file ..... debug_fnp_data.incl.pl1 */ 183 184 185 end db_fnp_convert_address_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/82 1501.5 db_fnp_convert_address_.pl1 >dumps>old>recomp>db_fnp_convert_address_.pl1 183 1 06/19/81 2115.0 debug_fnp_data.incl.pl1 >ldd>include>debug_fnp_data.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. addr builtin function dcl 49 ref 68 72 86 87 87 99 100 100 109 111 130 130 arg_cmd_infop parameter pointer dcl 21 ref 15 54 arg_corep parameter pointer dcl 19 ref 15 51 arg_expr_infop parameter pointer dcl 22 ref 15 53 arg_fnp parameter fixed bin(17,0) dcl 20 ref 15 52 bcode based bit(36) dcl 30 ref 86 87 87 99 100 100 130 130 cmd_info based structure level 1 dcl 1-118 cmd_infop 000420 automatic pointer dcl 1-116 set ref 54* 56* 57 58 65 66 66 66 68 68 69 69 136* 138 142 cnt based fixed bin(17,0) level 2 dcl 1-14 ref 110 code 000104 automatic fixed bin(35,0) dcl 29 set ref 66* 67 85* 86 87 87 93* 94 98* 99 100 100 129* 130 130 corep 000100 automatic pointer dcl 26 set ref 51* 66* 93* 130* db_fnp_edit_inst_$compressed 000022 constant entry external dcl 45 ref 130 db_fnp_eval_ 000016 constant entry external dcl 43 ref 66 db_fnp_opblock_util_$get_name 000024 constant entry external dcl 46 ref 100 db_fnp_reader_$get_operand 000026 constant entry external dcl 47 ref 56 136 db_fnp_symbols_$db_fnp_symbols_ 000030 external static fixed bin(17,0) dcl 1-10 set ref 109 db_fnp_util_$edit_module_addr 000020 constant entry external dcl 44 ref 93 endline 210 based bit(1) level 2 dcl 1-118 ref 58 65 entry 2 based structure array level 2 packed unaligned dcl 1-14 set ref 111 error 207 based bit(1) level 2 dcl 1-118 set ref 57 138 142* expr_info based structure level 1 dcl 1-70 expr_infop 000416 automatic pointer dcl 1-68 set ref 53* 66* 113 113 114 114 115 115 117 117 flags based structure level 2 dcl 1-70 fnp 000102 automatic fixed bin(17,0) dcl 27 set ref 52* 66* 93* 130* hbound builtin function dcl 49 ref 175 hwcm_addr 3 based fixed bin(17,0) level 2 dcl 1-70 set ref 114* hwcm_known 0(02) based bit(1) level 3 packed unaligned dcl 1-70 ref 114 i 000403 automatic fixed bin(17,0) dcl 34 in procedure "db_fnp_convert_address_" set ref 110* 111* i 000442 automatic fixed bin(17,0) dcl 168 in procedure "test_print" set ref 171* 172* ioa_ 000010 constant entry external dcl 42 ref 59 135 ioa_$nnl 000012 constant entry external dcl 42 ref 75 174 ioa_$rsnnl 000014 constant entry external dcl 42 ref 80 87 124 157 len 2 based fixed bin(17,0) level 2 packed unaligned dcl 1-22 ref 154 length builtin function dcl 49 ref 69 n_printed 000402 automatic fixed bin(17,0) dcl 33 set ref 76* 171 175 176* 176 177 name based char(6) level 2 packed unaligned dcl 1-22 set ref 156 157* op based structure level 1 packed unaligned dcl 1-99 operand based char unaligned dcl 1-132 set ref 66* 68 69 operandl 206 based fixed bin(17,0) level 2 dcl 1-118 ref 66 66 68 69 operandp 204 based pointer level 2 dcl 1-118 ref 66 68 69 opname 000404 automatic char(6) unaligned dcl 35 set ref 100* 101 102 orig_arg based char unaligned dcl 38 set ref 70 72 73 75* 170 orig_argl 000410 automatic fixed bin(17,0) dcl 37 set ref 69* 70 71* 71 72 73 73 73* 73 75 75 170 orig_argp 000406 automatic pointer dcl 36 set ref 68* 70 72* 72 73 75 170 printed_version 000116 automatic varying char(32) array dcl 32 set ref 172 175 177* reloc 2(18) based fixed bin(17,0) level 2 in structure "sym" packed unaligned dcl 1-22 in procedure "db_fnp_convert_address_" ref 112 113 114 115 reloc parameter fixed bin(17,0) dcl 150 in procedure "check_sym" ref 148 153 reloc_abs constant fixed bin(17,0) initial dcl 1-40 ref 112 reloc_hwcm constant fixed bin(17,0) initial dcl 1-40 ref 114 reloc_sfcm constant fixed bin(17,0) initial dcl 1-40 ref 115 reloc_tib constant fixed bin(17,0) initial dcl 1-40 ref 113 rtrim builtin function dcl 49 ref 102 sfcm_addr 4 based fixed bin(17,0) level 2 dcl 1-70 set ref 115* sfcm_known 0(03) based bit(1) level 3 packed unaligned dcl 1-70 ref 115 star_addr 1 based fixed bin(17,0) level 2 dcl 1-70 ref 117 star_known based bit(1) level 3 packed unaligned dcl 1-70 ref 117 substr builtin function dcl 49 ref 70 72 73 86 87 87 99 100 100 130 130 sym based structure level 1 packed unaligned dcl 1-22 symbol_table based structure level 1 dcl 1-14 symbol_tablep 000412 automatic pointer dcl 1-12 set ref 109* 110 111 symp 000414 automatic pointer dcl 1-20 set ref 111* 112 113 114 115 153 154 156 157 tib_addr 2 based fixed bin(17,0) level 2 dcl 1-70 set ref 113* tib_known 0(01) based bit(1) level 3 packed unaligned dcl 1-70 ref 113 val 000103 automatic fixed bin(17,0) dcl 28 set ref 66* 80* 85 93* 98 117 124* 129 155 155 156 157 value 1(18) based fixed bin(17,0) level 2 packed unaligned dcl 1-22 ref 153 w1 000432 automatic fixed bin(17,0) dcl 151 set ref 153* 154 155 156 157 w2 000433 automatic fixed bin(17,0) dcl 151 set ref 154* 155 work 000105 automatic varying char(32) dcl 31 set ref 80* 87* 93* 94 102* 118* 124* 130* 131 156* 157* 170 172 174* 177 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. command based char unaligned dcl 1-131 db_fnp_opblocks_$ external static fixed bin(17,0) dcl 1-158 db_fnp_opcodes_$ external static fixed bin(17,0) dcl 1-88 env based structure level 1 dcl 1-139 envp automatic pointer dcl 1-137 exptext based structure level 1 dcl 1-34 exptextp automatic pointer dcl 1-32 long_type_names internal static char(12) initial array unaligned dcl 1-60 opblock_table based structure level 1 dcl 1-162 opblock_tablep automatic pointer dcl 1-160 opp automatic pointer dcl 1-97 optable based structure level 1 dcl 1-92 optablep automatic pointer dcl 1-90 reloc_meters internal static fixed bin(17,0) initial dcl 1-40 short_type_names internal static char(4) initial array unaligned dcl 1-62 type_addr internal static fixed bin(17,0) initial dcl 1-49 type_bit internal static fixed bin(17,0) initial dcl 1-49 type_char internal static fixed bin(17,0) initial dcl 1-49 type_clock internal static fixed bin(17,0) initial dcl 1-49 type_dec internal static fixed bin(17,0) initial dcl 1-49 type_ebcdic internal static fixed bin(17,0) initial dcl 1-49 type_inst internal static fixed bin(17,0) initial dcl 1-49 type_oct internal static fixed bin(17,0) initial dcl 1-49 type_op internal static fixed bin(17,0) initial dcl 1-49 NAMES DECLARED BY EXPLICIT CONTEXT. check_sym 000703 constant entry internal dcl 148 ref 112 113 114 115 db_fnp_convert_address_ 000041 constant entry external dcl 15 error_return 000677 constant label dcl 142 ref 57 60 138 next_operand 000663 constant label dcl 136 ref 67 test_print 001003 constant entry internal dcl 166 ref 81 88 94 103 119 125 131 158 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1242 1274 1101 1252 Length 1500 1101 32 170 140 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME db_fnp_convert_address_ 377 external procedure is an external procedure. check_sym internal procedure shares stack frame of external procedure db_fnp_convert_address_. test_print internal procedure shares stack frame of external procedure db_fnp_convert_address_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME db_fnp_convert_address_ 000100 corep db_fnp_convert_address_ 000102 fnp db_fnp_convert_address_ 000103 val db_fnp_convert_address_ 000104 code db_fnp_convert_address_ 000105 work db_fnp_convert_address_ 000116 printed_version db_fnp_convert_address_ 000402 n_printed db_fnp_convert_address_ 000403 i db_fnp_convert_address_ 000404 opname db_fnp_convert_address_ 000406 orig_argp db_fnp_convert_address_ 000410 orig_argl db_fnp_convert_address_ 000412 symbol_tablep db_fnp_convert_address_ 000414 symp db_fnp_convert_address_ 000416 expr_infop db_fnp_convert_address_ 000420 cmd_infop db_fnp_convert_address_ 000432 w1 check_sym 000433 w2 check_sym 000442 i test_print THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. db_fnp_edit_inst_$compressed db_fnp_eval_ db_fnp_opblock_util_$get_name db_fnp_reader_$get_operand db_fnp_util_$edit_module_addr ioa_ ioa_$nnl ioa_$rsnnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. db_fnp_symbols_$db_fnp_symbols_ LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 15 000034 51 000046 52 000052 53 000054 54 000057 56 000062 57 000070 58 000073 59 000075 60 000112 65 000113 66 000116 67 000160 68 000162 69 000165 70 000167 71 000173 72 000175 73 000200 75 000207 76 000231 80 000232 81 000262 85 000263 86 000265 87 000270 88 000323 93 000324 94 000354 98 000364 99 000366 100 000373 101 000413 102 000423 103 000443 109 000444 110 000447 111 000456 112 000462 113 000475 114 000512 115 000527 116 000543 117 000545 118 000554 119 000560 124 000561 125 000611 129 000612 130 000614 131 000644 135 000652 136 000663 138 000672 139 000675 140 000676 142 000677 144 000702 148 000703 153 000705 154 000715 155 000725 156 000732 157 000742 158 001001 160 001002 166 001003 170 001004 171 001014 172 001023 173 001034 174 001036 175 001055 176 001060 177 001061 179 001072 ----------------------------------------------------------- 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