home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
modula2
/
compiler
/
fst_mod
/
source
/
dosclock.mod
< prev
next >
Wrap
Text File
|
1992-06-20
|
2KB
|
81 lines
IMPLEMENTATION MODULE DOSclock;
FROM SYSTEM IMPORT ASSEMBLER;
FROM Strings IMPORT Assign;
FROM Text IMPORT WriteCard;
PROCEDURE GetDate(VAR day:ARRAY OF CHAR; VAR month, date, year:CARDINAL);
VAR num:CARDINAL;
temp:ARRAY[0..8] OF CHAR;
BEGIN
num := 0;
month := 0;
date := 0;
year := 0;
ASM
MOV AH,42
INT 21H
LES DI,month
MOV ES:[DI],DH
LES DI,date
MOV ES:[DI],DL
LES DI,year
MOV ES:[DI],CX
MOV num,AL
END;
CASE num OF
0: temp := 'Sunday'|
1: temp := 'Monday'|
2: temp := 'Tuesday'|
3: temp := 'Wednesday'|
4: temp := 'Thursday'|
5: temp := 'Friday'|
6: temp := 'Saturday';
END;
Assign(temp,day);
END GetDate;
PROCEDURE SetDate(month, date, year:CARDINAL);
BEGIN
ASM
MOV DH,month
MOV DL,date
MOV CX,year
MOV AH,43
INT 21H
END;
END SetDate;
PROCEDURE GetTime(VAR hour, min, sec:CARDINAL);
VAR num:CARDINAL;
temp:ARRAY [0..8] OF CHAR;
BEGIN
hour := 0;
min := 0;
sec := 0;
ASM
MOV AH,44
INT 21H
LES DI,hour
MOV ES:[DI],CH
LES DI,min
MOV ES:[DI],CL
LES DI,sec
MOV ES:[DI],DH
END;
END GetTime;
PROCEDURE SetTime(hour, min, sec:CARDINAL);
BEGIN
ASM
MOV CH,hour
MOV CL,min
MOV DH,sec
MOV DL,0
MOV AH,45
INT 21H
END;
END SetTime;
END DOSclock.