;; test sim21
.symbol
	array  50
	offset 54
.code 0
:start	ld r1 array
	ld r2 offset
	ld r3 @1 r1
	ld r4 +r1 r2
	st array r5
	add r5 r5 #1
	st @1 r1 r5
	add r5 r5 r5
	st +r1 r2 r5
	or r3 r5 r0
	xor r3 r3 #-1
	add r0 r1 #1
	or r5 r0 r0
	sub r5 r1 #2
	mul r5 r1 r2
	div r5 r1 r2
	add r5 r0 #15
	and r5 r5 #3
	mv r4 r5
	mv r4 #200
	mv r5 #11
	push r4 r5
	pop r4 r6
	ne r6 r7 r8
	jt r6 exit
	jal r31 subr
	jmp exit
:subr	or r5 r0 #16
	shl r5 r5 #2
	shr r5 r5 r2
	ret r31
:exit	trap 0
.data 50
	50 22 33 44	;; array
	3		;; offset
.end

