Funktion 58h, 01h Prinzip der Datenaufzeichnung setzen
Vor dem Funktionsaufruf:
AX(AH) 58h
AX(AL) 01h
BX Zuordnungsverfahren, 00 = erster geeigneter Block,
01 = bester geeigneter Block, 02 = letzter geeigneter Block

Nach dem Funktionsaufruf:
AX Fehler-Code (wenn das Carry-Flag gesetzt ist)

Erst ab DOS 3.2 verfügbar.

Wenn ein Programm über die Funktion 48h einen Speicherbereich vom DOS anfordert, so ist der Speicher in den meisten Fällen schon in verschiedene Speicherbereiche unterteilt, die den verschiedenen Programmen zugewiesen worden sind. Da diese Speicherbereiche selten genau die angeforderte Größe haben werden, hat DOS mehrere Möglichkeiten, dem Programm einen Speicherbereich zuzuteilen. Entweder es fängt bei der Suche nach einem passenden Speicherbereich am unteren Ende des Speichers an und übergibt dem Programm dann den erstbesten Speicherbereich, der mindestens die angeforderte Größe hat, oder es beginnt mit der Suche am oberen Ende des Speichers und sucht ab dort den ersten passenden Speicherbereich. Die effizienteste Methode ist es aber, den Speicherbereich zu suchen, der nur wenig größer als der angeforderte Speicherbereich ist, damit möglichst wenig Speicher verschwendet wird. Dabei bleibt die Lage dieses Speicherbereichs innerhalb des Gesamtspeichers unbeachtet. Ab der Version 5.0 besteht darüber hinaus die Möglichkeit, nach einem passenden Speicherblock zunächst im konventionellen Speicher oder in den Upper Memory Blocks (UMBs) zu suchen.
Welches der drei Verfahren bei der RAM-Speicher-Zuteilung angewandt wird, kann durch den Aufruf dieser Funktion ermittelt werden.

Anzeige:

Anzeigen: