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