;  test assembly file for as2
.symbol
	print 1	  ; special trap to print R[0]
	stop 0
	temp 101
	one 102
	array 103
	base 5
	idx 6
.code 0
:start
	ld r1 one	; absolute address
	ld r2 @10 r3	; displacement address
	ld r1 +base idx	; index address
	st r1 array
	st r1 @one base
	st r1 +r2 r3
	jmp loop
	jal r3 sub1
	jmp start	; jump uncondition
:loop
	add r1 r3 #4	; immediate address
	add r1 r2 r3
	or r1 r2 r0	; move r1 <- r2
	xor r1 r2 #-1	; r1 = complement r2
	mul r1 r2 r3
	mov r1 r2
	mov r1 #20
	push r29 r2
	pop r29 r3
:sub1
	shl r3 r4 #8
	shr r1 r2 r3
	ret r3		; return from subroutine
	trap r0 #print
	trap r0 #stop
 .data 100		; data segment
  11 22 33		; size word
.end
