home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / AAKXREF.ZIP / READTIME.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1986-03-29  |  1.7 KB  |  41 lines

  1. (********************************************************************)
  2. (* THIS PROCEDURE WILL READ THE TIME IN THE REAL TIME CLOCK         *)
  3. (* INPUT        : NONE                                              *)
  4. (* INPUT/OUTPUT : NONE                                              *)
  5. (* OUTPUT       : HOURS,MINUTES,SECONDS,HUNDREDTHS                  *)
  6. (* USES         : NO SIDE EFFECTS                                   *)
  7. (* CALLS        : INT $1A,BCD TO INTEGER                            *)
  8. (* ERRORS       : NONE                                              *)
  9. (* GLOBAL VARS  : NONE                                              *)
  10. (* SUBJECT      : TIME, READ REAL TIME CLOCK                        *)
  11. (* DOMAIN       : ARNO A. KARNER                      LEVEL : 001   *)
  12. (********************************************************************)
  13.  
  14. PROCEDURE Read_Time                  ( VAR Hour      : Hour_Number   ;
  15.                                        VAR Minute    : Minute_Number ;
  16.                                        VAR Second    : Second_Number ;
  17.                                        VAR Hundredth : Hundredths ) ;
  18.  
  19. VAR
  20.    SecondBcd    : INTEGER ;
  21.    HourBcd      : INTEGER ;
  22.    MinuteBcd    : INTEGER ;
  23.    HundredthBcd : INTEGER ;
  24.    Regs         : Reg ;
  25.  
  26. BEGIN
  27.    Regs.AH := 2 ;
  28.    INTR ($1A,Regs) ;
  29.    WITH Regs DO
  30.    BEGIN (* WITH 01 *)
  31.       HourBcd      := CH ;
  32.       MinuteBcd    := CL ;
  33.       SecondBcd    := DH ;
  34.       HundredthBcd := DL ;
  35.    END ;  (* WITH 01 REGS *)
  36.    Hour      := BcdToInteger ( HourBcd ) ;
  37.    Minute    := BcdToInteger ( MinuteBcd ) ;
  38.    Second    := BcdTointeger ( SecondBcd ) ;
  39.    Hundredth := BcdTointeger ( HundredthBcd ) ;
  40. END ; (* END PROC *)
  41.