gcc: long long a asm
Pavel Machek
pavel na bug.ucw.cz
Úterý Květen 25 23:35:36 CEST 1999
Ahoj!
> potrebuji v C pouzit assembler (i386) a z nej zavolat funkci, ktera
> vraci typ long long, tedy asi takto:
Podle me tohle nesmis.
Ja bych si kod predstavoval jako
__asm__ __volatile__ (
".... neco delej"
}
y = funkce( x );
__asm__ __volatile__ (
".... delej neco dalsiho"
}
> vim, ze long long se vrati v eax a edx, ale nevim, jak ho dat do toho
> "rrr". Asi bude korektnejsi dat to do dvou intu, ale nejde to nejak
> elegantneji?
Bojim se ze nejde. Gcc je divna mrcha... Zkus se zeptat honzy hubicky
(hubicka na atrey) -- v cechach je asi jediny kdo do gcc opravdu vidi ;-).
> Jeste otazka: k cemu presne jsou pouzity registry edi, esi a ebx? Gcc,
> pokud je pouziva, si je vzdy uschova a na konci funkce obnovi.
To bude souviset s volaci konvenci...
--
I'm really pavel na ucw.cz. Look at http://195.113.31.123/~pavel. Pavel
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!
Další informace o konferenci Linux