From: leathm AT solwarra DOT gbrmpa DOT gov DOT au (Leath Muller) Message-Id: <199712030539.PAA16554@solwarra.gbrmpa.gov.au> Subject: Re: Inline asm To: eldredge AT ap DOT net (Nate Eldredge) Date: Wed, 3 Dec 1997 15:39:10 +1000 (EST) Cc: fabrice AT trash DOT lip6 DOT fr, djgpp AT delorie DOT com In-Reply-To: <199712030228.SAA21769@adit.ap.net> from "Nate Eldredge" at Dec 2, 97 06:28:16 pm Content-Type: text Precedence: bulk > > You MUST !! > Not necessarily. In many cases you can use GCC's extended asm features to > inform it that a certain register has been clobbered. I can't think of a > simple realistic example, so here's an imaginary one. The `frob' instruction > does something useful and puts undefined stuff into the given register. > asm("frob %ebx" : /* no outputs */ : /* no inputs */ : "%ebx"); Correct me if I am wrong, but if you have a piece of assembly in its own subroutine: void whatever() { asm { } } then you don't have to push/pop any registers other than the stack/stack frame ones (like ebp if you use it) as the subroutine has its own stack frame anyway... Leathal.