home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Programming
/
powerprogramming1994.iso
/
progtool
/
filutl
/
date.arc
/
DOSTIME.ASM
< prev
next >
Wrap
Assembly Source File
|
1988-08-08
|
2KB
|
55 lines
; *** dostime.asm ***
;
; IBM-PC microsoft "C" under PC-DOS
;
; Microsoft "C" callable 8088 assembly routine that uses a DOS function
; call to obtain and return the hours, minutes, seconds, and hundreths
; of a second as integers.
;
; synopsis dostime(&hour,&min,&sec,&ths);
;
; *** no function value returned ***
; int hour; 0-23 military time
; int min; 0-59
; int sec; 0-59
; int ths; 0-99
;
;
; Written by L. Cuthbertson, May 1984
;
;**********************************************************************
;
PGROUP GROUP PROG
PROG SEGMENT BYTE PUBLIC 'PROG'
PUBLIC DOSTIME
ASSUME CS:PGROUP
;
; ********************************************************************
;
DOSTIME PROC NEAR
PUSH BP
MOV BP,SP
MOV AH,2CH ; DOS GET TIME FUNCTION NUMBER
INT 21H ; DOS FUNCTION CALL INTERRUPT
MOV AL,CH ; MOVE HOURS INTO AX
XOR AH,AH ; CLEAR HIGH BYTE
MOV DI,[BP+4] ; ADDRESS OF HOURS VARIABLE
MOV [DI],AX ; MOVE HOURS INTO HOURS VARIABLE
MOV BL,CL ; MOVE MINUTES INTO BX
XOR BH,BH ; CLEAR HIGH BYTE
MOV DI,[BP+6] ; ADDRESS OF MINUTES VARIABLE
MOV [DI],BX ; MOVE MINUTES INTO MINUTES VARIABLE
MOV CL,DH ; MOVE SECONDS INTO CX
XOR CH,CH ; CLEAR HIGH BYTE
MOV DI,[BP+8] ; ADDRESS OF SECONDS VARIABLE
MOV [DI],CX ; MOVE SECONDS INTO SECONDS VARIABLE
XOR DH,DH ; CLEAR HIGH BYTE
MOV DI,[BP+10] ; ADDRESS OF THS VARIABLE
MOV [DI],DX ; MOVE 1/100THS INTO THS VARIABLE
POP BP
RET
DOSTIME ENDP
;
PROG ENDS
END