|95h||TM$NDYS||number of days since 01/01/1900|
|Input||X register - Address of 3 byte date.|
|Output||B register - MSB of result.
X register - LSB's of result.
If the date is invalid, carry flag is set.
|Description||Returns the number of days since
01/01/1900 (if the date passed is 01/01/1900, the routine will return 0).
The X register points to a 3 byte date containing YEAR:MONTH:DAY in the following ranges:
YEAR: 0 - 255 (representing 1900 - 2155)
The result is returned in the B,X registers (B has the MSB).
Preserves register A.
This call is not available on CM/XP machines.
Calculates the number of days from 1st Jan 1900 to 25th Dec 1988.
LDX #DATE ;point to 3 byte date OS TM$NDYS BCS BAD_DATE ;branch if invalid date STAB HDAYS STX LDAYS ;store number of days RTS DATE: DB 88 ;year 1988 DB 11 ;month december DB 24 ;25th day
|Errors||If an invalid date is passed, the carry flag will be set but there is no error code in B.|