ASMB,R,L
      HED ONOFF ROUTINE 
*     NAME:   ONOFF 
*     SOURCE: 92067-18170 
*     RELOC:  92067-16125 
*     PGMR:   A.M.G.
* 
*  ***************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS     *
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
*  ***************************************************************
* 
      NAM ONOFF,8 92067-16125 REV.1903 750128 
      ENT ONOFF,FIT.
* 
      EXT .ENTR,CONV.,EXEC,J.NAM,.DRCT
      EXT OPEN.,WRITF,O.BUF,TMP.,.DFER
* 
* 
JNAME BSS 1 
TMVAL BSS 1 
* 
ONOFF NOP 
      JSB .ENTR 
      DEF JNAME 
      LDB JNAME,I 
      SZB,RSS 
      JMP OFFM
      JSB .DFER 
      DEF JOBM+4
      DEF JNAME,I 
      JSB .DFER 
      DEF J.NAM 
      DEF JNAME,I 
      LDA MONTH+2 
      STA ONOFM+1 
      LDA ON
      STA ONOFM+2 
      JMP CONVT 
OFFM  JSB .DFER 
      DEF JOBM+4
      DEF J.NAM 
      LDA OFF 
      LDB OFF+1 
      STA ONOFM+1 
      STB ONOFM+2 
CONVT LDA TMVAL 
      ADA D3
      STA SAVE
      JSB CONV.     CONVERT HOURS.
      DEF *+4 
      DEF SAVE,I
      DEF TMES1 
      DEF D2
      LDA TMVAL 
      ADA D2
      STA YEAR
      JSB CONV. 
      DEF *+4 
      DEF YEAR,I
      DEF SAVE
      DEF D2
      JSB .DRCT 
      DEF TMES1+1 
      LDB SAVE
      JSB FIT.
      LDA TMVAL 
      INA 
      STA SAVE
      JSB CONV. 
      DEF *+4 
      DEF SAVE,I
      DEF TMES2+1 
      DEF D2
      JSB CONV. 
      DEF *+4 
      DEF TMVAL,I 
      DEF SAVE
      DEF D2
      JSB .DRCT 
      DEF TMES3 
      LDB SAVE
      JSB FIT.
      LDA TMVAL 
      ADA D5
      STA SAVE
      LDB 0,I       CHECK FOR LEAP YEAR.
      CLE,ERB 
      LDA RYTAB 
      SEZ,SLB,RSS 
      LDA LYTAB     GET CORRECT TABLE ADDRESS.
      STA DAY 
      JSB CONV.     CONVERT YEAR TO ASCII.
      DEF *+4 
      DEF SAVE,I
      DEF YEAR+1
      DEF D4
      LDA TMVAL 
      ADA D4
      STA SAVE
      CLB 
LOOP  LDA DAY,I     FIGURE OUT MONTH. 
      SZA,RSS 
      JMP ENDLP 
      ADA SAVE,I
      SSA,RSS 
      JMP ENDLP 
      INB 
      ISZ DAY 
      JMP LOOP
ENDLP INA 
      STA SAVE
      BLS 
      ADB MNTAB 
      LDA 1,I 
      STA MONTH 
      INB 
      LDA 1,I 
      STA MONTH+1 
      JSB CONV.     CONVERT DAY AND STORE.
      DEF *+4 
      DEF SAVE
      DEF DAY 
      DEF D2
      JSB .DRCT 
      DEF TMP.
      ADA D3
      STA PAR3
      JSB OPEN.     OPEN THE LIST FILE. 
      DEF *+5 
      DEF O.BUF 
      DEF TMP.
PAR3  BSS 1 
      DEF D0
      JSB WRITF 
      DEF *+5 
      DEF O.BUF 
      DEF SAVE1 
      DEF JOBM+1
      DEF JOBM
      JMP ONOFF,I 
* 
ADDR  BSS 1 
SAVE1 BSS 1 
FIT.  NOP 
      STA ADDR
      STB SAVE1 
      ASR 8 
      LDA ADDR,I
      RRL 8 
      BLF,BLF 
      STB ADDR,I
      ISZ ADDR
      LDA SAVE1 
      ASL 16
      LDA ADDR,I
      ALF,ALF 
      RRL 8 
      STB ADDR,I
      JMP FIT.,I
* 
D0    DEC 0 
WRITE EQU * 
D2    DEC 2 
D3    DEC 3 
D4    DEC 4 
D5    DEC 5 
ICNW  OCT 6 
SAVE  BSS 1 
* 
RYTAB DEF *+1 
      DEC -335
      DEC -305
      DEC -274
      DEC -244
      DEC -213
      DEC -182
      DEC -152
      DEC -121
      DEC -91 
      DEC -60 
      DEC -32 
      DEC -1
      DEC 0 
* 
LYTAB DEF *+1 
      DEC -336
      DEC -306
      DEC -275
      DEC -245
      DEC -214
      DEC -183
      DEC -153
      DEC -122
      DEC -92 
      DEC -61 
      DEC -32 
      DEC -1
      DEC 0 
* 
MNTAB DEF *+1 
      ASC 2, DEC
      ASC 2, NOV
      ASC 2, OCT
      ASC 2, SEP
      ASC 2, AUG
      ASC 2, JUL
      ASC 2, JUN
      ASC 2, MAY
      ASC 2, APR
      ASC 2, MAR
      ASC 2, FEB
      ASC 2, JAN
* 
JOBM  DEC 25
      ASC 1,
      ASC 2,JOB 
      BSS 3 
ONOFM ASC 1,
      ASC 4,     AT 
TMES1 BSS 1 
      ASC 1,: 
TMES2 ASC 1, :
      BSS 1 
TMES3 ASC 1,. 
      ASC 1,
      ASC 1, O
      ASC 1,N 
DAY   BSS 1 
MONTH BSS 2 
      ASC 1,
YEAR  BSS 2 
ON    ASC 1,ON
OFF   ASC 2, OFF
* 
      END 
                    