Elliott 803 Algol 60 Compiler (reconstructed)


File: data.t2

For general comments see here
LineAddressObject Code LabelF1N1BF2N2CommentsCheck
1 0  ; tape1.d/data.t2
2 0  ;----------------
3 0  =5 
4 5 2636521000011EP5:cls ocdflg:jmp EP9;tr to ocode @5
5 6 4000030000000EP6:jmp EP6:o00 0;restart user program @6
6 7 4000034000000EP7:jmp EP7:o00 0;normal translate entry @7
7 8 4000040000000EP8:jmp EP8:o00 0;entry from end of tape2 @8
8 9 4036614000000EP9:jmp main.tran:o00 0;start translation @9
9 10 0000000000000T2VEC:+0;tape 2 relocation address @10
10 11 0000000016415Memtop:+7437;top of free area
11 12 1000014EP12:jmp EP12   ;dump compiled program @12
12 12+0000000 o00 0   ;
13 13 1000015EP13:jmp EP13   ; @13
14 13+0000000 o00 0   ;
15 14 1000016EP14:jmp EP14   ;continue after dump @14
16 14+0000000 o00 0   ;
17 15 1000017EP15:jmp EP15   ;re-output dump after punch err @15
18 15+0000000 o00 0   ;
19 16 0000000000000EP16:+0; @16
20 17 0000000000002EP17:+2; @17
21 18 1000022EP18:jmp EP18   ;continue after precompile @18
22 18+0000000EP18P:o00 0   ; check pre-compiled program
23 19 1000023EP19:jmp EP19   ;re-output pre-compiled prog @19
24 19+0000000EP19P:o00 0   ;
25 20 1007677EP20:jmp main.loadtape2   ;input tape 2 after sumck @20
26 20+1110750 jmp SynChk   ; check for syntax errors
27 21  ;--------------------------------------------------------------------------
28 21   ; 
29 21  =776 
30 776 0000000000000 +0; @776
31 777 0000000000000 +0; @777
32 778 0000000000000 +0; @778
33 779 0000000000000 +0; @779
34 780 0000000000012PCdata:+10;data argument to putcode @780
35 781 0000000000000work1:+0;ocode word being built, @781
36 782   ;also used in error handler 
37 782  PCshift:; 
38 782 0000000000001 +1;bits held/shift count @782
39 783 0000000000025PCwk2:+21; @783
40 784 0000000010155PCchk:+4205;sum-check for putcode @784
41 785 0000000000000W785:+0; @785
42 786 0000002000003GenAdr:+00000002000003;00 0 / 00 3 @786
43 787  =788 
44 788 0000000000005W788:+5; @788
45 789 0000000000000errsw:+0;copy of ocdflg @789
46 790 4000000000000W790:+04000000000000; @790
47 791 0000000000003W791:+3; @791
48 792 0000000000005W792:+5; @792
49 793  =796 
50 796 0000000000000Work1:+0; @796
51 797 0000000000000Work2:+0; @797
52 798 0000000000000W798:+0; @798
53 799 0000000000000W799:+0;film output switch, 0=core, else film @799
54 800 0000000000047K39:+39; @800
55 801 0000000000005K5:+5; @801
56 802 0000000000037K31:+31; @802
57 803 0000000000005K5a:+5; @803
58 804 0000000000014K12:+12; @804
59 805 0000000000170K120:+120; @805
60 806 0000000100000 +32768;noref @806
61 807 0000000000021K17:+17; @807
62 808 0000000017777N2bits:+8191; @808
63 809 0000000000011K9:+9; @809
64 810 0000000000003K3:+3; @810
65 811 4000000000000B39:+04000000000000;sign bit @811
66 812 0000000000007K7:+7; @812
67 813 0000000000017K15a:+15; @813
68 814 0000002000000B20:+0000002000000; @814
69 815 0000000000026K22:+22; @815
70 816 0000000000077K63:+63; @816
71 817 0000000000001K1:+1; @817
72 818 0000003000000B1920:+0000003000000;B-bit + f2=040 @818
73 819 0001774000000B2128:+0001774000000; @819
74 820 0000000007770K4088:+4088; @820
75 821 0000001760000F2mask:+0000001760000;o00 0 : o77 0 @821
76 822 0000000000023K19:+19; @822
77 823 0000000000030K24:+24; @823
78 824 0000001777777W824:o00 0:o77 8191;
79 825 0000000000657EndCode:+431;=0657 10:(5:13,5:15)
80 826  ;
81 826 0445445623402W826:'NO_HAN','DLER\342' 
82 828 0000000000010W828:+8 
83 829 0000000007777W829:+4095 
84 830  ;-------------------------------------------------------------
85 830  ;
86 830  =1123 
87 1123 0000016000000W1123:+0000016000000;* @1123
88 1124 0000000000000W1124:+0;* @1124
89 1125 0000006000101ObjPC:+0000006000101;* @1125
90 1126  proclistptr:; 
91 1126 0000000007771 +proclist;pointer to standard procs list @1126
92 1127 0000012000147W1127:+0000012000147;* @1127
93 1128  =1129 
94 1129 0000000010613stkp:+4491;* stack grows up free space @1129
95 1130 0000026000005W1130:o00 5/o00 5;* @1130
96 1131 0000000000000W1131:+0;*
97 1132 0000000000000W1132:+0;* saved return address @1132
98 1133 0000000000000W1133:+0;*
99 1134  frameptr:; 
100 1134 0000000016276 +7358;* @1134
101 1135 0000000000000W1135:+0;*
102 1136 0000000016276dicpt:+7358;*dictionary grows dwn from top @1136
103 1137  ;
104 1137  wsptr:; 
105 1137 0000012000147 +00000012000147;*pointer for temporaries @1137
106 1138  typeinfo:; 
107 1138 7300065000117 +07300065000117;*type bits for declarations @1138
108 1139 0000022000117W1139:+00000022000117;*
109 1140  idcount:; 
110 1140 0000000000002 +2;* @1140
111 1141  =1142 
112 1142 0000000000003W1142:+3;* @1142
113 1143 4070164016040W1143:+04070164016040;*
114 1144 1242400000000idpt1:+01242400000000;* @1144
115 1145 0000000016040W1145:+7200;*
116 1146  =1147 
117 1147 4000000000000W1147:+04000000000000;*
118 1148 0000000016035W1148:+7197;* @1148
119 1149 4000000000000bit39:+04000000000000;jmp 0 : o00 0
120 1150 0000000000011K9a:+9; @1150
121 1151 3777777777777MaxInt:+03777777777777;max pos integer or flpt number
122 1152 0000000000010K8a:+8; @1152
123 1153 0000000000052K42:+42;
124 1154 1000000000000arrbit:+01000000000000; @1154
125 1155 1300000000000rarrbit:+01300000000000;
126 1156 0000000000057K47a:+47; @1156
127 1157 0000000000002K2a:+2; @1157
128 1158 0000000000030 +24;unreferenced @1158
129 1159 0000000000001K1c:+1;
130 1160 0000000000007K7a:+7; @1160
131 1161 0000000000004K4:+4;
132 1162 0001777000000B19.28:+00001777000000;o00 255 / 40 0 @1162
133 1163  boolbit:; 
134 1163 0100000000000 +00100000000000;boolbit
135 1164 0200000000000intbit:+00200000000000;intbit @1164
136 1165  realbit:; 
137 1165 0300000000000 +00300000000000;realbit
138 1166 4400000000000swchbit:+04400000000000; @1166
139 1167 4477777777777swlabit:+04477777777777;
140 1168 0000000600006W1168:+00000000600006; @1168
141 1169 3700000000000typbits:+03700000000000;
142 1170 0000000017777K8191:+8191; @1170
143 1171 0000000000037K31b:+31;
144 1172 0000001000000Bit19:+00000001000000;o00 0 : jmp 0 @1172
145 1173 0000002000000Bbit:+00000002000000;o00 0 / o00 0
146 1174 0000000000006K6:+6; @1174
147 1175 0000000000032K26:+26;
148 1176 0000000000016K14:+14; @1176
149 1177 0000000000013K11:+11; @1177
150 1178 2000000000000procbit:+02000000000000;procbit @1178
151 1179 0000004000000Bit21:+00000004000000;
152 1180 0020000000000Bit32:+00020000000000;o00 2048 : o00 0 @1180
153 1181 0000000000047K39b:+39;
154 1182 0040000000000Bit33:+00040000000000;o00 4096 : o00 0 @1182
155 1183 0000000000023K19b:+19;
156 1184 0000000000012K10b:+10; @1184
157 1185 0000000000041K33:+33;
158 1186 3440000000000W1186:+03440000000000;34 4096 : 00 0 @1186
159 1187 3740000000000MskArgTp:+03740000000000;o37 4096 : o00 0
160 1188 0001777017777M1188:+00001777017777;00 255 / 40 8191 @1188
161 1189 0000000000020K16:+16; @1189
162 1190 0000022000000 +0000022000000;00 4 / 00 0 unreferenced @1190
163 1191 0000001760000 +0000001760000;00 0 : 77 0 unreferenced
164 1192 0500000000000W1192:+0500000000000;sub 0 : o00 0 @1192
165 1193 0006062515664print:'PRINT';o00 780 / ads 7092 @1193
166 1194 0540000000000strbit:+0540000000000;bits for string param @1194
167 1195 0000000017740B6.13:+0000000017740;8160 @1195
168 1196  ;-----------------
169 1196  =2240 
170 2240  ;
171 2240 0000000004660W2240:+2480; @2240
172 2241 0000000004721W2241:+2513; @2241
173 2242 0000000004735W2242:+2525; @2242
174 2243 0000000004752W2243:+2538; @2243
175 2244 0000000004564constptr:+2420; @2244
176 2245 0000000005334W2245:+2780; @2245
177 2246 0000000005406W2246:+2822; @2246
178 2247 0000000004440W2247:+2336; @2247
179 2248 0000000005467W2248:+2871; @2248
180 2249 0000000005260W2249:+2736; @2249
181 2250 0000000000024K20:+20; @2250
182 2251 0000000000001K1b:+1; @2251
183 2252 0000000000040K32a:+32; @2252
184 2253 0300000000000procbit1:+00300000000000; @2253
185 2254 2000000000401K1.0:+02000000000401;1.0 @2254
186 2255 2400000000404W2255:+02400000000404;10.0 @2255
187 2256 0200000000000IntBit:+00200000000000; @2256
188 2257 4000000000000False:+04000000000000; @2257
189 2258 0100000000000TBool:+00100000000000;boolean @2258
190 2259 0000000000057K47:+47;[(] @2259
191 2260 0700000000000T_Mask:+00700000000000; @2260
192 2261 0001776017777W2261:+00001776017777; @2261
193 2262 4300001000000W2262:+04300001000000; @2262
194 2263 0000000000060K48:+48;[)] @2263
195 2264 0000000000045K37:+37; @2264
196 2265 0000000000012K10a:+10; @2265
197 2266 0000000000064K52:+52; @2266
198 2267 0000000000036W2267:+30; @2267
199 2268 0000000000016W2268:+14; @2268
200 2269 0000000000026W2269:+22; @2269
201 2270 0000000000005K5b:+5; @2270
202 2271 0000000000030K24a:+24; @2271
203 2272 0000000000002K2b:+2; @2272
204 2273 0000000000003K3a:+3; @2273
205 2274 0000000000033K27:+27; @2274
206 2275 3070000000000W2275:+03070000000000; @2275
207 2276 0077777760000W2276:+00077777760000; @2276
208 2277 0001774017777W2277:+00001774017777; @2277
209 2278 0000000000027W2278:+23; @2278
210 2279 0000000000004K4a:+4; @2279
211 2280 0000000000006W2280:+6; @2280
212 2281 0000000000014W2281:+12; @2281
213 2282 7777777777752W2282:-22; @2282
214 2283 7077777777777W2283:+07077777777777; @2283
215 2284 0000000000037W2284:+31; @2284
216 2285 0000000000053W2285:+43; @2285
217 2286 0000000040000TmpFlg:+00000000040000; @2286
218 2287 0000000000013W2287:+11; @2287
219 2288 2000000000000procbit2:+02000000000000; @2288
220 2289 0020000000000W2289:+00020000000000; @2289
221 2290 0000000000177K127:+127; @2290
222 2291 0000000000051K41:+41; @2291
223 2292 0000000000007K7b:+7; @2292
224 2293 0000001760000W2293:+00000001760000; @2293
225 2294 0000000000056W2294:+46; @2294
226 2295 0040000000000Bit33a:+00040000000000; @2295
227 2296 0000000000047W2296:+39; @2296
228 2297 0000001000000W2297:+00000001000000; @2297
229 2298  arrbit1:; 
230 2298 1000000000000 +01000000000000; @2298
231 2299 3023601745725W2299:+03023601745725;1E+64 @2299
232 2300 2356132663553 +02356132663553;1E+32 @2300
233 2301 2160674467466 +02160674467466;1E+16 @2301
234 2302 2765702000433 +02765702000433;1E+8 @2302
235 2303 2342000000416 +02342000000416;1E+4 @2303
236 2304 3100000000407 +03100000000407;1E+2 @2304
237 2305 2400000000404 +02400000000404;1E+1 @2305
238 2306  ;----------------------------------------------------------------------------
239 2306  ;
240 2306  =3228 
241 3228 0000000000000W3228:+0; @3228
242 3229 0000000000000dicent:+0; @3229
243 3230 0000000000000argno:+0; @3230
244 3231 0000000000000W3231:+0; @3231
245 3232 0000000000000Pinfo:+0; @3232
246 3233 0000000000000W3233:+0; @3233
247 3234 0000000000000W3234:+0; @3234
248 3235 0000000000000W3235:+0; @3235
249 3236  =3237 
250 3237 0000000000000W3237:+0; @3237
251 3238 3776000000000W3238:+03776000000000; @3238
252 3239 0070000000000W3239:+00070000000000; @3239
253 3240 0030000000000W3240:+00030000000000; @3240
254 3241 3040000000000W3241:+03040000000000; @3241
255 3242 0002000000000Argno1:+00002000000000; @3242
256 3243 0010000000000TMMflg:+00010000000000; @3243
257 3244  W3244:GP6M     ; @3244
257+13244 0000001000006 00 +0:40 +6 
258 3245  W3245:GP4A ,,   ; @3245
258+13245 0000000600004 00 +0:30 +4 
259 3246 0000000000061K49:+49; @3246
260 3247 0400000000000Bit36:+00400000000000;array param type @3247
261 3248 3430000000000W3248:+03430000000000; @3248
262 3249 0000022000015W3249:+00000022000015;00 4 / 00 13 @3249
263 3250  BIT29= P/@hhX@ 02000000000; 
264 3250 0014000000000Argno6:+6*BIT29; @3250
265 3251 0000000014000W3251:+6144; @3251
266 3252 0600000000000TStr:+00600000000000;string type @3252
267 3253 0435045435342checkb:'CHECKB'; @3253
268 3254  ;
269 3254  =3610 
270 3610 0400000000000W3610:+00400000000000;add 0 : o00 0 @3610
271 3611 0000036017777W3611:+00000036017777; @3611
272 3612 0000000000000 +0; see links.t2 @3612
273 3613 0000000000000W3613:+0; @3613
274 3614 0000000000000W3614:+0; @3614
275 3615 0000000000000W3615:+0; @3615
276 3616 0000000000000W3616:+0; @3616
277 3617 0000000000000W3617:+0; @3617
278 3618  ;
279 3618  =3917 
280 3917  titleptr:; 
281 3917 0000000000000 +0;pointer to title area? @3917
282 3918 0000000000000W3918:+0; @3918
283 3919 0000000000000shift:+0;input shift in title @3919
284 3920 0000000000000W3920:+0; @3920
285 3921  titleend:; 
286 3921 0000000000000 +0; end of title pointer @3921
287 3922  eotflg:; end of title indicator 
288 3922 0000000000000 +0; @3922
289 3923  ;
290 3923 0000000000000 +0; no refs
291 3924  ;
292 3924  ocdflg:; 
293 3924 0000000000000 +0;=0 for O/C, =-1 for check @3924
294 3925  stkbase:; 
295 3925 0000000000000 +0; @3925
296 3926 0000000000000W3926:+0; @3926
297 3927 0000000000022K18:+18; @3927
298 3928 0000016000000W3928:o00 3/o00 0; @3928
299 3929 0000006000000W3929:o00 1/o00 0; @3929
300 3930  FreeMem= P/@hhX@ 4630; 
301 3930 0000000011026FreeMemPtr:+FreeMem; @3930
302 3931 0000026000005W3931:o00 5/o00 5; @3931
303 3932 1776311257455W3932:+01776311257455;17 7986 : 52 7981 @3932
304 3933 0000012000000Initwsp:o00 2/o00 0; @3933
305 3934 0000000000372K250:+250; @3934
306 3935 0000000010002K4098:+4098; @3935
307 3936  setep7:; 
308 3936 7336521000011 lnk ocdflg:jmp EP9;patch for EP 7 @3936
309 3937  setep18:; 
310 3937 4000111100022 jmp EP18:jmp EP18P;patch for 18 @3937
311 3938  setep19:; 
312 3938 4000115100023 jmp EP19:jmp EP19P;patch for 19 @3938

Page created by Bill Purvis, last updated: January 09 2004