COMPILATION LISTING OF SEGMENT cobol_cmnio Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 05/24/89 1005.2 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 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 14 15 /****^ HISTORY COMMENTS: 16* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 17* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 18* MCR8060 cobol_cmnio.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* Created on 02/09/77 by ORN */ 23 24 /* format: style3 */ 25 cobol_cmnio: 26 proc; 27 28 dcl rp ptr parameter; 29 dcl rk char (5) aligned parameter; 30 dcl rl fixed bin parameter; 31 dcl eof fixed bin parameter; 32 dcl eof1 fixed bin parameter; 33 34 dcl rkb fixed bin based (addr (rk)); 35 dcl str char (rl) based; 36 dcl vp ptr; 37 dcl vstr char (rl) based (vp); 38 39 dcl 1 vhdr based (cobol_ext_$cobol_cmfp) aligned, 40 2 fill char (8), 41 2 next_get fixed bin, 42 2 next_put fixed bin, 43 2 code fixed bin; 44 45 46 /*************************************/ 47 dget: 48 entry (rp, rl, rk); 49 rp = pointer (cobol_ext_$cobol_cmfp, rkb); 50 vhdr.next_get = rkb + 1 + divide (rl + 11, 4, 35, 0); 51 return; 52 53 /**************************************/ 54 sget: 55 entry (rp, rl, eof); 56 vp = pointer (cobol_ext_$cobol_cmfp, vhdr.next_get); 57 if length (vstr) <= 0 58 then eof = 1; 59 else do; 60 rp = addrel (vp, 1); 61 rl = length (vstr); 62 vhdr.next_get = vhdr.next_get + divide (rl + 11, 4, 35, 0); 63 end; 64 return; 65 66 /**************************************/ 67 sget_key: 68 entry (rp, rl, rk, eof1); 69 vp = pointer (cobol_ext_$cobol_cmfp, vhdr.next_get); 70 if length (vstr) <= 0 71 then eof = 1; 72 else do; 73 rp = addrel (vp, 1); 74 rl = length (vstr); 75 rk = ""; 76 rkb = vhdr.next_get; 77 vhdr.next_get = vhdr.next_get + divide (rl + 11, 4, 35, 0); 78 end; 79 return; 80 81 /**************************************/ 82 dput: 83 entry (rp, rl, rk); 84 pointer (cobol_ext_$cobol_cmfp, rkb) -> str = rp -> str; 85 return; 86 87 /**************************************/ 88 sput: 89 entry (rp, rl); 90 pointer (cobol_ext_$cobol_cmfp, vhdr.next_put) -> str = rp -> str; 91 vhdr.next_put = vhdr.next_put + divide (rl + 11, 4, 35, 0); 92 return; 93 94 /**************************************/ 95 sput_key: 96 entry (rp, rl, rk); 97 pointer (cobol_ext_$cobol_cmfp, vhdr.next_put) -> str = rp -> str; 98 rk = ""; 99 rkb = vhdr.next_put; 100 vhdr.next_put = vhdr.next_put + divide (rl + 11, 4, 35, 0); 101 return; 102 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_ext_.incl.pl1 */ 1 3 /* Last modified on 06/17/76 by ORN */ 1 4 /* Last modified on 12/28/76 by FCH */ 1 5 /* Last modified on 12/01/80 by FCH */ 1 6 1 7 /* <<< SHARED EXTERNALS INCLUDE FILE >>> */ 1 8 1 9 1 10 dcl cobol_ext_$cobol_afp ptr ext; 1 11 dcl cobol_afp ptr defined ( cobol_ext_$cobol_afp); 1 12 dcl cobol_ext_$cobol_analin_fileno ptr ext; 1 13 dcl cobol_analin_fileno ptr defined ( cobol_ext_$cobol_analin_fileno); 1 14 dcl cobol_ext_$report_first_token ptr ext; 1 15 dcl report_first_token ptr defined( cobol_ext_$report_first_token); 1 16 dcl cobol_ext_$report_last_token ptr ext; 1 17 dcl report_last_token ptr defined ( cobol_ext_$report_last_token); 1 18 dcl cobol_ext_$cobol_eltp ptr ext; 1 19 dcl cobol_eltp ptr defined ( cobol_ext_$cobol_eltp); 1 20 dcl cobol_ext_$cobol_cmfp ptr ext; 1 21 dcl cobol_cmfp ptr defined ( cobol_ext_$cobol_cmfp); 1 22 dcl cobol_ext_$cobol_com_fileno ptr ext; 1 23 dcl cobol_com_fileno ptr defined ( cobol_ext_$cobol_com_fileno); 1 24 dcl cobol_ext_$cobol_com_ptr ptr ext; 1 25 dcl cobol_com_ptr ptr defined ( cobol_ext_$cobol_com_ptr); 1 26 dcl cobol_ext_$cobol_dfp ptr ext; 1 27 dcl cobol_dfp ptr defined ( cobol_ext_$cobol_dfp); 1 28 dcl cobol_ext_$cobol_hfp ptr ext; 1 29 dcl cobol_hfp ptr defined ( cobol_ext_$cobol_hfp); 1 30 dcl cobol_ext_$cobol_m1fp ptr ext; 1 31 dcl cobol_m1fp ptr defined ( cobol_ext_$cobol_m1fp); 1 32 dcl cobol_ext_$cobol_m2fp ptr ext; 1 33 dcl cobol_m2fp ptr defined ( cobol_ext_$cobol_m2fp); 1 34 dcl cobol_ext_$cobol_min1_fileno ptr ext; 1 35 dcl cobol_min1_fileno ptr defined ( cobol_ext_$cobol_min1_fileno); 1 36 dcl cobol_ext_$cobol_min2_fileno_ptr ptr ext; 1 37 dcl cobol_min2_fileno_ptr ptr defined ( cobol_ext_$cobol_min2_fileno_ptr); 1 38 dcl cobol_ext_$cobol_name_fileno ptr ext; 1 39 dcl cobol_name_fileno ptr defined ( cobol_ext_$cobol_name_fileno); 1 40 dcl cobol_ext_$cobol_name_fileno_ptr ptr ext; 1 41 dcl cobol_name_fileno_ptr ptr defined ( cobol_ext_$cobol_name_fileno_ptr); 1 42 dcl cobol_ext_$cobol_ntfp ptr ext; 1 43 dcl cobol_ntfp ptr defined ( cobol_ext_$cobol_ntfp); 1 44 dcl cobol_ext_$cobol_pdofp ptr ext; 1 45 dcl cobol_pdofp ptr defined ( cobol_ext_$cobol_pdofp); 1 46 dcl cobol_ext_$cobol_pfp ptr ext; 1 47 dcl cobol_pfp ptr defined ( cobol_ext_$cobol_pfp); 1 48 dcl cobol_ext_$cobol_rm2fp ptr ext; 1 49 dcl cobol_rm2fp ptr defined ( cobol_ext_$cobol_rm2fp); 1 50 dcl cobol_ext_$cobol_rmin2fp ptr ext; 1 51 dcl cobol_rmin2fp ptr defined ( cobol_ext_$cobol_rmin2fp); 1 52 dcl cobol_ext_$cobol_curr_in ptr ext; 1 53 dcl cobol_curr_in ptr defined ( cobol_ext_$cobol_curr_in); 1 54 dcl cobol_ext_$cobol_curr_out ptr ext; 1 55 dcl cobol_curr_out ptr defined ( cobol_ext_$cobol_curr_out); 1 56 dcl cobol_ext_$cobol_sfp ptr ext; 1 57 dcl cobol_sfp ptr defined ( cobol_ext_$cobol_sfp); 1 58 dcl cobol_ext_$cobol_w1p ptr ext; 1 59 dcl cobol_w1p ptr defined ( cobol_ext_$cobol_w1p); 1 60 dcl cobol_ext_$cobol_w2p ptr ext; 1 61 dcl cobol_w2p ptr defined ( cobol_ext_$cobol_w2p); 1 62 dcl cobol_ext_$cobol_w3p ptr ext; 1 63 dcl cobol_w3p ptr defined ( cobol_ext_$cobol_w3p); 1 64 dcl cobol_ext_$cobol_w5p ptr ext; 1 65 dcl cobol_w5p ptr defined ( cobol_ext_$cobol_w5p); 1 66 dcl cobol_ext_$cobol_w6p ptr ext; 1 67 dcl cobol_w6p ptr defined ( cobol_ext_$cobol_w6p); 1 68 dcl cobol_ext_$cobol_w7p ptr ext; 1 69 dcl cobol_w7p ptr defined ( cobol_ext_$cobol_w7p); 1 70 dcl cobol_ext_$cobol_x3fp ptr ext; 1 71 dcl cobol_x3fp ptr defined ( cobol_ext_$cobol_x3fp); 1 72 dcl cobol_ext_$cobol_rwdd ptr ext; 1 73 dcl cobol_rwdd ptr defined(cobol_ext_$cobol_rwdd); 1 74 dcl cobol_ext_$cobol_rwpd ptr ext; 1 75 dcl cobol_rwpd ptr defined(cobol_ext_$cobol_rwpd); 1 76 1 77 1 78 dcl cobol_ext_$cobol_fileno1 fixed bin(24)ext; 1 79 dcl cobol_fileno1 fixed bin(24)defined ( cobol_ext_$cobol_fileno1); 1 80 dcl cobol_ext_$cobol_options_len fixed bin(24)ext; 1 81 dcl cobol_options_len fixed bin(24)defined ( cobol_ext_$cobol_options_len); 1 82 dcl cobol_ext_$cobol_pdout_fileno fixed bin(24)ext; 1 83 dcl cobol_pdout_fileno fixed bin(24)defined ( cobol_ext_$cobol_pdout_fileno); 1 84 dcl cobol_ext_$cobol_print_fileno fixed bin(24)ext; 1 85 dcl cobol_print_fileno fixed bin(24)defined ( cobol_ext_$cobol_print_fileno); 1 86 dcl cobol_ext_$cobol_rmin2_fileno fixed bin(24)ext; 1 87 dcl cobol_rmin2_fileno fixed bin(24)defined ( cobol_ext_$cobol_rmin2_fileno); 1 88 dcl cobol_ext_$cobol_x1_fileno fixed bin(24)ext; 1 89 dcl cobol_x1_fileno fixed bin(24)defined ( cobol_ext_$cobol_x1_fileno); 1 90 dcl cobol_ext_$cobol_x2_fileno fixed bin(24)ext; 1 91 dcl cobol_x2_fileno fixed bin(24)defined ( cobol_ext_$cobol_x2_fileno); 1 92 dcl cobol_ext_$cobol_x3_fileno fixed bin(24)ext; 1 93 dcl cobol_x3_fileno fixed bin(24)defined ( cobol_ext_$cobol_x3_fileno); 1 94 1 95 dcl cobol_ext_$cobol_lpr char (5) ext; 1 96 dcl cobol_lpr char (5) defined ( cobol_ext_$cobol_lpr); /* -2- */ 1 97 dcl cobol_ext_$cobol_options char (120) ext; 1 98 dcl cobol_options char (120) defined ( cobol_ext_$cobol_options); /* -30- */ 1 99 1 100 dcl cobol_ext_$cobol_xlast8 bit (1) ext; 1 101 dcl cobol_xlast8 bit (1) defined ( cobol_ext_$cobol_xlast8); /* -1- */ 1 102 dcl cobol_ext_$report_exists bit (1) ext; 1 103 dcl report_exists bit (1) defined ( cobol_ext_$report_exists); 1 104 1 105 1 106 /* <<< END OF SHARED EXTERNALS INCLUDE FILE >>> */ 1 107 /* END INCLUDE FILE ... cobol_ext_.incl.pl1 */ 1 108 103 104 105 end cobol_cmnio; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0833.0 cobol_cmnio.pl1 >spec>install>MR12.3-1048>cobol_cmnio.pl1 103 1 03/27/82 0431.3 cobol_ext_.incl.pl1 >ldd>include>cobol_ext_.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. cobol_ext_$cobol_cmfp 000010 external static pointer dcl 1-20 ref 49 50 56 56 62 62 69 69 76 77 77 84 90 90 91 91 97 97 99 100 100 eof parameter fixed bin(17,0) dcl 31 set ref 54 57* 70* eof1 parameter fixed bin(17,0) dcl 32 ref 67 next_get 2 based fixed bin(17,0) level 2 dcl 39 set ref 50* 56 62* 62 69 76 77* 77 next_put 3 based fixed bin(17,0) level 2 dcl 39 set ref 90 91* 91 97 99 100* 100 rk parameter char(5) dcl 29 set ref 47 49 50 67 75* 76 82 84 95 98* 99 rkb based fixed bin(17,0) dcl 34 set ref 49 50 76* 84 99* rl parameter fixed bin(17,0) dcl 30 set ref 47 50 54 57 61* 61 62 67 70 74* 74 77 82 84 84 88 90 90 91 95 97 97 100 rp parameter pointer dcl 28 set ref 47 49* 54 60* 67 73* 82 84 88 90 95 97 str based char packed unaligned dcl 35 set ref 84* 84 90* 90 97* 97 vhdr based structure level 1 dcl 39 vp 000100 automatic pointer dcl 36 set ref 56* 57 60 61 69* 70 73 74 vstr based char packed unaligned dcl 37 ref 57 61 70 74 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. cobol_afp defined pointer dcl 1-11 cobol_analin_fileno defined pointer dcl 1-13 cobol_cmfp defined pointer dcl 1-21 cobol_com_fileno defined pointer dcl 1-23 cobol_com_ptr defined pointer dcl 1-25 cobol_curr_in defined pointer dcl 1-53 cobol_curr_out defined pointer dcl 1-55 cobol_dfp defined pointer dcl 1-27 cobol_eltp defined pointer dcl 1-19 cobol_ext_$cobol_afp external static pointer dcl 1-10 cobol_ext_$cobol_analin_fileno external static pointer dcl 1-12 cobol_ext_$cobol_com_fileno external static pointer dcl 1-22 cobol_ext_$cobol_com_ptr external static pointer dcl 1-24 cobol_ext_$cobol_curr_in external static pointer dcl 1-52 cobol_ext_$cobol_curr_out external static pointer dcl 1-54 cobol_ext_$cobol_dfp external static pointer dcl 1-26 cobol_ext_$cobol_eltp external static pointer dcl 1-18 cobol_ext_$cobol_fileno1 external static fixed bin(24,0) dcl 1-78 cobol_ext_$cobol_hfp external static pointer dcl 1-28 cobol_ext_$cobol_lpr external static char(5) packed unaligned dcl 1-95 cobol_ext_$cobol_m1fp external static pointer dcl 1-30 cobol_ext_$cobol_m2fp external static pointer dcl 1-32 cobol_ext_$cobol_min1_fileno external static pointer dcl 1-34 cobol_ext_$cobol_min2_fileno_ptr external static pointer dcl 1-36 cobol_ext_$cobol_name_fileno external static pointer dcl 1-38 cobol_ext_$cobol_name_fileno_ptr external static pointer dcl 1-40 cobol_ext_$cobol_ntfp external static pointer dcl 1-42 cobol_ext_$cobol_options external static char(120) packed unaligned dcl 1-97 cobol_ext_$cobol_options_len external static fixed bin(24,0) dcl 1-80 cobol_ext_$cobol_pdofp external static pointer dcl 1-44 cobol_ext_$cobol_pdout_fileno external static fixed bin(24,0) dcl 1-82 cobol_ext_$cobol_pfp external static pointer dcl 1-46 cobol_ext_$cobol_print_fileno external static fixed bin(24,0) dcl 1-84 cobol_ext_$cobol_rm2fp external static pointer dcl 1-48 cobol_ext_$cobol_rmin2_fileno external static fixed bin(24,0) dcl 1-86 cobol_ext_$cobol_rmin2fp external static pointer dcl 1-50 cobol_ext_$cobol_rwdd external static pointer dcl 1-72 cobol_ext_$cobol_rwpd external static pointer dcl 1-74 cobol_ext_$cobol_sfp external static pointer dcl 1-56 cobol_ext_$cobol_w1p external static pointer dcl 1-58 cobol_ext_$cobol_w2p external static pointer dcl 1-60 cobol_ext_$cobol_w3p external static pointer dcl 1-62 cobol_ext_$cobol_w5p external static pointer dcl 1-64 cobol_ext_$cobol_w6p external static pointer dcl 1-66 cobol_ext_$cobol_w7p external static pointer dcl 1-68 cobol_ext_$cobol_x1_fileno external static fixed bin(24,0) dcl 1-88 cobol_ext_$cobol_x2_fileno external static fixed bin(24,0) dcl 1-90 cobol_ext_$cobol_x3_fileno external static fixed bin(24,0) dcl 1-92 cobol_ext_$cobol_x3fp external static pointer dcl 1-70 cobol_ext_$cobol_xlast8 external static bit(1) packed unaligned dcl 1-100 cobol_ext_$report_exists external static bit(1) packed unaligned dcl 1-102 cobol_ext_$report_first_token external static pointer dcl 1-14 cobol_ext_$report_last_token external static pointer dcl 1-16 cobol_fileno1 defined fixed bin(24,0) dcl 1-79 cobol_hfp defined pointer dcl 1-29 cobol_lpr defined char(5) packed unaligned dcl 1-96 cobol_m1fp defined pointer dcl 1-31 cobol_m2fp defined pointer dcl 1-33 cobol_min1_fileno defined pointer dcl 1-35 cobol_min2_fileno_ptr defined pointer dcl 1-37 cobol_name_fileno defined pointer dcl 1-39 cobol_name_fileno_ptr defined pointer dcl 1-41 cobol_ntfp defined pointer dcl 1-43 cobol_options defined char(120) packed unaligned dcl 1-98 cobol_options_len defined fixed bin(24,0) dcl 1-81 cobol_pdofp defined pointer dcl 1-45 cobol_pdout_fileno defined fixed bin(24,0) dcl 1-83 cobol_pfp defined pointer dcl 1-47 cobol_print_fileno defined fixed bin(24,0) dcl 1-85 cobol_rm2fp defined pointer dcl 1-49 cobol_rmin2_fileno defined fixed bin(24,0) dcl 1-87 cobol_rmin2fp defined pointer dcl 1-51 cobol_rwdd defined pointer dcl 1-73 cobol_rwpd defined pointer dcl 1-75 cobol_sfp defined pointer dcl 1-57 cobol_w1p defined pointer dcl 1-59 cobol_w2p defined pointer dcl 1-61 cobol_w3p defined pointer dcl 1-63 cobol_w5p defined pointer dcl 1-65 cobol_w6p defined pointer dcl 1-67 cobol_w7p defined pointer dcl 1-69 cobol_x1_fileno defined fixed bin(24,0) dcl 1-89 cobol_x2_fileno defined fixed bin(24,0) dcl 1-91 cobol_x3_fileno defined fixed bin(24,0) dcl 1-93 cobol_x3fp defined pointer dcl 1-71 cobol_xlast8 defined bit(1) packed unaligned dcl 1-101 report_exists defined bit(1) packed unaligned dcl 1-103 report_first_token defined pointer dcl 1-15 report_last_token defined pointer dcl 1-17 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_cmnio 000007 constant entry external dcl 25 dget 000021 constant entry external dcl 47 dput 000171 constant entry external dcl 82 sget 000055 constant entry external dcl 54 sget_key 000121 constant entry external dcl 67 sput 000217 constant entry external dcl 88 sput_key 000253 constant entry external dcl 95 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 49 50 76 84 99 addrel builtin function ref 60 73 divide builtin function ref 50 62 77 91 100 length builtin function ref 57 61 70 74 pointer builtin function ref 49 56 69 84 90 97 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 410 422 313 420 Length 620 313 12 161 75 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_cmnio 67 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_cmnio 000100 vp cobol_cmnio THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. return_mac ext_entry NO EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_ext_$cobol_cmfp LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 25 000006 47 000014 49 000026 50 000034 51 000050 54 000051 56 000062 57 000071 60 000077 61 000102 62 000103 64 000113 67 000114 69 000126 70 000135 73 000143 74 000146 75 000147 76 000153 77 000157 79 000166 82 000167 84 000176 85 000212 88 000213 90 000224 91 000241 92 000250 95 000251 97 000260 98 000275 99 000301 100 000303 101 000312 ----------------------------------------------------------- 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