13801c5d3SDavid du Colombier#define NPRIVATES 16 2219b2ee8SDavid du Colombier 33801c5d3SDavid du ColombierGLOBL _tos(SB), $4 43801c5d3SDavid du ColombierGLOBL _privates(SB), $4 53801c5d3SDavid du ColombierGLOBL _nprivates(SB), $4 63801c5d3SDavid du Colombier 7*d2fd7a44SDavid du ColombierTEXT _mainp(SB), 1, $(3*4+NPRIVATES*4) 83801c5d3SDavid du Colombier 93801c5d3SDavid du Colombier /* _tos = arg */ 103801c5d3SDavid du Colombier MOVL AX, _tos(SB) 113801c5d3SDavid du Colombier LEAL 8(SP), AX 123801c5d3SDavid du Colombier MOVL AX, _privates(SB) 133801c5d3SDavid du Colombier MOVL $NPRIVATES, _nprivates(SB) 143801c5d3SDavid du Colombier 153801c5d3SDavid du Colombier /* _profmain(); */ 1659cc4ca5SDavid du Colombier CALL _profmain(SB) 173801c5d3SDavid du Colombier 183801c5d3SDavid du Colombier /* _tos->prof.pp = _tos->prof.next; */ 193801c5d3SDavid du Colombier MOVL _tos+0(SB),DX 203801c5d3SDavid du Colombier MOVL 4(DX),CX 213801c5d3SDavid du Colombier MOVL CX,(DX) 223801c5d3SDavid du Colombier 23219b2ee8SDavid du Colombier CALL _envsetup(SB) 243801c5d3SDavid du Colombier 25360053c8SDavid du Colombier /* main(argc, argv, environ); */ 26219b2ee8SDavid du Colombier MOVL inargc-4(FP), AX 27219b2ee8SDavid du Colombier MOVL AX, 0(SP) 28219b2ee8SDavid du Colombier LEAL inargv+0(FP), AX 29219b2ee8SDavid du Colombier MOVL AX, 4(SP) 303801c5d3SDavid du Colombier MOVL environ(SB), AX 313801c5d3SDavid du Colombier MOVL AX, 8(SP) 32219b2ee8SDavid du Colombier CALL main(SB) 3359cc4ca5SDavid du Colombierloop: 34219b2ee8SDavid du Colombier MOVL AX, 0(SP) 35219b2ee8SDavid du Colombier CALL exit(SB) 3659cc4ca5SDavid du Colombier MOVL $_profin(SB), AX /* force loading of profile */ 3759cc4ca5SDavid du Colombier MOVL $0, AX 3859cc4ca5SDavid du Colombier JMP loop 3959cc4ca5SDavid du Colombier 4059cc4ca5SDavid du ColombierTEXT _savearg(SB), 1, $0 4159cc4ca5SDavid du Colombier RET 4259cc4ca5SDavid du Colombier 4359cc4ca5SDavid du ColombierTEXT _callpc(SB), 1, $0 4459cc4ca5SDavid du Colombier MOVL argp+0(FP), AX 4559cc4ca5SDavid du Colombier MOVL 4(AX), AX 46219b2ee8SDavid du Colombier RET 47