c inline assembly
ratheesh kannoth <[email protected]> Sat, 18 Feb 2012 11:31:12 +0530
| Newsgroups | org.kernel.vger.linux-c-programming |
|---|---|
| Message-ID | <CAGZFCEH_NWJQid+DgOGrDp0nAS6odH2fLamT1k-vWP1ceAiMzQ@mail.gmail.com> |
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 */
);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html