         Edinburgh IMP77 Compiler - Version 8.4
    1 %BEGIN
				NO_APP
		.Ltext0:
				.section	.rodata.str1.1,"aMS",@progbits,1
		.LC5:
		 		.string	"Illegal cycle I = 1, 1, LABELNO"
				.section	.rodata
		.LC3:
		 		.byte	17
		 		.string	"test-new/rt35.imp"
		 		.zero	237
				.align	2
		LABEL.5997:
		.LFB186:
		.LVL32:
		 		link.w %fp,#-3584
		 		movem.l #16188,-(%sp)
    2 %OWNINTEGER LABELNO=0
		 		move.l 12(%fp),-(%sp)
		 		move.l 8(%fp),-(%sp)
		 		jsr _imp_initialise
		.LVL33:
		.LBB66:
    3 %CONSTINTEGER MAXLABELS=10
    4 %RECORDFORMAT F(%BYTE B,%STRING(255)LAB)
    5 %OWNSTRING(15)%ARRAY LBLNAME(0:MAXLABELS)
    6 %OWNRECORD(F)%ARRAY LBL(0:MAXLABELS)
    7
    8 %RECORD(F)%MAP LABEL(%STRING(15) L)
    9 %INTEGER I
		 		link.w %fp,#-2048
		 		movem.l #15416,-(%sp)
   10  %IF LABELNO>0 %THENSTART
		 		move.l LABELNO.5986,%d4
		 		jle .L10
		.LVL0:
		.LBB46:
		.LBB47:
   11   %FOR I=1,1,LABELNO %CYCLE
   12    %RESULT==LBL(I) %IF LBLNAME(I)=L
   13   %REPEAT
		 		move.l %d4,%d0
		 		subq.l #1,%d0
		.LVL1:
		.LBE47:
		 		jmi .L16
		.LVL2:
		.L3:
		 		move.l #LBLNAME.5994+256,%d3
		 		clr.l %d2
		 		pea .LC5
		 		lea (-1024,%fp),%a1
		 		jsr _imp_c2istr
		.LVL20:
		 		move.l _imp_current_line,%d2
		 		addq.l #4,%sp
		 		jne .L4
		 		moveq #13,%d2
		.L4:
		 		move.l _imp_current_file,%d0
		 		jeq .L5
		 		move.l %d0,-(%sp)
		 		lea (-768,%fp),%a1
		 		jsr _imp_c2istr
		.LVL21:
		 		addq.l #4,%sp
		.L6:
		 		clr.l -(%sp)
		 		pea 1.w
		 		pea 5.w
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l #256,%d3
		 		move.l %d3,-(%sp)
		 		pea -1024(%fp)
		 		move.l %d0,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
		.LVL22:
		 		lea (12,%sp),%sp
		 		move.l %d2,-(%sp)
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d3,-(%sp)
		 		pea -768(%fp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL23:
		 		lea (12,%sp),%sp
		 		jsr _signal_event
		.LVL24:
		 		lea (528,%sp),%sp
		 		jra .L3
		.L5:
		.LBB48:
		 		lea (-256,%fp),%a3
		 		move.l #256,%d3
		 		move.l %d3,-(%sp)
		 		pea .LC3
		 		move.l %a3,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
		.LVL25:
		 		move.l %fp,%d5
		 		add.l #-2048,%d5
		 		move.l %d3,-(%sp)
		 		move.l %a3,-(%sp)
		 		move.l %d5,-(%sp)
		 		jsr (%a2)
		.LVL26:
		.LBE48:
		 		move.l %d3,-(%sp)
		 		move.l %d5,-(%sp)
		 		pea -768(%fp)
		 		jsr (%a2)
		.LVL27:
		 		lea (36,%sp),%sp
		 		jra .L6
		.LVL28:
		.L17:
   14  %FINISH
		 		move.l %fp,%d5
		 		addq.l #8,%d5
		 		lea _imp_strcmp,%a2
		.LVL3:
		.L7:
		 		move.l %d5,-(%sp)
		 		move.l %d3,-(%sp)
		 		jsr (%a2)
		.LVL5:
		 		addq.l #8,%sp
		 		tst.l %d0
		 		jeq .L17
		 		add.l #256,%d3
   15 !  INSERT NEW LABEL-NAME.
   16  LABELNO=LABELNO+1
		 		cmp.l %d4,%d2
		 		jne .L7
		.L2:
		.LVL6:
		.L10:
		.LBE46:
		 		move.l LABELNO.5986,%d0
		 		addq.l #1,%d0
		 		move.l %d0,LABELNO.5986
		 		moveq #10,%d1
		 		cmp.l %d0,%d1
		 		jge .L11
		.LBB49:
		.LBB50:
   17  %IF LABELNO>MAXLABELS %THENSTART
		 		addq.l #1,%d2
		.LVL4:
		 		move.l %d2,%d0
		 		lsl.l #8,%d0
		 		move.l %d2,%a0
		 		lea LBL.5995(%a0,%d0.l),%a0
		 		move.l %a0,%d0
		 		jra .L1
		.LVL29:
		.L11:
		.LBE65:
   18   PRINT STRING(L." MAKES TOO MANY LABELS."); NEWLINE
   19   %FOR I=1,1,MAXLABELS %CYCLE
   20    PRINT STRING(LBLNAME(I))
		 		pea -1536(%fp)
		 		pea 8(%fp)
		 		lea (-256,%fp),%a1
		 		jsr _imp_join
		.LVL7:
		 		move.l %fp,%d2
		 		add.l #-512,%d2
		 		move.l #256,%d3
		 		move.l %d3,-(%sp)
		 		pea -1792(%fp)
		 		move.l %d2,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
		.LVL8:
		.LBE50:
		.LBE49:
		.LBB51:
		.LBB52:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d3,-(%sp)
		 		move.l %d2,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL9:
		 		lea (12,%sp),%sp
		 		jsr _imp_printstring
		.LVL10:
		.LBE52:
		.LBE51:
		.LBB53:
		.LBB54:
		 		lea (276,%sp),%sp
		 		jsr _imp_newline
		.LVL11:
		 		moveq #10,%d2
		 		move.l %fp,%d4
		 		add.l #-256,%d4
		 		move.l %fp,%d5
		 		add.l #-1280,%d5
		.LBE54:
		.LBE53:
		.LBB55:
		.LBB56:
		 		lea _imp_printstring,%a4
		.LBE56:
		.LBE55:
		.LBB58:
		.LBB59:
		 		lea _imp_newline,%a3
		.LVL12:
		.L12:
		 		move.l %d3,-(%sp)
		 		move.l %d5,-(%sp)
		 		move.l %d4,-(%sp)
		 		jsr (%a2)
		.LVL13:
		.LBE59:
		.LBE58:
		.LBB61:
		.LBB57:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d3,-(%sp)
		 		move.l %d4,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL14:
		 		lea (12,%sp),%sp
		 		jsr (%a4)
		.LVL15:
		.LBE57:
		.LBE61:
		.LBB62:
		.LBB60:
		 		lea (268,%sp),%sp
		 		jsr (%a3)
		.LVL16:
		.LDL1:
		 		subq.l #1,%d2
		.LVL17:
		.LBE60:
		.LBE62:
   21    NEWLINE
   22   %REPEAT
		 		jne .L12
		.L13:
		.LVL18:
		.LBB63:
		.LBB64:
		 		clr.l -(%sp)
		 		jsr exit
		.LVL19:
		.L16:
		.LBE64:
		.LBE63:
		.LBB65:
   23   %MONITOR
   24   %STOP
   25  %FINISH    ;!  DEALING WITH TOO MANY LABELS.
   26  LBLNAME(LABELNO)=L
   27  LBL(LABELNO)_LAB=""
   28  %RESULT==LBL(LABELNO)
		 		pea 15.w
		 		pea -512(%fp)
		 		lsl.l #8,%d0
		 		pea LBLNAME.5994(%d0.l)
		 		lea _imp_strncpy,%a2
		 		jsr (%a2)
		.LVL30:
		 		move.l LABELNO.5986,%d0
		 		move.l %d0,%d1
		 		lsl.l #8,%d1
		 		move.l %d0,%a0
		 		lea LBL.5995(%a0,%d1.l),%a0
		 		move.l %a0,%d0
		 		lea (24,%sp),%sp
		.L1:
		 		move.l %d0,%a0
		 		movem.l -2076(%fp),#7228
		 		unlk %fp
		 		rts
		.LFE186:
				.align	2
				.globl	main
		main:
		.LFB185:
   29 %END
		 		pea 255.w
		 		pea -256(%fp)
		 		move.l LABELNO.5986,%d0
		 		move.l %d0,%d1
		 		lsl.l #8,%d1
		 		move.l %d0,%a0
		 		pea LBL.5995+1(%a0,%d1.l)
		 		jsr (%a2)
		.LVL31:
   30
   31
   32
   33   LABEL("T")_LAB="TESTING USE OF LABEL"
   34   PRINT STRING(LABEL("T")_LAB); NEWLINE
   35   LABEL("T")_LAB="THIS SHOULD MODIFY ".LABEL("T")_LAB." AS I TRIED TO DO YESTERDAY"
		 		move.l %fp,%d5
		.LVL34:
		 		add.l #-240,%d5
		.LVL35:
		 		moveq #15,%d4
		 		not.b %d4
		 		move.l %d4,-(%sp)
		 		clr.l -(%sp)
		 		move.l %d5,-(%sp)
		 		lea memset,%a4
		 		jsr (%a4)
		.LVL36:
		 		move.l #1409286144,-255(%fp)
		 		lea (-251,%fp),%a0
		 		clr.l (%a0)+
		 		clr.l (%a0)+
		 		clr.w (%a0)+
		 		clr.b (%a0)
		 		move.b #1,-256(%fp)
		 		move.l %fp,%d6
		.LVL37:
		 		add.l #-3584,%d6
		.LVL38:
		 		move.l %fp,%d3
		.LVL39:
		 		add.l #-256,%d3
		.LVL40:
		 		move.l #256,%d2
		 		move.l %d2,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d6,-(%sp)
		 		lea memcpy,%a2
		 		jsr (%a2)
		.LVL41:
		.LBE66:
		 		lea (-224,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d6,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL42:
		 		lea (12,%sp),%sp
		 		lea LABEL.5997,%a3
		 		jsr (%a3)
		.LVL43:
		 		add.l %d2,%sp
		 		pea 255.w
		 		pea -3328(%fp)
		 		pea 1(%a0)
		 		jsr _imp_strncpy
		.LVL44:
		.LBB67:
		.LBB68:
   36   PRINT STRING(LABEL("T")_LAB); NEWLINE
		 		move.l %d4,-(%sp)
		 		clr.l -(%sp)
		 		move.l %d5,-(%sp)
		 		jsr (%a4)
		.LVL45:
		 		move.l #1409286144,-255(%fp)
		 		lea (-251,%fp),%a0
		 		clr.l (%a0)+
		 		clr.l (%a0)+
		 		clr.w (%a0)+
		 		clr.b (%a0)
		 		move.b #1,-256(%fp)
		 		add.l #-2576,%d5
		 		move.l %d2,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d5,-(%sp)
		 		jsr (%a2)
		.LVL46:
		.LBE68:
		 		lea (-220,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d5,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL47:
		 		lea (12,%sp),%sp
		 		jsr (%a3)
		.LVL48:
		 		add.l %d2,%sp
		 		move.l %d2,-(%sp)
		 		pea -3072(%fp)
		 		move.l %d3,-(%sp)
		 		jsr (%a2)
		.LVL49:
		.LBE67:
		.LBB69:
		.LBB70:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL50:
		 		lea (12,%sp),%sp
		 		lea _imp_printstring,%a5
		 		jsr (%a5)
		.LVL51:
		.LBE70:
		.LBE69:
		.LBB71:
		.LBB72:
		 		lea (268,%sp),%sp
		 		jsr _imp_newline
		.LVL52:
		.LBE72:
		.LBE71:
		.LBB73:
		.LBB74:
		.LBB75:
		.LBB76:
   37 %ENDOFPROGRAM
		 		add.l #2320,%d5
		 		move.l %d4,-(%sp)
		 		clr.l -(%sp)
		 		move.l %d5,-(%sp)
		 		jsr (%a4)
		.LVL53:
		 		move.l #1409286144,-511(%fp)
		 		lea (-507,%fp),%a0
		 		clr.l (%a0)+
		 		clr.l (%a0)+
		 		clr.w (%a0)+
		 		clr.b (%a0)
		 		move.b #1,-512(%fp)
		 		move.l %fp,%d7
		.LVL54:
		 		add.l #-1536,%d7
		.LVL55:
		 		add.l #-256,%d3
		 		move.l %d2,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d7,-(%sp)
		 		jsr (%a2)
		.LVL56:
		.LBE76:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d7,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL57:
		 		lea (12,%sp),%sp
		 		jsr (%a3)
		.LVL58:
		 		lea (280,%sp),%sp
		 		pea 1(%a0)
		 		pea -1792(%fp)
		 		add.l #1536,%d6
		 		move.l %d6,%a1
		 		move.l #_imp_join,%d7
		.LVL59:
		 		move.l %d7,%a0
		 		jsr (%a0)
		.LVL60:
		.LBE75:
		 		pea -1280(%fp)
		 		move.l %d6,-(%sp)
		 		move.l %d3,%a1
		 		move.l %d7,%a0
		 		jsr (%a0)
		.LVL61:
		.LBE74:
		.LBE73:
		.LBB77:
		 		move.l %d4,-(%sp)
		 		clr.l -(%sp)
		 		move.l %d5,-(%sp)
		 		jsr (%a4)
		.LVL62:
		 		move.l #1409286144,-511(%fp)
		 		lea (-507,%fp),%a0
		 		clr.l (%a0)+
		 		clr.l (%a0)+
		 		clr.w (%a0)+
		 		clr.b (%a0)
		 		move.b #1,-512(%fp)
		 		move.l %fp,%d7
		.LVL63:
		 		add.l #-2560,%d7
		.LVL64:
		 		move.l %d2,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d7,-(%sp)
		 		jsr (%a2)
		.LVL65:
		.LBE77:
		 		lea (-216,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d7,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL66:
		 		lea (12,%sp),%sp
		 		jsr (%a3)
		.LVL67:
		 		add.l %d2,%sp
		 		pea 255.w
		 		pea -2304(%fp)
		 		pea 1(%a0)
		 		jsr _imp_strncpy
		.LVL68:
		.LBB78:
		.LBB79:
   35 Statements compiled
		 		move.l %d4,-(%sp)
		 		clr.l -(%sp)
		 		move.l %d5,-(%sp)
		 		jsr (%a4)
		.LVL69:
		 		move.l #1409286144,-511(%fp)
		 		lea (-507,%fp),%a0
		 		clr.l (%a0)+
		 		clr.l (%a0)+
		 		clr.w (%a0)+
		 		clr.b (%a0)
		 		move.b #1,-512(%fp)
		 		move.l %fp,%d4
		.LVL70:
		 		add.l #-768,%d4
		.LVL71:
		 		move.l %d2,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d4,-(%sp)
		 		jsr (%a2)
		.LVL72:
		.LBE79:
		 		lea (-220,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d4,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL73:
		 		lea (12,%sp),%sp
		 		jsr (%a3)
		.LVL74:
		 		add.l %d2,%sp
		 		move.l %d2,-(%sp)
		 		pea -1024(%fp)
		 		move.l %d3,-(%sp)
		 		jsr (%a2)
		.LVL75:
		.LBE78:
		.LBB80:
		.LBB81:
		 		lea (-256,%sp),%sp
		 		move.l %sp,%d0
		 		move.l %d2,-(%sp)
		 		move.l %d3,-(%sp)
		 		move.l %d0,-(%sp)
		 		jsr (%a2)
		.LVL76:
		 		lea (12,%sp),%sp
		 		jsr (%a5)
		.LVL77:
		.LBE81:
		.LBE80:
		.LBB82:
		.LBB83:
		 		lea (268,%sp),%sp
		 		jsr _imp_newline
		.LVL78:
		.LBE83:
		.LBE82:
		.LBB84:
		.LBB85:
		 		clr.l -(%sp)
		 		jsr exit
		.LVL79:
		.LBE85:
		.LBE84:
		.LFE185:
				.comm	LABELNO.5986,4,2
				.comm	LBLNAME.5994,2816,1
				.comm	LBL.5995,2827,1
		.Letext0:
