delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/05/09/03:28:24

Message-Id: <199605090720.DAA29825@delorie.com>
Date: Thu, 09 May 96 10:09:07 LIT
From: Martynas Kunigelis <martynas DOT kunigelis AT VM DOT KTU DOT LT>
Subject: Re: Problems with inline asm of GCC 2.7.2
To: "Salvador Tropea,ICE" <salvador AT inti DOT edu DOT ar>,
DJGPP mailing list <djgpp AT delorie DOT com>
In-Reply-To: Your message of Wed, 8 May 1996 14:33:59 +0300 (GMT)

Here are my guesses:

*1* I don't think it's a good idea to use `::' anywhere except for method
    declarations in C++. Did you try inserting a space or a newline in
    between?

*2* I've noticed, that in C asm ("movl $1, %eax") works if you don't use
    %0-type operands. In C++ the above does not work, you *must* precede
    a register with double-%, i.e. asm ("movl $1, %%eax");

*3* GCC *never* generates code that messes with segment registers (except
    for inline farptr functions), so it does not need to know about them.
    Restore them yourself if you clobber them.

That's all I can say, hope this helps.

Martynas

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019