This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

c inline assembly


I am using gcc on a 32bit? intel machine.? i have defined an inline function.


This function is inline .? what all registers needs to pushed and
poped in the inline assembly so that the functions wont
disturb the registers in? the function ( in which it is C inlined? ).


inline unsigned long hello(unsigned long a)

{
 int b;
 asm ("movl %1, %%eax;
      " movl %1, %%ebx;
       "movl  %1, %%ecx;
       "movl  %1, %%esi;
       "movl  %1, %%edi;

     ? "movl %%eax, %0;"
       :"=r"(b)        /* output */
       :"r"(a)         /* input */
 );
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]