From: buers AT gmx DOT de (Dieter Buerssner) Newsgroups: comp.os.msdos.djgpp Subject: Re: Q: operand size - FPU instructios Date: 24 Mar 2000 21:29:56 GMT Lines: 21 Message-ID: <8bgmoj$502uu$2@fu-berlin.de> References: <38DA73F1 DOT FB5C375B AT mtu-net DOT ru> <200003241737 DOT WAA00845 AT midpec DOT com> <38DBC680 DOT 3B37E90F AT mtu-net DOT ru> NNTP-Posting-Host: pec-0-114.tnt1.s2.uunet.de (149.225.0.114) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 953933396 5245918 149.225.0.114 (16 [17104]) X-Posting-Agent: Hamster/1.3.13.0 User-Agent: Xnews/03.02.04 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Alexei A. Frounze wrote: >But appending these suffixes to FPU instructions, I get error messages >like "invalid instruction" or something like that. I.e. AS doesn't >recognize FILDW (for 16-bit integer), FLDQ (floating point double), FLDT >(floating point extended - FPU internal 10-byte format). From the manual of as (info as): * Floating point constructors are `.float' or `.single', `.double', and `.tfloat' for 32-, 64-, and 80-bit formats. These correspond to instruction mnemonic suffixes `s', `l', and `t'. `t' stands for 80-bit (ten byte) real. [...] So to load float double and long double, use flds, fldl and fldt. To load a 16, 32 and 64 bit signed interger use fild, fildl and fildq. There is also some info about inline assembly and floating point registers in the Gcc manual (info gcc). -- Regards, Dieter