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 / ENTERPRS / CPM / UTILS / F / LPUT22.LBR / WILDEX.ZZ0 / WILDEX.Z80
Text File  |  1991-08-23  |  1KB  |  64 lines

  1. ;WILDEX - wildcard expansion module
  2. ; S. Kluger  04/15/84
  3. ;
  4. ; Modified 8/23/91 by Howard Goldstein to correct usage instructions
  5. ; and shorten code.
  6. ;
  7. ; This module, for use with SYSLIB, can be used
  8. ; to expand a wildcard filename into a table of
  9. ; file names as found in current DU:
  10. ;
  11. ; ENTRY:
  12. ; HL = .buffer
  13. ; DE = .afn fcb
  14. ;
  15. ; EXIT:
  16. ; HL = number of files
  17. ; ACC= zero flag set if error, clear if ok
  18. ; the buffer contains (HL) file names of 16 char each
  19. ; Char 0 contains the user number!
  20. ;
  21. SFIRST    EQU    17
  22. SNEXT    EQU    18
  23. ;
  24.     EXTRN BDOS
  25. ;
  26.     PUBLIC WILDEX
  27. ;
  28. WILDEX:    LD    (BUFPTR),HL
  29.     LD    C,SFIRST
  30.     CALL    BDOS
  31.     LD    HL,0
  32.     CP    0FFH
  33.     RET    Z        ; Nothing found -- error
  34.     CALL    MOVEN        ; Move name
  35. WLOOP:    PUSH    HL
  36.     LD    C,SNEXT        ; Search for next
  37.     CALL    BDOS
  38.     POP    HL
  39.     RET    M        ; Finished
  40.     CALL    MOVEN
  41.     JR    WLOOP
  42. ;
  43. MOVEN:    PUSH    DE
  44.     PUSH    HL
  45.     LD    DE,(BUFPTR)
  46.     RRCA
  47.     RRCA
  48.     RRCA
  49.     ADD    A,80H
  50.     LD    L,A
  51.     LD    H,0
  52.     LD    BC,16        ; Move 16 chars
  53.     LDIR
  54.     LD    (BUFPTR),DE
  55.     POP    HL
  56.     POP    DE
  57.     INC    HL
  58.     RET
  59.  
  60.     DSEG
  61. ;
  62. BUFPTR:    DS    2
  63.     END
  64.