2 / (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
4 / This product is part of the Amsterdam Compiler Kit.
6 / Permission to use, sell, duplicate or disclose this software must be
7 / obtained in writing. Requests for such permissions may be sent to
9 / Dr. Andrew S. Tanenbaum
10 / Wiskundig Seminarium
17 /------------------------------------------------------------------------------
35 /------------------------------------------------------------------------------
37 /------------------------------------------------------------------------------
42 /------------------------------------------------------------------------------
43 / Now the real program starts
44 /------------------------------------------------------------------------------
122 bit $1,option /test for last
123 beq 2f / no last table jump
135 mov $linused-2,linused
208 sys creat;emcount;666
226 mov $profmsg,lblwri+2
271 0: <em_runinf load error,\0>
272 ldfail: < open runinf failed \n\0>
273 rhfail: < read header failed \n\0>
274 rtfail: < read tables failed \n\0>
278 emfile: <em_runinf\0>
280 emprof: <em_profile\0>
282 yetmsg: <no line or file message processed yet \n\n\0>
283 unknown:<with unknown filename\0>
290 profmsg:<\ninitialization \n\0>
292 /----------------------------------------------------------------------------
294 <loc.0 loc.1 loc.2 loc.3 loc.4 loc.5 loc.6 loc.7 >
295 <loc.8 loc.9 loc.10 loc.11 loc.12 loc.13 loc.14 loc.15 >
296 <loc.16 loc.17 loc.18 loc.19 loc.20 loc.21 loc.22 loc.23 >
297 <loc.24 loc.25 loc.26 loc.27 loc.28 loc.29 loc.30 loc.31 >
298 <loc.32 loc.33 aar.1W adf.s0 adi.1W adi.2W adp.l adp.1 >
299 <adp.2 adp.s0 adp.s_1 ads.1W and.1W asp.1W asp.2W asp.3W >
300 <asp.4W asp.5W asp.w0 beq.l beq.s0 bge.s0 bgt.s0 ble.s0 >
301 <blm.s0 blt.s0 bne.s0 bra.l bra.s_1 bra.s_2 bra.s0 bra.s1 >
302 <cal.1 cal.2 cal.3 cal.4 cal.5 cal.6 cal.7 cal.8 >
303 <cal.9 cal.10 cal.11 cal.12 cal.13 cal.14 cal.15 cal.16 >
304 <cal.17 cal.18 cal.19 cal.20 cal.21 cal.22 cal.23 cal.24 >
305 <cal.25 cal.26 cal.27 cal.28 cal.s0 cff.z cif.z cii.z >
306 <cmf.s0 cmi.1W cmi.2W cmp.z cms.s0 csa.1W csb.1W dec.z >
307 <dee.w0 del.w_1 dup.1W dvf.s0 dvi.1W fil.l inc.z ine.lw >
308 <ine.w0 inl._1W inl._2W inl._3W inl.w_1 inn.s0 ior.1W ior.s0 >
309 <lae.l lae.w0 lae.w1 lae.w2 lae.w3 lae.w4 lae.w5 lae.w6 >
311 <lal.p lal.n lal.0 lal._1 lal.w0 lal.w_1 lal.w_2 lar.1W >
312 <ldc.0 lde.lw lde.w0 ldl.0 ldl.w_1 lfr.1W lfr.2W lfr.s0 >
313 <lil.w_1 lil.w0 lil.0 lil.1W lin.l lin.s0 lni.z loc.l >
314 <loc._1 loc.s0 loc.s_1 loe.lw loe.w0 loe.w1 loe.w2 loe.w3 >
315 <loe.w4 lof.l lof.1W lof.2W lof.3W lof.4W lof.s0 loi.l >
316 <loi.1 loi.1W loi.2W loi.3W loi.4W loi.s0 lol.pw lol.nw >
317 <lol.0 lol.1W lol.2W lol.3W lol._1W lol._2W lol._3W lol._4W >
318 <lol._5W lol._6W lol._7W lol._8W lol.w0 lol.w_1 lxa.1 lxl.1 >
319 <lxl.2 mlf.s0 mli.1W mli.2W rck.1W ret.0 ret.1W ret.s0 >
320 <rmi.1W sar.1W sbf.s0 sbi.1W sbi.2W sdl.w_1 set.s0 sil.w_1 >
321 <sil.w0 sli.1W ste.lw ste.w0 ste.w1 ste.w2 stf.l stf.1W >
322 <stf.2W stf.s0 sti.1 sti.1W sti.2W sti.3W sti.4W sti.s0 >
323 <stl.pw stl.nw stl.0 stl.1W stl._1W stl._2W stl._3W stl._4W >
324 <stl._5W stl.w_1 teq.z tgt.z tlt.z tne.z zeq.l zeq.s0 >
325 <zeq.s1 zer.s0 zge.s0 zgt.s0 zle.s0 zlt.s0 zne.s0 zne.s_1 >
326 <zre.lw zre.w0 zrl._1W zrl._2W zrl.w_1 zrl.nw escape1 escape2 >
328 <aar.l aar.z adf.l adf.z adi.l adi.z ads.l ads.z >
329 <adu.l adu.z and.l and.z asp.lw ass.l ass.z bge.l >
330 <bgt.l ble.l blm.l bls.l bls.z blt.l bne.l cai.z >
331 <cal.l cfi.z cfu.z ciu.z cmf.l cmf.z cmi.l cmi.z >
332 <cms.l cms.z cmu.l cmu.z com.l com.z csa.l csa.z >
333 <csb.l csb.z cuf.z cui.z cuu.z dee.lw del.pw del.nw >
334 <dup.l dus.l dus.z dvf.l dvf.z dvi.l dvi.z dvu.l >
335 <dvu.z fef.l fef.z fif.l fif.z inl.pw inl.nw inn.l >
336 <inn.z ior.l ior.z lar.l lar.z ldc.l ldf.l ldl.pw >
337 <ldl.nw lfr.l lil.pw lil.nw lim.z los.l los.z lor.s0 >
338 <lpi.l lxa.l lxl.l mlf.l mlf.z mli.l mli.z mlu.l >
339 <mlu.z mon.z ngf.l ngf.z ngi.l ngi.z nop.z rck.l >
340 <rck.z ret.l rmi.l rmi.z rmu.l rmu.z rol.l rol.z >
341 <ror.l ror.z rtt.z sar.l sar.z sbf.l sbf.z sbi.l >
342 <sbi.z sbs.l sbs.z sbu.l sbu.z sde.l sdf.l sdl.pw >
343 <sdl.nw set.l set.z sig.z sil.pw sil.nw sim.z sli.l >
345 <sli.z slu.l slu.z sri.l sri.z sru.l sru.z sti.l >
346 <sts.l sts.z str.s0 tge.z tle.z trp.z xor.l xor.z >
347 <zer.l zer.z zge.l zgt.l zle.l zlt.l zne.l zrf.l >
348 <zrf.z zrl.pw dch.z exg.s0 exg.l exg.z lpb.z gto.l \0\0>
351 /------------------------------------------------------------------------------
352 / General subroutines
353 /------------------------------------------------------------------------------
355 wrdoff: movb (r3)+,r0 /get first byte
356 swab r0 /put it in high byte
357 clrb r0 /clear low byte of r0
358 bisb (r3)+,r0 /"or" second byte in
361 /------------------------------------------------------------------------------
364 nexttab: mov linused,r5;
365 add $2,r5 / increment lasttab
366 cmp r5,$linused / top of table reached?
372 slilast: mov $lnlast,r2
379 slnlast: mov $lnlast,lblwri+2
394 lnrnxt: jsr pc,nexttab
404 sfllast:jsr pc,nexttab
504 dec r1 / is this a bug?
586 /------------------------------------------------------------------------------
588 /------------------------------------------------------------------------------
604 option: entry.: .=.+2
619 lasttab:.=.+96. / 16 descriptors of integers + index at the end