         Edinburgh IMP77 Compiler - Version 8.4
    1 %BEGIN
				.machinemode zarch
				.machine "zEC12"
		.text
		.Ltext0:
				.section	.rodata
				.align	2
		.LC1:
				.byte	7
				.string	"TEST OK"
				.zero	247
				.align	2
		.LC0:
				.byte	5
				.string	"ERROR"
				.zero	249
		.text
				.align	8
		.globl main
		main:
		.LFB185:
		.LVL0:
				stmg	%r6,%r15,48(%r15)
				lay	%r15,-1416(%r15)
				ear	%r1,%a0
				sllg	%r1,%r1,32
				ear	%r1,%a1
				mvc	1408(8,%r15),40(%r1)
    2 %INTEGER I,J,K
				brasl	%r14,_imp_initialise@PLT
		.LVL1:
				lghi	%r1,0
				ldgr	%f0,%r1
				lhi	%r7,0
    3       I=3; J=4; K=5
    4 %INTEGERARRAY A(0:3,2:4,1:5)
    5 %INTEGERARRAY B(0:I,2:J,1:K)
    6       %FOR I=0,1,3 %CYCLE
    7          %FOR J=2,1,4 %CYCLE
    8             %FOR K=1,1,5 %CYCLE
    9                A(I,J,K)=M'A'<<24!I<<16!J<<8!K
				aghik	%r9,%r15,416
				brctg	%r13,.L4
				j	.L26
		.L4:
		.LVL4:
				lr	%r14,%r7
				oilh	%r14,16640
				lr	%r6,%r7
				oilh	%r6,16896
				lgdr	%r8,%f0
				lhi	%r11,512
		.LVL5:
		.L2:
				ork	%r0,%r14,%r11
				ork	%r5,%r11,%r6
				lgr	%r2,%r8
				lhi	%r1,0
				lhi	%r3,5
		.LVL6:
		.L5:
				ork	%r4,%r0,%r1
				st	%r4,0(%r2,%r9)
   10                B(I,J,K)=M'B'<<24!I<<16!J<<8!K
				aghik	%r10,%r15,656
		.LVL2:
				lghi	%r13,4
				j	.L4
		.LVL3:
		.L27:
		.LDL1:
		.LDL2:
				alfi	%r7,65536
				lgdr	%r1,%f0
				aghi	%r1,60
				ldgr	%f0,%r1
				ork	%r4,%r5,%r1
				st	%r4,0(%r2,%r10)
		.LDL3:
				aghi	%r2,4
				lhi	%r1,1280
		.LVL8:
				crjlh	%r11,%r1,.L2
				j	.L27
		.L26:
   11             %REPEAT
				brct	%r3,.L5
		.LDL4:
		.LDL5:
				ahi	%r11,256
				aghi	%r8,20
   12          %REPEAT
				ahi	%r1,1
		.LVL7:
   13       %REPEAT
   14       %FOR I=0,1,3 %CYCLE
   15          %FOR J=2,1,4 %CYCLE
   16             %FOR K=1,1,5 %CYCLE
				lghi	%r8,0
				lghi	%r0,0
   17                %IF A(I,J,K)&X'FFFFFF'#B(I,J,K)&X'FFFFFF' %START
				aghik	%r11,%r15,656
				aghik	%r5,%r15,416
				lghi	%r6,4
		.LVL9:
		.L3:
				aghik	%r4,%r0,20
				aghik	%r7,%r0,80
				agrk	%r10,%r0,%r8
				agrk	%r9,%r11,%r10
				agr	%r10,%r5
		.LVL10:
		.L8:
				ly	%r1,-20(%r9,%r4)
				xilf	%r1,16777215
				lpr	%r1,%r1
				ahi	%r1,-1
				srl	%r1,31
				ly	%r2,-20(%r10,%r4)
				nr	%r1,%r2
				je	.L11
				aghik	%r2,%r4,-16
				lghi	%r3,4
		.LVL11:
		.L14:
		.LDL6:
		.LDL7:
				l	%r1,0(%r2,%r11)
				xilf	%r1,16777215
				lpr	%r1,%r1
				ahi	%r1,-1
				srl	%r1,31
				l	%r14,0(%r2,%r5)
				nr	%r1,%r14
				je	.L11
				aghi	%r2,4
				brctg	%r6,.L3
		.L9:
		.LBB12:
   18                   PRINTSTRING("ERROR")
				cgrjlh	%r4,%r7,.L8
		.LDL10:
		.LDL11:
		.LDL12:
				aghi	%r0,60
				aghi	%r8,-60
				larl	%r1,.LC0
				mvc	1152(256,%r15),0(%r1)
				mvc	896(256,%r15),1152(%r15)
				mvc	1152(256,%r15),896(%r15)
		.LBE17:
		.LBB18:
		.LBB19:
				mvc	160(256,%r15),1152(%r15)
				aghik	%r2,%r15,160
				brasl	%r14,_imp_printstring@PLT
		.LVL14:
		.LBE19:
		.LBE18:
		.LBB20:
		.LBB21:
				lghi	%r2,0
				brasl	%r14,exit@PLT
		.LVL15:
		.LBE21:
		.LBE20:
		.LFE185:
		.Letext0:
   19                   %MONITOR
				brctg	%r3,.L14
		.LDL8:
		.LDL9:
				aghi	%r4,20
   20                   %STOP
   21                %FINISH
   22             %REPEAT
   23          %REPEAT
   24       %REPEAT
   25       PRINTSTRING("TEST OK")
				larl	%r1,.LC1
				mvc	1152(256,%r15),0(%r1)
				mvc	896(256,%r15),1152(%r15)
				mvc	1152(256,%r15),896(%r15)
		.LBE12:
		.LBB13:
		.LBB14:
				mvc	160(256,%r15),1152(%r15)
				aghik	%r2,%r15,160
				brasl	%r14,_imp_printstring@PLT
		.LVL12:
		.LBE14:
		.LBE13:
		.LBB15:
		.LBB16:
				lghi	%r2,0
				brasl	%r14,exit@PLT
		.LVL13:
		.L11:
		.LBE16:
		.LBE15:
		.LBB17:
   26 %ENDOFPROGRAM
   28 Statements compiled
