gcc: long long a asm
Vojta Filip
vojta na kolej.mff.cuni.cz
Úterý Květen 25 22:15:44 CEST 1999
hi,
potrebuji v C pouzit assembler (i386) a z nej zavolat funkci, ktera
vraci typ long long, tedy asi takto:
long long rrr;
__asm__ __volatile__
(
.... ble ble ble ...
" call funkce \n"
????
: "=g" (rrr)
: : "memory", "eax", "edx"
)
------
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?
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.
Vojta
Další informace o konferenci Linux