1arg=0 2sp=13 3sb=12 4 5#define NPRIVATES 16 6 7GLOBL _tos(SB), $4 8GLOBL _privates(SB), $4 9GLOBL _nprivates(SB), $4 10 11TEXT _mainp(SB), 1, $(3*4+NPRIVATES*4) 12 13 MOVW $setR12(SB), R(sb) 14 15 /* _tos = arg */ 16 MOVW R(arg), _tos(SB) 17 MOVW $private+8(SP), R1 18 MOVW R1, _privates(SB) 19 MOVW $NPRIVATES, R1 20 MOVW R1, _nprivates(SB) 21 22 /* _profmain(); */ 23 BL _profmain(SB) 24 25 /* _tos->prof.pp = _tos->prof.next; */ 26 MOVW _tos+0(SB),R1 27 MOVW 4(R1), R2 28 MOVW R2, 0(R1) 29 30 BL _envsetup(SB) 31 32 /* main(argc, argv, environ); */ 33 MOVW $inargv+0(FP), R(arg) 34 MOVW R(arg), 8(R(sp)) 35 MOVW inargc-4(FP), R(arg) 36 MOVW R(arg), 4(R(sp)) 37 MOVW environ(SB), R(arg) 38 MOVW R(arg), 8(R(sp)) 39 BL main(SB) 40loop: 41 MOVW R(arg), 4(R(sp)) 42 BL exit(SB) 43 MOVW $_div(SB), R(arg) /* force loading of div */ 44 MOVW $_profin(SB), R(arg) /* force loading of profile */ 45 B loop 46 47TEXT _savearg(SB), 1, $0 48 RET 49 50TEXT _callpc(SB), 1, $0 51 MOVW argp-4(FP), R(arg) 52 RET 53