xref: /plan9-contrib/sys/src/libc/riscv/main9.s (revision ce95e1b3727b9cb1c223ffbed69aff21a8ced255)
1#define NPRIVATES	16
2
3TEXT	_main(SB), 1, $(4*XLEN + NPRIVATES*XLEN)
4
5	MOV	$setSB(SB), R3
6	MOV	R8, _tos(SB)
7
8	MOV	$p-(NPRIVATES*XLEN)(SP), R9
9	MOV	R9, _privates(SB)
10	MOV	$NPRIVATES, R9
11	MOVW	R9, _nprivates(SB)
12
13	MOV	inargc-XLEN(FP), R8
14	MOV	$inargv+0(FP), R10
15	/*AND	$-8,R2*/
16	MOV	R8, XLEN(R2)
17	MOV	R10, (2*XLEN)(R2)
18	JAL	R1, main(SB)
19loop:
20	MOV	$_exitstr<>(SB), R8
21	JAL	R1, exits(SB)
22	JMP	loop
23
24DATA	_exitstr<>+0(SB)/4, $"main"
25GLOBL	_exitstr<>+0(SB), $5
26