main9p.s 615 B

123456789101112131415161718192021222324252627282930313233343536
  1. #define NPRIVATES 16
  2. TEXT _mainp(SB), 1, $(16 + NPRIVATES*4)
  3. MOVW $setSB(SB), R2
  4. MOVW R3, _clock(SB)
  5. MOVW $p-64(SP), R4
  6. MOVW R4, _privates+0(SB)
  7. MOVW $16, R4
  8. MOVW R4, _nprivates+0(SB)
  9. BL _profmain(SB)
  10. MOVW __prof+4(SB), R3
  11. MOVW R3, __prof+0(SB)
  12. MOVW inargc-4(FP), R3
  13. MOVW $inargv+0(FP), R4
  14. MOVW R3, 4(R1)
  15. MOVW R4, 8(R1)
  16. BL main(SB)
  17. loop:
  18. MOVW $exits<>(SB), R3
  19. MOVW R3, 4(R1)
  20. BL exits(SB)
  21. MOVW $_profin(SB), R3 /* force loading of profile */
  22. BR loop
  23. TEXT _savearg(SB), 1, $0
  24. RETURN
  25. TEXT _callpc(SB), 1, $0
  26. MOVW argp-4(FP), R3
  27. RETURN
  28. DATA exits<>+0(SB)/4, $"main"
  29. GLOBL exits<>+0(SB), $5