COMPILATION LISTING OF SEGMENT gcos_write_line_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-18_1120.19_Tue_mdt 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 gcos_write_line_: proc (a_line_ptr, a_data_type, a_brief, a_code); 12 13 14 /* DECLARATIONS */ 15 /* ------------ */ 16 17 18 /* fixed bin */ 19 /* ----- --- */ 20 21 dcl ( 22 i, /* random variable */ 23 write_size /* number of words to write */ 24 ) fixed bin aligned; 25 26 dcl ( 27 a_code /* error code (argument) */ 28 ) fixed bin (35) aligned; 29 30 31 /* pointers */ 32 /* -------- */ 33 34 dcl ( 35 a_line_ptr, /* pointer to input line (argument) */ 36 line_ptr, /* pointer to input line */ 37 write_ptr /* pointer to output line */ 38 ) ptr aligned; 39 40 41 /* bit strings */ 42 /* --- ------- */ 43 44 dcl ( 45 a_brief, /* ON if brief option specified by caller (argument) */ 46 a_data_type, /* "1"b = bcd, "0"b = binary (argument) */ 47 brief, /* ON if brief option specified by caller */ 48 data_is_bcd /* ON if data is bcd */ 49 ) bit (1) aligned; 50 51 /* character strings */ 52 /* --------- ------- */ 53 54 dcl nl char (1) aligned init (" 55 "); /* new line character a la VLV */ 56 57 dcl ( 58 ascii /* output line */ 59 ) char (85) aligned; 60 61 62 /* built in functions */ 63 /* ----- -- --------- */ 64 65 dcl ( 66 addr, 67 substr 68 ) builtin; 69 70 71 /* external entries */ 72 /* -------- ------- */ 73 74 dcl cv_bcd_to_ascii_ ext entry 75 (ptr aligned, ptr aligned); 76 77 dcl cv_bin_to_ascii_ ext entry 78 (ptr aligned, ptr aligned, fixed bin (35) aligned); 79 80 dcl ios_$write_ptr ext entry 81 (ptr aligned, fixed bin aligned, fixed bin aligned); 82 83 /* */ 84 85 line_ptr = a_line_ptr; /* copy in arguments */ 86 data_is_bcd = a_data_type; 87 brief = a_brief; 88 89 write_ptr = addr (ascii); /* set internal variables */ 90 if brief 91 then write_size = 81; 92 else 93 write_size = 85; 94 ascii = ""; 95 96 if data_is_bcd 97 then do; 98 99 a_code = 0; 100 101 call cv_bcd_to_ascii_ (line_ptr, write_ptr); 102 if brief 103 then substr (ascii, 81, 1) = nl; 104 else 105 substr (ascii, 82, 4) = "BCD"||nl; 106 107 end; 108 109 else /* binary card */ 110 do; 111 112 call cv_bin_to_ascii_ (write_ptr, write_ptr, a_code); 113 if a_code ^= 0 114 then do; 115 if brief 116 then return; 117 else 118 do; 119 write_size = 27; 120 ascii = "---UNINTERPRETED BINARY IMAGE"||nl; 121 end; 122 end; 123 else 124 do; 125 if brief 126 then substr (ascii, 81, 1) = nl; 127 else 128 substr (ascii, 82, 4) = "BIN"||nl; 129 end; 130 131 end; 132 133 call ios_$write_ptr (write_ptr, 0, write_size); 134 135 return; 136 137 end gcos_write_line_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/18/00 1120.1 gcos_write_line_.pl1 >udd>sm>ds>w>ml>gcos_write_line_.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. a_brief parameter bit(1) dcl 44 ref 11 87 a_code parameter fixed bin(35,0) dcl 26 set ref 11 99* 112* 113 a_data_type parameter bit(1) dcl 44 ref 11 86 a_line_ptr parameter pointer dcl 34 ref 11 85 addr builtin function dcl 65 ref 89 ascii 000111 automatic char(85) dcl 57 set ref 89 94* 102* 104* 120* 125* 127* brief 000106 automatic bit(1) dcl 44 set ref 87* 90 102 115 125 cv_bcd_to_ascii_ 000010 constant entry external dcl 74 ref 101 cv_bin_to_ascii_ 000012 constant entry external dcl 77 ref 112 data_is_bcd 000107 automatic bit(1) dcl 44 set ref 86* 96 ios_$write_ptr 000014 constant entry external dcl 80 ref 133 line_ptr 000102 automatic pointer dcl 34 set ref 85* 101* nl 000110 automatic char(1) initial dcl 54 set ref 54* 102 104 120 125 127 substr builtin function dcl 65 set ref 102* 104* 125* 127* write_ptr 000104 automatic pointer dcl 34 set ref 89* 101* 112* 112* 133* write_size 000100 automatic fixed bin(17,0) dcl 21 set ref 90* 92* 119* 133* NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. i automatic fixed bin(17,0) dcl 21 NAME DECLARED BY EXPLICIT CONTEXT. gcos_write_line_ 000022 constant entry external dcl 11 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 250 266 172 260 Length 434 172 16 132 56 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gcos_write_line_ 110 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gcos_write_line_ 000100 write_size gcos_write_line_ 000102 line_ptr gcos_write_line_ 000104 write_ptr gcos_write_line_ 000106 brief gcos_write_line_ 000107 data_is_bcd gcos_write_line_ 000110 nl gcos_write_line_ 000111 ascii gcos_write_line_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out return_mac shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cv_bcd_to_ascii_ cv_bin_to_ascii_ ios_$write_ptr NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000015 54 000027 85 000031 86 000035 87 000040 89 000043 90 000045 92 000051 94 000053 96 000056 99 000060 101 000061 102 000071 104 000076 107 000104 112 000105 113 000116 115 000121 119 000123 120 000125 121 000140 122 000141 125 000142 127 000147 133 000155 135 000171 ----------------------------------------------------------- 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