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 _mainp(SB), 1, $(16 + NPRIVATES*4) 87dd7cddfSDavid du Colombier MOVW $setR12(SB), R(sb) 9e288d156SDavid 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 BL _profmain(SB) 1751480713SDavid du Colombier MOVW _tos(SB), R1 1851480713SDavid du Colombier MOVW 4(R1), R0 1951480713SDavid du Colombier MOVW R0, 0(R1) 207dd7cddfSDavid du Colombier 217dd7cddfSDavid du Colombier MOVW $inargv+0(FP), R(arg) 227dd7cddfSDavid du Colombier MOVW R(arg), 8(R(sp)) 237dd7cddfSDavid du Colombier MOVW inargc-4(FP), R(arg) 247dd7cddfSDavid du Colombier MOVW R(arg), 4(R(sp)) 257dd7cddfSDavid du Colombier BL main(SB) 267dd7cddfSDavid du Colombierloop: 277dd7cddfSDavid du Colombier MOVW $_exitstr<>(SB), R(arg) 287dd7cddfSDavid du Colombier MOVW R(arg), 4(R(sp)) 297dd7cddfSDavid du Colombier BL exits(SB) 307dd7cddfSDavid du Colombier MOVW $_div(SB), R(arg) /* force loading of div */ 317dd7cddfSDavid du Colombier MOVW $_profin(SB), R(arg) /* force loading of profile */ 327dd7cddfSDavid du Colombier B loop 337dd7cddfSDavid du Colombier 347dd7cddfSDavid du ColombierTEXT _savearg(SB), 1, $0 357dd7cddfSDavid du Colombier RET 367dd7cddfSDavid du Colombier 37*6ca8a7e3SDavid du ColombierTEXT _callpc(SB), 1, $-4 38*6ca8a7e3SDavid du Colombier MOVW 0(R13), R(arg) 397dd7cddfSDavid du Colombier RET 407dd7cddfSDavid du Colombier 417dd7cddfSDavid du ColombierDATA _exitstr<>+0(SB)/4, $"main" 427dd7cddfSDavid du ColombierGLOBL _exitstr<>+0(SB), $5 43