Speicherplatzbedarf der Systemumgebung

Eine der effektivsten Programmier-Werkzeuge nicht nur in Stapeljobs sind die flexiblen frei wählbaren Environment-Variablen, die neben der exakten Bezeichnung des Kommandointerpreters (COMSPEC), des aktiven Prompts (PROMPT) oder der gültigen Suchpfade (PATH) in der sogenannten Systemumgebung Platz finden. Ausgiebiger Gebrauch fordert natürlich entsprechend Speicherplatz. Bisher fehlt eine Möglichkeit, vor umfangreichen Variablen-Belegungen die noch vorhandene Aufnahmekapazität feststellen zu können. ENVIRON.DEB ermittelt die aktuelle Größe der Systemumgebung und zeigt sie dezimal an. Die Segment-Adresse des Environments steht übrigens im Datenwort 2Ch des Program Segment Prefixes. Sie zeigt auf den Beginn der Enironment-Belegung, die Sie sich auch mit der Eingabe »SET« anzeigen lassen können. Ist der Speicherplatzbedarf der Systemumgebung zu groß, müssen Sie entweder überflüssige Environment-Variablen mit »SET BEISPIEL=« löschen oder die Aufnahmekapazität der Systemumgebung von COMMAND.COM mit der Zeile »SHELL = \COMMAND.COM /E:Größe/P« in der CONFGIG.SYS erhöhen und den PC neu starten. Ansonsten könnte die Fehlermeldung »Out of environment space« die Folge sein.

Name: ENVIRON.DEB
Funktion: Ermittelt den Speicherplatzbedarf der aktuellen Systemumgebung.
Übersetzung: DEBUG <ENVIRON.DEB
Prüfsumme: E08D
Anwendung: ENVIRON
Einschränkungen: ./.
A
CLD                 ;100
MOV ES,[2C]         ;101
XOR CX,CX           ;105
XOR DI,DI           ;107
DEC CX              ;109
SCASB               ;10A
JZ 111              ;10B
REPNZ SCASB         ;10D
JMP 109             ;10F
MOV DX,13D          ;111
CALL 121            ;114
MOV AX,CX           ;117
NEG AX              ;119
CALL 125            ;11B
MOV DX,155          ;11E
MOV AH,9            ;121
JMP 13A             ;123
MOV BX,A            ;125
XOR DX,DX           ;128
DIV BX              ;12A
ADD DL,30           ;12C
AND AX,AX           ;12F
JZ 138              ;131
PUSH DX             ;133
CALL 125            ;134
POP DX              ;137
MOV AH,2            ;138
INT 21              ;13A
RET                 ;13C
DB "Das Environment "
DB "belegt $ Byte.$"

RCX
5C
NENVIRON.COM
W
Q

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