main9p.s 747 B

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