1.text
2.global _start, _write, _exit
3.global _tc_fail, _tc_pass
4
5_write:
6	addi sp, sp, -4
7	sw (sp+4), r8
8	mvi r8, 5
9	scall
10	lw r8, (sp+4)
11	addi sp, sp, 4
12	ret
13
14_exit:
15	mvi r8, 1
16	scall
171:
18	bi 1b
19
20_tc_pass:
21.data
221:
23	.ascii "OK\n"
242:
25.text
26	addi sp, sp, -16
27	sw (sp+4), ra
28	sw (sp+8), r1
29	sw (sp+12), r2
30	sw (sp+16), r3
31	mvi r1, 1
32	mvhi r2, hi(1b)
33	ori r2, r2, lo(1b)
34	mvi r3, (2b - 1b)
35	calli _write
36	lw r3, (sp+16)
37	lw r2, (sp+12)
38	lw r1, (sp+8)
39	lw ra, (sp+4)
40	addi sp, sp, 16
41	ret
42
43_tc_fail:
44.data
451:
46	.ascii "FAILED\n"
472:
48.text
49	addi sp, sp, -16
50	sw (sp+4), ra
51	sw (sp+8), r1
52	sw (sp+12), r2
53	sw (sp+16), r3
54	sw (sp+4), ra
55	mvi r1, 1
56	mvhi r2, hi(1b)
57	ori r2, r2, lo(1b)
58	mvi r3, (2b - 1b)
59	calli _write
60	lw r3, (sp+16)
61	lw r2, (sp+12)
62	lw r1, (sp+8)
63	lw ra, (sp+4)
64	addi sp, sp, 16
65	ret
66