xref: /plan9/sys/src/libc/arm/main9.s (revision e288d156a88911460b465926f0fb6de139f6d766)
180ee5cbfSDavid du Colombier#define NPRIVATES	16
280ee5cbfSDavid du Colombier
37dd7cddfSDavid du Colombierarg=0
47dd7cddfSDavid du Colombiersp=13
57dd7cddfSDavid du Colombiersb=12
67dd7cddfSDavid du Colombier
780ee5cbfSDavid du ColombierTEXT	_main(SB), 1, $(16 + NPRIVATES*4)
87dd7cddfSDavid du Colombier	MOVW	$setR12(SB), R(sb)
9*e288d156SDavid du Colombier	MOVW	R(arg), _tos(SB)
107dd7cddfSDavid du Colombier
1180ee5cbfSDavid du Colombier	MOVW	$p-64(SP), R1
1280ee5cbfSDavid du Colombier	MOVW	R1, _privates(SB)
1380ee5cbfSDavid du Colombier	MOVW	$NPRIVATES, R1
1480ee5cbfSDavid du Colombier	MOVW	R1, _nprivates(SB)
1580ee5cbfSDavid du Colombier
167dd7cddfSDavid du Colombier	MOVW	$inargv+0(FP), R(arg)
177dd7cddfSDavid du Colombier	MOVW	R(arg), 8(R(sp))
187dd7cddfSDavid du Colombier	MOVW	inargc-4(FP), R(arg)
197dd7cddfSDavid du Colombier	MOVW	R(arg), 4(R(sp))
207dd7cddfSDavid du Colombier	BL	main(SB)
217dd7cddfSDavid du Colombierloop:
227dd7cddfSDavid du Colombier	MOVW	$_exitstr<>(SB), R(arg)
237dd7cddfSDavid du Colombier	MOVW	R(arg), 4(R(sp))
247dd7cddfSDavid du Colombier	BL	exits(SB)
257dd7cddfSDavid du Colombier	BL	_div(SB)
267dd7cddfSDavid du Colombier	B	loop
277dd7cddfSDavid du Colombier
287dd7cddfSDavid du ColombierDATA	_exitstr<>+0(SB)/4, $"main"
297dd7cddfSDavid du ColombierGLOBL	_exitstr<>+0(SB), $5
30