;;  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 array r1
	st @one base r1
	st +r2 r3 r1
	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
	mv r1 r2
	mv r1 #20
	push r29 r2
	pop r29 r3
	not r3 r2
:sub1
	shl r3 r4 #8
	shr r1 r2 r3
	ret r3		;; return from subroutine
	trap print
	trap stop
.data 100		;; data segment
  11 22 33		;; size word
.end
