User Tools

Site Tools


cdc:nos2.source:nam5871:ns_brk

NS$BRK

Table Of Contents

  • [00007] PROC NS$BRK(ERRCODE)
  • [00008] NS$BRK - PROCESS HOP/BRK.
  • [00012] PROCESS HOP/BRK.
  • [00041] PROC NS$DBG
  • [00047] PROC EXREDUC
  • [00048] PROC MOVEOK
  • [00049] FUNC NS$FEC U
  • [00050] PROC TSBINFO

Source Code

NS$BRK.txt
  1. *DECK NS$BRK
  2. USETEXT COM$NS
  3. USETEXT ERR$NS
  4. USETEXT KDS$NS
  5. USETEXT LIN$NS
  6.  
  7. PROC NS$BRK(ERRCODE); # PROCESS HOP/BRK #
  8. # TITLE NS$BRK - PROCESS HOP/BRK. #
  9.  
  10. BEGIN # NS$BRK #
  11. #
  12. ** NS$BRK - PROCESS HOP/BRK.
  13. *
  14. * J.C. LEE 1981
  15. *
  16. * THIS ROUTINE PROCESSES THE "BREAK" COMMAND FROM THE HOP.
  17. *
  18. * PROC NS$BRK(ERRCODE)
  19. *
  20. * ENTRY:
  21. * NONE.
  22. *
  23. * EXIT:
  24. * ERRCODE - IF ILLEGAL HOP SM IS DETECTED.
  25. *
  26. * METHOD:
  27. * IF K-DISPLAY IS ASSIGNED:
  28. * REDUCE TSB SIZE FOR PAGE-WAIT BUFFER TO 1 WORD(HDR WORD).
  29. * SET K-DISPLAY LINE COUNT TO 0.
  30. * SEND "READY.." TO K-DISPLAY.
  31. * ELSE
  32. * SET ERRCODE TO "ILLEGAL HOP SM".
  33. *
  34. #
  35.  
  36. ITEM ERRCODE U; # ERROR CODE #
  37.  
  38. $BEGIN
  39. XREF
  40. BEGIN
  41. PROC NS$DBG; # TRACE PROC CALL #
  42. END
  43. $END
  44.  
  45. XREF
  46. BEGIN
  47. PROC EXREDUC; # REDUCE TSB SIZE FOR PAGE WAIT BUFFER #
  48. PROC MOVEOK; # ALLOW MOVES #
  49. FUNC NS$FEC U; # FORMAT ERROR CODE #
  50. PROC TSBINFO; # GET TSB INFO #
  51. END
  52.  
  53.  
  54. ITEM TSBN U; # TSB NUMBER #
  55. ITEM TSBFWA U; # TSB FIRST WORD ADDRESS #
  56. ITEM TSBSIZE U; # TSB SIZE#
  57.  
  58. CONTROL EJECT;
  59.  
  60. $BEGIN
  61. NS$DBG("BRK"); # TRACE CALL #
  62. $END
  63.  
  64. IF DCW$F$ASS[0]
  65. THEN # K-DISPLAY ASSIGNED #
  66. BEGIN
  67. TSBN = DCW$PWBTSB[0];
  68. TSBINFO(TSBSIZE,TSBFWA,TSBN); # LOCATE PAGE WAIT BUFFER #
  69. P<PWB$BUFFER> = 0;
  70.  
  71. IF PWB$LC[TSBFWA] NQ 0
  72. THEN # LINES QUEUED IN PAGE WAIT BUFFER #
  73. BEGIN # DISCARD ALL LINES QUEUED IN PAGE WAIT BUFFER #
  74. EXREDUC(PWB$WC[TSBFWA]-PWB$HDRL,TSBN,FALSE,TSBFWA);
  75. PWB$LC[TSBFWA] = 0;
  76. PWB$WC[TSBFWA] = PWB$HDRL;
  77. END
  78.  
  79. MOVEOK(TSBN); # ALLOW PAGE WAIT BUFFER TO MOVE #
  80. DCW$F$PAGE[0] = FALSE; # CLEAR PAGE FULL FLAG #
  81. DCW$LC[0] = 0;
  82. END
  83.  
  84. ELSE # NAM ERROR #
  85. ERRCODE = NS$FEC(EC"ERR$SM", SMEC"HSM$HOPSM");
  86.  
  87. RETURN;
  88. END # NS$BRK PROC #
  89.  
  90. TERM
cdc/nos2.source/nam5871/ns_brk.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator