COMPILATION LISTING OF SEGMENT gfms_dump_rec_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1205.6 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 gfms_dump_rec_: proc (p, n); 7 8 /* Display catalog record BCD and octal. 9* 10* Author: Dave Ward 11/05/80 11* Change: Dave Ward 11/06/80 number of words parameter. 12* Change: Dave Ward 11/25/80 notify zero words requested. 13**/ 14 dcl n fixed bin parm; 15 dcl p ptr parm; 16 if n<1 then do; 17 call ioa_$ioa_switch_nnl ( 18 iox_$error_output 19 , "ZERO WORDS READ. NO DUMP." 20 ); 21 return; 22 end; 23 f = n-1; /* upper bound 0,1,...,n-1. */ 24 call ioa_$ioa_switch_nnl (iox_$error_output, "^5x"); 25 do i = 0 to 7; /* Print header. */ 26 call ioa_$ioa_switch_nnl (iox_$error_output, "^13x^i", i); 27 end; 28 call ioa_$ioa_switch_nnl (iox_$error_output, "^/"); 29 do i = 0 by 8 to f; 30 if i>0 then 31 if last_line = current_line then do; 32 if first then do; 33 first = "0"b; 34 call ioa_$ioa_switch_nnl (iox_$error_output, "^6x^12(=^)"); 35 call ioa_$ioa_switch_nnl (iox_$error_output, "^/"); 36 end; 37 goto next_line; 38 end; 39 first = "1"b; 40 call ioa_$ioa_switch_nnl (iox_$error_output, "^4i.", i); 41 do j = i to (i+8-1) while (j <= f); /* Print bcd. */ 42 call ioa_$ioa_switch_nnl (iox_$error_output, "^1x^13a", bcd (w (j))); 43 end; 44 call ioa_$ioa_switch_nnl (iox_$error_output, "^/^5x"); 45 do j = i to (i+8-1) while (j <= f); /* Print octal. */ 46 call ioa_$ioa_switch_nnl (iox_$error_output, "^1x^6.3b'^6.3b", wl (j), wr (j)); 47 end; 48 call ioa_$ioa_switch_nnl (iox_$error_output, "^/"); 49 next_line: ; 50 end; 51 return; 52 53 bcd: proc (w)returns (char (13)); 54 55 /* Convert 6 bcd characters to ascii, convert blanks to 56* underlines (bcd has no underline character, so this 57* distinguishes bcd blanks). Return the 6 characters as a 2 58* strings of 6 characters each, space in middle, each input 59* character preceeded by a space. 60**/ 61 dcl w bit(36)aligned parm; 62 string (s) = gfms_ascii_ ((w)); /* Convert bcd to ascii. */ 63 string (s) = translate (string (s), "_", " "); /* Convert spaces to underlines. */ 64 string (r) = " "; /* Blank the result. */ 65 do i = 0 to 5; 66 if i<3 then k = 1; 67 else k = 2; 68 r ((i*2)+k) = s (i); /* Distribute to every other character of the output. */ 69 end; 70 return (string (r)); 71 72 dcl i fixed bin; 73 dcl k fixed bin; 74 dcl r (0:12)char(1)unal; 75 dcl s (0:5)char(1)unal; 76 end bcd; 77 78 /* Variables for gfms_dump_rec_: */ 79 /* IDENTIFIER ATTRIBUTES */ 80 dcl current_line bit(8*36)aligned based(addr(w(i))); 81 dcl f fixed bin; 82 dcl first bit(1); 83 dcl gfms_ascii_ entry (bit(*)) returns(char(*)); 84 dcl i fixed bin; 85 dcl ioa_$ioa_switch_nnl entry() options(variable); 86 dcl iox_$error_output ptr ext static; 87 dcl j fixed bin; 88 dcl last_line bit(8*36)aligned based(addr(w(i-8))); 89 dcl w (0:f)bit(36)aligned based(p); 90 91 dcl 1 w2 (0:f)aligned based(p) 92 , 2 wl bit(18)unal 93 , 2 wr bit(18)unal 94 ; 95 end gfms_dump_rec_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1041.8 gfms_dump_rec_.pl1 >spec>on>7105>gfms_dump_rec_.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. current_line based bit(288) dcl 80 ref 30 f 000100 automatic fixed bin(17,0) dcl 81 set ref 23* 29 41 45 first 000101 automatic bit(1) unaligned dcl 82 set ref 32 33* 39* gfms_ascii_ 000010 constant entry external dcl 83 ref 62 i 000102 automatic fixed bin(17,0) dcl 84 in procedure "gfms_dump_rec_" set ref 25* 26* 29* 30 30 30 40* 41 41 45 45* i 000116 automatic fixed bin(17,0) dcl 72 in procedure "bcd" set ref 65* 66 68 68* ioa_$ioa_switch_nnl 000012 constant entry external dcl 85 ref 17 24 26 28 34 35 40 42 44 46 48 iox_$error_output 000014 external static pointer dcl 86 set ref 17* 24* 26* 28* 34* 35* 40* 42* 44* 46* 48* j 000103 automatic fixed bin(17,0) dcl 87 set ref 41* 41* 42 42* 45* 45* 46 46* k 000117 automatic fixed bin(17,0) dcl 73 set ref 66* 67* 68 last_line based bit(288) dcl 88 ref 30 n parameter fixed bin(17,0) dcl 14 ref 6 16 23 p parameter pointer dcl 15 ref 6 30 30 42 42 46 46 r 000120 automatic char(1) array unaligned dcl 74 set ref 64* 68* 70 s 000124 automatic char(1) array unaligned dcl 75 set ref 62* 63* 63 68 w parameter bit(36) dcl 61 in procedure "bcd" ref 53 62 w based bit(36) array dcl 89 in procedure "gfms_dump_rec_" set ref 30 30 42* 42* w2 based structure array level 1 dcl 91 wl based bit(18) array level 2 packed unaligned dcl 91 set ref 46* wr 0(18) based bit(18) array level 2 packed unaligned dcl 91 set ref 46* NAMES DECLARED BY EXPLICIT CONTEXT. bcd 000502 constant entry internal dcl 53 ref 42 42 gfms_dump_rec_ 000052 constant entry external dcl 6 next_line 000475 constant label dcl 49 ref 37 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 30 30 string builtin function set ref 62 63* 63 64* 70 translate builtin function ref 63 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1056 1074 1001 1066 Length 1254 1001 16 143 55 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gfms_dump_rec_ 154 external procedure is an external procedure. bcd internal procedure shares stack frame of external procedure gfms_dump_rec_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gfms_dump_rec_ 000100 f gfms_dump_rec_ 000101 first gfms_dump_rec_ 000102 i gfms_dump_rec_ 000103 j gfms_dump_rec_ 000116 i bcd 000117 k bcd 000120 r bcd 000124 s bcd THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. gfms_ascii_ ioa_$ioa_switch_nnl THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. iox_$error_output LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 6 000046 16 000057 17 000063 21 000102 23 000103 24 000105 25 000123 26 000127 27 000152 28 000154 29 000173 30 000201 32 000214 33 000216 34 000217 35 000240 37 000257 39 000260 40 000262 41 000305 42 000317 43 000355 44 000357 45 000376 46 000411 47 000454 48 000456 49 000475 50 000476 51 000501 53 000502 62 000504 63 000533 64 000544 65 000547 66 000553 67 000560 68 000562 69 000571 70 000573 ----------------------------------------------------------- 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