Platform SDK: Win32 API

Interrupt 21h Function 71A7h Minor Code 1h

Converts MS-DOS date and time values to 64-bit file time.

mov ax, 71A7h         ; date and time format conversion
mov bl, 1             ; Dos Time To File Time
mov bh, MilliSeconds  ; see below
mov cx, DOSTime       ; see below
mov dx, DOSDate       ; see below
mov di, seg lpft      ; see below
mov es, di
mov di, offset lpft
int 21h

jc  error

Parameters

MilliSeconds
Number of 10 millisecond intervals in 2 seconds to add to the MS-DOS time. The number can be a value in the range 0 to 199.
DOSTime
MS-DOS time to convert. The time is a packed 16-bit value with the following form.
Bits Contents
0–4 Second divided by 2
5–10 Minute (0–59)
11–15 Hour (0–23 on a 24-hour clock)

DOSDate
MS-DOS date to convert. The date is a packed 16-bit value with the following form.
Bits Contents
0–4 Day of the month (1–31)
5–8 Month (1 = January, 2 = February, and so on)
9–15 Year offset from 1980 (that is, add 1980 to get the actual year)

lpft
Pointer to a FILETIME structure to receive the converted 64-bit file time.

Return Values

Clears the carry flag and returns the 64-bit file time in the specified structure if successful. Otherwise, the function sets the carry flag and sets the AX register to an error value.

Remarks

The time in FILETIME must be Coordinated Universal Time (UTC). The MS-DOS time is local time.