Speicherplatz auf Disketten ermitteln

DOS hat außer dem DIR- und dem CHKDSK-Befehle keine Möglichkeit, den freien Speicher einer Diskette oder Festplatte anzuzeigen. Möchten Sie aber weder ein ellenlanges Directory-Listing auf dem Bildschirm sehen, noch Ihre Festplatte einem 5-minütigen Dauertest unterziehen, nur um in der letzten Zeile dann endlich die gewünschte Information zu erhalten, kommen Sie nicht umhin, unser Programm SPACE.DEB zu verwenden. SPACE serviert Ihnen sofort und ohne Umstände den freien Speicher und die Gesamtkapazität des angegebenen Laufwerkes. Das Programm ermittelt über die Funktion 36h des DOS-Interrupts 21h die Daten des angegebenen Laufwerks und zeigt das Ergebnis im Klartext an.

Name: SPACE.DEB
Funktion: Zeigt die Gesamt- und die verbleibende Speicherkapazität einer Diskette oder Festplatte an.
Übersetzung: DEBUG <SPACE.DEB
Prüfsumme: F38F
Anwendung: SPACE [Lw:]
Einschränkungen: ./.
A
MOV DL,[5C]         ;100
MOV AH,36           ;104
INT 21              ;106
CMP AX,FFFF         ;108
JZ 149              ;10B
MOV SI,DX           ;10D
MUL CX              ;10F
PUSH AX             ;111
MUL SI              ;112
MOV DI,155          ;114
CALL 120            ;117
POP AX              ;11A
MUL BX              ;11B
MOV DI,16E          ;11D
MOV BP,A            ;120
MOV CX,9            ;123
MOV SI,AX           ;126
MOV AX,DX           ;128
XOR DX,DX           ;12A
DIV BP              ;12C
DB 96
DIV BP              ;12F
XCHG SI,DX          ;131
ADD SI,30           ;133
PUSH SI             ;136
LOOP 14A            ;137
MOV CX,9            ;139
POP DX              ;13C
MOV AH,2            ;13D
INT 21              ;13F
LOOP 13C            ;141
MOV DX,DI           ;143
MOV AH,9            ;145
INT 21              ;147
RET                 ;149
MOV SI,DX           ;14A
OR SI,AX            ;14C
JNZ 126             ;14E
MOV SI,20           ;150
JMP 136             ;153
DB " Bytes Gesamt"
DB "kapazität",D,A
DB "$ Bytes frei$"

RCX
7A
NSPACE.COM
W
Q

Quelle: 200 Utilities für PC-/MS-DOS von Gerhard Schild und Thomas Jannot