home *** CD-ROM | disk | FTP | other *** search
/ Phoenix CD 2.0 / Phoenix_CD.cdr / 11a / cover20.zip / COTITL.ASM < prev    next >
Assembly Source File  |  1991-01-21  |  2KB  |  80 lines

  1.     PAGE    ,132
  2.     TITLE  COTITL  -  Diskette contents list  -  Get Title
  3.     COMMENT        * Version 1.0  -  June 1983
  4.             (PER Dr. Dobbs Journal, January, 1984, #87)
  5.             (Dan Daetwyler "Sorted Diskette Directory for
  6.                  the IBM PC")
  7.  
  8.         Version 2.0       Bruce F. Cameron
  9.                   Cincinnati  OH 
  10.  
  11.            February 25, 1985
  12.  
  13.     Counts hidden files
  14.     Grouped sort (i.e. all COM files first etc.)
  15.     Includes Volume Label and Directory (if not root)
  16.     Lists Subdirectory names
  17.     Free space up to 100M (hard disk)  *
  18. ;
  19. ;
  20.     PAGE    82
  21. ;
  22. CODE    SEGMENT    PARA PUBLIC 'CODE'
  23.     ASSUME    CS:CODE, DS:CODE
  24. ;
  25.     PUBLIC    TITLX, FREE, VOLUME
  26. TPRMT    DB    13,10,'Enter Title:  $'
  27. TBUF    DB    40,0            ; Input buffer for user title
  28.     DB    40 DUP (?)
  29. TITLX    DB    13 DUP (' ')        ; Title line
  30. TIL1    DB    42 DUP (' ')
  31.     DB    'Free: '
  32. FREE    DB    9 DUP (' ')        ; Formatted 'free space' in title line
  33. MONTH    DB    '  /'            ; Date fields
  34. DAY    DB    '  /'
  35. YEAR    DB    '  ',0            ; End of title
  36. VOLUME    DB    11 DUP (' '),0        ; Volume label line
  37. ;
  38.     PUBLIC    GETTTL, DECMAL
  39. GETTTL    PROC    NEAR
  40.     MOV    DI,OFFSET TITLX
  41.     MOV    CX,55
  42.     MOV    AL,' '
  43.     REP    STOSB            ; Clear title line
  44.     MOV    DX,OFFSET TPRMT
  45.     MOV    AH,9
  46.     INT    21H            ; Prompt for title
  47.     MOV    DX,OFFSET TBUF
  48.     MOV    AH,0AH
  49.     INT    21H            ; Get user title
  50.     MOV    CL,TBUF+1        ; Load title length
  51.     XOR    CH,CH
  52.     MOV    SI,OFFSET TBUF+2
  53.     MOV    DI,OFFSET TIL1
  54.     REP    MOVSB            ; Move user title to title line
  55.     MOV    AH,2AH
  56.     INT    21H            ; Get date
  57.     SUB    CX,1900            ; Convert to two digit year
  58.     MOV    DI,OFFSET YEAR
  59.     MOV    AL,CL
  60.     CALL    DECMAL            ; Fill in year
  61.     MOV    DI,OFFSET MONTH
  62.     MOV    AL,DH
  63.     CALL    DECMAL            ;     month
  64.     MOV    DI,OFFSET DAY
  65.     MOV    AL,DL
  66.     CALL    DECMAL            ;          day
  67.     RET                ; in the title line
  68.     GETTTL    ENDP
  69. DECMAL    PROC    NEAR            ; Converts AL to two decimal digits
  70.     AAM                ;     and stores at DI
  71.     OR    AX,'00'
  72.     XCHG    AL,AH
  73.     STOSW                ; Save in title image
  74.     RET
  75. DECMAL    ENDP
  76. ;
  77. CODE    ENDS
  78. ;
  79.     END
  80. S