home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol147 / rdtime80.lib < prev    next >
Encoding:
Text File  |  1984-04-29  |  1.0 KB  |  42 lines

  1.  
  2. RDTIME:    READS COMPUPRO SYSTEM SUPPORT CLOCK
  3.     IF    CLOCK        ;SUPPLY YOUR OWN ROUTINE
  4. CLKCP    EQU    50H+10        ;CLOCK COMMAND PORT
  5. ;DATESTR:DB    'MM/DD/YY  HH:MM:SS'    ;DATE STRING FORMAT
  6.  
  7.     LXI    H,DATESTR    ;POINT TO DATE STRING
  8.     LXI    D,DIGTAB     ;POINT TO DIGIT TABLE
  9.     MVI    C,6        ;READ TWO COUNTER
  10. RTWO:    MVI    B,2        ;READ ONE COUNTER
  11. ;
  12. ; READ A DIGIT FROM CLOCK CHIP
  13. ; ENTRY: DE => DIGIT TABLE DATA ENTRY
  14. ;        HL => STRING POSITION
  15. ; EXIT:  ASCII DIGIT LOADED IN STRING
  16. ;        DE & HL INCREMENTED
  17. ;
  18. RONE    LDAX    D        ;GET DIGIT TABLE DATA
  19.     INX    D        ;BUMP TO NEXT ENTRY
  20.     ADI    10H        ;SET READ BIT
  21.     OUT    CLKCP        ;OUTPUT DIGIT DATA
  22.     CPI    15H        ;CHECK FOR HOURS 10 DIGIT
  23.     IN    CLKCP+1        ;READ BCD DIGIT FROM CLOCK
  24.     JNZ    NOHOUR
  25.     SUI    8
  26. NOHOUR:    ADI    '0'        ;MAKE ASCII
  27.     MOV    M,A
  28.     INX    H        ;POINT TO NEXT STR POSITION
  29.     DCR    B    
  30.     JNZ    RONE        ;GET SECOND DIGIT
  31.     INX    H        ;BUMP OVER SEPERATOR
  32.     MOV    A,C
  33.     CPI    4
  34.     JNZ    NOBUMP
  35.     INX    H        ;BUMP OVER WHITE SPACE
  36. NOBUMP:    DCR    C
  37.     JNZ    RTWO        ;READ TWO MORE DIGITS
  38.     RET            ;RETURN TO CALLER
  39.  
  40. DIGTAB:    DB    10,9,8,7,12,11,5,4,3,2,1,0 ;CLOCK DIGIT TABLE
  41.     ENDIF    ;CLOCK
  42.     RET