![]() |
FPU Word $133F existiert nicht
Hallo leute,
ich will für mein Programm die FPU-Exceptions abschalten. Ich habe im Internet mehrfach gelesen, dass das per
Delphi-Quellcode:
geht. Nur übernimmt der Prozessor diese Einstellung leider nicht.
Set8087CW($133F);
Ich habe ein Testprogramm geschrieben, dass das FPU-Word auf alle möglichen Einstellungen (0..65535) setzt, und danach prüft, ob die einstellungen übernommen wurden:
Delphi-Quellcode:
Ausgegeben werden 2048 mögliche einstellungen. $133F ist aber nicht dabei :gruebel:
...
function J_Get8087CW: word; asm FNSTCW result end; ... ListBox_Values.Clear; for i := 0 to 65535 do begin Set8087CW(i); if J_Get8087CW = i then begin ListBox_Values.Items.Add('$' + IntToHex(i,4)); end; end; ... Weiß jemand warum? P.S.: Aus $133F wird immer $137F |
Re: FPU Word $133F existiert nicht
Hallo,
einige Bits im ![]() Gruß Hawkeye |
Re: FPU Word $133F existiert nicht
Zitat:
Ich habe jetzt eine Funktion geschrieben, die nur die Bits umsetzt, die umgesetzt werden sollen, und können:
Delphi-Quellcode:
Damit geht´s. :thumb:
function MyCWCheck(cw: word): word;
begin result := cw; // Errormessages abschalten result := (result or (1 shl 0)); result := (result or (1 shl 1)); result := (result or (1 shl 2)); result := (result or (1 shl 3)); result := (result or (1 shl 4)); result := (result or (1 shl 5)); // Präzision auf Extended (64 Bit) stellen result := (result or (1 shl 8)); result := (result or (1 shl 9)); // "Normal" runden result := (result and not (1 shl 10)); result := (result and not (1 shl 11)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz