COMPILATION LISTING OF SEGMENT plio2_fl_ Compiled by: Multics PL/I Compiler, Release 28d, of September 14, 1983 Compiled at: Honeywell LCPD Phoenix, System M Compiled on: 10/03/83 1412.0 mst Mon Options: optimize map 1 /* ****************************************************** 2* * * 3* * * 4* * Copyright (c) 1972 by Massachusetts Institute of * 5* * Technology and Honeywell Information Systems, Inc. * 6* * * 7* * * 8* ****************************************************** */ 9 10 plio2_fl_: 11 fl_: 12 fl:format_list:proc options(support); 13 /* updated 73-11-8: picture formats added */ 14 15 /* D E B U G I N F O 16* 17* (plio2_$)dcfi will turn on or turn off display mode 18* (plio2_$)dcfi25 will display the next 25 formats obtained. */ 19 20 21 1 1 /* plio_format_codes.incl.pl1 1 2* run-time values - the 200 prefix has been dropped */ 1 3 dcl ( r_paren init(0), 1 4 l_paren init(1), 1 5 r_format init(2), 1 6 c_format init(3), 1 7 f_format init(4), 1 8 e_format init(5), 1 9 b_format init(6), 1 10 a_format init(7), 1 11 x_format init(8), 1 12 skip_format init(9), 1 13 column_format init(10), 1 14 page_format init(11), 1 15 line_format init(12), 1 16 picture_format init(13), 1 17 bn_format init(14)) 1 18 fixed bin(15) int static; 22 2 1 /* BEGIN INCLUDE FILE ... picture_image.incl.pl1 2 2* 2 3* James R. Davis 12 Mar 79 2 4**/ 2 5 2 6 dcl 1 picture_image aligned based, 2 7 2 type fixed bin (8) unal, 2 8 2 prec fixed bin (8) unal, /* precision or length of associated value */ 2 9 2 scale fixed bin (8) unal, /* for both fixed and float pictures, 2 10* =ndigits after "v" - scale_factor */ 2 11 2 piclength fixed bin (8) unal, /* length of picture_constant.chars, <64 2 12* =length of normalized-picture-string */ 2 13 2 varlength fixed bin (8) unal, /* length of pictured variable in chars, <64 2 14* =length of normalized_picture_string - "k" and "v" */ 2 15 2 scalefactor fixed bin (8) unal, /* value of pict-sc-f, -256<=x<256 */ 2 16 2 explength fixed bin (8) unal, /* length of exp field for float */ 2 17 2 drift_character char (1) unal, 2 18 2 chars char (0 refer (picture_image.piclength)) aligned; 2 19 2 20 dcl ( 2 21 picture_char_type init (24), 2 22 picture_realfix_type init (25), 2 23 picture_complexfix_type 2 24 init (26), 2 25 picture_realflo_type init (27), 2 26 picture_complexflo_type 2 27 init (28) 2 28 ) fixed bin (8) unal static internal options (constant); 2 29 2 30 /* END INCLUDE FILE ... picture_image.incl.pl1 */ 23 24 dcl 1 fb aligned based(fbxp), 25 2 bits, 26 3 code bit(9) unaligned, 27 3 nval bit(9) unaligned, 28 3 offset bit(18) unaligned, 29 2 rep fixed bin(35), 30 2 val(3) fixed bin(35); 31 32 33 34 dcl 1 fx aligned based(flxp), 35 2 fe(3) , /* cur, two more for the complex case */ 36 3 type fixed bin(15), 37 3 nval fixed bin(15), 38 3 val(3) fixed bin(15), 39 2 cur_rep fixed bin(15), /* octal offset 17 */ 40 2 cur_sfp ptr, /* octal offset 20,21 */ 41 2 cur_fep ptr, 42 2 first_open_paren_sw bit(18), 43 2 stk_index fixed bin(15), 44 2 frame(10), /* push down for "(" in a format list */ 45 3 sf1p ptr, 46 3 sf2p ptr, 47 3 fe1p ptr, 48 3 fe2p ptr, 49 3 rep fixed bin(15), 50 3 type fixed bin(15); 51 52 /* facts about the form of FORMAT LISTSs in object 53* programs are given herein in passim */ 54 55 56 dcl (pspp,fbxp,psp,flxp,blp,block_sym_tab_p,qq) ptr; 57 dcl (indexlimit,irep,ival,realstype) fixed bin(35); 58 dcl stu_$decode_runtime_value ext entry(fixed bin(35),ptr,ptr,ptr,ptr,ptr,fixed bin(35)) returns(fixed bin(35)); 59 dcl stu_$remote_format ext entry(fixed bin(35),ptr,ptr,label) 60 returns(fixed bin(35)); 61 dcl flabel label; 62 dcl icode fixed bin(35); 63 dcl i fixed bin(15); 64 dcl erno fixed bin(15); 65 dcl bl(2) ptr based(blp); 66 dcl based_int fixed bin (35) based; 67 68 dcl ( addr,addrel,fixed,null,baseptr,baseno,rel,substr ) builtin; 69 dcl plio2_signal_$s_r_ ext entry(ptr,char(*),char(*),fixed bin(15)); 70 71 dcl (ioa_,ioa_$nnl) entry ext options(variable); 72 dcl format_letters char(44) aligned static int 73 init (" r c f e b a xskip colpageline"); 74 dcl (dcfi_sw,dcfi_ct) fixed bin(15) static internal init(0); 75 dcl node(5) based(p) fixed bin(15); 76 dcl p ptr; 77 dcl c4 char(4) aligned; 78 3 1 /* BEGIN INCLUDE FILE ... plio2_ps.incl.pl1 */ 3 2 /* Stream I/O data block used by PL/I I/O runtime routines. 3 3* 3 4* Modified: 31 January 1978 by RAB to change plio2_data_$fsb_thread to plio2_data_fsb_thread_ 3 5**/ 3 6 /* format: style3,idind30 */ 3 7 3 8 /* based */ 3 9 3 10 declare 1 ps aligned based (psp),/* items set NORMALLY by compiled procedures */ 3 11 2 stack_frame_p ptr, /* items set in block prologue */ 3 12 2 ST_top_p ptr, 3 13 2 ST_block_p ptr, 3 14 2 format_area_p ptr, 3 15 2 ss_list_p ptr, 3 16 2 ab_return, /* items set in prep call */ 3 17 3 abret (3) ptr, 3 18 2 source_p ptr, /* addr(fakefsb) for string option, 3 19* addr(file) for explicit file option */ 3 20 2 special_list_p ptr, /* addr(OKlist) for get data, addr(format_list) for edit */ 3 21 2 copy_file_p ptr, 3 22 2 job aligned, 3 23 3 explicit_file bit (1) unal, 3 24 3 string bit (1) unal, 3 25 3 varying_string bit (1) unal, 3 26 3 data bit (1) unal, 3 27 3 edit bit (1) unal, 3 28 3 list bit (1) unal, 3 29 3 get bit (1) unal, 3 30 3 put bit (1) unal, 3 31 3 page bit (1) unal, 3 32 3 line bit (1) unal, 3 33 3 skip bit (1) unal, 3 34 3 copy bit (1) unal, 3 35 3 p1p2 bit (1) unal, 3 36 3 bit_string bit (1) unal, /* for environment(stringvalue) */ 3 37 3 char_string bit (1) unal, 3 38 3 read bit (1) unal, 3 39 3 write bit (1) unal, 3 40 3 rewrite bit (1) unal, 3 41 3 delete bit (1) unal, 3 42 3 locate bit (1) unal, 3 43 3 key bit (1) unal, 3 44 3 keyto bit (1) unal, 3 45 3 keyfrom bit (1) unal, 3 46 3 set bit (1) unal, 3 47 3 into bit (1) unal, 3 48 3 ignore bit (1) unal, 3 49 3 from bit (1) unal, 3 50 3 version bit (6) unal, 3 51 3 not_byte_buffer bit (1) unal, 3 52 3 pad1 bit (1) unal, 3 53 3 packed_ptr bit (1) unal, 3 54 2 number fixed bin (15), 3 55 2 value_p ptr, /* items set NORMALLY by compiled procedures per transmission */ 3 56 2 descriptor bit (36) aligned, 3 57 2 length fixed bin (15), /* may be swallowed into descriptor */ 3 58 2 top_half bit (18) unal, 3 59 2 offset bit (18) unal, 3 60 2 prep fixed bin (15), /* items treated ABNORMALLY, written by user and PLIO */ 3 61 2 new_format fixed bin (15), 3 62 2 switch aligned, /* items used by PLIO and not touched by compiled procedures */ 3 63 3 first_field bit (1) unal, 3 64 3 file bit (1) unal, 3 65 3 transmit_error bit (1) unal, 3 66 3 semi_sep bit (1) unal, 3 67 3 pad2 bit (32) unal, 3 68 2 file_p ptr, 3 69 2 fsbp ptr, 3 70 2 auxp ptr, /* used as addr(ldidata) for GETs */ 3 71 2 fabp ptr, 3 72 2 fab2p ptr, 3 73 2 vp ptr, 3 74 2 descr bit (36) aligned, 3 75 2 start_copy fixed bin (15), 3 76 2 quick_stream_storage, 3 77 3 a_stored fixed bin (35), 3 78 3 q_stored fixed bin (35); 3 79 3 80 /* external static */ 3 81 3 82 declare ( 3 83 plio2_data_$pspstat, 3 84 plio2_data_$fsbpstat, 3 85 plio2_data_$badfsbp, 3 86 plio2_data_$fabpstat, 3 87 plio2_data_$fab2pstat, 3 88 plio2_data_$pliostringfsbp 3 89 ) ptr external static; 3 90 3 91 dcl plio2_data_fsb_thread_ ptr ext static initial (null); 3 92 /* *system var */ 3 93 3 94 declare ( 3 95 plio2_data_$badjob bit (36) aligned, 3 96 plio2_data_$undef_file_sw bit (1) aligned 3 97 ) external static; 3 98 3 99 /* END INCLUDE FILE ... plio2_ps.incl.pl1 */ 79 80 /* */ 81 reset_:entry(pspp); 82 psp=pspp; 83 flxp=ps.format_area_p; 84 ps.new_format=0; 85 86 87 88 /* fx.fe(1) is the structure passed to get edit and put edit 89* which contains the current fully evaluated format item. 90* In the case of the complex format, if fe(1).nval=1 then 91* fe(2) gives both real formats; if fe(1).nval=2 then 92* fe(2) and fe(3) give the two real formats. */ 93 94 95 fx.stk_index=1; 96 fx.cur_rep=0; 97 98 fx.cur_fep=ps.special_list_p; 99 if fx.cur_fep->based_int^=0 then goto err196; 100 101 /* Note: the compiled format list begins with 102* a word of ZEROs to distinguish a format_label 103* from any other label on the basis of the material 104* pointed to by it. */ 105 106 fx.frame(1).sf1p,fx.frame(1).fe1p=null; 107 fx.frame(1).sf2p=ps.stack_frame_p; 108 fx.frame(1).fe2p=addrel(ps.special_list_p,1); /* since first word is zeros */ 109 return; 110 111 112 /* GET GET */ 113 114 115 116 get_next_:entry(pspp); 117 118 /* gets next format item and leaves it, fully 119* evaluated, in fe(1). REP factors are evaluated 120* before any of the rest of the format item is examined. 121* PARAMs are evaluated before EACH use of the item. */ 122 123 124 psp=pspp; 125 block_sym_tab_p=null; /* used in call to decode value, 126* should be pointer to the ST for 127* the block of the (remote) format. 128* detail a little unsettled now, so 129* I'll use NULL */ 130 flxp=ps.format_area_p; 131 if ps.p1p2 then indexlimit =6; 132 else /* ordinary PL2 case */ indexlimit=10; 133 134 135 /* */ 136 test_rep: 137 if fx.cur_rep>0 then 138 do; 139 fx.cur_rep=fx.cur_rep-1; 140 if fx.fe(1).type=c_format then 141 do; 142 fx.fe(2).val(1)=0; /* compiler bug made fx.fe(2).val(*)=0 very costly */ 143 fx.fe(2).val(2)=0; 144 fx.fe(2).val(3)=0; 145 fx.fe(3).val(1)=0; 146 fx.fe(3).val(2)=0; 147 fx.fe(3).val(3)=0; 148 if fx.fe(1).nval <1 then goto err194; 149 fbxp=addrel(fx.cur_fep,fx.fe(1).val(1)); 150 151 if fx.fe(2).type = picture_format 152 then call decode_picture_format(2); 153 154 else do i=1 to fx.fe(2).nval; 155 ival=fbxp->fb.val(i); 156 if ival<0 then 157 do; 158 ival=stu_$decode_runtime_value 159 (ival,block_sym_tab_p,fx.cur_sfp,null,null,null,icode); 160 if icode^=0 then goto err195; 161 end; 162 fx.fe(2).val(i)=ival; 163 end; 164 165 if fx.fe(1).nval<2 166 then do; 167 fx.fe(3).val(1)=fx.fe(2).val(1); 168 fx.fe(3).val(2)=fx.fe(2).val(2); 169 fx.fe(3).val(3)=fx.fe(2).val(3); 170 end; 171 else do; 172 fbxp=addrel(fx.cur_fep,fixed(fx.fe(1).val(2),18)); 173 174 if fx.fe(3).type = picture_format 175 then call decode_picture_format(3); 176 else do i=1 to fx.fe(3).nval; 177 ival=fbxp->fb.val(i); 178 if ival<0 then 179 do; 180 ival=stu_$decode_runtime_value 181 (ival,block_sym_tab_p,fx.cur_sfp,null,null,null,icode); 182 if icode^=0 then goto err195; 183 end; 184 fx.fe(3).val(i)=ival; 185 end; 186 187 end; 188 end; 189 190 else do; /* non COMPLEX case */ 191 fbxp=fx.cur_fep; 192 fx.fe(1).val(1)=0; 193 fx.fe(1).val(2)=0; 194 fx.fe(1).val(3)=0; 195 196 if fx.fe(1).type = picture_format 197 then call decode_picture_format(1); 198 199 else do i=1 to fx.fe(1).nval; 200 ival=fbxp->fb.val(i); 201 if ival<0 then 202 do; 203 ival=stu_$decode_runtime_value 204 (ival,block_sym_tab_p,fx.cur_sfp,null,null,null,icode); 205 if icode^=0 then goto err195; 206 end; 207 fx.fe(1).val(i)=ival; 208 end; 209 end; 210 go to get_fb_exit; 211 end; 212 213 214 decode_picture_format: proc(number); 215 216 dcl number fixed bin(15), 217 p ptr; 218 219 p = addrel(fbxp,fb.val(1)); 220 221 fx.fe(number).nval = 3; 222 fx.fe(number).val(1) = p->picture_image.varlength; 223 fx.fe(number).val(2) = fixed(baseno(p),18); 224 fx.fe(number).val(3) = fixed(rel(p),18); 225 226 end decode_picture_format; 227 228 229 230 test_next: 231 tb18=fx.cur_fep->fb.bits.offset; 232 dcl tb18 bit(18); 233 if tb18="0"b then go to test_fx_stack; 234 fx.cur_fep=addrel(fx.cur_fep,tb18); 235 236 set_rep: 237 irep=fx.cur_fep->fb.rep; 238 if irep<0 then 239 do; 240 irep=stu_$decode_runtime_value(irep,block_sym_tab_p,fx.cur_sfp,null,null,null,icode); 241 if icode^=0 then goto err195; 242 end; 243 fx.cur_rep=irep; 244 fx.fe(1).type=fixed(fx.cur_fep->fb.bits.code,9); 245 fx.fe(1).nval=fixed(fx.cur_fep->fb.bits.nval,9); 246 247 if fx.fe(1).type> c_format then go to test_rep; /* non special */ 248 if fx.cur_rep<1 then go to test_next; 249 250 251 /* for n>0 252* nC or n( or nR */ 253 254 255 if fx.fe(1).type= c_format then 256 do; 257 c_formatx: 258 fx.fe(1).val(*)=fx.cur_fep->fb.val(*); 259 260 if fx.fe(1).nval<1 then goto err194; 261 fbxp=addrel(fx.cur_fep,fx.cur_fep->fb.val(1)); 262 fx.fe(2).type,realstype=fixed(fbxp->fb.bits.code,9); 263 /* if realstype^=f_format 264* then if realstype^=e_format 265* then if realstype^=picture_format 266* then goto err194; */ 267 fx.fe(2).nval=fixed(fbxp->fb.bits.nval,9); 268 269 if fx.fe(1).nval<2 then 270 do; 271 fx.fe(3).type=fx.fe(2).type; 272 fx.fe(3).nval=fx.fe(2).nval; 273 end; 274 275 276 else do; 277 fbxp=addrel(fx.cur_fep,fx.cur_fep->fb.val(2)); 278 fx.fe(3).type,realstype=fixed(fbxp->fb.bits.code,9); 279 /* if realstype^=f_format 280* then if realstype^=e_format 281* then if realstype^=picture_format 282* then goto err194; */ 283 fx.fe(3).nval=fixed(fbxp->fb.bits.nval,9); 284 end; 285 286 go to test_rep; 287 end; 288 289 290 291 292 293 open_paren: 294 295 296 297 fx.stk_index=fx.stk_index+1; 298 if fx.stk_index>indexlimit then goto err197; 299 fx.frame(fx.stk_index).sf1p=fx.cur_sfp; 300 fx.frame(fx.stk_index).fe1p=fx.cur_fep; 301 302 fx.frame(fx.stk_index).rep=fx.cur_rep; 303 304 if fx.fe(1).type= r_format then 305 do; 306 r_formatx: 307 icode=stu_$remote_format(fx.cur_fep->fb.val(1), 308 fx.cur_sfp,null,flabel); 309 if icode^=0 then goto err195; 310 blp=addr(flabel); 311 fx.frame(fx.stk_index).sf2p=bl(2); /* assumes LABEL=(format-list-p,stack-frame-p) */ 312 if bl(1)->based_int^=0 then goto err196; 313 fx.frame(fx.stk_index).fe2p=addrel(bl(1),1); 314 end; 315 316 else do; 317 fx.frame(fx.stk_index).sf2p=fx.cur_sfp; 318 fx.frame(fx.stk_index).fe2p=addrel(fx.cur_fep,fixed(fx.cur_fep->fb.val(1),18)); 319 end; 320 321 test_fx_stack: 322 if fx.stk_index=1 then go to inner_cycle; 323 324 325 if fx.frame(fx.stk_index).rep>0 then 326 do; 327 fx.frame(fx.stk_index).rep=fx.frame(fx.stk_index).rep -1; 328 go to inner_cycle; 329 end; 330 331 332 fx.cur_sfp=fx.frame(fx.stk_index).sf1p; 333 fx.cur_fep=fx.frame(fx.stk_index).fe1p; 334 fx.stk_index=fx.stk_index-1; 335 go to test_next; 336 337 inner_cycle: 338 fx.cur_sfp=fx.frame(fx.stk_index).sf2p; 339 fx.cur_fep=fx.frame(fx.stk_index).fe2p; 340 go to set_rep; 341 342 343 err194: /* bad_complex_pair */ 344 erno=194; 345 go to error_exit; 346 347 err195: /* decode error */ 348 erno=195; 349 goto error_exit; 350 351 err196: /* first-word-of-format-not-zero */ 352 erno=196; 353 goto error_exit; 354 355 err197: /* exceeds the depth of the format STACK */ 356 erno=197; 357 goto error_exit; 358 error_exit: 359 call plio2_signal_$s_r_(psp,"ERROR","format_list_processor",erno); 360 361 get_fb_exit: 362 363 if dcfi_sw=1 then 364 do; 365 dcfi_ct=dcfi_ct - 1; 366 if dcfi_ct=0 then dcfi_sw=0; 367 368 p=addr(fx.fe(1)); 369 if node(1)=3 then goto disp_c; 370 371 call disp_f; 372 goto disp_ret; 373 374 disp_c: 375 call ioa_$nnl("complex("); 376 p=addrel(p,5); 377 call disp_f; 378 call ioa_$nnl(","); 379 p=addrel(p,5); 380 call disp_f; 381 call ioa_$nnl(")"); 382 383 disp_ret: 384 call ioa_(""); 385 end; 386 return; /* return from disp OR from normal get_next_ */ 387 388 389 disp_f:proc; 390 if node(1)=13 391 then do; 392 qq=addrel(baseptr(node(4)),node(5)); 393 call ioa_$nnl("p ""^a""",qq->picture_image.chars); 394 end; 395 else do; 396 c4=substr(format_letters,node(1)*4-7,4); 397 if node(2)=3 then call ioa_$nnl("^a(^d,^d,^d)", c4,node(3),node(4),node(5)); 398 if node(2)=2 then call ioa_$nnl("^a(^d,^d)", c4,node(3),node(4)); 399 if node(2)=1 then call ioa_$nnl("^a(^d)", c4,node(3)); 400 if node(2)=0 then call ioa_$nnl("^a", c4); 401 end; 402 end disp_f; 403 404 dcfi:entry; 405 dcfi_sw=1-dcfi_sw; 406 return; 407 408 dcfi25:entry; 409 dcfi_sw=1; 410 dcfi_ct=25; 411 return; 412 413 414 end plio2_fl_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/03/83 1005.4 plio2_fl_.pl1 >spec>on>pl128d>plio2_fl_.pl1 22 1 12/08/76 1048.4 plio_format_codes.incl.pl1 >ldd>include>plio_format_codes.incl.pl1 23 2 06/28/79 1204.8 picture_image.incl.pl1 >ldd>include>picture_image.incl.pl1 79 3 08/13/81 2043.5 plio2_ps.incl.pl1 >ldd>include>plio2_ps.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 68 ref 310 368 addrel builtin function dcl 68 ref 108 149 172 219 234 261 277 313 318 376 379 392 based_int based fixed bin(35,0) dcl 66 ref 99 312 baseno builtin function dcl 68 ref 223 baseptr builtin function dcl 68 ref 392 bits based structure level 2 dcl 24 bl based pointer array dcl 65 ref 311 312 313 block_sym_tab_p 000110 automatic pointer dcl 56 set ref 125* 158* 180* 203* 240* blp 000106 automatic pointer dcl 56 set ref 310* 311 312 313 c4 000132 automatic char(4) dcl 77 set ref 396* 397* 398* 399* 400* c_format constant fixed bin(15,0) initial dcl 1-3 ref 140 247 255 chars 2 based char level 2 dcl 2-6 set ref 393* code based bit(9) level 3 packed unaligned dcl 24 ref 244 262 278 cur_fep 22 based pointer level 2 dcl 34 set ref 98* 99 149 172 191 230 234* 234 236 244 245 257 261 261 277 277 300 306 318 318 333* 339* cur_rep 17 based fixed bin(15,0) level 2 dcl 34 set ref 96* 136 139* 139 243* 248 302 cur_sfp 20 based pointer level 2 dcl 34 set ref 158* 180* 203* 240* 299 306* 317 332* 337* dcfi_ct 000011 internal static fixed bin(15,0) initial dcl 74 set ref 365* 365 366 410* dcfi_sw 000010 internal static fixed bin(15,0) initial dcl 74 set ref 361 366* 405* 405 409* erno 000126 automatic fixed bin(15,0) dcl 64 set ref 343* 347* 351* 355* 358* fb based structure level 1 dcl 24 fbxp 000100 automatic pointer dcl 56 set ref 149* 155 172* 177 191* 200 219 219 261* 262 267 277* 278 283 fe based structure array level 2 dcl 34 set ref 368 fe1p 32 based pointer array level 3 dcl 34 set ref 106* 300* 333 fe2p 34 based pointer array level 3 dcl 34 set ref 108* 313* 318* 339 fixed builtin function dcl 68 ref 172 223 224 244 245 262 267 278 283 318 flabel 000120 automatic label variable dcl 61 set ref 306* 310 flxp 000104 automatic pointer dcl 56 set ref 83* 95 96 98 99 106 106 107 108 130* 136 139 139 140 142 143 144 145 146 147 148 149 149 151 154 158 162 165 167 167 168 168 169 169 172 172 174 176 180 184 191 192 193 194 196 199 203 207 221 222 223 224 230 234 234 236 240 243 244 244 245 245 247 248 255 257 257 260 261 261 262 267 269 271 271 272 272 277 277 278 283 293 293 298 299 299 299 300 300 300 302 302 302 304 306 306 311 311 313 313 317 317 317 318 318 318 318 321 325 325 327 327 327 327 332 332 332 333 333 333 334 334 337 337 337 339 339 339 368 format_area_p 6 based pointer level 2 dcl 3-10 ref 83 130 format_letters 000000 constant char(44) initial dcl 72 ref 396 frame 26 based structure array level 2 dcl 34 fx based structure level 1 dcl 34 i 000125 automatic fixed bin(15,0) dcl 63 set ref 154* 155 162* 176* 177 184* 199* 200 207* icode 000124 automatic fixed bin(35,0) dcl 62 set ref 158* 160 180* 182 203* 205 240* 241 306* 309 indexlimit 000114 automatic fixed bin(35,0) dcl 57 set ref 131* 132* 298 ioa_ 000020 constant entry external dcl 71 ref 383 ioa_$nnl 000022 constant entry external dcl 71 ref 374 378 381 393 397 398 399 400 irep 000115 automatic fixed bin(35,0) dcl 57 set ref 236* 238 240* 240* 243 ival 000116 automatic fixed bin(35,0) dcl 57 set ref 155* 156 158* 158* 162 177* 178 180* 180* 184 200* 201 203* 203* 207 job 26 based structure level 2 dcl 3-10 new_format 36 based fixed bin(15,0) level 2 dcl 3-10 set ref 84* node based fixed bin(15,0) array dcl 75 set ref 369 390 392 392 396 397 397* 397* 397* 398 398* 398* 399 399* 400 null builtin function dcl 68 ref 106 125 158 158 158 158 158 158 180 180 180 180 180 180 203 203 203 203 203 203 240 240 240 240 240 240 306 306 number parameter fixed bin(15,0) dcl 216 ref 214 221 222 223 224 nval 0(09) based bit(9) level 3 in structure "fb" packed unaligned dcl 24 in procedure "format_list" ref 245 267 283 nval 1 based fixed bin(15,0) array level 3 in structure "fx" dcl 34 in procedure "format_list" set ref 148 154 165 176 199 221* 245* 260 267* 269 272* 272 283* offset 0(18) based bit(18) level 3 packed unaligned dcl 24 ref 230 p 000130 automatic pointer dcl 76 in procedure "format_list" set ref 368* 369 376* 376 379* 379 390 392 392 396 397 397 397 397 398 398 398 399 399 400 p 000146 automatic pointer dcl 216 in procedure "decode_picture_format" set ref 219* 222 223 224 p1p2 26(12) based bit(1) level 3 packed unaligned dcl 3-10 ref 131 piclength 0(27) based fixed bin(8,0) level 2 packed unaligned dcl 2-6 ref 393 393 picture_format constant fixed bin(15,0) initial dcl 1-3 ref 151 174 196 picture_image based structure level 1 dcl 2-6 plio2_signal_$s_r_ 000016 constant entry external dcl 69 ref 358 ps based structure level 1 dcl 3-10 psp 000102 automatic pointer dcl 56 set ref 82* 83 84 98 107 108 124* 130 131 358* pspp parameter pointer dcl 56 ref 81 82 116 124 qq 000112 automatic pointer dcl 56 set ref 392* 393 r_format constant fixed bin(15,0) initial dcl 1-3 ref 304 realstype 000117 automatic fixed bin(35,0) dcl 57 set ref 262* 278* rel builtin function dcl 68 ref 224 rep 36 based fixed bin(15,0) array level 3 in structure "fx" dcl 34 in procedure "format_list" set ref 302* 325 327* 327 rep 1 based fixed bin(35,0) level 2 in structure "fb" dcl 24 in procedure "format_list" ref 236 sf1p 26 based pointer array level 3 dcl 34 set ref 106* 299* 332 sf2p 30 based pointer array level 3 dcl 34 set ref 107* 311* 317* 337 special_list_p 22 based pointer level 2 dcl 3-10 ref 98 108 stack_frame_p based pointer level 2 dcl 3-10 ref 107 stk_index 25 based fixed bin(15,0) level 2 dcl 34 set ref 95* 293* 293 298 299 300 302 311 313 317 318 321 325 327 327 332 333 334* 334 337 339 stu_$decode_runtime_value 000012 constant entry external dcl 58 ref 158 180 203 240 stu_$remote_format 000014 constant entry external dcl 59 ref 306 substr builtin function dcl 68 ref 396 tb18 000133 automatic bit(18) unaligned dcl 232 set ref 230* 233 234 type based fixed bin(15,0) array level 3 dcl 34 set ref 140 151 174 196 244* 247 255 262* 271* 271 278* 304 val 2 based fixed bin(35,0) array level 2 in structure "fb" dcl 24 in procedure "format_list" set ref 155 177 200 219 257 261 277 306* 318 val 2 based fixed bin(15,0) array level 3 in structure "fx" dcl 34 in procedure "format_list" set ref 142* 143* 144* 145* 146* 147* 149 162* 167* 167 168* 168 169* 169 172 184* 192* 193* 194* 207* 222* 223* 224* 257* varlength 1 based fixed bin(8,0) level 2 packed unaligned dcl 2-6 ref 222 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. a_format internal static fixed bin(15,0) initial dcl 1-3 b_format internal static fixed bin(15,0) initial dcl 1-3 bn_format internal static fixed bin(15,0) initial dcl 1-3 column_format internal static fixed bin(15,0) initial dcl 1-3 e_format internal static fixed bin(15,0) initial dcl 1-3 f_format internal static fixed bin(15,0) initial dcl 1-3 l_paren internal static fixed bin(15,0) initial dcl 1-3 line_format internal static fixed bin(15,0) initial dcl 1-3 page_format internal static fixed bin(15,0) initial dcl 1-3 picture_char_type internal static fixed bin(8,0) initial unaligned dcl 2-20 picture_complexfix_type internal static fixed bin(8,0) initial unaligned dcl 2-20 picture_complexflo_type internal static fixed bin(8,0) initial unaligned dcl 2-20 picture_realfix_type internal static fixed bin(8,0) initial unaligned dcl 2-20 picture_realflo_type internal static fixed bin(8,0) initial unaligned dcl 2-20 plio2_data_$badfsbp external static pointer dcl 3-82 plio2_data_$badjob external static bit(36) dcl 3-94 plio2_data_$fab2pstat external static pointer dcl 3-82 plio2_data_$fabpstat external static pointer dcl 3-82 plio2_data_$fsbpstat external static pointer dcl 3-82 plio2_data_$pliostringfsbp external static pointer dcl 3-82 plio2_data_$pspstat external static pointer dcl 3-82 plio2_data_$undef_file_sw external static bit(1) dcl 3-94 plio2_data_fsb_thread_ external static pointer initial dcl 3-91 r_paren internal static fixed bin(15,0) initial dcl 1-3 skip_format internal static fixed bin(15,0) initial dcl 1-3 x_format internal static fixed bin(15,0) initial dcl 1-3 NAMES DECLARED BY EXPLICIT CONTEXT. c_formatx 000615 constant label dcl 257 dcfi 001177 constant entry external dcl 404 dcfi25 001212 constant entry external dcl 408 decode_picture_format 001226 constant entry internal dcl 214 ref 151 174 196 disp_c 001114 constant label dcl 374 ref 369 disp_f 001267 constant entry internal dcl 389 ref 371 377 380 disp_ret 001164 constant label dcl 383 ref 372 err194 001023 constant label dcl 343 ref 148 260 err195 001026 constant label dcl 347 ref 160 182 205 241 309 err196 001031 constant label dcl 351 ref 99 312 err197 001034 constant label dcl 355 ref 298 error_exit 001037 constant label dcl 358 ref 345 349 353 357 fl 000067 constant entry external dcl 10 fl_ 000077 constant entry external dcl 10 format_list 000057 constant entry external dcl 10 get_fb_exit 001074 constant label dcl 361 ref 210 get_next_ 000160 constant entry external dcl 116 inner_cycle 001014 constant label dcl 337 ref 321 328 open_paren 000675 constant label dcl 293 plio2_fl_ 000107 constant entry external dcl 10 r_formatx 000714 constant label dcl 306 reset_ 000121 constant entry external dcl 81 set_rep 000532 constant label dcl 236 ref 340 test_fx_stack 000770 constant label dcl 321 ref 233 test_next 000522 constant label dcl 230 ref 248 335 test_rep 000206 constant label dcl 136 ref 247 286 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1646 1672 1512 1656 Length 2134 1512 24 225 133 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME format_list 194 external procedure is an external procedure. decode_picture_format internal procedure shares stack frame of external procedure format_list. disp_f internal procedure shares stack frame of external procedure format_list. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 dcfi_sw format_list 000011 dcfi_ct format_list STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME format_list 000100 fbxp format_list 000102 psp format_list 000104 flxp format_list 000106 blp format_list 000110 block_sym_tab_p format_list 000112 qq format_list 000114 indexlimit format_list 000115 irep format_list 000116 ival format_list 000117 realstype format_list 000120 flabel format_list 000124 icode format_list 000125 i format_list 000126 erno format_list 000130 p format_list 000132 c4 format_list 000133 tb18 format_list 000146 p decode_picture_format THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry set_support THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. ioa_ ioa_$nnl plio2_signal_$s_r_ stu_$decode_runtime_value stu_$remote_format NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 10 000056 81 000115 82 000127 83 000133 84 000135 95 000136 96 000140 98 000141 99 000143 106 000145 107 000150 108 000152 109 000155 116 000156 124 000166 125 000172 130 000174 131 000176 132 000204 136 000206 139 000211 140 000213 142 000216 143 000217 144 000220 145 000221 146 000222 147 000223 148 000224 149 000227 151 000233 154 000243 155 000253 156 000256 158 000257 160 000311 162 000313 163 000317 165 000321 167 000325 168 000327 169 000331 170 000333 172 000334 174 000340 176 000350 177 000357 178 000362 180 000363 182 000415 184 000417 185 000423 188 000425 191 000426 192 000430 193 000431 194 000432 196 000433 199 000443 200 000453 201 000456 203 000457 205 000511 207 000513 208 000517 210 000521 230 000522 233 000526 234 000527 236 000532 238 000536 240 000537 241 000570 243 000572 244 000575 245 000600 247 000604 248 000607 255 000612 257 000615 260 000631 261 000634 262 000641 267 000645 269 000651 271 000654 272 000656 273 000660 277 000661 278 000664 283 000670 286 000674 293 000675 298 000676 299 000701 300 000704 302 000706 304 000711 306 000714 309 000736 310 000740 311 000742 312 000747 313 000752 314 000756 317 000757 318 000763 321 000770 325 000774 327 001000 328 001003 332 001004 333 001007 334 001011 335 001013 337 001014 339 001020 340 001022 343 001023 345 001025 347 001026 349 001030 351 001031 353 001033 355 001034 357 001036 358 001037 361 001074 365 001100 366 001102 368 001105 369 001107 371 001112 372 001113 374 001114 376 001126 377 001131 378 001132 379 001145 380 001150 381 001151 383 001164 386 001175 404 001176 405 001205 406 001210 408 001211 409 001220 410 001223 411 001225 214 001226 219 001230 221 001235 222 001243 223 001251 224 001260 226 001266 389 001267 390 001270 392 001273 393 001303 394 001331 396 001332 397 001334 398 001374 399 001430 400 001457 402 001501 ----------------------------------------------------------- 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