sunsetting
Witam
Mam problem z przekazywanie tablicy z C do asemblera (do DLL-ki).
W C pisze:
Kod: extern "C" double __stdcall Funkcja(double *a);
...
double tablica[4] = {4,3,2,1};
Funkcja(tablica);
W asemblerze mam funkcje
Kod:
Funkcja proc a: PTR REAL8
finit
fld real8 ptr[a+0]
fld real8 ptr[a+0]
fmul
ret
Funkcja endp
Mnozenie caly czas daje 0, nie wiem co robie zle, moze cos z tymi ptr. Ktos jest w stanie pomoc?[/code]
Prawdopodobnie piszesz w C++ skoro deklarując funkcję zewnętrzną użyłeś extern "C".
Ale do funkcji przekazujesz cztero-elementową tablicę, a mnożysz pierwszy element przez siebie. Napisałbym to inaczej, ale nie wiem o co dokładnie Ci chodzi.
A wynik mnożenia musisz przenieść z koprocesora gdzie to potrzebne.