; Library: ZSLIB ; Version: 2.1 ; Module: ZSPRDAT2 ; Version: 1.1 ; Author: Carson Wilson ; Date: February 2, 1990 ; Changes: Shortened code. No longer tests for invalid date/time. ; Version: 1.0 ; Author: Carson Wilson ; Date: February 16, 1989 ; Changes: Now uses day to validate stamps (for CP/M Plus). ; Version: 0.1 ; Author: Carson Wilson ; Date: August 9, 1988 ; Purpose: Print date in intermediate form. ; PUBLIC PRDAT2 EXTRN COUT,PA2HC ; SYSLIB EXTRN PAHC ; ZSLIB ; ; PRDAT2 - Print intermediate form of date, e.g., " 2 Mar 88" ; ; Entry: - points to date as BCD yy mm dd. ; Exit: - Date printed. ; Uses: - none. ; PRDAT2: push hl push de push bc push af ld d,(hl) ; Save year inc hl ld e,(hl) ; Save month inc hl ; Test day ld a,(hl) ; Print day call PAHC call SPACE ; Print month xor a ; Clear carry for DAA ld a,e ; Get month ld hl,MONTHS-3 NXTMTH: inc hl inc hl inc hl ; Point to string dec a daa ; Decimal adjust jr nz,NXTMTH ld b,3 ; 3 characters PRMON: ld a,(hl) inc hl call COUT djnz PRMON call SPACE ; Print year ld a,d ; Get year call PA2HC pop af pop bc pop de pop hl ret ; ------------------------------------ ; ; Subroutines ; SPACE: ld a,' ' jp COUT ; ---------------------------------------------- ; ; Initialized Data ; MONTHS: db 'JanFebMarAprMayJunJulAugSepOctNovDec' end ; End ZSPRDAT2.Z80