R
LightBoom schrieb:
ich möchte Werte von C an eine Assembler Funktion übergeben die in einer .s Datei ist, aber wie mach ich das?
Das ist natürlich nicht einfach. Um Dir eine richtige Antwort geben zu können, müsste man Betriebssystem (Win32, Win64, Linux32, Linux64), Compiler (VC, GCC, G++) und .s-Datei (AT&T-Syntax?) kennen. Der normale Weg ist, zunächst C- und Assembler-Dateien getrennt zu kompilieren/assemblieren und dann zu verlinken. Dazu muss in der Assembler-Datei ein Hinweis stehen, dass die Funktion außerhalb verfügbar ist ( .GLOBAL ) und in der C-Datei, dass eine externe Funktion aufgerufen wirden ( EXTERN bzw. EXTERN "C" für C++). Wie Werte übergeben und zurückgegeben werden, richtet sich nach der jeweiligen "calling convention".
Am besten stellst Du die Frage nochmal im Assembler-Forum (dort ist es besser aufgehoben) und gibst die benötigten Informationen, dann kann ich Dir einen Beispielcode entwerfen.
viele grüße
ralph