🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #315

Re: Zmiennoprzecinkowe - konwersja Temporary Real (80bity) na Long Real (64bity)

#315
From: Bogdan (bogdro)
Date: Tue, 06 Jun 2006 08:40
34 lines
2513 bytes
Jareq napisał(a):
>>  Więcej roboty będzie niż w powyższym sposobie. Możesz po prostu
>> zapisać st0 do zmiennej qword, po czym sprawdź status FPU, czy nie
>> wystąpił wyjątek, wyłączając uprzednio sygnalizowanie wyjątków.
> 
> ...chciałem właśnie zrobić to w powyższy sposób, jednak chyba
> namieszałem coś z statusem - w zasadzie to które bity w status word
> powinienem sprawdzić?

 Poczytaj Intel Architecture Software Developer's Manual:
http://developer.intel.com/design/Pentium4/documentation.htm

 Bity 3 i 4, sądząc po tym, co zrobiłem w moim kodzie.

> Chciałem właśnie zdjąć ze stosu koprocesora st0 do zmiennej qword,
> następnie sprawdzić (jakoś - niestety właśnie z tym etapem miałem
> problem) czy wszystko "poszło ok". Niestety walka ze status word nie
> przyniosła rezultatów.
> 
> Także ogólnie działa, ale jak ktoś jeszcze wie jak to jest z tym fstp do
> zmiennej qword to będę wdzięczny (tzn. co się dzieje ze status word).


Ja u siebie sprawdzam tak:
        fstsw   ax
        and     al, 18h                 ; spr., czy over-/under-flow

jeśli wynik jest niezerowy, to wystąpił over/underflow.

-- 
Pozdrawiam, Bogdan                                  (Linux i FreeDOS)
Kurs assemblera x86 (DOS i Linuks): http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
Prawdziwy, bezpieczny komunikator:                   www.JabberPL.org
Technical Details
Message-ID: <e63f38$4c6$1@atlantis.news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <e6198o$2l7$1@node1.news.atman.pl> <e61fnd$214$1@nemesis.news.tpi.pl> <e61u5k$b8p$1@node1.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: "Bogdan (bogdro)" <bogdan@bogdan.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Zmiennoprzecinkowe - konwersja Temporary Real (80bity) na Long     Real   (64bity)
Date: Tue, 06 Jun 2006 10:40:40 +0200
Organization: tp.internet - http://www.tpi.pl/
Lines: 34
Message-ID: <e63f38$4c6$1@atlantis.news.tpi.pl>
References: <e6198o$2l7$1@node1.news.atman.pl> <e61fnd$214$1@nemesis.news.tpi.pl> <e61u5k$b8p$1@node1.news.atman.pl>
NNTP-Posting-Host: acsc194.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1149583272 4486 83.11.30.194 (6 Jun 2006 08:41:12 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Tue, 6 Jun 2006 08:41:12 +0000 (UTC)
User-Agent: Thunderbird 1.5.0.4 (X11/20060516)
In-Reply-To: <e61u5k$b8p$1@node1.news.atman.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit