APPEND |
ASSIGN |
ATTRIB |
BACKUP |
COMMAND |
COMP |
DIR |
DISKCOPY |
FASTOPEN |
FC |
FIND |
FORMAT |
KEYB |
MEM |
REPLACE |
RESTORE |
SELECT |
SYS |
Inhalt |
Syntax: |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parameter: | ? | Durch Eingabe von ? werden alle DEBUG-Befehle und ihre Syntax angezeigt. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
EMM-Treiber | Damit mit den folgenden Befehlen gearbeitet werden kann, muß ein Zusatztreiber für die Verwendung des Expansionsspeichers installiert sein (z.Bsp. EMM386.EXE), der der Version 4.0 der LIM-Spezifikation entspricht. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
xa | Mit Hilfe des xa-Befehls können 16-KB-Seiten (logische Seiten) im Expansionsspeicher (Expanded Memory) reserviert werden. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
anzahl | Anzahl der Seiten, die reserviert werden sollen. In der Mircosoft-Dokumentation wird der Parameter anzahl in eckigen Klammern angegeben, was bedeutet, daß er zusätzlich eingeben werden kann. Das ist falsch, da der xa-Befehl ohne Parameter eine Fehlermeldung erzeugt. Kann eine Anforderung erfüllt werden, d.h. der Zusatztreiber ist installiert und die angeforderten Seiten sind verfügbar, wird eine Zugriffsnummer (Handle) zurückgegeben, die für nachfolgenden Befehle verwendet werden muß. Können die angeforderten Seiten nicht reserviert werden, wird die
Um auf die reservierten (logischen) Seiten zugreifen zu können, müssen diese aus dem Expansionsspeicher in den Paging-Bereich (physische Seiten) des Hauptspeichers übertragen werden. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
xm | Diese Aufgabe wird mittels des xm-Befehls (Map Extended Memory Pages) ausgeführt, indem einzelne logische Seiten auf physische Seiten des Paging-Bereichs übertragen werden. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
logS | Bezeichnet eine der Seiten, die im Expansionsspeicher reserviert wurden. Die erste reservierte Seite wird über die Nummer 0 angesprochen. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
phyS | Bezeichnet die physische Seite im Paging-Bereich, in die die logische übertragen werden soll. Die erste physische Seite wird über die Nummer 0 angesprochen. Wie viele physische Seiten verfügbar sind, hängt von Ihrem System ab. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
handle | Ist die Zugriffsnummer, die vom Befehl xa zurückgegeben wurde. Hinweis: Für eine detailierte Erklärung bringen wir ein Beispiel am Ende diese Abschnitts. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
xs | Der xs-Befehl wird ohne Parameter aufgerufen und gibt Statusinformationen über den Expansionsspeicher, die vergebenen Zugriffsnummern und die Lage der physischen Seiten zurück. Diese Informationen werden in unserem Beispiel näher erklärt. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
xd | Zugriffsnummern für den Expansionsspeicher, die nicht mehr benötigt werden, müssen mittels des xd-Befehls freigegeben werden. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
handle | Definiert die Zugriffsnummer (Handle) der Seiten, die freigegeben werden sollen. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Beispiel: | In dem folgenden Beispiel führen wir zuerst EMM386 aus, um festzustellen, wo unser Paging-Bereich (die physische Seite 0) liegt. Das Seitenrahmensegment wird mit C000H angegeben. Wir starten DEBUG und lassen 20H Bytes des Paging-Bereichs anzeigen. Es wird für jedes Byte FFH angezeigt, was üblicherweise bedeutet, daß an dieser Stelle kein Speicher installiert ist. Das ist auch richtig, da wir einen 386er verwenden, der in der Lage ist, über eine Adresse im 1-MB-Bereich auf einen Speicherbereich darüber zuzugreifen (Adress Mapping). Wir fordern 5 Seiten Expansionsspeicher an, wofür wir die Zugriffsnummer 0001 zugeteilt bekommen. Durch den Befehl xm 001 übertragen wir die logische Seite 0 in die physische Seite 0. Eine nochmalige Anzeige dieses Bereichs zeigt uns jetzt lauter Nullen. Der Prozessor hat die Adresse CC00:0000 in den erweiterten Speicher umgeleitet. Wir laden den Boot-Sektor der Festplatte C: in die physische Seite 0. Um diese Seite in den Expansionsspeicher zu schreiben, müssen wir eine andere logische Seite in die physische Seite 0 übertragen. Dadurch sichert der Treiber für den Expansionsspeicher die logische Seite 0. Wir erreichen dies, indem wir die logische Seite 2 in die physische Seite 0 übertragen (xm 201). Zur Sicherheit zeigen wir den Bereich bei CC00:0000 noch einmal an. Sie können erkennen, daß der Boot-Sektor nicht mehr in diesem Bereich vorhanden ist. Wir holen die logische Seite 0 wieder in die physische Seite 0, und der Boot-Sektor ist wieder verfügbar. Mit dem xs-Befehl lassen wir uns den Status des Expansionsspeichers anzeigen. Wir haben die Anzeige der physischen Seiten verkürzt. Sie erkennen aber, daß Sie aus dieser Anzeige herausfinden können, wie viele physische Seiten verfügbar sind und bei welchen Adressen sie beginnen. Zum Abschluß des Beispiels geben wir mit dem xd-Befehl die Zugriffsnummer 0001 zurück, wodurch auch unsere reservierten Seiten freigegeben werden.
|