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 / CPM / TURBODSG / FREE.MAC < prev    next >
Text File  |  2000-06-30  |  842b  |  77 lines

  1. ;FREE.MAC   - CALCULATE FREE SPACE ON A: THRU D:
  2. ;
  3. cr    equ    0dh
  4. lf    equ    0ah
  5. ;
  6. .request syslib
  7.     extrn    crlf,print,cout
  8. ;
  9. .z80
  10. ;
  11. start:    ld    sp,stack
  12.     call    print
  13.     cr,lf,lf
  14.     'Free space display:',cr,lf
  15.     'DRIVE   k free   k used',cr,lf
  16.     '-----------------------',cr,lf,0
  17.     ld    a,0
  18.     ld    (drive),a
  19. loop:    ld    a,(drive)
  20.     inc    a
  21.     ld    (drive),a
  22.     cp    16
  23.     jp    z,done
  24.     dec    a
  25.     push    af
  26.     ld    c,21
  27.     ld    e,a
  28.     ld    d,0ffh
  29.     call    50h
  30.     pop    af
  31.     inc    l
  32.     jr    nz,loop
  33.     ld    e,a
  34.     ld    c,19
  35.     call    50h
  36.     and    0fh
  37.     push    af
  38.     call    cvhlk
  39.     pop    af
  40.     push    hl
  41.     ex    de,hl
  42.     call    cvhlk
  43.     ld    a,(drive)
  44.     add    a,40h
  45.     call    cout
  46.     call    print
  47.     ':       ',0
  48.     ld    a,3
  49.     call    phldc##
  50.     call    print
  51.     db    '    ',0
  52.     ex    de,hl
  53.     pop    hl
  54.     or    a
  55.     sbc    hl,de
  56.     ld    a,3
  57.     call    phldc##
  58.     call    crlf
  59.     jr    loop
  60. ;
  61. done:    call    print
  62.     cr,lf,lf,0
  63.     rst    0
  64. ;
  65. cvhlk:    dec    a
  66.     dec    a
  67. ..ca:    dec    a
  68.     ret    z
  69.     add    hl,hl
  70.     jr    ..ca
  71.  
  72. ;
  73. drive:    db    0
  74.     ds    80
  75. stack    equ    $
  76.     end
  77.