User Tools

Site Tools


cdc:nos2.source:nam5871:npicmd

NPICMD

Table Of Contents

  • [00011] PRGM NPICMD
  • [00074] PROC BLINK
  • [00075] PROC MGETS
  • [00076] PROC MRELS
  • [00077] PROC OSCHAPP
  • [00078] PROC XTRACE

Source Code

NPICMD.txt
  1. *DECK NPICMD
  2. USETEXT NIPDEF
  3. USETEXT AHEADER
  4. USETEXT PT
  5. USETEXT AT
  6. USETEXT ACB
  7. USETEXT ACNB
  8. USETEXT NCNB
  9. USETEXT PARAMP
  10. USETEXT SUPMSG
  11. PRGM NPICMD;
  12. CONTROL NOLIST;
  13. CONTROL LIST;
  14. STARTIMS;
  15. #
  16. *1DC NPICMD
  17. *
  18. * 1. PROC NAME AUTHOR DATE
  19. * NPICMD N. NICHOLAS 79/09/12
  20. *
  21. * 2. FUNCTIONAL DESCRIPTION.
  22. * PROCESS ICMDR NETWORK BLOCK FROM N P U
  23. *
  24. * 3. METHOD USED.
  25. * GET BUFFER FOR INTR/USR/BLOCK
  26. * CREATE INTR/USR SUPERVISOR MESSAGE
  27. * LINK SUPERVISOR MESSAGE TO APP DATA RING
  28. * SCHEDULE APPLICATION
  29. *
  30. * 4. ENTRY PARAMETERS.
  31. * PARAMP1 BLOCK ADDRESS
  32. * PARAMP2 FWA OF NCNB
  33. *
  34. * 5. EXIT PARMETERS.
  35. * PARAMP2 ZERO IF USR/MSG NOT PROCESSED
  36. *
  37. * QHICMD TRUE = ICMD BLOCK PROCESSED
  38. * 6. COMDECKS CALLED.
  39. * CYBERDEFS INTR INTRDEF AT
  40. * HEADER INPAR INPARU AT ACB ACNB NCNB
  41. * MISCOM MISDEF SUPMSG OSIZE
  42. *
  43. * 7. ROUTINES AND OVERLAYS CALLED.
  44. *
  45. * MGETS ALLOCATE EMPTY BUFFER
  46. * MRELS RELEASE BUFFER SPACE
  47. * BLINK LINK DATA BLOCK INTO DATA RING
  48. * OSCHAPP SCHEDULE APPLICATION
  49. * XTRACE READ PROCEDURE CALLS
  50. *
  51. * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATIONS
  52. *
  53. * THIS PROGRAM IS A PRIMARY OVERLAY LOADED BY SUBROUTINE
  54. * OVLCALL. WHEN EXECUTION HAS COMPLETED, A JUMP IS MADE
  55. * TO LOCATION RJMAIN TO RETURN TO CALLING PROGRAM.
  56. *
  57. * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY
  58. *CALL OPSIZE
  59. * THIS OVERLAY IS CALLED BY NEIB.
  60. *
  61.  #
  62. STOPIMS;
  63. #
  64.   INPUT PARAMETERS
  65.   NONE
  66.  
  67.   OUTPUT PARMETERS
  68.   NONE
  69. #
  70. #
  71.   EXTERNAL VARIABLES
  72. #
  73. XREF BEGIN
  74. PROC BLINK; # LINK DATA BLOCK INTO DATA RING #
  75. PROC MGETS; # ALLOCATE BUFFER SPACE #
  76. PROC MRELS; # RELEASE BUFFER SPACE #
  77. PROC OSCHAPP; # SCHEDULE APPLICATION #
  78. PROC XTRACE; # TRACE CALLS #
  79. LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL #
  80. END
  81. #
  82.   INTERNAL VARIABLES
  83. #
  84. ITEM BUFADDR; # ADDRESS OF BUFFER TO HOLD INTR/USR SM #
  85. #
  86.   TEMPLATE OF APPLATION BLOCK HEADER
  87.  
  88.   BASED ARRAY USED, USETEXT ( A H E A D E R ).
  89. #
  90. #
  91.   TEMPLATE OF INTRUSR SUPERVISTOR MESSAGE
  92.  
  93.   BASED ARRAY USE BY A
  94.   USETEXT CALL TO
  95.   ( S U P $ M S G )
  96. #
  97.  
  98. #
  99.   BASED ARRAY NEEDED FOR ICMD ALPHA CHARACTER
  100. #
  101. BASED ARRAY INTCHAR;
  102. BEGIN
  103. ITEM ALPHA U(0,0,8);
  104. END
  105. #
  106. ***************** E X E C U T A B L E C O D E ******************
  107. #
  108. BEGIN
  109. CONTROL IFEQ DEBUG,1;
  110. XTRACE("PICMD") ;
  111. CONTROL FI;
  112.  
  113. P<NCNB> = PARAMP2; # NCNB ADDRESS #
  114. P<ACNB> = NCNBACNB[0]; # ACNB ADDRESS #
  115.  
  116. #
  117.   GET BUFFER TO HOLD INTR/USR SUPERVISOR MESSAGE
  118. #
  119. #
  120.   CREATE INTR/USR/SM TO SEND TO APPLICATION
  121. #
  122. P<AHEADER> = BUFADDR + BLKHSIZE; # A B H ADDRESS #
  123. ABHABT[0] = APPCMD; # SUP/MSG BLOCK TYPE #
  124. ABHACT[0] = ACINTR; # SET CHARACTER TYPE #
  125. ABHTLC[0] = LINTR; # LENGTH OF INTR/USR/SM #
  126. P<SUPMSG> = P<AHEADER> + ABHSIZE; # ADDR OF INTR/USR/SM #
  127. PFCSFC[0] = INTRUSR; # PFC SFC FOR INTR/USR/SM #
  128. INTRACN[0] = ACNBACN[0]; # APP CONNECT NUMBER #
  129. #
  130.   GET INTERRUPT ALPHA CHARACTER INTO/APP/MSG
  131. #
  132. P<INTCHAR> = PARAMP1 + BLKHSIZE + ABHSIZE;# ALPHA/CHAR ADDRESS #
  133. INTRCHR[0] = ALPHA[0];
  134. #
  135.   LINK SUPERVLSOR MESSAGE TO APPLICATLON PCB DATA RING
  136. #
  137. P<ACB> = ATACBA[ACNBAN[0]];
  138. BLINK(BUFADDR,P<ACB>);
  139. #
  140.   SCHEDULE APPLICATION FOR INTR/USR/SM
  141. #
  142. OSCHAPP(P<ACB>);
  143. # QHICMD[0] = TRUE SET INTR/USR SM FLAG #
  144. #
  145.   RELEASE BUFFER OF NPU INTR/USR/SM
  146. #
  147. GOTO RJMAIN;
  148. END
  149. TERM
cdc/nos2.source/nam5871/npicmd.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator