         Edinburgh IMP77 Compiler - Version 8.4
    1 %BEGIN
				.machine ppc
				.section	".text"
		.Ltext0:
				.align 2
				.globl main
		main:
		.LFB185:
		.LVL0:
				stwu 1,-7232(1)
				mflr 0
				stw 0,7236(1)
				stw 26,7208(1)
				stw 27,7212(1)
				stw 28,7216(1)
				stw 29,7220(1)
				stw 30,7224(1)
				stw 31,7228(1)
				lwz 9,-28680(2)
				stw 9,7196(1)
				li 9,0
    2   %INTEGER SYM
				bl _imp_initialise
		.LVL1:
    3   %STRING(255)S
    4   S="ABCDE"
    5   %WHILE S#"" %CYCLE
    6     SYM=CHARNO(S,1)
				li 5,255
				addi 4,1,796
				addi 3,1,540
				bl _imp_strncpy
		.LVL2:
		.LBB54:
				lbz 31,541(1)
		.LVL19:
		.LBB63:
		.LBB64:
		.LBB65:
    7     printstring("Before: S=""".S."""  Sym="); printsymbol(sym); newline
    8     printstring("""".S."""->(""")
				addi 4,1,1052
				addi 3,1,540
				bl _imp_strcmp
		.LVL18:
				cmpwi 7,3,0
				beq 7,.L3
    9     printsymbol(SYM)
				addi 5,1,540
				addi 4,1,1820
				addi 3,1,1564
				bl _imp_join
		.LVL20:
		.LBE65:
				addi 5,1,2076
				addi 4,1,1564
				addi 3,1,4636
				bl _imp_join
		.LVL21:
				li 5,256
				addi 4,1,1308
				addi 3,1,6684
				bl memcpy
		.LVL22:
		.LBE64:
		.LBE63:
		.LBB66:
		.LBB67:
				li 5,256
				addi 4,1,6684
				addi 3,1,272
				bl memcpy
		.LVL23:
				addi 3,1,272
				bl _imp_printstring
		.LVL24:
		.LBE67:
		.LBE66:
		.LBB68:
		.LBB69:
				mr 3,31
				bl _imp_printsymbol
		.LVL25:
		.LBE69:
		.LBE68:
		.LBB70:
		.LBB71:
				bl _imp_newline
		.LVL26:
		.LBE71:
		.LBE70:
		.LBB72:
		.LBB73:
		.LBB74:
   10     printstring(""").S"); newline
				lis 30,.LANCHOR0@ha
				la 30,.LANCHOR0@l(30)
		.LBE54:
				addi 5,1,540
				addi 4,1,2844
				addi 3,1,2588
				bl _imp_join
		.LVL27:
		.LBE74:
				addi 5,1,3100
				addi 4,1,2588
				addi 3,1,4636
				bl _imp_join
		.LVL28:
				li 5,256
				addi 4,1,2332
				addi 3,1,6428
				bl memcpy
		.LVL29:
		.LBE73:
		.LBE72:
		.LBB75:
		.LBB76:
				li 5,256
				addi 4,1,6428
				addi 3,1,272
				bl memcpy
		.LVL30:
				addi 3,1,272
				bl _imp_printstring
		.LVL31:
		.LBE76:
		.LBE75:
		.LBB77:
		.LBB78:
				mr 3,31
				bl _imp_printsymbol
		.LVL32:
		.LBE78:
		.LBE77:
		.LBB79:
				li 5,256
				mr 4,30
				addi 3,1,4636
				bl memcpy
		.LVL33:
				li 5,256
				addi 4,1,4636
				addi 3,1,3356
				bl memcpy
		.LVL34:
				li 5,256
				addi 4,1,3356
				addi 3,1,6172
				bl memcpy
		.LVL35:
		.LBE79:
		.LBB80:
		.LBB81:
				li 5,256
				addi 4,1,6172
				addi 3,1,272
				bl memcpy
		.LVL36:
				addi 3,1,272
				bl _imp_printstring
		.LVL37:
		.LBE81:
		.LBE80:
		.LBB82:
		.LBB83:
				bl _imp_newline
		.LVL38:
		.LBE83:
		.LBE82:
   11     S->(TOSTRING(SYM)).S
				lis 27,_imp_current_file@ha
				lis 28,_imp_current_line@ha
				lis 29,.LC8@ha
				la 29,.LC8@l(29)
		.LBB55:
				addi 26,30,256
				b .L2
		.LVL3:
		.L5:
				li 5,256
				mr 4,26
				addi 3,1,4636
				bl memcpy
		.LVL4:
				li 5,256
				addi 4,1,4636
				addi 3,1,4124
				bl memcpy
		.LVL5:
		.LBE55:
				li 5,256
				addi 4,1,4124
				addi 3,1,5660
				bl memcpy
		.LVL6:
				b .L6
		.LVL7:
		.L7:
				mr 4,29
				addi 3,1,5916
				bl _imp_c2istr
		.LVL8:
				li 5,256
				addi 4,1,5660
				addi 3,1,16
				bl memcpy
		.LVL9:
				li 5,256
				addi 4,1,5916
				addi 3,1,272
				bl memcpy
		.LVL10:
				li 8,0
				li 7,1
				li 6,7
				addi 5,1,272
				mr 4,31
				addi 3,1,16
				bl _signal_event
		.LVL11:
		.L4:
		.LBB56:
		.LBB57:
		.LBB58:
				li 5,256
				addi 4,1,3612
				addi 3,1,272
				bl memcpy
		.LVL39:
				li 5,256
				addi 4,1,3868
				addi 3,1,16
				bl memcpy
		.LVL40:
				addi 6,1,540
				addi 5,1,16
				li 4,0
				addi 3,1,272
				bl _imp_resolve
		.LVL41:
				cmpwi 7,3,0
				bne 7,.L4
				lwz 4,_imp_current_file@l(27)
				cmpwi 7,4,0
				beq 7,.L5
				addi 3,1,5660
				bl _imp_c2istr
		.LVL42:
		.L6:
				lwz 31,_imp_current_line@l(28)
		.LVL43:
				cmpwi 7,31,0
				bne 7,.L7
				li 31,11
				b .L7
		.L3:
		.LBB84:
		.LBB85:
				bl _imp_newline
		.LVL44:
		.LBE85:
		.LBE84:
		.LBB86:
		.LBB87:
				li 3,0
				bl exit
		.LVL45:
		.LBE87:
		.LBE86:
		.LFE185:
				.section	.rodata
				.set	.LANCHOR0,. + 0
		.LC5:
				.byte	4
				.string	"\").S"
				.zero	250
		.LC6:
				.byte	16
				.string	"test-new/rt3.imp"
				.zero	238
				.section	.rodata.str1.4,"aMS",@progbits,1
				.align 2
		.LC8:
				.string	"string resolution fails"
				.section	".text"
		.Letext0:
   12     printstring("After: S=""".S.""""); newline
   13   %REPEAT
   14   NEWLINE
				addi 5,1,540
				addi 4,1,5148
				addi 3,1,4892
				bl _imp_join
		.LVL12:
		.LBE58:
				addi 5,1,5404
				addi 4,1,4892
				addi 3,1,4636
				bl _imp_join
		.LVL13:
				li 5,256
				addi 4,1,4380
				addi 3,1,6940
				bl memcpy
		.LVL14:
		.LBE57:
		.LBE56:
		.LBB59:
		.LBB60:
				li 5,256
				addi 4,1,6940
				addi 3,1,16
				bl memcpy
		.LVL15:
				addi 3,1,16
				bl _imp_printstring
		.LVL16:
		.LBE60:
		.LBE59:
		.LBB61:
		.LBB62:
				bl _imp_newline
		.LVL17:
		.L2:
		.LBE62:
		.LBE61:
   15 %ENDOFPROGRAM
   19 Statements compiled
