User Tools

Site Tools


cdc:nos2.source:nam5871:ssoeop

SSOEOP

Table Of Contents

  • [00003] PROC SSOEOP
  • [00004] EXECUTE OVERLAY PROGRAM.
  • [00007] EXECUTE OVERLAY PROGRAM.
  • [00047] PROC SSBCBW
  • [00048] PROC SSBFPB
  • [00049] PROC SSOJOP
  • [00050] PROC SSSAWR

Source Code

SSOEOP.txt
  1. *DECK SSOEOP
  2. USETEXT TEXTSS
  3. PROC SSOEOP;
  4. # TITLE - EXECUTE OVERLAY PROGRAM. #
  5. BEGIN
  6. #
  7. ** SSOEOP - EXECUTE OVERLAY PROGRAM.
  8. *
  9. * S. H. FISCHER. 82/05/28.
  10. *
  11. * THIS ROUTINE EXECUTES OVERLAYS WHEN THEY ARE LOADED.
  12. *
  13. * PROC SSOEOP
  14. *
  15. * ENTRY:
  16. * OVNUM = OVERLAY NUMBER TO BE EXECUTED.
  17. * ODT$EADD[OVNUM] = OVERLAY EXECUTION STARTING POINT.
  18. * ORT$MAP[OVNUM] = ENTRY POINT BIT MAP FOR OVERLAY.
  19. *
  20. * EXIT:
  21. * IF ALL ENTRY POINT NEEDED IN THE OVERLAY HAVE BEEN EXECUTED,
  22. * SSOVLD = TRUE TO SEARCH FOR NEXT OVERLAY NEEDED.
  23. *
  24. * IF ALL ENTRY POINTS NEEDED IN THE OVERLAY HAVE NOT BEEN EXECUTED
  25. * A WORKLIST REQUEST IS MADE FOR THIS ROUTINE TO EXECUTE AGAIN.
  26. *
  27. * METHOD:
  28. * THE OVERLAY REQUEST TABLE ENTRY FOR THE OVERLAY IS EXAMINED
  29. * FOR THE LOWEST NUMBERED ENTRY POINT TO BE EXECUTED.
  30. * THIS NUMBER IS PASSED TO THE OVERLAY IN A COMMON CELL.
  31. * THE BIT IS CLEARED AND THE OVERLAY ENTERED.
  32. * UPON RETURN IS ANY BITS REMAIN INDICOTING ADDITIONAL ENTRY POINT
  33. * TO EXECUTE, A WOKLIST REQUEST IS MADE TO CONTINUE EXCUTATION
  34. * AFTER CHECKING FOR HIGHER PRIORITY ACTIVE.
  35. * OTHERWISE THE OVERLAY LOADER OS RESTARTED BY CHANGING ITS
  36. * FLAG.
  37. #
  38.  
  39.  
  40.  
  41.  
  42. #
  43. **** PROC SSOEOP - XREF LISTS BEGINS.
  44. #
  45. XREF
  46. BEGIN
  47. PROC SSBCBW; # CLEAR BIT IN WORD #
  48. PROC SSBFPB; # FIND PRIORITY BIT #
  49. PROC SSOJOP; # JUMP TO OVERLAY PROGRAM #
  50. PROC SSSAWR; # ACCEPT WORKLIST REQUEST #
  51. END
  52. #
  53. ****
  54. #
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62. IF ORT$MAP[OVNUM] NQ 0
  63. THEN
  64. BEGIN
  65. SSBFPB( ORT[OVNUM], OVENUM); # FIND LOWEST ENTRY POINT NEEDED#
  66.  
  67. SSBCBW( ORT[OVNUM], OVENUM); # CLEAR BIT FOR ENTRY POINT #
  68.  
  69. OVENUM = OVENUM - 1;
  70. P<EAHPM> = ODT$FWA[OVNUM];
  71. SSOJOP( EAH$EPA[0] ); # EXECUTE THE OVERLAY #
  72. END
  73.  
  74.  
  75. IF ORT$MAP[OVNUM] NQ 0
  76. THEN
  77. BEGIN
  78. SSSAWR(SSOEOPW); # RESTART THIS ROUTINE #
  79. END
  80. ELSE
  81. BEGIN
  82. SSOVLD = TRUE; # THIS OVERLAY IS DONE #
  83. END
  84.  
  85.  
  86.  
  87. RETURN; # **** RETURN **** #
  88.  
  89. END # SSOEOP #
  90. TERM
cdc/nos2.source/nam5871/ssoeop.txt ยท Last modified: 2023/08/05 17:23 by Site Administrator