User Tools

Site Tools


cdc:nos2.source:nam5871:np_shrk

NP$SHRK

Table Of Contents

  • [00012] PROC NP$SHRK(CHKENTRY)

Source Code

NP$SHRK.txt
  1. *DECK NP$SHRK
  2. *IF,DEF,XFR
  3. USETEXT NX$ACBF
  4. USETEXT AIPDEF
  5. USETEXT HEADER
  6. USETEXT NP$STAT
  7. USETEXT NP$DB
  8. USETEXT NP$NWL
  9. USETEXT NP$MODE
  10. USETEXT NP$GETS
  11. USETEXT NX$ACBX
  12. PROC NP$SHRK(CHKENTRY);
  13. BEGIN
  14. #
  15. **
  16. * 1. PROC NAME AUTHOR DATE
  17. *
  18. * NP$SHRK Y. C. YIP 02/16/1984
  19. *
  20. * 2. FUNCTIONAL DESCRIPTION.
  21. *
  22. * NP$SHRK SHRINKS THE CHECKMARK TABLE UP TO AND INCLUDING
  23. * THE ENTRY INDICATED BY CHKENTRY.
  24. *
  25. * 3. METHOD USED.
  26. *
  27. * NP$SHRK TAKES THE VALUE OF THE CHK$IDX AND ELIMINATES
  28. * THE INTERMEDISTE ENTRIES BETWEEN THE ENTRY NPCHKENTRY
  29. * AND THE FIRST ENTRY. THE ENTRY NPCHKENTRY IS RETAINED.
  30. *
  31. * 4. ENTRY CONDITIONS:
  32. *
  33. * NPCHKENTRY = CHECK MARK TO BE ELIMINATED.
  34. *
  35. *
  36. * 5. EXIT CONDITIONS:
  37. *
  38. * NPCHKENTRY IS NOT CHANGED.
  39. * CHK$IDX IS UPDATED TO REFLECT THE NEW TABLE SIZE.
  40. #
  41. #
  42. ****
  43. #
  44. ITEM CHKENTRY; # ENTRY TO BE SHRUNK UP TO #
  45. ITEM ITEMP; # INDEX #
  46. ITEM INDEX; # LOOP INDEX #
  47. ITEM CONT B; # CONTINUATION FLAG #
  48.  
  49. CONTROL EJECT;
  50. #
  51. ************************************************************************
  52. * *
  53. * CODE OF PROC NP$SHRK BEGINS HERE *
  54. * *
  55. ************************************************************************
  56. #
  57. P<CHK> = FTTCKTBL[FTTINDEX]; # PULL TEMPLATE TO FTT CHECKMARK #
  58. # TABLE ADDRESS #
  59. CONT = TRUE; # SET CONTINUATION FLAG TO TRUE #
  60. ITEMP = CHKENTRY; # INITILIZE ENTRY AT SHRINK POINT #
  61. FOR INDEX = CHK$START STEP 1 WHILE CONT
  62. DO
  63. BEGIN
  64. CHK$WRD1[INDEX] = CHK$WRD1[ITEMP]; # COPY WORD ONE OF ENTRY #
  65. CHK$WRD2[INDEX] = CHK$WRD2[ITEMP]; # COPY WORD TWO OF ENTRY #
  66. ITEMP = ITEMP + 1;
  67. IF ITEMP GR CHK$IDX[0] # CHECK FOR LAST ENTRY MOVED #
  68. THEN
  69. BEGIN
  70. CONT = FALSE; # SET FLAG TO FALSE #
  71. END
  72. END
  73. CHK$IDX[0] = CHK$IDX[0] - (CHKENTRY - CHK$START);
  74. RETURN; # RETURN TO CALLER #
  75. END # END OF PROC NP$SHRK #
  76. TERM
  77. *ENDIF
cdc/nos2.source/nam5871/np_shrk.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator