home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ZSYS / SIMTEL20 / SYSLIB / SLIB3.LBR / SPFN3.Z80 < prev    next >
Text File  |  2000-06-30  |  1KB  |  53 lines

  1. ;
  2. ; SYSLIB Module Name:  SPFN3
  3. ; Author:  Richard Conn
  4. ; SYSLIB Version Number:  3.6
  5. ; Module Version Number:  1.1
  6.  
  7.     public    pfn3
  8.  
  9.     ext    cout
  10.  
  11. ;
  12. ;  Print FCB file name and type pted to by DE on CON:
  13. ;  Format of Output:  xxxxxxxx.yyy <spaces> (0-8 x's, 0-3 y's, req'd spaces)
  14. ;
  15. pfn3:
  16.     push    de    ; save regs
  17.     push    bc
  18.     push    af
  19.     ld    c,11    ; 11 chars total
  20.     ld    b,8    ; 8 chars first
  21.     call    prfnx
  22.     ld    a,'.'    ; dot
  23.     call    cout
  24.     ld    b,3    ; 3 more chars
  25.     call    prfnx
  26.     ld    a,c    ; get count of spaces
  27.     or    a    ; 0=none
  28.     call    nz,spacer
  29.     pop    af    ; restore regs
  30.     pop    bc
  31.     pop    de
  32.     ret
  33. prfnx:
  34.     ld    a,(de)    ; get char
  35.     and    7fh    ; mask out msb
  36.     cp    ' '    ; skip space
  37.     call    nz,prout    ; print it
  38.     inc    de    ; pt to next
  39.     dec    b    ; count down
  40.     jp    nz,prfnx
  41.     ret
  42. prout:
  43.     dec    c    ; count chars
  44.     jp    cout    ; print char
  45. spacer:
  46.     ld    a,' '    ; space over
  47.     call    cout
  48.     dec    c    ; count down
  49.     jp    nz,spacer
  50.     ret
  51.  
  52.     end
  53.