COMPILATION LISTING OF SEGMENT !BBBJmCqFCfkFDB Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-17_1926.26_Mon_mdt Options: table 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_OPBLOCKS_ - Procedure to create a table of interpreter opblock names */ 12 /* The table is constructed by scanning the macros.map355 source file */ 13 14 /* Written March 1977 by Larry Johnson */ 15 /* Modified by R Holmstedt to use the new library >ldd>mcs. */ 16 db_fnp_opblocks_: proc; 17 18 /* Automatic */ 19 20 dcl segp ptr; /* Pointer to entire macro segment */ 21 dcl segl fixed bin; /* Its length */ 22 dcl restp ptr; /* Pointer to unscanned (rest of) segment */ 23 dcl restl fixed bin; /* Its length */ 24 dcl max_cnt fixed bin; /* Max number of opblocks found */ 25 dcl i fixed bin; 26 dcl opname char (6); 27 dcl ptr_array (1) ptr; /* For get_temp_segments_ */ 28 dcl linep ptr; /* Pointer to current line */ 29 dcl linel fixed bin; /* Its length */ 30 dcl code fixed bin (35); 31 dcl bit_count fixed bin (24); 32 dcl dir char (168); 33 dcl 1 cds like cds_args automatic; 34 35 dcl line char (linel) based (linep); 36 dcl rest char (restl) based (restp); 37 38 /* Constants */ 39 40 dcl white_space char (2) int static options (constant) init (" "); /* Space and tab */ 41 dcl nl char (1) int static options (constant) init (" 42 "); 43 dcl name char (16) int static options (constant) init ("db_fnp_opblocks_"); 44 dcl exclude_all char (32) int static options (constant) init ("**"); 45 dcl macro_name char (13) int static options (constant) init ("macros.map355"); 46 47 /* External stuff */ 48 49 dcl com_err_ entry options (variable); 50 dcl ioa_ entry options (variable); 51 dcl cv_oct_ entry (char (*)) returns (fixed bin (35)); 52 dcl get_temp_segments_ entry (char (*), dim (*) ptr, fixed bin (35)); 53 dcl release_temp_segments_ entry (char (*), dim (*) ptr, fixed bin (35)); 54 dcl hcs_$initiate_count entry (char (*), char (*), char (*), fixed bin (24), fixed bin (2), ptr, fixed bin (35)); 55 dcl hcs_$terminate_noname entry (ptr, fixed bin (35)); 56 dcl get_wdir_ entry returns (char (168)); 57 dcl create_data_segment_ entry (ptr, fixed bin (35)); 58 59 dcl error_table_$noentry ext fixed bin (35); 60 61 dcl cleanup condition; 62 63 dcl (addr, divide, index, max, null, search, size, string, substr, verify) builtin; 64 65 66 /* Initialization */ 67 68 ptr_array = null; 69 segp = null; 70 on cleanup call clean_up; 71 72 call init_macro_seg; /* This locates the macro segment */ 73 74 hunt_opstart: /* Must find the line *++opstart */ 75 call get_line; 76 if linep = null then do; /* End of file */ 77 call com_err_ (0, name, "No *++opstart statement in ^a^[>^]^a", dir, dir ^= ">", macro_name); 78 go to done; 79 end; 80 if linel < 10 then go to hunt_opstart; 81 if substr (line, 1, 10) ^= "*++opstart" then go to hunt_opstart; 82 83 /* Found start of opblock section */ 84 85 call get_temp_segments_ (name, ptr_array, code); 86 if code ^= 0 then do; 87 call com_err_ (code, name, "Unable to get temp segment"); 88 go to done; 89 end; 90 opblock_tablep = ptr_array (1); 91 max_cnt = -1; 92 93 /* Now scan for maccros */ 94 95 hunt_macro: 96 call get_line; 97 if linep = null then go to done_scan; /* End of segment */ 98 if substr (line, 1, 1) = "*" then go to hunt_macro; /* Skip comments */ 99 i = search (line, white_space); /* Find first white space */ 100 if (i = 0) | (i = 1) then go to hunt_macro; /* Ignore lines with no label, or no white space */ 101 opname = substr (line, 1, i-1); /* Save label */ 102 call adv_line (i); /* Skip over label */ 103 call skip_white_space; /* And any trailing white space */ 104 i = search (line, white_space); /* Look for end of opcode */ 105 if i = 0 then i = linel; 106 else i = i-1; 107 if i ^= 5 then go to hunt_macro; /* Cant be "macro" */ 108 if substr (line, 1, 5) ^= "macro" then go to hunt_macro; 109 110 /* Found start of a macro */ 111 112 call get_line; /* Read next line */ 113 if linep = null then go to done_scan; 114 call skip_white_space; 115 if linel < 3 then go to hunt_macro; /* Too short to say "oct" */ 116 if substr (line, 1, 3) ^= "oct" then go to hunt_macro; 117 call adv_line (3); 118 call skip_white_space; 119 if linel < 6 then go to hunt_macro; /* Too short to say 777*** */ 120 if substr (line, 1, 3) ^= "777" then go to hunt_macro; 121 if verify (substr (line, 4, 3), "01234567") ^= 0 then go to hunt_macro; 122 123 /* A real opblock macro was found */ 124 125 call store (opname, cv_oct_ (substr (line, 4, 3))); 126 go to hunt_macro; /* Back for next */ 127 128 /* Come here at end of segment */ 129 done_scan: 130 if max_cnt = -1 then do; 131 call com_err_ (0, name, "No opblocks defined in ^a^[>^]^a", dir, dir ^= ">", macro_name); 132 go to done; 133 end; 134 135 /* Now create the data segment */ 136 137 cds.p (1) = opblock_tablep; 138 cds.len (1) = size (opblock_table); 139 cds.struct_name (1) = "opblock_table"; 140 cds.p (2) = null; 141 cds.len (2) = 0; 142 cds.struct_name (2) = ""; 143 cds.seg_name = name; 144 cds.num_exclude_names = 1; 145 cds.exclude_array_ptr = addr (exclude_all); 146 string (cds.switches) = "0"b; 147 cds.have_text = "1"b; 148 call create_data_segment_ (addr (cds), code); 149 if code ^= 0 then call com_err_ (code, name, "From create_data_segment_"); 150 151 done: call clean_up; 152 return; 153 154 /* Procedure to initiate the macro source segment. It looks first in the working directory, 155* then in >ldd>mcs>info */ 156 157 init_macro_seg: proc; 158 159 dir = get_wdir_ (); 160 call hcs_$initiate_count (dir, macro_name, "", bit_count, 0, segp, code); 161 if segp = null then do; 162 if code ^= error_table_$noentry then do; 163 macro_seg_err: call com_err_ (code, name, "^a^[>^]^a", dir, dir ^= ">", macro_name); 164 go to done; 165 end; 166 dir = ">ldd>mcs>info"; /* Try library */ 167 call hcs_$initiate_count (dir, macro_name, "", bit_count, 0, segp, code); 168 if segp = null then go to macro_seg_err; 169 end; 170 171 call ioa_ ("^a: Using ^a^[>^]^a", name, dir, (dir ^= ">"), macro_name); 172 173 segl = divide (bit_count, 9, 17, 0); 174 restp = segp; 175 restl = segl; 176 return; 177 178 end init_macro_seg; 179 180 /* Procedure to isolate the next line in the source */ 181 182 get_line: proc; 183 184 dcl i fixed bin; 185 186 get_next_line: 187 if restl = 0 then do; /* End of file */ 188 linep = null; 189 return; 190 end; 191 192 i = index (rest, nl); 193 if i = 0 then i, linel = restl; /* No more newlines */ 194 else linel = i-1; 195 linep = restp; 196 restp = substraddr (rest, i+1); 197 restl = restl - i; 198 if linel = 0 then go to get_next_line; /* Ignor empty lines */ 199 return; 200 201 end get_line; 202 203 /* Procedure called while pasring line to move pointer down the line */ 204 205 adv_line: proc (n); 206 207 dcl n fixed bin; /* How far too move */ 208 209 linep = substraddr (line, n+1); 210 linel = linel - n; 211 return; 212 213 end adv_line; 214 215 /* Procedure to skip over any white space */ 216 217 skip_white_space: proc; 218 219 dcl i fixed bin; 220 221 i = verify (line, white_space); /* Count white space charactrs */ 222 if i = 0 then i = linel; /* All white line */ 223 else i = i - 1; 224 call adv_line (i); 225 return; 226 227 end skip_white_space; 228 229 /* Procedure to store a new entry in the table */ 230 231 store: proc (opn, n); 232 233 dcl opn char (6); /* Name of block */ 234 dcl n fixed bin; /* Its number */ 235 236 dcl i fixed bin; 237 238 do i = (max_cnt + 1) to (n - 1); /* Fill in any skipped entries */ 239 opblock_table.name (i) = "**??**"; 240 end; 241 242 opblock_table.name (n) = opn; 243 max_cnt = max (max_cnt, n); 244 opblock_table.cnt = max_cnt; 245 return; 246 247 end store; 248 249 /* Cleanup handler */ 250 251 clean_up: proc; 252 253 if segp ^= null then call hcs_$terminate_noname (segp, code); 254 if ptr_array (1) ^= null then call release_temp_segments_ (name, ptr_array, code); 255 return; 256 257 end clean_up; 258 259 /* Simulate substraddr builtin temporarily */ 260 261 substraddr: proc (c, n) returns (ptr); 262 263 dcl c char (*); 264 dcl n fixed bin; 265 dcl ca (n) char (1) unal based (addr (c)); 266 267 return (addr (ca (n))); 268 269 end substraddr; 270 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 */ 271 272 2 1 /* BEGIN INCLUDE FILE cds_args.incl.pl1 */ 2 2 2 3 dcl 1 cds_args based aligned, 2 4 2 sections (2), 2 5 3 p ptr, /* pointer to data for text/static section */ 2 6 3 len fixed bin (18), /* size of text/static section */ 2 7 3 struct_name char (32), /* name of declared structure for this section */ 2 8 2 seg_name char (32), /* name to create segment by */ 2 9 2 num_exclude_names fixed bin, /* number of names in exclude array */ 2 10 2 exclude_array_ptr ptr, /* pointer to array of exclude names */ 2 11 2 switches, /* control switches */ 2 12 3 defs_in_link bit (1) unal, /* says put defs in linkage */ 2 13 3 separate_static bit (1) unal, /* says separate static section is wanted */ 2 14 3 have_text bit (1) unal, /* ON if text section given */ 2 15 3 have_static bit (1) unal, /* ON if static section given */ 2 16 3 pad bit (32) unal; 2 17 2 18 dcl exclude_names (1) char (32) based; /* pointed to be cds_args.exclude_array_ptr */ 2 19 2 20 /* END INCLUDE FILE cds_args.incl.pl1 */ 273 274 275 end db_fnp_opblocks_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/17/00 1926.2 !BBBJmCqFCfkFDB.pl1 >udd>sm>ds>w>ml>db_fnp_opblocks_.cds 271 1 06/19/81 2215.0 debug_fnp_data.incl.pl1 >ldd>incl>debug_fnp_data.incl.pl1 273 2 04/01/76 2309.5 cds_args.incl.pl1 >ldd>incl>cds_args.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 145 148 148 265 267 267 bit_count 000122 automatic fixed bin(24,0) dcl 31 set ref 160* 167* 173 c parameter char packed unaligned dcl 263 set ref 261 265 267 ca based char(1) array packed unaligned dcl 265 set ref 267 cds 000176 automatic structure level 1 unaligned dcl 33 set ref 148 148 cds_args based structure level 1 dcl 2-3 cleanup 000244 stack reference condition dcl 61 ref 70 cnt based fixed bin(17,0) level 2 dcl 1-162 set ref 138 244* 1-162 code 000121 automatic fixed bin(35,0) dcl 30 set ref 85* 86 87* 148* 149 149* 160* 162 163* 167* 253* 254* com_err_ 000012 constant entry external dcl 49 ref 77 87 131 149 163 create_data_segment_ 000032 constant entry external dcl 57 ref 148 cv_oct_ 000016 constant entry external dcl 51 ref 125 125 dir 000123 automatic char(168) packed unaligned dcl 32 set ref 77* 77 131* 131 159* 160* 163* 163 166* 167* 171* 171 divide builtin function dcl 63 ref 173 error_table_$noentry 000034 external static fixed bin(35,0) dcl 59 ref 162 exclude_all 000004 constant char(32) initial packed unaligned dcl 44 set ref 145 exclude_array_ptr 42 000176 automatic pointer level 2 dcl 33 set ref 145* get_temp_segments_ 000020 constant entry external dcl 52 ref 85 get_wdir_ 000030 constant entry external dcl 56 ref 159 have_text 44(02) 000176 automatic bit(1) level 3 packed packed unaligned dcl 33 set ref 147* hcs_$initiate_count 000024 constant entry external dcl 54 ref 160 167 hcs_$terminate_noname 000026 constant entry external dcl 55 ref 253 i 000330 automatic fixed bin(17,0) dcl 219 in procedure "skip_white_space" set ref 221* 222 222* 223* 223 224* i 000110 automatic fixed bin(17,0) dcl 25 in procedure "db_fnp_opblocks_" set ref 99* 100 100 101 102* 104* 105 105* 106* 106 107 i 000312 automatic fixed bin(17,0) dcl 184 in procedure "get_line" set ref 192* 193 193* 194 196 197 i 000340 automatic fixed bin(17,0) dcl 236 in procedure "store" set ref 238* 239* index builtin function dcl 63 ref 192 ioa_ 000014 constant entry external dcl 50 ref 171 len 2 000176 automatic fixed bin(18,0) array level 3 dcl 33 set ref 138* 141* line based char packed unaligned dcl 35 set ref 81 98 99 101 104 108 116 120 121 125 125 125 125 209* 221 linel 000120 automatic fixed bin(17,0) dcl 29 set ref 35 80 81 98 99 101 104 105 108 115 116 119 120 121 125 125 125 125 193* 194* 198 209 209 210* 210 221 222 linep 000116 automatic pointer dcl 28 set ref 35 76 81 97 98 99 101 104 108 113 116 120 121 125 125 125 125 188* 195* 209* 209 221 macro_name 000000 constant char(13) initial packed unaligned dcl 45 set ref 77* 131* 160* 163* 167* 171* max builtin function dcl 63 ref 243 max_cnt 000107 automatic fixed bin(17,0) dcl 24 set ref 91* 129 238 243* 243 244 n parameter fixed bin(17,0) dcl 264 in procedure "substraddr" ref 261 265 267 n parameter fixed bin(17,0) dcl 207 in procedure "adv_line" ref 205 209 210 n parameter fixed bin(17,0) dcl 234 in procedure "store" ref 231 238 242 243 name 000014 constant char(16) initial packed unaligned dcl 43 in procedure "db_fnp_opblocks_" set ref 77* 85* 87* 131* 143 149* 163* 171* 254* name 1 based char(6) array level 2 in structure "opblock_table" packed packed unaligned dcl 1-162 in procedure "db_fnp_opblocks_" set ref 239* 242* nl 000020 constant char(1) initial packed unaligned dcl 41 ref 192 null builtin function dcl 63 ref 68 69 76 97 113 140 161 168 188 253 254 num_exclude_names 40 000176 automatic fixed bin(17,0) level 2 dcl 33 set ref 144* op based structure level 1 packed packed unaligned dcl 1-99 opblock_table based structure level 1 dcl 1-162 set ref 138 opblock_tablep 000272 automatic pointer dcl 1-160 set ref 90* 137 138 138 239 242 244 1-162 1-162 1-162 opn parameter char(6) packed unaligned dcl 233 ref 231 242 opname 000112 automatic char(6) packed unaligned dcl 26 set ref 101* 125* opp 000264 automatic pointer dcl 1-97 ref 1-99 1-99 1-99 1-99 1-99 1-99 p 000176 automatic pointer array level 3 dcl 33 set ref 137* 140* ptr_array 000114 automatic pointer array dcl 27 set ref 68* 85* 90 254 254* release_temp_segments_ 000022 constant entry external dcl 53 ref 254 rest based char packed unaligned dcl 36 set ref 192 196* restl 000106 automatic fixed bin(17,0) dcl 23 set ref 36 175* 186 192 193 196 196 197* 197 restp 000104 automatic pointer dcl 22 set ref 36 174* 192 195 196* 196 search builtin function dcl 63 ref 99 104 sections 000176 automatic structure array level 2 unaligned dcl 33 seg_name 30 000176 automatic char(32) level 2 packed packed unaligned dcl 33 set ref 143* segl 000102 automatic fixed bin(17,0) dcl 21 set ref 173* 175 segp 000100 automatic pointer dcl 20 set ref 69* 160* 161 167* 168 174 253 253* size builtin function dcl 63 ref 138 string builtin function dcl 63 set ref 146* struct_name 3 000176 automatic char(32) array level 3 packed packed unaligned dcl 33 set ref 139* 142* substr builtin function dcl 63 ref 81 98 101 108 116 120 121 125 125 125 125 switches 44 000176 automatic structure level 2 packed packed unaligned dcl 33 set ref 146* sym based structure level 1 packed packed unaligned dcl 1-22 symp 000254 automatic pointer dcl 1-20 ref 1-22 1-22 1-22 1-22 1-22 1-22 1-22 1-22 1-22 verify builtin function dcl 63 ref 121 221 white_space 000021 constant char(2) initial packed unaligned dcl 40 ref 99 104 221 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. cmd_info based structure level 1 dcl 1-118 cmd_infop 000266 automatic pointer dcl 1-116 command based char packed unaligned dcl 1-131 db_fnp_opblocks_$ 000042 external static fixed bin(17,0) dcl 1-158 db_fnp_opcodes_$ 000040 external static fixed bin(17,0) dcl 1-88 db_fnp_symbols_$db_fnp_symbols_ 000036 external static fixed bin(17,0) dcl 1-10 env based structure level 1 dcl 1-139 envp 000270 automatic pointer dcl 1-137 exclude_names based char(32) array packed unaligned dcl 2-18 expr_info based structure level 1 dcl 1-70 expr_infop 000260 automatic pointer dcl 1-68 exptext based structure level 1 dcl 1-34 exptextp 000256 automatic pointer dcl 1-32 long_type_names constant char(12) initial array packed unaligned dcl 1-60 operand based char packed unaligned dcl 1-132 optable based structure level 1 dcl 1-92 optablep 000262 automatic pointer dcl 1-90 reloc_abs constant fixed bin(17,0) initial dcl 1-40 reloc_hwcm constant fixed bin(17,0) initial dcl 1-40 reloc_meters constant fixed bin(17,0) initial dcl 1-40 reloc_sfcm constant fixed bin(17,0) initial dcl 1-40 reloc_tib constant fixed bin(17,0) initial dcl 1-40 short_type_names constant char(4) initial array packed unaligned dcl 1-62 symbol_table based structure level 1 dcl 1-14 symbol_tablep 000252 automatic pointer dcl 1-12 type_addr constant fixed bin(17,0) initial dcl 1-49 type_bit constant fixed bin(17,0) initial dcl 1-49 type_char constant fixed bin(17,0) initial dcl 1-49 type_clock constant fixed bin(17,0) initial dcl 1-49 type_dec constant fixed bin(17,0) initial dcl 1-49 type_ebcdic constant fixed bin(17,0) initial dcl 1-49 type_inst constant fixed bin(17,0) initial dcl 1-49 type_oct constant fixed bin(17,0) initial dcl 1-49 type_op constant fixed bin(17,0) initial dcl 1-49 NAMES DECLARED BY EXPLICIT CONTEXT. adv_line 001302 constant entry internal dcl 205 ref 102 117 224 clean_up 001426 constant entry internal dcl 251 ref 70 151 db_fnp_opblocks_ 000153 constant entry external dcl 16 done 000734 constant label dcl 151 ref 78 88 132 164 done_scan 000565 constant label dcl 129 ref 97 113 get_line 001216 constant entry internal dcl 182 ref 74 95 112 get_next_line 001217 constant label dcl 186 ref 198 hunt_macro 000362 constant label dcl 95 ref 98 100 107 108 115 116 119 120 121 126 hunt_opstart 000220 constant label dcl 74 ref 80 81 init_macro_seg 000741 constant entry internal dcl 157 ref 72 macro_seg_err 001023 constant label dcl 163 ref 168 skip_white_space 001336 constant entry internal dcl 217 ref 103 114 118 store 001364 constant entry internal dcl 231 ref 125 substraddr 001477 constant entry internal dcl 261 ref 196 209 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2552 2616 2345 2562 Length 5242 2345 44 2407 204 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME db_fnp_opblocks_ 367 external procedure is an external procedure. on unit on line 70 64 on unit init_macro_seg internal procedure shares stack frame of external procedure db_fnp_opblocks_. get_line internal procedure shares stack frame of external procedure db_fnp_opblocks_. adv_line internal procedure shares stack frame of external procedure db_fnp_opblocks_. skip_white_space internal procedure shares stack frame of external procedure db_fnp_opblocks_. store internal procedure shares stack frame of external procedure db_fnp_opblocks_. clean_up 84 internal procedure is called by several nonquick procedures. substraddr internal procedure shares stack frame of external procedure db_fnp_opblocks_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME db_fnp_opblocks_ 000100 segp db_fnp_opblocks_ 000102 segl db_fnp_opblocks_ 000104 restp db_fnp_opblocks_ 000106 restl db_fnp_opblocks_ 000107 max_cnt db_fnp_opblocks_ 000110 i db_fnp_opblocks_ 000112 opname db_fnp_opblocks_ 000114 ptr_array db_fnp_opblocks_ 000116 linep db_fnp_opblocks_ 000120 linel db_fnp_opblocks_ 000121 code db_fnp_opblocks_ 000122 bit_count db_fnp_opblocks_ 000123 dir db_fnp_opblocks_ 000176 cds db_fnp_opblocks_ 000252 symbol_tablep db_fnp_opblocks_ 000254 symp db_fnp_opblocks_ 000256 exptextp db_fnp_opblocks_ 000260 expr_infop db_fnp_opblocks_ 000262 optablep db_fnp_opblocks_ 000264 opp db_fnp_opblocks_ 000266 cmd_infop db_fnp_opblocks_ 000270 envp db_fnp_opblocks_ 000272 opblock_tablep db_fnp_opblocks_ 000312 i get_line 000330 i skip_white_space 000340 i store THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as r_ne_as call_ext_out_desc call_ext_out call_int_this call_int_other return_mac enable_op ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ create_data_segment_ cv_oct_ get_temp_segments_ get_wdir_ hcs_$initiate_count hcs_$terminate_noname ioa_ release_temp_segments_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$noentry LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000152 68 000160 69 000173 70 000175 72 000217 74 000220 76 000221 77 000225 78 000273 80 000274 81 000300 85 000306 86 000327 87 000331 88 000355 90 000356 91 000360 95 000362 97 000363 98 000370 99 000376 100 000411 101 000421 102 000426 103 000430 104 000431 105 000445 106 000451 107 000453 108 000457 112 000464 113 000465 114 000472 115 000473 116 000477 117 000505 118 000511 119 000512 120 000516 121 000524 125 000537 126 000564 129 000565 131 000570 132 000636 137 000637 138 000641 139 000650 140 000653 141 000655 142 000656 143 000661 144 000664 145 000666 146 000670 147 000671 148 000673 149 000706 151 000734 152 000740 157 000741 159 000742 160 000751 161 001013 162 001017 163 001023 164 001071 166 001072 167 001075 168 001136 171 001143 173 001207 174 001212 175 001214 176 001215 182 001216 186 001217 188 001221 189 001223 192 001224 193 001236 194 001243 195 001245 196 001246 197 001274 198 001276 199 001301 205 001302 209 001304 210 001332 211 001335 217 001336 221 001337 222 001353 223 001357 224 001361 225 001363 231 001364 238 001366 239 001377 240 001404 242 001406 243 001416 244 001423 245 001424 251 001425 253 001433 254 001450 255 001476 261 001477 267 001510 Object Segment >udd>sm>ds>w>ml>db_fnp_opblocks_ Created on 04/17/00 1926.4 mdt Mon by Schroth.SysMaint.m using create_data_segment_, Version II of Friday, May 18, 1990 Object Text Defs Link Symb Static Start 0 0 152 174 204 204 Length 366 152 22 10 146 0 2 Definitions: segname: db_fnp_opblocks_ symb|0 symbol_table No Links. ----------------------------------------------------------- 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