CLEAR STORAGE 1 ,008015,022026,030037,044,049,053053N000000N00001026 1 CLEAR STORAGE 2 L068116,105106,110117B101/I9I#071029C029056B026/B001/0991,001/001117I0? 2 BOOTSTRAP ,008015,022029,036040,047054,061068,072/061039 ,0010011040 3 FORTRAN COMPILER -- SORT TWO PHASE -- PHASE 05 PAGE 1 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 101 JOB FORTRAN COMPILER -- SORT TWO PHASE -- PHASE 05 102 CTL 6611 103 * 104 * SORT TWO PHASE: ADD THREE CHARACTERS TO EACH STATEMENT AND 105 * CHAIN STATEMENTS OF THE SAME TYPE TOGETHER, LEAVING THE 106 * ADDRESS OF THE FIRST STATEMENT OF EACH TYPE IN TYPTAB, 107 * WHICH STARTS AT 838. 108 * X1 HAS THE ADDRESS OF THE GROUP MARK WORD MARK AFTER (LOWER 109 * ADDRESS) THE LAST (LOWEST ADDRESS) STATEMENT. 110 * 111 X1 EQU 89 0089 112 X2 EQU 94 0094 113 X3 EQU 99 0099 114 * 115 * STUFF IN THE RESIDENT AREA 116 * 117 PHASID EQU 110 PHASE ID, FOR SNAPSHOT DUMPS 0110 118 SNAPSH EQU 333 CORE DUMP SNAPSHOT 0333 119 TOPCOR EQU 688 TOP CORE ADDRESS FROM PARAM CARD 0688 120 LOADNX EQU 700 LOAD NEXT OVERLAY 0700 121 CLEARL EQU 707 CS AT START OF OVERLAY LOADER 0707 122 TYPTAB EQU 840 TYPE TABLE (WORD MARKS SET IN PHASE 3) 0840 123 * INDEXED BY 30*(ZONE OF STATEMENT CODE) + 124 * 3*(NUMERIC PART OF STATEMENT CODE). EACH 125 * ENTRY IS THE ADDRESS OF THE EARLIEST (HIGHEST 126 * ADDRESS) STATEMENT OF A TYPE. EACH STATEMENT 127 * HAS A POINTER TO THE NEXT ONE (LOWER IN CORE) 128 * OF THE SAME TYPE AS ITS FIRST THREE (HIGHEST 129 * ADDRESS) CHARACTERS. 130 * 131 * X1 IS THE ADDRESS AT THE BOTTOM OF THE LAST STATEMENT 132 * X2 IS X1 - 3*(NUMBER OF STATEMENTS) 133 * 134 ORG 1022 1022 135 LOADDD EQU *&1 LOAD ADDRESS 1022 136 1 022 BEGINN MCW X1,X3 7 1022 M 089 099 4 137 1 029 SW GM 4 1029 , S19 4 138 1 033 MCM 0&X1 ADDRESS AT BOTTOM OF NEXT STATEMENT 4 1033 P 0|0 4 139 1 037 MN ADDRESS OF GM BELOW NEXT STATEMENT 1 1037 D 4 140 1 038 MN ADDRESS AT TOP OF THIS STATEMENT 1 1038 D 4 141 1 039 SAR X1 4 1039 Q 089 4 142 1 043 LCA 0&X1,STMT SAVE THIS STATEMENT 7 1043 L 0|0 Z19 4 143 1 050 MCM 0&X1 ADDRESS AT BOTTOM OF NEXT STATEMENT 4 1050 P 0|0 5 144 1 054 SAR X1 4 1054 Q 089 5 145 1 058 MCM 0&X3,0&X2 MOVE DOWN BY 3*(STATEMENT NUMBER) 7 1058 P 0?0 0!0 5 146 1 065 SBR X2 4 1065 H 094 5 147 1 069 LCA STMT&3,1&X2 MOVE AGAIN, THIS TIME WITH ITS GM 7 1069 L Z22 0!1 5 FORTRAN COMPILER -- SORT TWO PHASE -- PHASE 05 PAGE 2 SEQ PG LIN LABEL OP OPERANDS SFX CT LOCN INSTRUCTION TYPE CARD 148 1 076 S X3&1 CLEAR X3 4 1076 S 100 5 149 1 080 MCW 0&X2,WORK6 COPY STATEMENT NUMBER AND STMT CODE 7 1080 M 0!0 !05 5 150 1 087 MN WORK6-5,X3 NUMERIC PART OF STATEMENT CODE 7 1087 D !00 099 6 151 1 094 MCW X3,WORK6-2 7 1094 M 099 !03 6 152 1 101 A X3 4 1101 A 099 6 153 1 105 A WORK6-2,X3 X3 = 3*(NUMERIC PART OF STMT CODE) 7 1105 A !03 099 6 154 1 112 BWZ OVER,WORK6-5,2 STMT TYPE HAS NO ZONE 8 1112 V /57 !00 2 6 155 1 120 A KP30,X3 7 1120 A !07 099 7 156 1 127 BWZ OVER,WORK6-5,S STMT TYPE HAS A ZONE 8 1127 V /57 !00 S 7 157 1 135 A KP30,X3 7 1135 A !07 099 7 158 1 142 BM OVER,WORK6-5 STMT TYPE HAS B ZONE 8 1142 V /57 !00 K 7 159 1 150 A KP30,X3 7 1150 A !07 099 7 160 * 161 * HERE X3 IS 30*(ZONE OF STMT CODE) + 3*(NUMERIC PART OF STMT CODE) 162 * WORK IS INITIALLY AN ARRAY OF 3-CHARACTER EMPTY FIELDS, BUT 163 * WE STORE THE ADDRESS OF EACH RECORD IN TYPTAB&X3, RESULTING IN 164 * STATEMENTS OF THE SAME TYPE CODE BEING CHAINED TOGETHER 165 * 166 1 157 OVER MCW TYPTAB&X3,1&X2 LINK STATEMENT TO NEXT STATEMENT 7 1157 M 8D0 0!1 8 167 1 164 LCA GM,2&X2 MARK BOTTOM OF NEXT STATEMENT 7 1164 L S19 0!2 8 168 1 171 SBR TYPTAB&X3 SAVE STATEMENT ADDRESS IN TYPTAB 4 1171 H 8D0 8 169 1 175 MCM 2&X2 MOVE X2 ABOVE NEW STATEMENT BOTTOM 4 1175 P 0!2 8 170 1 179 SAR X2 4 1179 Q 094 8 171 1 183 C X2,TOPCOR DONE? 7 1183 C 094 688 8 172 1 190 BU BEGINN NO, DO ANOTHER ONE 5 1190 B |22 / 8 173 * 174 * DONE -- LOAD NEXT OVERLAY 175 * 176 1 195 BSS SNAPSH,C 5 1195 B 333 C 9 177 1 200 SBR CLEARL&3,2899 7 1200 H 710 Q99 9 178 1 207 LCA SORT3,PHASID 7 1207 L !13 110 9 179 1 214 B LOADNX 4 1214 B 700 9 180 * 181 * DATA 182 * 183 1 218 DCW 0 1 1218 9 184 1 219 GM DC @}@ 1 1219 GMARK 9 185 STMT EQU 1919 SAVE AREA FOR STATEMENT 1919 186 ORG 2000 2000 187 2 005 WORK6 DCW #6 6 2005 10 188 2 007 KP30 DCW &30 2 2007 10 189 2 013 SORT3 DCW @SORT 3@ 6 2013 10 190 2 014 GMWM DCW @}@ 1 2014 GMARK 10 191 ORG 201 0201 192 203 DSA LOADDD LOAD ADDRESS FOR CARD-TO-TAPE PROGRAM 3 0203 |22 11 193 EX BEGINN B |22 12 194 END / 000 080 FORTRAN COMPILER -- SORT TWO PHASE -- PHASE 05 PAGE 3 SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS SYMBOL ADDRESS BEGINN 1022 CLEARL 707 GM 1219 GMWM 2014 KP30 2007 LOADDD 1022 LOADNX 700 OVER 1157 PHASID 110 SNAPSH 333 SORT3 2013 STMT 1919 TOPCOR 688 TYPTAB 840 WORK6 2005 X1 89 X2 94 X3 99