main9p.s 889 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #define NPRIVATES 16
  2. GLOBL _tos(SB), $4
  3. GLOBL _privates(SB), $4
  4. GLOBL _nprivates(SB), $4
  5. TEXT _mainp(SB), 1, $(3*4+NPRIVATES*4)
  6. MOVW $setR30(SB), R30
  7. /* _tos = arg */
  8. MOVW R1, _tos(SB)
  9. /*
  10. MOVW $0,FCR31
  11. NOR R0,R0
  12. MOVD $0.5, F26
  13. SUBD F26, F26, F24
  14. ADDD F26, F26, F28
  15. ADDD F28, F28, F30
  16. */
  17. MOVW $8(SP), R1
  18. MOVW R1, _privates(SB)
  19. MOVW $NPRIVATES, R1
  20. MOVW R1, _nprivates(SB)
  21. /* _profmain(); */
  22. JAL _profmain(SB)
  23. /* _tos->prof.pp = _tos->prof.next; */
  24. MOVW _tos+0(SB),R1
  25. MOVW 4(R1),R2
  26. MOVW R2,(R1)
  27. JAL _envsetup(SB)
  28. /* main(argc, argv, environ); */
  29. MOVW inargc-4(FP), R1
  30. MOVW $inargv+0(FP), R2
  31. MOVW environ(SB), R3
  32. MOVW R1, 4(R29)
  33. MOVW R2, 8(R29)
  34. MOVW R3, 12(R29)
  35. JAL main(SB)
  36. loop:
  37. MOVW R1, 4(R29)
  38. JAL exit(SB)
  39. MOVW $_profin(SB), R0 /* force loading of profile */
  40. JMP loop
  41. TEXT _savearg(SB), 1, $0
  42. RET
  43. TEXT _callpc(SB), 1, $0
  44. MOVW argp-4(FP), R1
  45. RET