| delorie.com/archives/browse.cgi | search |
| X-Authentication-Warning: | delorie.com: mailnull set sender to djgpp-bounces using -f |
| From: | NoEmailAds AT execpc DOT com (Chris Giese) |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: djgpp, nasm and floats |
| Date: | Wed, 24 Apr 2002 02:57:59 GMT |
| Organization: | PROPULSION GROUP |
| References: | <4 DOT 3 DOT 2 DOT 7 DOT 2 DOT 20020422131623 DOT 00bd4110 AT mail DOT ciudad DOT com DOT ar> |
| X-Newsreader: | Forte Free Agent 1.11/32.235 |
| Lines: | 36 |
| Message-ID: | <3cc62030$0$1417$272ea4a1@news.execpc.com> |
| NNTP-Posting-Host: | ab74de73.news.execpc.com |
| X-Trace: | DXC=WgoJecZJZRK\HUh2f[3=MLnc8dR=bW AT 2B0ICGTaT\BlM=EV;d7?Dn`M5A>0>f_hmHGmo[EQkYRng AT o30aDDF3;oL |
| X-Complaints-To: | abuse AT execpc DOT com |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
| Reply-To: | djgpp AT delorie DOT com |
"R. Grela" <rgrela AT ciudad DOT com DOT ar> wrote:
>global _atest
>
>section .data
> p dd 0.2
>
>section .text
>_atest:
> mov eax, [p]
> ret
>
>and receiving as float (I've tryed with double too)
>extern "C" float atest();
>void main() { float f = atest(); cout << f << endl; }
>
>and I get -NaN
>
>Any idea?
info gcc
seach for "calling convention"
`-mno-fp-ret-in-387'
Do not use the FPU registers for return values of functions.
The usual calling convention has functions return values of types
`float' and `double' in an FPU register, even if there is no FPU.
The idea is that the operating system should emulate an FPU.
The option `-mno-fp-ret-in-387' causes such values to be returned
in ordinary CPU registers instead.
Just compile with this option and re-link, then your code should work.
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |