home *** CD-ROM | disk | FTP | other *** search
/ kermit.columbia.edu / kermit.columbia.edu.tar / kermit.columbia.edu / harris100 / h100ker.asm < prev    next >
Assembly Source File  |  1988-08-15  |  4KB  |  122 lines

  1. * ASSEMBLY LANGUAGE SUBROUTINES:
  2. *
  3. *     PUT1CW   -- CALLED BY SNDPKT
  4. *     WRKFIL   -- CALLED BY RFILE
  5. *     BKSTOR   -- CALLED BY LOGOUT
  6. *
  7. ************************************
  8.  
  9. *     SUBROUTINE PUT1CW(BUF,NCHARS)
  10. *
  11. * WRITE AN ARRAY OF CHARACTERS TO THE TERMINAL USING 'SPECIAL' I/O
  12. *
  13. * BUF IS AN INTEGER ARRAY CONTAINING THE STRING, ONE CHARACTER PER WORD
  14. *
  15. * (SR 7/84)
  16. *
  17.         REEN                 MAKE THE ROUTINE RE-ENTRANT
  18.         XDEF  PUT1CW,*
  19.  
  20.         GAP   1              GET LOCATION OF ARG 1 IN I, BUMP J
  21.         TIM   BUFADR         SAVE BUFFER ADDRESS IN PARLIST
  22.  
  23.         GAP   1              GET LOCATION OF ARG 2 IN I, BUMP J
  24.         TMA   0,I            GET BUFFER SIZE
  25.         TAM   BUFSIZ         SAVE IN PARAMETER LIST
  26.         TJM   RETURN         SAVE RETURN ADDRESS
  27.  
  28.         TLO   PARLST         NAME THE PARLIST
  29.         BLU   $IOW           DO THE I/O
  30.         BUL*  RETURN         RETURN
  31.  
  32.         PORG  *              DATA:
  33. PARLST  DATA  '306           SPECIAL WRITE TO LFN 3
  34. BUFSIZ  DATA  0              SIZE OF BUFFER
  35. BUFADR  LAC   0              ADDRESS OF BUFFER
  36. RETURN  LAC   0              RETURN ADDRESS
  37.         END
  38.  
  39. *     LOGICAL FUNCTION WRKFIL(LFN)
  40. *
  41. * DETERMINES WHETHER LFN IS ASSIGNED TO A VALID WORKFILE
  42. *
  43. * (FOR MORE INFO SEE SYSTEM SERVICES 3.6 & 4.8)
  44. *
  45. * (SR 10/83)
  46. *
  47.         REEN                 MAKE THE ROUTINE RE-ENTRANT
  48.         XDEF  WRKFIL,*
  49.  
  50.         GAP   1              GET LOCATION OF ARG 1 IN I, BUMP J
  51.         TMA   0,I            GET LFN
  52.         TAM   TASCII         AND SAVE IN PARAMETER LIST
  53.         TJM   RETURN         SAVE RETURN ADDRESS
  54.  
  55.         TLO   TASCII         GET FILE NAME ASSIGNED TO LFN
  56.         BLU   $LFNAME
  57.         CZA                  IS IT EVEN ASSIGNED?
  58.         BNZ   NOPE           NO, ERROR
  59.  
  60.         TLO   TASCII         IS IT A WORKFILE?
  61.         BLU   $CHWORK
  62.         CZA
  63.         BNZ   NOPE           NO, (AT LEAST NOT FOR THIS PROCESS)
  64. *                            YES, IT IS A VALID WORK FILE
  65.         TNA   1              WRKFIL = .TRUE.
  66.         BUL*  RETURN         RETURN
  67.  
  68. NOPE    TZA                  WRKFIL = .FALSE.
  69.         BUL*  RETURN         RETURN
  70.  
  71.         PORG  *              DATA:
  72. TASCII  BLOK  4              PARAMETER LIST FOR FILE NAME
  73. RETURN  LAC   0              RETURN ADDRESS
  74.         END
  75. *
  76. * THIS FORTRAN CALLABLE SUBROUTINE IS USED TO SUPPLY A DATA RECORD
  77. * SUCH THAT A SUBSEQUENT BACKSPACE RECORD AND SYMBOLIC READ WILL INPUT
  78. * THAT RECORD.  THIS IS A MEANS FOR SETTING THE COMMAND LINE BEFORE
  79. * CHAINING TO ANOTHER PROGRAM.
  80. *
  81. *       FORM:    CALL BKSTOR(LFN,BUF,NWORDS,ISTAT)
  82. *
  83. *             LFN            IS THE LFN TO SUPPLY THE RECORD TO
  84. *             BUF            IS THE BUFFER TO SUPPLY
  85. *             NWORDS         IS THE NUMBER OF WORDS IN BUF()
  86. *             ISTAT          IS THE STATUS RETURNED (0 = SUCCESS)
  87. *
  88. *       AUTHOR- DAVE MCWILLIAMS
  89. *
  90. *************************
  91. *
  92.         REEN                 MAKE THIS ROUTINE RE-ENTRANT
  93.         XDEF  BKSTOR,BKSTOR
  94. BKSTOR  GAP   1              GET ADDRESS OF LFN
  95.         TMA   !0,I           GET THE LFN
  96.         LLA   6              SHIFT 6 BITS TO THE LEFT
  97.         TAM   PLIST          SAVE IN PARAMETER LIST
  98.         GAP   1              GET ADDRESS OF BUFFER
  99.         TIM   BUF            SAVE BUFFER ADDRESS
  100.         GAP   1              GET ADDRESS OF NUMBER OF WORDS
  101.         TMA   !0,I           GET NUMBER OF WORDS
  102.         TAM   NWORDS         SAVE IT
  103.         GAP   1              GET ADDRESS OF STATUS
  104.         TIM   ISTAT          SAVE ADDRESS
  105.         TJM   RETURN         SAVE OUR RETURN ADDRESS
  106. *
  107.         TLO   PLIST
  108.         BLU   $BKSTOR        CALL SERVICE TO STORE IT
  109.         TAM*  ISTAT          RETURN STATUS
  110.         BUC*  RETURN         RETURN TO CALLING PROGRAM
  111. *
  112. * DATA
  113. *
  114.         PORG  *
  115. PLIST   DATA  0              SHIFTED LFN
  116. NWORDS  DATA  0              NUMBER OF WORDS
  117. BUF     LAC   0              BUFFER ADDRESS
  118. *
  119. ISTAT   LAC   0              ADDRESS FOR STATUS TO RETURN
  120. RETURN  LAC   0              RETURN ADDRESS
  121.         END
  122.