         Edinburgh IMP77 Compiler - Version 8.4
    1       %EXTERNALINTEGERFN IAND(%INTEGERNAME A,B)
		.Ltext0:
				.align	2
				.global	IAND
		IAND:
		.LFB185:
		.LVL0:
    2       %RESULT=A&B
				ldr	w2, [x0]
				ldr	w0, [x1]
		.LVL1:
    3       %END
				and	w0, w2, w0
				ret
		.LFE185:
				.align	2
				.global	IOR
		IOR:
		.LFB186:
    4       %EXTERNALINTEGERFN IOR(%INTEGERNAME A,B)
		.LVL2:
    5       %RESULT=A!B
				ldr	w2, [x0]
				ldr	w0, [x1]
		.LVL3:
    6       %END
				orr	w0, w2, w0
				ret
		.LFE186:
				.align	2
				.global	IEOR
		IEOR:
		.LFB187:
    7       %EXTERNALINTEGERFN IEOR(%INTEGERNAME A,B)
		.LVL4:
    8       %RESULT=A!!B
				ldr	w2, [x0]
				ldr	w0, [x1]
		.LVL5:
    9       %END
				eor	w0, w2, w0
				ret
		.LFE187:
				.align	2
				.global	NOT
		NOT:
		.LFB188:
   10       %EXTERNALINTEGERFN NOT(%INTEGERNAME A)
		.LVL6:
   11       %RESULT=\A
				ldr	w0, [x0]
		.LVL7:
   12       %END
				mvn	w0, w0
				ret
		.LFE188:
				.align	2
				.global	ISHFT
		ISHFT:
		.LFB189:
   13       %EXTERNALINTEGERFN ISHFT(%INTEGERNAME A,B)
		.LVL8:
   14       %IF B>0 %THEN %RESULT=A<<B %ELSE %RESULT=A>>(-B)
				ldr	w1, [x1]
		.LVL9:
				cmp	w1, 0
				ble	.L6
   15       %END
				ldr	w0, [x0]
		.LVL10:
				lsl	w0, w0, w1
		.L5:
				ret
		.LVL11:
		.L6:
   16       %EXTERNALINTEGERFNSPEC RETURNCODE
   17       %EXTERNALINTEGERFN SUCESS(%INTEGERNAME DUMMY)
				neg	w1, w1
				ldr	w0, [x0]
		.LVL12:
				lsr	w0, w0, w1
				b	.L5
		.LFE189:
				.align	2
				.global	SUCESS
		SUCESS:
		.LFB190:
		.LVL13:
				stp	x29, x30, [sp, -16]!
				add	x29, sp, 0
   18       %RESULT=RETURNCODE
				bl	RETURNCODE
		.LVL14:
   19       %END
				ldp	x29, x30, [sp], 16
				ret
		.LFE190:
		.Letext0:
?DUMMY unused
   20       %ENDOFFILE
   20 Statements compiled
