COMPILATION LISTING OF SEGMENT db_fnp_display_ 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.8 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 /* Procedure for displaying contents of fnp memory in various formats */ 12 13 /* Written February 1977 by Larry Johnson */ 14 15 db_fnp_display_: proc (arg_corep, arg_fnp, arg_fnp_addr, arg_fnp_len, arg_data_ptr, arg_type, arg_code); 16 17 /* Arguments */ 18 19 dcl arg_corep ptr; /* Pointer to core image */ 20 dcl arg_fnp fixed bin; /* Number of running fnp */ 21 dcl arg_fnp_addr fixed bin; /* Fnp addr being displayed */ 22 dcl arg_fnp_len fixed bin; /* The number of wrds */ 23 dcl arg_data_ptr ptr; /* Multics pointer to the data */ 24 dcl arg_type fixed bin; /* The editing mode to perform */ 25 dcl arg_code fixed bin (35); 26 27 /* Automatic */ 28 29 dcl fnp_addr fixed bin; 30 dcl fnp_len fixed bin; 31 dcl data_ptr ptr; 32 dcl type fixed bin; 33 dcl code fixed bin (35); 34 dcl bcode bit (36) aligned based (addr (code)); 35 dcl part_len fixed bin; /* Length of memory being displayed on 1 line */ 36 dcl part_ptr ptr; /* A pointer to it */ 37 dcl words_per_line fixed bin; /* The number of words on a line */ 38 dcl next_word fixed bin; 39 dcl words_left fixed bin; 40 dcl char_str char (64) var; 41 dcl dt_val fixed bin (71); /* For date_time_ */ 42 dcl dt_str char (24); 43 dcl ebcdic_sw bit (1) init ("0"b); 44 dcl last_part bit (144); /* Contents of last line, to supress dups */ 45 dcl suppress bit (1); /* Last line was not printed */ 46 dcl suppress_addr fixed bin; /* Addr of last line not printed */ 47 dcl check_dup bit (1); /* Try duplicate line suppression */ 48 49 dcl fnp_mem (fnp_len) bit (18) unal based (data_ptr); /* All of memory being displayed */ 50 dcl part_mem (part_len) bit (18) unal based (part_ptr); /* What will fit on a line */ 51 dcl ch_part_mem char (2*part_len) based (part_ptr); 52 53 /* External */ 54 55 dcl ioa_ entry options (variable); 56 dcl ioa_$nnl entry options (variable); 57 dcl db_fnp_util_$edit_module_addr entry (ptr, fixed bin, fixed bin, char (*) var, fixed bin (35)); 58 dcl date_time_ entry (fixed bin (71), char (*)); 59 dcl db_fnp_opblock_util_$display entry (ptr, fixed bin, fixed bin, fixed bin, ptr, fixed bin (35)); 60 dcl db_fnp_edit_inst_ entry (ptr, fixed bin, fixed bin, bit (18), char (*) var); 61 dcl ebcdic_to_ascii_ entry (char (*), char (*)); 62 63 dcl (addr, bin, length, min, substr, unspec) builtin; 64 65 66 /* Initialization */ 67 68 fnp_addr = arg_fnp_addr; /* Cpy args */ 69 fnp_len = arg_fnp_len; 70 data_ptr = arg_data_ptr; 71 type = arg_type; 72 73 if type = type_op then do; /* Dont handle this one here */ 74 call db_fnp_opblock_util_$display (arg_corep, arg_fnp, fnp_addr, fnp_len, data_ptr, arg_code); 75 return; 76 end; 77 78 if type = type_clock then words_per_line = min (4, fnp_len); 79 else if type = type_addr then words_per_line = 1; 80 else if type = type_inst then words_per_line = 1; 81 else if type = type_dec then words_per_line = 1; 82 else if type = type_bit then words_per_line = 1; 83 else words_per_line = min (8, fnp_len); 84 85 check_dup = (words_per_line = 8); 86 suppress = "0"b; 87 88 next_word = 1; /* First word to display */ 89 words_left = fnp_len; /* Words yet to do */ 90 91 do while (words_left > 0); /* Loop until done */ 92 part_len = min (words_per_line, words_left); /* Number of words on this line */ 93 part_ptr = addr (fnp_mem (next_word)); 94 if check_dup & (next_word > 1) then do; /* Check for duplicate lines */ 95 if unspec (part_mem) = last_part then do; /* Same as previous */ 96 suppress = "1"b; 97 suppress_addr = fnp_addr; /* Last line not printed */ 98 go to next_line; 99 end; 100 else if suppress then do; /* End of duplicate range */ 101 call ioa_ ("^5w =", suppress_addr); 102 suppress = "0"b; 103 end; 104 end; 105 if type = type_inst then do; /* Special form for instruction */ 106 call db_fnp_util_$edit_module_addr (arg_corep, arg_fnp, fnp_addr, char_str, code); 107 if code ^= 0 then char_str = ""; 108 call ioa_$nnl ("^5w ^13a ^( ^.3b^)", fnp_addr, char_str, part_mem); 109 end; 110 else call ioa_$nnl ("^5w ^( ^.3b^)", fnp_addr, part_mem); 111 go to display_edit (type); /* Finish up, based on type */ 112 113 display_edit (0): /* Octal */ 114 call ioa_ (""); 115 go to next_line; 116 117 display_edit (1): /* Character */ 118 call setup_chars; 119 call ioa_ ("^v(^7x^) ^a", words_per_line - part_len, char_str); 120 go to next_line; 121 122 display_edit (2): /* Address */ 123 call db_fnp_util_$edit_module_addr (arg_corep, arg_fnp, bin (part_mem (1)), char_str, code); 124 call ioa_ ("^[ ^a^]", (code = 0), char_str); 125 go to next_line; 126 127 display_edit (3): /* Clock reading */ 128 unspec (dt_val) = unspec (part_mem); 129 call date_time_ (dt_val, dt_str); 130 call ioa_ (" ^a", dt_str); 131 go to next_line; 132 133 display_edit (4): /* Machine instruction */ 134 call db_fnp_edit_inst_ (arg_corep, arg_fnp, fnp_addr, part_mem (1), char_str); 135 call ioa_ (" ^a", char_str); 136 go to next_line; 137 138 display_edit (6): /* Decimal */ 139 bcode = "0"b; 140 substr (bcode, 19, 18) = part_mem (1); 141 if substr (part_mem (1), 1, 1) then substr (bcode, 1, 18) = "777777"b3; 142 call ioa_ (" ^d.", code); 143 go to next_line; 144 145 display_edit (7): 146 call ioa_ (" ^b", part_mem (1)); 147 go to next_line; 148 149 display_edit (8): /* Ebcdic */ 150 ebcdic_sw = "1"b; 151 go to display_edit (1); 152 153 next_line: /* Advance indexes for next line */ 154 if check_dup then last_part = unspec (part_mem); /* Save to compare to next line */ 155 fnp_addr = fnp_addr + part_len; 156 next_word = next_word + part_len; 157 words_left = words_left - part_len; 158 end; 159 160 if suppress then call ioa_ ("^5w =", suppress_addr); /* Last line was not printed */ 161 162 arg_code = 0; 163 return; 164 165 166 /* Procedure to stup for charactr fisplay. non-graphics are replaced with dots */ 167 168 setup_chars: proc; 169 170 dcl i fixed bin; 171 dcl (ebc_in, ebc_out) char (16); 172 173 if ebcdic_sw then do; /* Must convert to ascii */ 174 unspec (ebc_in) = "0"b; 175 substr (ebc_in, 1, length (ch_part_mem)) = ch_part_mem; 176 do i = 1 to length (ch_part_mem); 177 unspec (substr (ebc_in, i, 1)) = unspec (substr (ebc_in, i, 1)) & "377"b3; 178 end; 179 call ebcdic_to_ascii_ (ebc_in, ebc_out); 180 char_str = substr (ebc_out, 1, length (ch_part_mem)); 181 end; 182 else char_str = ch_part_mem; 183 do i = 1 to length (char_str); 184 unspec (substr (char_str, i, 1)) = unspec (substr (char_str, i, 1)) & "177"b3; 185 if unspec (substr (char_str, i, 1)) < "040"b3 | unspec (substr (char_str, i, 1)) > "176"b3 then 186 substr (char_str, i, 1) = "."; 187 end; 188 return; 189 190 end setup_chars; 191 192 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 */ 193 194 195 end db_fnp_display_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/82 1501.7 db_fnp_display_.pl1 >dumps>old>recomp>db_fnp_display_.pl1 193 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 63 ref 93 138 140 141 arg_code parameter fixed bin(35,0) dcl 25 set ref 15 74* 162* arg_corep parameter pointer dcl 19 set ref 15 74* 106* 122* 133* arg_data_ptr parameter pointer dcl 23 ref 15 70 arg_fnp parameter fixed bin(17,0) dcl 20 set ref 15 74* 106* 122* 133* arg_fnp_addr parameter fixed bin(17,0) dcl 21 ref 15 68 arg_fnp_len parameter fixed bin(17,0) dcl 22 ref 15 69 arg_type parameter fixed bin(17,0) dcl 24 ref 15 71 bcode based bit(36) dcl 34 set ref 138* 140* 141* bin builtin function dcl 63 ref 122 122 ch_part_mem based char unaligned dcl 51 ref 175 175 176 180 182 char_str 000115 automatic varying char(64) dcl 40 set ref 106* 107* 108* 119* 122* 124* 133* 135* 180* 182* 183 184* 184 185 185 185* check_dup 000155 automatic bit(1) unaligned dcl 47 set ref 85* 94 153 code 000105 automatic fixed bin(35,0) dcl 33 set ref 106* 107 122* 124 138 140 141 142* data_ptr 000102 automatic pointer dcl 31 set ref 70* 74* 93 date_time_ 000016 constant entry external dcl 58 ref 129 db_fnp_edit_inst_ 000022 constant entry external dcl 60 ref 133 db_fnp_opblock_util_$display 000020 constant entry external dcl 59 ref 74 db_fnp_util_$edit_module_addr 000014 constant entry external dcl 57 ref 106 122 dt_str 000140 automatic char(24) unaligned dcl 42 set ref 129* 130* dt_val 000136 automatic fixed bin(71,0) dcl 41 set ref 127* 129* ebc_in 000165 automatic char(16) unaligned dcl 171 set ref 174* 175* 177* 177 179* ebc_out 000171 automatic char(16) unaligned dcl 171 set ref 179* 180 ebcdic_sw 000146 automatic bit(1) initial unaligned dcl 43 set ref 43* 149* 173 ebcdic_to_ascii_ 000024 constant entry external dcl 61 ref 179 fnp_addr 000100 automatic fixed bin(17,0) dcl 29 set ref 68* 74* 97 106* 108* 110* 133* 155* 155 fnp_len 000101 automatic fixed bin(17,0) dcl 30 set ref 69* 74* 78 83 89 fnp_mem based bit(18) array unaligned dcl 49 set ref 93 i 000164 automatic fixed bin(17,0) dcl 170 set ref 176* 177 177* 183* 184 184 185 185 185* ioa_ 000010 constant entry external dcl 55 ref 101 113 119 124 130 135 142 145 160 ioa_$nnl 000012 constant entry external dcl 56 ref 108 110 last_part 000147 automatic bit(144) unaligned dcl 44 set ref 95 153* length builtin function dcl 63 ref 175 176 180 183 min builtin function dcl 63 ref 78 83 92 next_word 000113 automatic fixed bin(17,0) dcl 38 set ref 88* 93 94 156* 156 op based structure level 1 packed unaligned dcl 1-99 part_len 000106 automatic fixed bin(17,0) dcl 35 set ref 92* 95 108 110 119 127 153 155 156 157 175 175 176 180 182 part_mem based bit(18) array unaligned dcl 50 set ref 95 108* 110* 122 122 127 133* 140 141 145* 153 part_ptr 000110 automatic pointer dcl 36 set ref 93* 95 108 110 122 122 127 133 140 141 145 153 175 175 176 180 182 substr builtin function dcl 63 set ref 140* 141 141* 175* 177 177 180 184 184 185 185 185* suppress 000153 automatic bit(1) unaligned dcl 45 set ref 86* 96* 100 102* 160 suppress_addr 000154 automatic fixed bin(17,0) dcl 46 set ref 97* 101* 160* sym based structure level 1 packed unaligned dcl 1-22 type 000104 automatic fixed bin(17,0) dcl 32 set ref 71* 73 78 79 80 81 82 105 111 type_addr constant fixed bin(17,0) initial dcl 1-49 ref 79 type_bit constant fixed bin(17,0) initial dcl 1-49 ref 82 type_clock constant fixed bin(17,0) initial dcl 1-49 ref 78 type_dec constant fixed bin(17,0) initial dcl 1-49 ref 81 type_inst constant fixed bin(17,0) initial dcl 1-49 ref 80 105 type_op constant fixed bin(17,0) initial dcl 1-49 ref 73 unspec builtin function dcl 63 set ref 95 127* 127 153 174* 177* 177 184* 184 185 185 words_left 000114 automatic fixed bin(17,0) dcl 39 set ref 89* 91 92 157* 157 words_per_line 000112 automatic fixed bin(17,0) dcl 37 set ref 78* 79* 80* 81* 82* 83* 85 92 119 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. cmd_info based structure level 1 dcl 1-118 cmd_infop automatic pointer dcl 1-116 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 db_fnp_symbols_$db_fnp_symbols_ external static fixed bin(17,0) dcl 1-10 env based structure level 1 dcl 1-139 envp automatic pointer dcl 1-137 expr_info based structure level 1 dcl 1-70 expr_infop automatic pointer dcl 1-68 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 operand based char unaligned dcl 1-132 opp automatic pointer dcl 1-97 optable based structure level 1 dcl 1-92 optablep automatic pointer dcl 1-90 reloc_abs internal static fixed bin(17,0) initial dcl 1-40 reloc_hwcm internal static fixed bin(17,0) initial dcl 1-40 reloc_meters internal static fixed bin(17,0) initial dcl 1-40 reloc_sfcm internal static fixed bin(17,0) initial dcl 1-40 reloc_tib internal static fixed bin(17,0) initial dcl 1-40 short_type_names internal static char(4) initial array unaligned dcl 1-62 symbol_table based structure level 1 dcl 1-14 symbol_tablep automatic pointer dcl 1-12 symp automatic pointer dcl 1-20 type_char internal static fixed bin(17,0) initial dcl 1-49 type_ebcdic internal static fixed bin(17,0) initial dcl 1-49 type_oct internal static fixed bin(17,0) initial dcl 1-49 NAMES DECLARED BY EXPLICIT CONTEXT. db_fnp_display_ 000066 constant entry external dcl 15 display_edit 000000 constant label array(0:8) dcl 113 ref 111 151 next_line 000754 constant label dcl 153 ref 98 115 120 125 131 136 143 147 setup_chars 001016 constant entry internal dcl 168 ref 117 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1276 1324 1162 1306 Length 1524 1162 26 163 113 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME db_fnp_display_ 196 external procedure is an external procedure. setup_chars internal procedure shares stack frame of external procedure db_fnp_display_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME db_fnp_display_ 000100 fnp_addr db_fnp_display_ 000101 fnp_len db_fnp_display_ 000102 data_ptr db_fnp_display_ 000104 type db_fnp_display_ 000105 code db_fnp_display_ 000106 part_len db_fnp_display_ 000110 part_ptr db_fnp_display_ 000112 words_per_line db_fnp_display_ 000113 next_word db_fnp_display_ 000114 words_left db_fnp_display_ 000115 char_str db_fnp_display_ 000136 dt_val db_fnp_display_ 000140 dt_str db_fnp_display_ 000146 ebcdic_sw db_fnp_display_ 000147 last_part db_fnp_display_ 000153 suppress db_fnp_display_ 000154 suppress_addr db_fnp_display_ 000155 check_dup db_fnp_display_ 000164 i setup_chars 000165 ebc_in setup_chars 000171 ebc_out setup_chars THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. date_time_ db_fnp_edit_inst_ db_fnp_opblock_util_$display db_fnp_util_$edit_module_addr ebcdic_to_ascii_ ioa_ ioa_$nnl NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 15 000060 43 000073 68 000074 69 000077 70 000101 71 000104 73 000106 74 000110 75 000130 78 000131 79 000141 80 000146 81 000153 82 000160 83 000165 85 000172 86 000175 88 000176 89 000200 91 000202 92 000204 93 000210 94 000220 95 000225 96 000233 97 000235 98 000237 100 000240 101 000242 102 000261 105 000262 106 000265 107 000316 108 000321 109 000361 110 000362 111 000421 113 000423 115 000434 117 000435 119 000436 120 000466 122 000467 124 000527 125 000555 127 000556 129 000564 130 000601 131 000620 133 000621 135 000654 136 000673 138 000674 140 000675 141 000701 142 000707 143 000726 145 000727 147 000750 149 000751 151 000753 153 000754 155 000764 156 000766 157 000767 158 000771 160 000772 162 001013 163 001015 168 001016 173 001017 174 001021 175 001024 176 001035 177 001045 178 001057 179 001061 180 001075 181 001106 182 001107 183 001121 184 001130 185 001142 187 001157 188 001161 ----------------------------------------------------------- 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