ASMB
    HED .           T  M  S     L  O  G     L  I  B  R  A  R  Y 
      NAM TMSLG,7 92080-1X587 REV.2026  800229  1140
  SPC 3 
**********************************************************************
*                                                                    *
*     NAME:   TMSLG     LOGGING LIBRARY FOR TMS                      *
*     SOURCE: &TMSLG    92080-18587                                  *
*     BINARY: %TMSLG    ----NONE---    PART OF  %TMSLB  92080-16100  *
*                                                                    *
*     PGMR:   MILES NAKAMURA                                         *
*                                                                    *
**********************************************************************
      SPC 2 
*     **************************************************************
*     * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980.  ALL RIGHTS    *
*     * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- *
*     * PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH-  *
*     * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.  *
*     **************************************************************
  SPC 3 
      ENT OPLOG,WRLOG 
*REQ  EXT DMPTM 
      EXT DORMT,EXEC,RMPAR
*     EXT DBUGR 
  SPC 1 
A     EQU 0 
B     EQU 1 
      SUP 
   SKP
   HED OPLOG - INITIALIZE AND CLOSE LOG FILE
* 
**********************************************************************
* 
* OPLOG 
* 
* CALLING SEQUENCE (ASSEMBLY LANGUAGE ONLY):
* 
*       LDA ICODE     (ICODE=0 - OPEN LOG FILE, ICODE=1 CLOSE LOG FILE) 
*       JSB OPLOG 
*       DEF LNAME     ADDR OF LOG FILE NAME OR DEVICE NO. 
*       DEF LU        LISTING LU
* 
* RETURN VALUES:
* 
*     A REG - ERROR CODE (0 IS OK)
*     B REG - CLASS IO OF DCLOG IF OK 
*             SUBROUTINE CODE IF ERROR (0 - OPEN, 1 - CLOSE)
* 
**********************************************************************
* 
OPLOG NOP           INITIALIZE (B=0) OR TERMINATE (B=1) DCLOG 
      STA BUFF      STORE REQUEST CODE
      STA TEMP1 
      CLA 
      STA BUFF+1    ZERO CLASS IO WD
      LDA OPLOG,I   GET ADDR OF LOG FILE/DEVICE 
      LDB .BUF4     MOVE NAME, SEC CODE, CR NO TO SEND BUFFER 
      MVW D5
      ISZ OPLOG 
      LDA OPLOG,I 
      STA LU
      ISZ OPLOG 
* 
      JSB EXEC      SCHEDULE DCLOG
      DEF *+10
      DEF NAB23 
      DEF DCLOG 
LU    BSS 1 
      DEF * 
      DEF * 
      DEF * 
      DEF * 
      DEF BUFF
      DEF D9
      JMP OPLER,I       ERROR, RETURN 
* 
      JSB RMPAR     GET RETURNED STATUS 
      DEF *+2 
      DEF BUFF
      LDA BUFF      GET STATUS
      LDB BUFF+1    GET CLASS IO WD 
      SZA           ERROR?
      LDB TEMP1        YES, RETURN SUBROUTINE CODE IN B REG 
      JMP OPLOG,I   RETURN
* 
OPLER LDA D900  
      LDB TEMP1     GET SUBROUTINE CODE 
      JMP OPLOG,I 
  HED LOG DATA
* 
**********************************************************************
* 
* WRLOG - LOG DATA
* 
* CALLING SEQUENCE (ASSEMBLY LANGUAGE ONLY):
* 
*       JSB WRLOG 
*       DEF OBUF      DATA BUFFER 
*       DEF WCNT      WORD COUNT
*       DEF DCCLA     DCLOG CLASS 
*       DEF RTCLA     RETURN CLASS
*       DEF PAR1      SPECIAL PARAMETER #1
*       DEF PAR2      SPECIAL PARAMETER #2
* 
* 
* RETURN PARAMETERS:
* 
*       A REG - ERROR CODE  (0 - OK)
* 
**********************************************************************
* 
WRLOG NOP 
      LDA WRLOG,I 
      STA OBUF      BUFFER TO BE LOGGED 
      ISZ WRLOG 
      LDA WRLOG,I 
      STA WCNT      BUFFER SIZE IN WORDS
      ISZ WRLOG 
      LDA WRLOG,I 
      STA DCCLA     DCLOG CLASS 
      ISZ WRLOG 
      LDA WRLOG,I 
      STA RTCLA     RETURN CLASS
      ISZ WRLOG 
      LDA WRLOG,I 
      STA PAR1      SPECIAL PARAMETER #1
      ISZ WRLOG 
      LDA WRLOG,I 
      STA PAR2      SPECIAL PARAMETER #2
      ISZ WRLOG 
* 
      LDA RTCLA,I   STORE RETURN CLASS INTO USER BUFFER 
      LDB OBUF
      INB 
      STA B,I 
* 
      JSB EXEC
      DEF *+8 
      DEF NAB20 
      DEF D0
OBUF  BSS 1 
WCNT  BSS 1 
PAR1  BSS 1 
PAR2  BSS 1 
DCCLA BSS 1 
      JMP SCHER 
* 
* SCHEDULE DCLOG IF NECESSARY 
* 
      JSB DORMT     GET DCLOG STATUS
      DEF *+3 
      DEF DCLOG 
      DEF TEMP1 
* 
      SSA           DORMANT?
      JMP SCHER        YES, FUCK UP 
      LDA TEMP1        NO, CHECK STATUS 
      AND B17 
      SZA           SCHEDULE NEEDED ? 
      JMP LGLO1        NO, RETURN 
* 
      JSB EXEC         YES, SCHEDULE DCLOG
      DEF *+8 
      DEF NAB24     QUEUE REQUEST, NO WAIT, NO ABORT
      DEF DCLOG 
      DEF * 
      DEF * 
      DEF * 
      DEF DM1       SPECIAL PARAMETER 
      DEF * 
      JMP SCHER     ERROR RETURN
* 
LGLO1 CLA 
      JMP WRLOG,I 
* 
SCHER LDA D900  
      LDB D2        GET SUBROUTINE CODE 
      JMP WRLOG,I 
* 
* 
* 
RTCLA BSS 1 
TEMP1 BSS 1 
.BUF4 DEF BUFF+4
BUFF  BSS 9 
DCLOG ASC 3,DCLOG 
* 
NAB20 OCT 100024
NAB23 OCT 100027
NAB24 OCT 100030
D900  DEC 900 
DM1   DEC -1
D0    DEC 0 
D2    DEC 2 
D5    DEC 5 
D9    DEC 9 
B17   OCT 17
* 
      END 
                                                                                                                                  