www.pudn.com > 日期、菜单、字符串的C函数.rar > DOSTIME.ASM


;                         *** 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