1#define NPRIVATES 16 2 3arg=0 4sp=13 5sb=12 6 7TEXT _mainp(SB), 1, $(16 + NPRIVATES*4) 8 MOVW $setR12(SB), R(sb) 9 MOVW R(arg), _tos(SB) 10 11 MOVW $p-64(SP), R1 12 MOVW R1, _privates(SB) 13 MOVW $NPRIVATES, R1 14 MOVW R1, _nprivates(SB) 15 16 BL _profmain(SB) 17 MOVW _tos(SB), R1 18 MOVW 4(R1), R0 19 MOVW R0, 0(R1) 20 21 MOVW $inargv+0(FP), R(arg) 22 MOVW R(arg), 8(R(sp)) 23 MOVW inargc-4(FP), R(arg) 24 MOVW R(arg), 4(R(sp)) 25 BL main(SB) 26loop: 27 MOVW $_exitstr<>(SB), R(arg) 28 MOVW R(arg), 4(R(sp)) 29 BL exits(SB) 30 MOVW $_div(SB), R(arg) /* force loading of div */ 31 MOVW $_profin(SB), R(arg) /* force loading of profile */ 32 B loop 33 34TEXT _savearg(SB), 1, $0 35 RET 36 37TEXT _callpc(SB), 1, $-4 38 MOVW 0(R13), R(arg) 39 RET 40 41DATA _exitstr<>+0(SB)/4, $"main" 42GLOBL _exitstr<>+0(SB), $5 43