COMPILATION LISTING OF SEGMENT print_ready_message_ Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/04/82 1836.1 mst Thu 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 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend */ 12 print_ready_message_: 13 procedure (flags) options (separate_static); 14 15 /* The print_ready_message_ procedure is the standard system "ready procedure". 16* It prints the ready message and then returns */ 17 18 /* Initially coded as an internal procedure of the listener by R. C. Daley in December 1969 */ 19 /* Converted to an external procedure as part of the introduction of cu_$ready_proc by 20* V. L. Voydock in June 1971 */ 21 /* Modified for 6180 to display virtual cpu, memory units, and demand paging by J. Keller, 4/11/73 */ 22 /* Modified to print command level and frame numbers by M. Weaver 9/73 */ 23 /* Steve Herbst 06/25/79 changed msg to: r hh:mm .vcpu dpages {level n} */ 24 /* Modified April 1980 by C. Hornig for per-process time zones */ 25 26 dcl rdy_string varying char (48) aligned; 27 dcl out_string char (48) aligned; 28 29 dcl 1 time_picture unaligned, 30 2 r char (2), 31 2 hours picture "99", 32 2 colon char (1), 33 2 minutes picture "99", 34 2 sp char (1); 35 dcl vcpu picture "(5)-9v.999"; 36 dcl dpages picture "(8)z9"; 37 dcl level picture "(2)z9"; 38 dcl NLNL char (2) int static options (constant) init (" 39 40 "); 41 42 dcl 1 flags aligned, 43 2 ready_sw bit (1) unaligned, 44 2 pad bit (35) unaligned; 45 46 dcl (hour, minute) fixed bin; 47 dcl cpu fixed bin (71); 48 dcl (ec, npages) fixed bin (35); 49 dcl (frame_no, level_no) fixed bin; 50 51 dcl iox_$user_output ptr ext; 52 53 dcl (addr, addrel, clock, length, ltrim, string) builtin; 54 55 dcl decode_clock_value_$time 56 entry (fixed bin (71), fixed bin, fixed bin, fixed bin, fixed bin (71), char (3), fixed bin (35)); 57 dcl hcs_$get_process_usage entry (ptr, fixed bin (35)); 58 dcl iox_$put_chars entry (ptr, ptr, fixed bin, fixed bin (35)); 59 dcl listen_$get_level entry (fixed bin, fixed bin); 60 61 dcl 1 data internal static, 62 2 wanted fixed bin initial (5), 63 2 can_get fixed bin, 64 2 cpu_usage fixed bin (71) init (0), 65 2 memory fixed bin (71) init (0), 66 2 demand_page fixed bin (35) init (0), 67 2 pre_page fixed bin (35) init (0), 68 2 virtual_cpu fixed bin (71) init (0); 69 70 /* */ 71 /* If ready messages are turned off, just return */ 72 73 if ^flags.ready_sw then return; 74 75 call decode_clock_value_$time (clock (), hour, minute, (0), (0), (""), ec); 76 string (time_picture) = "r 00:00 "; 77 time_picture.hours = hour; 78 time_picture.minutes = minute; 79 80 cpu = data.virtual_cpu; /* pick up virtual time, mem units, and paging */ 81 npages = data.demand_page; 82 call hcs_$get_process_usage (addr (data), ec); 83 vcpu = (data.virtual_cpu - cpu) * 1e-6; /* virtual cpu in seconds */ 84 dpages = data.demand_page - npages; /* pages demand paged since last ready */ 85 call listen_$get_level (level_no, frame_no); /* find command level */ 86 87 rdy_string = string (time_picture); 88 rdy_string = rdy_string || ltrim (vcpu); 89 rdy_string = rdy_string || " "; 90 rdy_string = rdy_string || ltrim (dpages); 91 if level_no > 1 then do; 92 rdy_string = rdy_string || " level "; 93 level = level_no; 94 rdy_string = rdy_string || ltrim (level); 95 end; 96 rdy_string = rdy_string || NLNL; 97 substr (out_string, 1, length (rdy_string)) = rdy_string; 98 99 call iox_$put_chars (iox_$user_output, addr (out_string), length (rdy_string), ec); 100 101 return; 102 103 end print_ready_message_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/04/82 1610.1 print_ready_message_.pl1 >dumps>old>recomp>print_ready_message_.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. NLNL 000402 constant char(2) initial unaligned dcl 38 ref 96 addr builtin function dcl 53 ref 82 82 99 99 clock builtin function dcl 53 ref 75 75 cpu 000146 automatic fixed bin(71,0) dcl 47 set ref 80* 83 data 000000 internal static structure level 1 unaligned dcl 61 set ref 82 82 decode_clock_value_$time 000012 constant entry external dcl 55 ref 75 demand_page 6 000000 internal static fixed bin(35,0) initial level 2 dcl 61 set ref 81 84 dpages 000137 automatic picture(9) unaligned dcl 36 set ref 84* 90 ec 000150 automatic fixed bin(35,0) dcl 48 set ref 75* 82* 99* flags parameter structure level 1 dcl 42 ref 12 frame_no 000152 automatic fixed bin(17,0) dcl 49 set ref 85* hcs_$get_process_usage 000014 constant entry external dcl 57 ref 82 hour 000143 automatic fixed bin(17,0) dcl 46 set ref 75* 77 hours 0(18) 000132 automatic picture(2) level 2 packed unaligned dcl 29 set ref 77* iox_$put_chars 000016 constant entry external dcl 58 ref 99 iox_$user_output 000010 external static pointer dcl 51 set ref 99* length builtin function dcl 53 ref 97 99 99 level 000142 automatic picture(3) unaligned dcl 37 set ref 93* 94 level_no 000153 automatic fixed bin(17,0) dcl 49 set ref 85* 91 93 listen_$get_level 000020 constant entry external dcl 59 ref 85 ltrim builtin function dcl 53 ref 88 90 94 minute 000144 automatic fixed bin(17,0) dcl 46 set ref 75* 78 minutes 1(09) 000132 automatic picture(2) level 2 packed unaligned dcl 29 set ref 78* npages 000151 automatic fixed bin(35,0) dcl 48 set ref 81* 84 out_string 000115 automatic char(48) dcl 27 set ref 97* 99 99 rdy_string 000100 automatic varying char(48) dcl 26 set ref 87* 88* 88 89* 89 90* 90 92* 92 94* 94 96* 96 97 97 99 99 ready_sw parameter bit(1) level 2 packed unaligned dcl 42 ref 73 string builtin function dcl 53 set ref 76* 87 time_picture 000132 automatic structure level 1 packed unaligned dcl 29 set ref 76* 87 vcpu 000134 automatic picture(10) unaligned dcl 35 set ref 83* 88 virtual_cpu 10 000000 internal static fixed bin(71,0) initial level 2 dcl 61 set ref 80 83 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 53 NAME DECLARED BY EXPLICIT CONTEXT. print_ready_message_ 000016 constant entry external dcl 12 NAME DECLARED BY CONTEXT OR IMPLICATION. substr builtin function ref 97 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 506 542 404 530 Length 720 404 22 141 101 12 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME print_ready_message_ 158 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000000 data print_ready_message_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME print_ready_message_ 000100 rdy_string print_ready_message_ 000115 out_string print_ready_message_ 000132 time_picture print_ready_message_ 000134 vcpu print_ready_message_ 000137 dpages print_ready_message_ 000142 level print_ready_message_ 000143 hour print_ready_message_ 000144 minute print_ready_message_ 000146 cpu print_ready_message_ 000150 ec print_ready_message_ 000151 npages print_ready_message_ 000152 frame_no print_ready_message_ 000153 level_no print_ready_message_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return real_to_real_tr ss_ext_entry clock THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. decode_clock_value_$time hcs_$get_process_usage iox_$put_chars listen_$get_level THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. iox_$user_output LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 12 000013 73 000023 75 000027 76 000061 77 000063 78 000072 80 000101 81 000104 82 000106 83 000121 84 000144 85 000162 87 000173 88 000200 89 000225 90 000234 91 000261 92 000264 93 000276 94 000306 96 000333 97 000345 99 000352 101 000373 ----------------------------------------------------------- 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