Uit de ramen

, mode, het creëren van real - time - Aanwijzing van de lage geheugen.,, bijdrage: Leopoldo Saldanha,,,, - dit is beloof ik je de code geven.Het werkt heel goed.Kan je lezen, een deel van de reële wijze verminderd geheugen.},,, functionele allocrealmodepointer (VAR - P: aanwijzing; afmetingen: LongInt): Bull.,, var, -,,,,, linearbase:LongInt gebaseerd: de woorden,,,,,,,, de resultaten: = vals linearbase:= (0; en HIWORD (LongInt (P)) + 12), Psy, hoge woord (LongInt (P)) + (4 loword kankerkruid LongInt (P)); en een adres, {20 voor een 32 - bits), (namelijk 0006 dollar, als 000ffff6}; kies uit de volgende mogelijkheden: = allocselector, (motor); - een}, DSEG - prestaties, basis: = setselectorbase (- linearbase); setselectorlimit (,,,,, - grootte); als (- < > 0) en (op basis van < > 0) en het begin van,, P = per (keuze vanor, 0);,, result := true;,, end;,, end;,,, function freeRealModePointer(var p: pointer): boolean;,, var,, fr : Word;,, begin,, fr := FreeSelector(hiword(longint(p)));,, {seletor is at hiword(p)},, if (fr=0) then begin {ok},, p := nil;,, result := true;,, end else begin\t{fail},, result := false;,, end;,, end;,,, { code Test: The Rom-Bios' date is allways at $ffff:0005 (real-mode)},,, var,, P: pChar;,, begin,, P := Ptr($FFFF, $0005); {FFFF5 -> data da Rom-Bios},, if AllocRealModePointer(Pointer(p), 8) then {8 chars to RomBios' date},, begin,, { Use p to read ROM Bios' date here},, FreeRealModePointer(Pointer(p)); {dispose p},, end;,, end.,,



Previous:
Next Page: