         Edinburgh IMP77 Compiler - Version 8.4
    1
				.machine ppc
				.section	".text"
		.Ltext0:
				.align 2
		A.6988:
		.LFB186:
    2 %BEGIN
		.LVL4:
				stwu 1,-1344(1)
				mflr 0
				stw 0,1348(1)
				stw 31,1340(1)
				lwz 9,-28680(2)
				stw 9,1324(1)
				li 9,0
				addi 9,1,1344
				stw 9,296(1)
    3 !***********************************************************************
				bl _imp_initialise
		.LVL5:
    4 !*    TESTS SOME VERY NOTTED CONDITIONS FOR CONSISTENCY. NO OPUT IF OK *
    5 !***********************************************************************
    6 %INTEGER I,J,K
    7 %ROUTINESPEC A
    8 %ROUTINESPEC B
    9 %ROUTINESPEC C
   10       K=0
				li 9,0
				stw 9,292(1)
   11       %CYCLE I=-1,1,1
   12          %CYCLE J=0,1,3
   13             %IFNOTNOTNOTNOT I=1 %THEN A %ELSE B
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L67
		.L16:
   14             %IFNOT (%NOT I=1) %THEN A %ELSE B
				li 9,-2
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L15
		.LVL7:
		.L12:
				addi 11,1,284
				bl A.6988
		.LVL8:
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L68
		.L18:
   15             %IF I=1 %THEN A %ELSE B
				li 31,-1
				b .L12
		.L13:
		.LVL6:
		.L66:
		.L14:
				addi 9,9,1
				stw 9,288(1)
				mr 9,31
				b .L40
		.L67:
				b .L17
		.L68:
				addi 11,1,284
				bl A.6988
		.LVL9:
				lwz 9,284(1)
				cmpwi 7,9,3
				beq 7,.L66
		.LVL24:
		.L40:
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L69
		.L20:
   16             C
				b .L19
		.L69:
				addi 11,1,284
				bl A.6988
		.LVL10:
				addi 9,9,1
				stw 9,284(1)
				addi 11,1,284
				bl C.6992
		.LVL28:
   17             %IFNOT I=1 %THEN A %ELSE B
				b .L21
		.L22:
				addi 11,1,284
				bl B.6990
		.LVL25:
		.L17:
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L22
   18             %UNLESS I=1 %THEN A %ELSE B
				addi 11,1,284
				bl B.6990
		.LVL26:
		.L19:
				addi 11,1,284
				bl A.6988
		.LVL29:
		.L23:
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L24
   19             C
				addi 11,1,284
				bl B.6990
		.LVL27:
		.L21:
				addi 11,1,284
				bl A.6988
		.LVL30:
		.L25:
				addi 11,1,284
				bl C.6992
		.LVL31:
   20             %IF I=1 %AND J#2 %THEN A %ELSE B
				lwz 9,288(1)
				cmpwi 7,9,1
				bne 7,.L26
   21             %IF I=1 %ANDNOT J=2 %THEN A %ELSE B
				addi 11,1,284
				bl B.6990
		.LVL11:
				b .L23
		.L24:
				lwz 9,284(1)
				cmpwi 7,9,2
				bne 7,.L70
		.L26:
				lwz 9,288(1)
				cmpwi 7,9,1
				bne 7,.L28
   22             C
				addi 11,1,284
				bl B.6990
		.LVL12:
				b .L25
		.L70:
				addi 11,1,284
				bl A.6988
		.LVL13:
				addi 11,1,284
				bl C.6992
		.LVL15:
				lwz 9,284(1)
				cmpwi 7,9,2
				beq 7,.L28
   23             %IF I=1 %OR 1<=J<=2 %THEN A %ELSE B
				b .L27
		.L28:
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L30
		.LVL16:
		.LBB17:
				addi 11,1,284
				bl A.6988
		.LVL33:
   24             %IF I=1 %OR (1<=J %AND J<=2) %THEN A %ELSE B
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L33
				b .L29
		.LVL34:
		.L31:
   25             C
				lwz 9,284(1)
				addi 9,9,-1
				cmplwi 7,9,1
				bgt 7,.L34
		.L33:
				addi 11,1,284
				bl C.6992
		.LVL20:
		.LBB18:
				addi 11,1,284
				bl B.6990
		.LVL32:
		.L27:
   26             %IF I=0=J %THEN A %ELSE B
				addi 11,1,284
				bl B.6990
		.LVL14:
		.L29:
   27             %IF I=0 %AND J=0 %THEN A %ELSE B
				lwz 9,284(1)
				addi 9,9,-1
				cmplwi 7,9,1
				bgt 7,.L31
		.LVL17:
		.L30:
		.LBE17:
				lwz 9,288(1)
				cmpwi 7,9,0
				bne 7,.L38
   28             C
				addi 11,1,284
				bl A.6988
		.LVL19:
		.L35:
				lwz 9,284(1)
				cmpwi 7,9,0
				beq 7,.L65
		.L38:
				addi 11,1,284
				bl C.6992
		.LVL23:
		.LDL1:
   29          %REPEAT
				lwz 9,288(1)
				cmpwi 7,9,0
				bne 7,.L36
				addi 11,1,284
				bl A.6988
		.LVL40:
   30       %REPEAT
				b .L39
		.L15:
		.LBB19:
   31       PRINTSTRING("PART 1 OK ")
				lwz 9,284(1)
				cmpwi 7,9,0
				beq 7,.L64
		.L36:
		.LBE18:
				addi 11,1,284
				bl B.6990
		.LVL37:
				b .L35
		.LVL38:
		.L64:
				li 5,256
				lis 4,.LANCHOR0@ha
				la 4,.LANCHOR0@l(4)
				addi 3,1,1068
				bl memcpy
		.LVL41:
				li 5,256
				addi 4,1,1068
				addi 3,1,300
				bl memcpy
		.LVL42:
				li 5,256
				addi 4,1,300
				addi 3,1,812
				bl memcpy
		.LVL43:
		.LBE19:
		.LBB20:
		.LBB21:
				li 5,256
				addi 4,1,812
				addi 3,1,16
				bl memcpy
		.LVL44:
				addi 3,1,16
				bl _imp_printstring
		.LVL45:
		.LBE21:
		.LBE20:
   32       %CYCLE I=-1,1,1
				addi 11,1,284
				bl A.6988
		.LVL18:
		.L32:
				addi 11,1,284
				bl B.6990
		.LVL22:
		.L39:
   33          %CYCLE J=0,1,3
				addi 11,1,284
				bl A.6988
		.LVL39:
   34             %IF I=1 %ANDNOT J#1 %THEN A %ELSE B
				b .L37
		.L65:
				lwz 10,288(1)
				cmpwi 7,10,1
				bne 7,.L45
   35             %IF I=1 %ANDNOT (J#1) %THEN A %ELSE B
				addi 11,1,284
		.LVL35:
				bl B.6990
		.LVL36:
				b .L32
		.L34:
				li 9,-2
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L44
		.L41:
				cmpwi 7,9,1
				beq 7,.L74
		.L45:
				lwz 9,288(1)
				cmpwi 7,9,1
				bne 7,.L47
   36             C
				addi 11,1,284
				bl B.6990
		.LVL21:
		.L37:
				li 31,-1
				b .L41
		.L42:
		.L73:
		.L43:
				addi 9,9,1
				stw 9,288(1)
				mr 9,31
				b .L59
		.L74:
				addi 11,1,284
				bl A.6988
		.LVL46:
				lwz 9,284(1)
				cmpwi 7,9,3
				beq 7,.L73
		.L59:
				lwz 9,284(1)
				cmpwi 7,9,1
				beq 7,.L75
		.L47:
				addi 11,1,284
				bl C.6992
		.LVL57:
   37             %IF I=1 %ORNOT 1<=J<=2 %THEN A %ELSE B
				b .L46
		.L75:
				addi 11,1,284
				bl A.6988
		.LVL47:
				addi 9,9,1
				stw 9,284(1)
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L49
		.LVL58:
		.LBB22:
   38             %IF I=1 %ORNOT (1<=J %AND J<=2) %THEN A %ELSE B
				b .L48
		.L49:
				lwz 9,288(1)
				cmpwi 7,9,1
				beq 7,.L52
   39             C
				lwz 9,284(1)
				addi 9,9,-1
				cmplwi 7,9,1
				bgt 7,.L52
		.L53:
				addi 11,1,284
				bl C.6992
		.LVL51:
				addi 11,1,284
				bl B.6990
		.LVL55:
		.L46:
   40             %IF I=1 %AND J=2 %THEN A %ELSE B
				lwz 9,288(1)
				cmpwi 7,9,1
				bne 7,.L55
				addi 11,1,284
				bl B.6990
		.LVL56:
		.L48:
   41             %IFNOT (%NOT (I=1 %AND J=2)) %THEN A %ELSE B
				lwz 9,284(1)
				cmpwi 7,9,2
				beq 7,.L71
		.L55:
				lwz 9,288(1)
				cmpwi 7,9,1
				bne 7,.L57
				lwz 9,284(1)
				addi 9,9,-1
				cmplwi 7,9,1
				bgt 7,.L49
		.L50:
		.LBE22:
   42             C
				addi 11,1,284
				bl A.6988
		.LVL50:
		.L54:
				lwz 9,284(1)
				cmpwi 7,9,2
				beq 7,.L72
		.L57:
				addi 11,1,284
				bl C.6992
		.LVL54:
		.LDL2:
				addi 11,1,284
				bl A.6988
		.LVL61:
   43          %REPEAT
				b .L56
		.L72:
				addi 11,1,284
				bl A.6988
		.LVL62:
   44       %REPEAT
				b .L58
		.L44:
		.LBB23:
   45       PRINTSTRING("TEST OK")
				addi 11,1,284
				bl B.6990
		.LVL49:
				b .L54
		.L52:
				addi 11,1,284
				bl B.6990
		.LVL52:
		.L56:
				li 5,256
				lis 4,.LANCHOR0@ha
				la 4,.LANCHOR0@l(4)
				addi 4,4,256
				addi 3,1,1068
				bl memcpy
		.LVL63:
				li 5,256
				addi 4,1,1068
				addi 3,1,556
				bl memcpy
		.LVL64:
				li 5,256
				addi 4,1,556
				addi 3,1,1068
				bl memcpy
		.LVL65:
		.LBE23:
		.LBB24:
		.LBB25:
				li 5,256
				addi 4,1,1068
				addi 3,1,16
				bl memcpy
		.LVL66:
				addi 3,1,16
				bl _imp_printstring
		.LVL67:
		.LBE25:
		.LBE24:
		.LBB26:
		.LBB27:
				li 3,0
				bl exit
		.LVL68:
		.LBE27:
		.LBE26:
		.LFE185:
				.section	.rodata
				.set	.LANCHOR0,. + 0
		.LC0:
				.byte	10
				.string	"PART 1 OK "
				.zero	244
		.LC1:
				.byte	7
				.string	"TEST OK"
				.zero	247
				.section	".text"
		.Letext0:
   46 %ROUTINE A; K=K<<8!'A'; %END
				stwu 1,-16(1)
				addi 11,1,284
				bl A.6988
		.LVL48:
		.L51:
				addi 11,1,284
				bl B.6990
		.LVL53:
		.L58:
   47 %ROUTINE B; K=K<<8!'B'; %END
				stwu 1,-16(1)
   48 %ROUTINE C
				lwz 9,8(11)
				slwi 9,9,8
				ori 9,9,0x41
				stw 9,8(11)
				stwu 1,-32(1)
				mflr 0
				stw 0,36(1)
				stw 31,28(1)
				mr 31,11
   49       %IF K=M'AA' %OR K=M'BB' %OR K=M'AAA' %OR K=M'BBB' %THEN K=0 %ANDRETURN
				lwz 9,8(11)
				slwi 9,9,8
				ori 9,9,0x42
				stw 9,8(11)
				lwz 9,8(11)
				cmpwi 7,9,16705
				beq 7,.L6
				addi 11,1,284
		.LVL59:
				bl B.6990
		.LVL60:
				b .L51
		.L71:
   50       WRITE(I,1); WRITE(J,1); WRITE(K,1)
				addi 1,1,16
				blr
		.LFE186:
				.align 2
		B.6990:
		.LFB187:
				cmpwi 7,9,16962
				beq 7,.L6
				lis 10,0x41
				ori 10,10,0x4141
				cmpw 7,9,10
				beq 7,.L6
				li 4,1
				lwz 3,4(11)
				bl _imp_writeint
		.LVL0:
   51       %MONITOR
				addi 1,1,16
				blr
		.LFE187:
				.align 2
		C.6992:
		.LFB188:
				li 4,1
				lwz 3,0(31)
				bl _imp_writeint
		.LVL1:
   52       %STOP
				lis 10,0x42
				ori 10,10,0x4242
				cmpw 7,9,10
				bne 7,.L7
		.L6:
				li 4,1
				lwz 3,8(31)
				bl _imp_writeint
		.LVL2:
		.LBB15:
		.LBB16:
				li 3,0
				bl exit
		.LVL3:
		.LBE16:
		.LBE15:
		.LFE188:
				.align 2
				.globl main
		main:
		.LFB185:
   53 %END
   54 %ENDOFPROGRAM
				li 9,0
				stw 9,8(11)
				blr
		.L7:
   56 Statements compiled
