         Edinburgh IMP77 Compiler - Version 8.4
    1 ! SIMPLE TEST OF BYTE POINTER VARIABLES AFTER PERQ
				.machinemode zarch
				.machine "zEC12"
		.text
		.Ltext0:
				.section	.rodata
				.align	2
		.LC0:
				.byte	7
				.string	"TEST OK"
				.zero	247
		.text
				.align	8
		.globl main
		main:
		.LFB185:
    2 %BEGIN
		.LVL0:
				stmg	%r14,%r15,112(%r15)
				lay	%r15,-936(%r15)
				ear	%r1,%a0
				sllg	%r1,%r1,32
				ear	%r1,%a1
				mvc	928(8,%r15),40(%r1)
    3 %owninteger fail=0
				brasl	%r14,_imp_initialise@PLT
		.LVL1:
		.LDL1:
		.LDL2:
		.LDL3:
		.LDL4:
		.LDL5:
		.LDL6:
		.LDL7:
		.LBB14:
    4 %BYTEINTEGERARRAY a(1:10)
    5 %BYTEINTEGERNAME ap
    6 %INTEGER i
    7 %ROUTINE or(%BYTEINTEGERNAME x)
    8       x=x!64
    9 %END
   10       a(i)=i %FOR i=1,1,10
   11       or(a(i)) %FOR i=1,1,10
   12       %FOR i=1,1,10 %CYCLE
   13          ap==a(i)
   14          ap=ap!128
   15          write(a(i),4) %and fail=1 %UNLESS a(i)=i!x'c0'
   16       %REPEAT
   17       printstring("TEST OK") %if fail=0
   18 %ENDOFPROGRAM
				larl	%r1,.LC0
				mvc	672(256,%r15),0(%r1)
				mvc	416(256,%r15),672(%r15)
				mvc	672(256,%r15),416(%r15)
		.LBE14:
		.LBB15:
		.LBB16:
				mvc	160(256,%r15),672(%r15)
				aghik	%r2,%r15,160
				brasl	%r14,_imp_printstring@PLT
		.LVL2:
		.LDL8:
		.LBE16:
		.LBE15:
		.LBB17:
		.LBB18:
				lghi	%r2,0
				brasl	%r14,exit@PLT
		.LVL3:
		.LBE18:
		.LBE17:
		.LFE185:
		.Letext0:
   17 Statements compiled
