COMPILATION LISTING OF SEGMENT prnter_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/17/88 1004.6 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 prnter_: procedure ( line ) ; 14 15 16 /* Last modified on 4/3/77 by Greenberg for macro entries. */ 17 /* Last modified on 11/23/72 at 02:29:18 by R F Mabee. Removed superfluous "abandoning assembly" message. */ 18 /* Modified by RHG on 17 September 1970 for new listing package */ 19 20 /* this procedure calls prlst to generate the comment and then writes 21* the comment into the user's output stream */ 22 23 declare line char (*) ; 24 25 declare ioa_ external entry options (variable); 26 dcl iox_$put_chars entry (ptr, ptr, fixed bin (21), fixed bin (35)); 27 dcl iox_$user_output ptr external; 28 29 dcl p1_macroerr_debug_sw static init ("0"b)bit (1); 30 dcl nl char (1) static options (constant) init (" 31 "); 32 33 declare eb_data_$abort_assembly external static label; 34 declare eb_data_$who_am_I external static char(12); 35 declare com_err_ external entry options (variable); 36 37 declare prlst_$prlst_ external entry (char(*)) ; 38 39 call prlst_$prlst_(line) ; 40 41 call ioa_(line) ; 42 43 return; 44 45 no_storage: entry ; 46 /* for GLPL usage */ 47 call com_err_(0, eb_data_$who_am_I, "list of available storage has been exhausted") ; 48 49 go to abort_it ; 50 51 52 phsmsg: entry ; 53 /* for OBJECT usage */ 54 55 call com_err_(0,eb_data_$who_am_I, "Phase error while generating the object segment") ; 56 57 go to abort_it ; 58 59 60 61 no_end_card: entry ; 62 63 call com_err_(0,eb_data_$who_am_I, "End statement missing.") ; 64 65 go to abort_it ; 66 67 abort1: entry ; 68 69 /* for general usage */ 70 71 abort_it: goto eb_data_$abort_assembly; 72 73 macro_error: entry (console_remark, listing_remark); 74 75 dcl (console_remark, listing_remark) char (*); 76 77 if tpass2 = 0 & ^p1_macroerr_debug_sw then return; 78 79 if console_remark ^= "" & tquietsw = 0 then do; 80 call iox_$put_chars (iox_$user_output, addr (console_remark), length (console_remark), (0)); 81 call iox_$put_chars (iox_$user_output, addr (nl), 1, (0)); 82 end; 83 84 if listing_remark ^= "" then call prlst_$prlst_ (listing_remark); 85 return; 86 87 debug_p1_macroerr: entry (sw); 88 89 dcl sw char (*); 90 91 if sw = "on" then p1_macroerr_debug_sw = "1"b; 92 else p1_macroerr_debug_sw = "0"b; 93 return; 94 95 general_abort: entry (abort_remark); 96 97 dcl abort_remark char (*); 98 99 call com_err_ (0, eb_data_$who_am_I, abort_remark); 100 call prlst_$prlst_ (abort_remark); 101 go to abort_it; 102 103 /* */ 104 1 1 /* Begin include file varcom.incl.pl1. */ 1 2 /* RHG added new variables 9/7/70. */ 1 3 /* RFM added new cells for new object segment format and first-reference trap, 27 March 1972. */ 1 4 /* RFM added include file stuff, then cross referencer stuff, 23 July 1972. */ 1 5 /* Last modified on 07/23/72 at 04:19:25 by R F Mabee. */ 1 6 1 7 declare 1 eb_data_$varcom external aligned, 1 8 2 (brk(2), nbrk(2), sym(8), dsym(8),old_locsym, pc, spc, tpc, 1 9 pclst, p2pcl, old_ndpcls, tvorg, tvcnt, tvlth, litorg, 1 10 litc, deforg, defc, defcnt, stkc, lnkc, lnkno, 1 11 litlst, old_ndltls, lnklst, old_ndlkls, explst, blklst, namlst, 1 12 trplst, xdflst, tvlst, begin_line, tpass1, tpass2, tpostp, 1 13 tinhib, tmmode, txonly, tmm2, txo2, tprot, tcall, 1 14 tmvdef, tpulnk, tfatal, calrho, lreter, passwd, binlin, 1 15 nboxes, box(0:210), myfil, mynam, myblk, mylnk, tpost1 ) fixed bin (26) , 1 16 2 source_printed bit(1) aligned, 1 17 2 (ndpcls, ndltls, ndlkls, ndtvls) ptr, 1 18 2 (basno, value, admod, b29, iaddr, symlnk ) fixed bin (26), 1 19 2 (itxtmod, ilnkmod, entrieslc, include_file_list, include_index, 1 20 first_ref_trap_proc_linkno, first_ref_trap_arg_linkno, 1 21 text_section_length) fixed binary (26), 1 22 2 (include_info_stack, include_name_list_base, include_name_list_top) pointer, 1 23 2 symbol_tree_rel fixed binary (26); 1 24 1 25 /* End of the include file varcom.incl.pl1. */ 105 2 1 /* Begin include file alm_options.incl.pl1. 2 2* This file defines the external cells used to pass options to the various modules of the assembler. 2 3* Created on 03/17/72 at 01:39:44 by R F Mabee. 2 4* Last modified on 07/23/72 at 22:02:34 by R F Mabee. */ 2 5 2 6 declare 1 eb_data_$alm_options external static aligned, 2 7 2 tnewcall fixed binary, /* Use new call/save/return operators. */ 2 8 2 tnewmachine fixed binary, /* Use followon hardware instruction set. */ 2 9 2 tnewobject fixed binary, /* Use new object segment format. */ 2 10 2 tcheckcompatibility fixed binary, /* Check for instructions changed in followon. */ 2 11 2 tquietsw fixed binary, /* Suppress online printout of error messages. */ 2 12 2 tfirstreftrap fixed binary, /* A first reference trap procedure was given. */ 2 13 2 tnoxref fixed binary; /* Zero if cross reference if to be produced. */ 2 14 2 15 /* End of include file alm_options.incl.pl1 */ 106 107 108 end prnter_ ; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/17/88 0938.4 prnter_.pl1 >spec>install>1170>prnter_.pl1 105 1 10/21/74 1242.9 varcom.incl.pl1 >ldd>include>varcom.incl.pl1 106 2 05/06/74 1740.2 alm_options.incl.pl1 >ldd>include>alm_options.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. abort_remark parameter char packed unaligned dcl 97 set ref 95 99* 100* com_err_ 000024 constant entry external dcl 35 ref 47 55 63 99 console_remark parameter char packed unaligned dcl 75 set ref 73 79 80 80 80 80 eb_data_$abort_assembly 000020 external static label variable dcl 33 ref 71 eb_data_$alm_options 000032 external static structure level 1 dcl 2-6 eb_data_$varcom 000030 external static structure level 1 dcl 1-7 eb_data_$who_am_I 000022 external static char(12) packed unaligned dcl 34 set ref 47* 55* 63* 99* ioa_ 000012 constant entry external dcl 25 ref 41 iox_$put_chars 000014 constant entry external dcl 26 ref 80 81 iox_$user_output 000016 external static pointer dcl 27 set ref 80* 81* line parameter char packed unaligned dcl 23 set ref 13 39* 41* listing_remark parameter char packed unaligned dcl 75 set ref 73 84 84* nl 000000 constant char(1) initial packed unaligned dcl 30 set ref 81 81 p1_macroerr_debug_sw 000010 internal static bit(1) initial packed unaligned dcl 29 set ref 77 91* 92* prlst_$prlst_ 000026 constant entry external dcl 37 ref 39 84 100 sw parameter char packed unaligned dcl 89 ref 87 91 tpass2 62 000030 external static fixed bin(26,0) level 2 dcl 1-7 ref 77 tquietsw 4 000032 external static fixed bin(17,0) level 2 dcl 2-6 ref 79 NAMES DECLARED BY EXPLICIT CONTEXT. abort1 000234 constant entry external dcl 67 abort_it 000241 constant label dcl 71 ref 49 57 65 101 debug_p1_macroerr 000377 constant entry external dcl 87 general_abort 000432 constant entry external dcl 95 macro_error 000250 constant entry external dcl 73 no_end_card 000200 constant entry external dcl 61 no_storage 000110 constant entry external dcl 45 phsmsg 000144 constant entry external dcl 52 prnter_ 000047 constant entry external dcl 13 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 80 80 81 81 length builtin function ref 80 80 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 676 732 506 706 Length 1156 506 34 207 167 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME prnter_ 116 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 p1_macroerr_debug_sw prnter_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac tra_ext_2 ext_entry ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ ioa_ iox_$put_chars prlst_$prlst_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. eb_data_$abort_assembly eb_data_$alm_options eb_data_$varcom eb_data_$who_am_I iox_$user_output LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 13 000044 39 000062 41 000073 43 000106 45 000107 47 000115 49 000142 52 000143 55 000151 57 000176 61 000177 63 000205 65 000232 67 000233 71 000241 73 000244 77 000270 79 000276 80 000310 81 000331 84 000353 85 000374 87 000375 91 000412 92 000425 93 000427 95 000430 99 000445 100 000471 101 000504 ----------------------------------------------------------- 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