home *** CD-ROM | disk | FTP | other *** search
- ; Library: ZSLIB
- ; Version: 3.4
- ; Module: SDATS2
- ; Version: 1.0
- ; Author: Gene Pizzetta
- ; Date: October 8, 1991
- ;
- ; SDATS2 -- Prints intermediate form of date in American or European format,
- ; e.g., "Mar 02 88" or "02 Mar 88", with switchable output.
- ;
- ; Entry: HL = address of date as BCD yy mm dd
- ; A = date format flag (0=American, FFh=European)
- ; Exit: None
- ; Uses: None
- ;
- PUBLIC SDATS2
- ;
- EXTRN DSTRM3,ZOUT ; ZSLIB
- EXTRN SA2HC ; SYSLIB
- ;
- SDATS2: push hl
- push de
- push bc
- push af
- ld c,a ; save flag
- ld d,(hl) ; save year
- inc hl
- ld e,(hl) ; save month
- inc hl
- or a ; test flag
- ld a,(hl) ; get day
- push af ; save day
- call nz,PRDAY ; if European, do day
- ; Print month
- xor a ; Clear carry for DAA
- ld a,e ; Get month
- ld hl,DSTRM3-3 ; ..from months table
- 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 ZOUT
- djnz PRMON
- call SPACE
- pop af ; recover day
- inc c ; test flag
- dec c
- call z,PRDAY ; if American, do day
- ; Print year
- ld a,d ; Get year
- call SA2HC
- pop af
- pop bc
- pop de
- pop hl
- ret
- ;
- ; Subroutines
- ;
- ; Print day and fall through to SPACE
- ;
- PRDAY: call SA2HC
- ;
- SPACE: ld a,' '
- jp ZOUT
- ;
- end