summaryrefslogtreecommitdiff
path: root/sys/src/libc/68020/main9p.s
blob: 6c64f6404d82542eb27c5296f7f11e1ecb7b9fc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#define NPRIVATES	16

TEXT	_mainp(SB), 1, $(16 + NPRIVATES*4)
	MOVL	$a6base(SB), A6
	MOVL	R0, _tos(SB)		/* return value of sys exec!! */
	LEA	p-64(SP),A0
	MOVL	A0,_privates+0(SB)
	MOVL	$16,R0
	MOVL	R0,_nprivates+0(SB)
	BSR	_profmain(SB)
	MOVL	__prof+4(SB), __prof+0(SB)
	PEA	inargv+0(FP)
	MOVL	inargc-4(FP), TOS
	BSR	main(SB)

loop:
	MOVL	$_exits<>+0(SB), R0
	MOVL	R0,TOS
	BSR	exits(SB)
	LEA	_profin(SB), A0		/* force loading of profile */
	BRA	loop

TEXT	_savearg(SB), 1, $0
	RTS

TEXT	_callpc(SB), 1, $0
	MOVL	argp+0(FP), A0
	MOVL	4(A0), R0
	RTS

DATA	_exits<>+0(SB)/4, $"main"
GLOBL	_exits<>+0(SB), $5