Z88 Developers' Notes
Contents   Contents of System Calls

GN_Dei, convert zoned, external format date to internal format

RST 20H, DEFW $1609

IN:

     B = month (1 = january, ..., 12 = december)
     C:
          C7 to C5: day of the week (0 to 7, 0 = unspecified)
          C4 to C0: day of the month (1 to 31)

     DE = signed year number (relative to 0 A.D.).
     B.C. years are negative.
OUT, if call successful:
     Fc = 0
     ABC = internal format date
OUT, if call failed:
     Fc = 1, invalid date given
          A = RC_SNTX, syntax error.
Registers changed after return:
     ....DEHL/IXIY same
     AFBC..../.... different
Notes:
For the "day of the week" parameter, 1 represents Monday, 2 Tuesday, etc. If you supply zero the routine will work out the day name for you. An invalid date error does not return an error code, just Fc=1. A date is invalid if inconsistent, eg. you say it is Monday when it should be Tuesday, or if a parameter is out of range.
Bugs:
 

Related calls:

GN_Die, convert internal format date to zoned format
GN_Gdt, convert an ASCII string to an internal binary date
GN_Gmd, Get (read) machine date in internal format
GN_Pdt, write internal date as ASCII string
GN_Pmd, put (set) machine date