home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 03 / tricks / lastused.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-11-29  |  1.5 KB  |  58 lines

  1. (* ------------------------------------------------------ *)
  2. (*                    LASTUSED.PAS                        *)
  3. (*          (c) 1990  Günter Teuschler & TOOLBOX          *)
  4. (* ------------------------------------------------------ *)
  5. PROGRAM LastUsed;
  6.  
  7. USES Crt, Dos;
  8.  
  9. VAR
  10.   tag, monat, jahr, stunde, minute : INTEGER;
  11.  
  12.   FUNCTION bcd_int(x : BYTE) : INTEGER;
  13.   VAR
  14.     w : BYTE;
  15.   BEGIN
  16.     port[$70] := x;
  17.     w := port[$71];
  18.     bcd_int := 10 * (w DIV 16) + (w MOD 16);
  19.   END;
  20.  
  21.   PROCEDURE copy_cmos(quelle, ziel : BYTE);
  22.   VAR
  23.     wert    : BYTE;
  24.   BEGIN
  25.     port[$70] := quelle;
  26.     wert      := port[$71];
  27.     port[$70] := ziel;
  28.     port[$71] := wert;
  29.   END;
  30.  
  31. BEGIN
  32.   (* im CMOS-RAM gespeicherte Werte protokollieren *)
  33.   minute := bcd_int($34);
  34.   stunde := bcd_int($35);
  35.   tag    := bcd_int($36);
  36.   monat  := bcd_int($37);
  37.   jahr   := 100 * bcd_int($39) + bcd_int($38);
  38.  
  39.   Write('AT zuletzt eingeschaltet am ',
  40.         tag:1, '.', monat:1, '.', jahr:4,
  41.           ' um ', stunde:1);
  42.   IF minute < 10 THEN
  43.     WriteLn(':0', minute:1)
  44.   ELSE
  45.     WriteLn(':', minute:2);
  46.  
  47.   (* aktuelle Werte im CMOS-RAM speichern *)
  48.   copy_cmos($02, $34);  (* Minute      *)
  49.   copy_cmos($04, $35);  (* Stunde      *)
  50.   copy_cmos($07, $36);  (* Tag         *)
  51.   copy_cmos($08, $37);  (* Monat       *)
  52.   copy_cmos($09, $38);  (* Jahr        *)
  53.   copy_cmos($32, $39);  (* Jahrhundert *)
  54.  
  55. END.
  56. (* ------------------------------------------------------ *)
  57. (*               Ende von LASTUSED.PAS                    *)
  58.