home *** CD-ROM | disk | FTP | other *** search
- ; *** 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