Zugriff auf UMBs (analog zu MCBs)

  • Hallo,


    bei der DOS-Speicherverwaltung gibt es ja diese Kette aus Memory Control Blocks, die haben ein ID-Feld, dort steht entweder 'M' oder 'Z' drin wobei 'Z' signalisiert daß es sich hier um den letzten MCB handelt.


    Im Upper Memory Bereich (also zwischen 640 kB und 1 MB) sind die Upper Memory Blocks angesiedelt in die man über DEVICEHIGH und LOADHIGH Treiber und Programme laden kann.


    Nun meine Frage: Gibt es eine Möglichkeit sich analog zu den MCBs von einem UMB zum nächsten zu hangeln?


    Die Adresse des ersten MCB kriegt man über die Funktion 52h des Interrupt 21h und zu den weiteren kommt man indem man zur Segmentadresse des jeweiligen MCB die Anzahl der Paragraphen + 1 addiert. So geht das von einem 'M' zum nächsten bis man bei einem Block ankommt der als ID ein 'Z' trägt.


    Sowas bräuchte ich analog für die UMBs, kann mir da wer weiterhelfen?


    lg, Markus

  • Hallo,


    hab nach langer Suche doch noch die Information gefunden die ich gebraucht hab.


    Die Memory Control Blocks für die UMBs schließen direkt an jene aus dem konventionellen Speicher an.


    Der letzte MCB im konventionellen Speicher hat die ID = 'Z' und dannach geht's direkt mit jenen der UMBs weiter bis wieder einer mit ID = 'Z' erreicht wird und dann ist man beim letzten UMB angelangt.


    lg, Markus

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!