COMPILATION LISTING OF SEGMENT cobol_RELEASE_ 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 1028.3 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_RELEASE_.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /* format: style3 */ 23 cobol_RELEASE_: 24 proc; /* Version 2. */ 25 /* Input records while "l">0, then sort. */ 26 27 cobol_SM_$disaster1 = cobol_SM_$disaster1 + 1; 28 if cobol_SM_$disaster1 > 1 29 then do; /* cobol_RELEASE_ called twice after cobol_SM_$disaster1. */ 30 cobol_SM_$ec = 1; 31 signal condition (SORTM_STOP); 32 end; 33 34 if cobol_SM_$RELbl > 0 35 then do; /* Input call. */ 36 if cobol_SM_$RELbl > cobol_SM_$max1 37 then do; 38 cobol_SM_$ec = 2; 39 signal condition (SORTM_STOP); 40 end; 41 if cobol_SM_$SSi = 0 42 then do; /* This is the initial call to cobol_RELEASE_. */ 43 if cobol_FILE_$OUT ("SORTM_", (cobol_SM_$sort_dir), "SRTM.SI", "rwa", cobol_SM_$SIp) 44 | cobol_FILE_$OUT ("SORTM_", (cobol_SM_$sort_dir), "SRTM.SR", "rwa", cobol_SM_$SRp) 45 | cobol_FILE_$OUT ("SORTM_", (cobol_SM_$sort_dir), "SRTM.SS", "rwa", cobol_SM_$SSp) 46 | cobol_FILE_$OUT ("SORTM_", (cobol_SM_$sort_dir), "SRTM.MI", "rwa", cobol_SM_$MIp) 47 then do; 48 cobol_SM_$ec = 3; 49 signal condition (SORTM_STOP); 50 end; 51 cobol_SM_$MIi = 0; 52 cobol_SM_$SSi = 1; 53 cobol_SM_$SIi = 0; 54 cobol_SM_$rp1 = cobol_SM_$SSp; 55 cobol_SM_$rp2 = cobol_SM_$SSp; 56 cobol_SM_$sn1 = 1; /* Durning sort the merge string number is 1. */ 57 cobol_SM_$sn2 = 1; 58 end; 59 if ((cobol_SM_$RELbl + cobol_SM_$SSi) > cobol_SM_$max2) | (cobol_SM_$SIi > cobol_SM_$max3) 60 then do; /* Sort the accumulated records. */ 61 call cobol_MSORT_; /* cobol_SM_$LTSIi=cobol_SM_$TSIi; */ 62 /* One less than the first record to be sorted _n_e_x_t. */ 63 64 /* Initialize the sort tables for next input. */ 65 cobol_SM_$SIi = 0; 66 cobol_SM_$SSi = 1; 67 if cobol_FILE_$LEN ("cobol_RELEASE_", (cobol_SM_$sort_dir), "SRTM.SI", 0) 68 then ; /* Assure file truncated. */ 69 end; /* Move the input record into the sort storage area. */ 70 substr (cobol_SM_$SSp -> S, cobol_SM_$SSi, cobol_SM_$RELbl) = 71 substr (input_rec, cobol_SM_$RELfb, cobol_SM_$RELbl); 72 cobol_SM_$SIi = cobol_SM_$SIi + 1; /* Count of the records for the next sort. */ 73 /* cobol_SM_$TSIi=cobol_SM_$TSIi+1; */ 74 /* Total record count. */ 75 cobol_SM_$SRp -> R.pt (cobol_SM_$SIi) = cobol_SM_$SSi; 76 /* Location in sort storage segment of the record. */ 77 cobol_SM_$SRp -> R.ln (cobol_SM_$SIi) = cobol_SM_$RELbl; 78 /* The length of the record. */ 79 cobol_SM_$SSi = cobol_SM_$SSi + cobol_SM_$RELbl; 80 /* Update the next location 81* available in the sort storage segment. */ 82 cobol_SM_$SIp -> I (cobol_SM_$SIi) = cobol_SM_$SIi; 83 /* Record index for sort. */ 84 cobol_SM_$disaster1 = 0; 85 return; 86 end; 87 88 /* All records have been input. 89* Sort those in storage. Ready for merge output. */ 90 call cobol_MSORT_; 91 return; /* Global declarations. */ 92 dcl input_rec bit (2359296) based (cobol_SM_$RELp), 93 cobol_FILE_$LEN entry (char (*), char (*), char (*), fixed bin (35)) ext returns (bit (1)), 94 cobol_FILE_$OUT entry (char (*), char (*), char (*), char (*), ptr) ext returns (bit (1)), 95 SORTM_STOP condition ext, 96 cobol_MSORT_ entry ext, 97 ( 98 cobol_SM_$SIi, 99 cobol_SM_$SSi, 100 cobol_SM_$MIi, 101 cobol_SM_$disaster1, 102 cobol_SM_$TSIi, 103 cobol_SM_$LTSIi, 104 cobol_SM_$sn1, 105 cobol_SM_$sn2, 106 cobol_SM_$RELbl, 107 cobol_SM_$RELfb, 108 cobol_SM_$ec, 109 cobol_SM_$max1, 110 cobol_SM_$max2, 111 cobol_SM_$max3, 112 cobol_SM_$max4 113 ) fixed bin (35) static external, 114 ( 115 cobol_SM_$SIp, 116 cobol_SM_$SRp, 117 cobol_SM_$SSp, 118 cobol_SM_$rp1, 119 cobol_SM_$rp2, 120 cobol_SM_$RELp, 121 cobol_SM_$MIp, 122 cobol_SM_$MRp (1000), 123 cobol_SM_$MSp (1000) 124 ) ptr static external, 125 cobol_SM_$sort_dir char (168) var static external, 126 /* Based structures for sort and merge storage segments. */ 127 I (65536) fixed bin (35) aligned based, 128 S bit (2359296) aligned based, 129 1 R (32768) aligned based, 130 2 pt fixed bin (35), /* Location in S or a record. */ 131 2 ln fixed bin (35), /* Length of a record. */ 132 (substr) builtin; 133 end cobol_RELEASE_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0837.3 cobol_RELEASE_.pl1 >spec>install>MR12.3-1048>cobol_RELEASE_.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. I based fixed bin(35,0) array dcl 92 set ref 82* R based structure array level 1 dcl 92 S based bit(2359296) dcl 92 set ref 70* SORTM_STOP 000100 stack reference condition dcl 92 ref 31 39 49 cobol_FILE_$LEN 000010 constant entry external dcl 92 ref 67 cobol_FILE_$OUT 000012 constant entry external dcl 92 ref 43 43 43 43 cobol_MSORT_ 000014 constant entry external dcl 92 ref 61 90 cobol_SM_$MIi 000022 external static fixed bin(35,0) dcl 92 set ref 51* cobol_SM_$MIp 000062 external static pointer dcl 92 set ref 43* cobol_SM_$RELbl 000032 external static fixed bin(35,0) dcl 92 ref 34 36 59 70 70 77 79 cobol_SM_$RELfb 000034 external static fixed bin(35,0) dcl 92 ref 70 cobol_SM_$RELp 000060 external static pointer dcl 92 ref 70 cobol_SM_$SIi 000016 external static fixed bin(35,0) dcl 92 set ref 53* 59 65* 72* 72 75 77 82 82 cobol_SM_$SIp 000046 external static pointer dcl 92 set ref 43* 82 cobol_SM_$SRp 000050 external static pointer dcl 92 set ref 43* 75 77 cobol_SM_$SSi 000020 external static fixed bin(35,0) dcl 92 set ref 41 52* 59 66* 70 75 79* 79 cobol_SM_$SSp 000052 external static pointer dcl 92 set ref 43* 54 55 70 cobol_SM_$disaster1 000024 external static fixed bin(35,0) dcl 92 set ref 27* 27 28 84* cobol_SM_$ec 000036 external static fixed bin(35,0) dcl 92 set ref 30* 38* 48* cobol_SM_$max1 000040 external static fixed bin(35,0) dcl 92 ref 36 cobol_SM_$max2 000042 external static fixed bin(35,0) dcl 92 ref 59 cobol_SM_$max3 000044 external static fixed bin(35,0) dcl 92 ref 59 cobol_SM_$rp1 000054 external static pointer dcl 92 set ref 54* cobol_SM_$rp2 000056 external static pointer dcl 92 set ref 55* cobol_SM_$sn1 000026 external static fixed bin(35,0) dcl 92 set ref 56* cobol_SM_$sn2 000030 external static fixed bin(35,0) dcl 92 set ref 57* cobol_SM_$sort_dir 000064 external static varying char(168) dcl 92 ref 43 43 43 43 67 input_rec based bit(2359296) packed unaligned dcl 92 ref 70 ln 1 based fixed bin(35,0) array level 2 dcl 92 set ref 77* pt based fixed bin(35,0) array level 2 dcl 92 set ref 75* substr builtin function dcl 92 set ref 70* 70 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. cobol_SM_$LTSIi external static fixed bin(35,0) dcl 92 cobol_SM_$MRp external static pointer array dcl 92 cobol_SM_$MSp external static pointer array dcl 92 cobol_SM_$TSIi external static fixed bin(35,0) dcl 92 cobol_SM_$max4 external static fixed bin(35,0) dcl 92 NAME DECLARED BY EXPLICIT CONTEXT. cobol_RELEASE_ 000034 constant entry external dcl 23 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 774 1062 570 1004 Length 1300 570 66 201 204 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_RELEASE_ 134 external procedure is an external procedure. THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac signal_op shorten_stack ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_FILE_$LEN cobol_FILE_$OUT cobol_MSORT_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_SM_$MIi cobol_SM_$MIp cobol_SM_$RELbl cobol_SM_$RELfb cobol_SM_$RELp cobol_SM_$SIi cobol_SM_$SIp cobol_SM_$SRp cobol_SM_$SSi cobol_SM_$SSp cobol_SM_$disaster1 cobol_SM_$ec cobol_SM_$max1 cobol_SM_$max2 cobol_SM_$max3 cobol_SM_$rp1 cobol_SM_$rp2 cobol_SM_$sn1 cobol_SM_$sn2 cobol_SM_$sort_dir LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 23 000033 27 000041 28 000045 30 000047 31 000051 34 000054 36 000057 38 000061 39 000063 41 000066 43 000071 48 000367 49 000373 51 000376 52 000400 53 000402 54 000403 55 000406 56 000411 57 000412 59 000413 61 000426 65 000432 66 000434 67 000436 69 000513 70 000514 72 000532 75 000536 77 000544 79 000551 82 000555 84 000561 85 000562 90 000563 91 000567 ----------------------------------------------------------- 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