main9p.s 590 B

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