         Edinburgh IMP77 Compiler - Version 8.4
    1
				.machinemode zarch
				.machine "zEC12"
		.text
		.Ltext0:
				.align	8
		A.6693:
		.LFB186:
    2 %BEGIN
		.LVL4:
				stmg	%r10,%r15,80(%r15)
				lay	%r15,-1472(%r15)
				ear	%r1,%a0
				sllg	%r1,%r1,32
				ear	%r1,%a1
				mvc	1464(8,%r15),40(%r1)
				la	%r1,1632(%r15)
				stg	%r1,432(%r15)
    3 !***********************************************************************
				brasl	%r14,_imp_initialise@PLT
		.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
				mvhi	424(%r15),0
   11       %CYCLE I=-1,1,1
   12          %CYCLE J=0,1,3
   13             %IFNOTNOTNOTNOT I=1 %THEN A %ELSE B
				l	%r1,420(%r15)
				chi	%r1,1
				je	.L68
		.L17:
   14             %IFNOT (%NOT I=1) %THEN A %ELSE B
				lhi	%r1,-2
				l	%r1,420(%r15)
				cije	%r1,1,.L16
		.LVL7:
		.L13:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL8:
				l	%r1,420(%r15)
				chi	%r1,1
				je	.L69
		.L19:
   15             %IF I=1 %THEN A %ELSE B
				lhi	%r10,-1
				ahi	%r1,1
				st	%r1,420(%r15)
				lr	%r1,%r10
				j	.L41
		.L68:
				j	.L18
		.L69:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL9:
				l	%r1,416(%r15)
				cije	%r1,3,.L67
		.LVL24:
		.L41:
				l	%r1,420(%r15)
				chi	%r1,1
				je	.L70
		.L21:
   16             C
				j	.L20
		.L70:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL10:
				ahi	%r1,1
				st	%r1,416(%r15)
				lgr	%r0,%r11
				brasl	%r14,C.6697
		.LVL28:
   17             %IFNOT I=1 %THEN A %ELSE B
				aghik	%r11,%r15,416
				j	.L13
		.L14:
		.LVL6:
		.L67:
		.L15:
				j	.L22
		.L23:
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL25:
		.L18:
				l	%r1,420(%r15)
				chi	%r1,1
				je	.L23
   18             %UNLESS I=1 %THEN A %ELSE B
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL26:
		.L20:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL29:
		.L24:
				l	%r1,420(%r15)
				chi	%r1,1
				je	.L25
   19             C
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL27:
		.L22:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL30:
		.L26:
				lgr	%r0,%r11
				brasl	%r14,C.6697
		.LVL31:
   20             %IF I=1 %AND J#2 %THEN A %ELSE B
				l	%r1,420(%r15)
				chi	%r1,1
				jne	.L27
   21             %IF I=1 %ANDNOT J=2 %THEN A %ELSE B
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL11:
				j	.L24
		.L25:
				l	%r1,416(%r15)
				chi	%r1,2
				jne	.L71
		.L27:
				l	%r1,420(%r15)
				chi	%r1,1
				jne	.L29
   22             C
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL12:
				j	.L26
		.L71:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL13:
				lgr	%r0,%r11
				brasl	%r14,C.6697
		.LVL15:
				l	%r1,416(%r15)
				chi	%r1,2
				je	.L29
   23             %IF I=1 %OR 1<=J<=2 %THEN A %ELSE B
				j	.L28
		.L29:
				l	%r1,420(%r15)
				chi	%r1,1
				je	.L31
		.LVL16:
		.LBB17:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL33:
   24             %IF I=1 %OR (1<=J %AND J<=2) %THEN A %ELSE B
				l	%r1,420(%r15)
				chi	%r1,1
				je	.L34
				j	.L30
		.LVL34:
		.L32:
   25             C
				l	%r1,416(%r15)
				ahi	%r1,-1
				clijh	%r1,1,.L35
		.L34:
				lgr	%r0,%r11
				brasl	%r14,C.6697
		.LVL20:
		.LBB18:
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL32:
		.L28:
   26             %IF I=0=J %THEN A %ELSE B
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL14:
		.L30:
   27             %IF I=0 %AND J=0 %THEN A %ELSE B
				l	%r1,416(%r15)
				ahi	%r1,-1
				clijh	%r1,1,.L32
		.LVL17:
		.L31:
		.LBE17:
				lt	%r1,420(%r15)
				jne	.L39
   28             C
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL19:
		.L36:
				lt	%r1,416(%r15)
				je	.L66
		.L39:
				lgr	%r0,%r11
				brasl	%r14,C.6697
		.LVL23:
		.LDL1:
   29          %REPEAT
				lt	%r1,420(%r15)
				jne	.L37
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL39:
   30       %REPEAT
				j	.L40
		.L16:
		.LBB19:
   31       PRINTSTRING("PART 1 OK ")
				lt	%r1,416(%r15)
				je	.L65
		.L37:
		.LBE18:
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL36:
				j	.L36
		.LVL37:
		.L65:
				larl	%r1,.LC0
				mvc	1208(256,%r15),0(%r1)
				mvc	440(256,%r15),1208(%r15)
				mvc	952(256,%r15),440(%r15)
		.LBE19:
		.LBB20:
		.LBB21:
				mvc	160(256,%r15),952(%r15)
				aghik	%r2,%r15,160
				brasl	%r14,_imp_printstring@PLT
		.LVL40:
		.LBE21:
		.LBE20:
   32       %CYCLE I=-1,1,1
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL18:
		.L33:
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL22:
		.L40:
   33          %CYCLE J=0,1,3
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL38:
   34             %IF I=1 %ANDNOT J#1 %THEN A %ELSE B
				j	.L38
		.L66:
				l	%r2,420(%r15)
				chi	%r2,1
				jne	.L46
   35             %IF I=1 %ANDNOT (J#1) %THEN A %ELSE B
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL35:
				j	.L33
		.L35:
				lhi	%r1,-2
				l	%r1,420(%r15)
				cije	%r1,1,.L45
		.L42:
				cije	%r1,1,.L75
		.L46:
				l	%r1,420(%r15)
				chi	%r1,1
				jne	.L48
   36             C
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL21:
		.L38:
				lhi	%r10,-1
				ahi	%r1,1
				st	%r1,420(%r15)
				lr	%r1,%r10
				j	.L60
		.L75:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL41:
				l	%r1,416(%r15)
				cije	%r1,3,.L74
		.L60:
				l	%r1,416(%r15)
				chi	%r1,1
				je	.L76
		.L48:
				lgr	%r0,%r11
				brasl	%r14,C.6697
		.LVL52:
   37             %IF I=1 %ORNOT 1<=J<=2 %THEN A %ELSE B
				j	.L47
		.L76:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL42:
				ahi	%r1,1
				st	%r1,416(%r15)
				l	%r1,420(%r15)
				chi	%r1,1
				je	.L50
		.LVL53:
		.LBB22:
   38             %IF I=1 %ORNOT (1<=J %AND J<=2) %THEN A %ELSE B
				j	.L49
		.L50:
				l	%r1,420(%r15)
				chi	%r1,1
				je	.L53
   39             C
				aghik	%r11,%r15,416
				j	.L42
		.L43:
		.L74:
		.L44:
				l	%r1,416(%r15)
				ahi	%r1,-1
				clijh	%r1,1,.L53
		.L54:
				lgr	%r0,%r11
				brasl	%r14,C.6697
		.LVL46:
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL50:
		.L47:
   40             %IF I=1 %AND J=2 %THEN A %ELSE B
				l	%r1,420(%r15)
				chi	%r1,1
				jne	.L56
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL51:
		.L49:
   41             %IFNOT (%NOT (I=1 %AND J=2)) %THEN A %ELSE B
				l	%r1,416(%r15)
				chi	%r1,2
				je	.L72
		.L56:
				l	%r1,420(%r15)
				chi	%r1,1
				jne	.L58
				l	%r1,416(%r15)
				ahi	%r1,-1
				clijh	%r1,1,.L50
		.L51:
		.LBE22:
   42             C
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL45:
		.L55:
				l	%r1,416(%r15)
				chi	%r1,2
				je	.L73
		.L58:
				lgr	%r0,%r11
				brasl	%r14,C.6697
		.LVL49:
		.LDL2:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL55:
   43          %REPEAT
				j	.L57
		.L73:
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL56:
   44       %REPEAT
				j	.L59
		.L45:
		.LBB23:
   45       PRINTSTRING("TEST OK")
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL44:
				j	.L55
		.L53:
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL47:
		.L57:
				larl	%r1,.LC1
				mvc	1208(256,%r15),0(%r1)
				mvc	696(256,%r15),1208(%r15)
				mvc	1208(256,%r15),696(%r15)
		.LBE23:
		.LBB24:
		.LBB25:
				mvc	160(256,%r15),1208(%r15)
				aghik	%r2,%r15,160
				brasl	%r14,_imp_printstring@PLT
		.LVL57:
		.LBE25:
		.LBE24:
		.LBB26:
		.LBB27:
				lghi	%r2,0
				brasl	%r14,exit@PLT
		.LVL58:
		.LBE27:
		.LBE26:
		.LFE185:
		.Letext0:
   46 %ROUTINE A; K=K<<8!'A'; %END
				lgr	%r2,%r0
				lgr	%r0,%r11
				brasl	%r14,A.6693
		.LVL43:
		.L52:
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL48:
		.L59:
   47 %ROUTINE B; K=K<<8!'B'; %END
				lgr	%r2,%r0
   48 %ROUTINE C
				l	%r1,8(%r2)
				sll	%r1,8
				oill	%r1,65
				st	%r1,8(%r2)
				stmg	%r11,%r15,88(%r15)
				lay	%r15,-160(%r15)
				lgr	%r11,%r0
   49       %IF K=M'AA' %OR K=M'BB' %OR K=M'AAA' %OR K=M'BBB' %THEN K=0 %ANDRETURN
				l	%r1,8(%r2)
				sll	%r1,8
				oill	%r1,66
				st	%r1,8(%r2)
				lgr	%r1,%r0
				l	%r1,8(%r1)
				lhi	%r2,16705
				crje	%r1,%r2,.L6
				lgr	%r0,%r11
				brasl	%r14,B.6695
		.LVL54:
				j	.L52
		.L72:
   50       WRITE(I,1); WRITE(J,1); WRITE(K,1)
				br	%r14
		.LFE186:
				.align	8
		B.6695:
		.LFB187:
				lhi	%r2,16962
				crje	%r1,%r2,.L6
				iilf	%r2,4276545
				crje	%r1,%r2,.L6
				lghi	%r3,1
				lgf	%r2,4(%r11)
				brasl	%r14,_imp_writeint@PLT
		.LVL0:
   51       %MONITOR
				br	%r14
		.LFE187:
				.align	8
		C.6697:
		.LFB188:
				lghi	%r3,1
				lgf	%r2,0(%r11)
				brasl	%r14,_imp_writeint@PLT
		.LVL1:
   52       %STOP
				iilf	%r2,4342338
				crjlh	%r1,%r2,.L7
		.L6:
				lghi	%r3,1
				lgf	%r2,8(%r11)
				brasl	%r14,_imp_writeint@PLT
		.LVL2:
		.LBB15:
		.LBB16:
				lghi	%r2,0
				brasl	%r14,exit@PLT
		.LVL3:
		.LBE16:
		.LBE15:
		.LFE188:
				.section	.rodata
				.align	2
		.LC0:
				.byte	10
				.string	"PART 1 OK "
				.zero	244
				.align	2
		.LC1:
				.byte	7
				.string	"TEST OK"
				.zero	247
		.text
				.align	8
		.globl main
		main:
		.LFB185:
   53 %END
   54 %ENDOFPROGRAM
				lgr	%r1,%r0
				mvhi	8(%r1),0
				br	%r14
		.L7:
   56 Statements compiled
