nach langer Zeit melde ich mich auch mal wieder mit einer Frage.
Da ich PB inzwischen aus dem FF beherrsche geht es diesmal um etwas anderes:
Die Schnittstelle zwischen C und Assembler.
Gezwungenermaßen NASM und 32 Bit.
Ich soll eine Funktion (in Assembler) schreiben, die Werte aus zwei Eingabearrays nimmt, und daraus dann Werte errechnet,
die in zwei Ausgabearrays geschrieben werden. Alles vom Typ Float.
Ich will euch natürlich nicht nach einer kompletten Lösung fragen, aber da es schon an den Anfängen hapert, wäre ich sehr dankbar,
wenn jemand mir einfach nur einen Code zeigen Könnte, der den ersten Wert aus Array 1 und 2 nimmt, und ihn in Array 3 schreibt.
Die Rechenfunktion bekomme ich dann (hoffentlich) schon hin

Die Funktion ist in C so vordeklariert:
extern void calc(float *, float *, float *,float *);
Den kompletten C Code findet ihr hier:
http://web254.rshost.de/PB/CASM/read.h
http://web254.rshost.de/PB/CASM/read.c
Das Assemblerfile:
Code: Alles auswählen
section .text ;Code
global calc
calc:
;Insert Code here
RET ; Return to main program
section .data
e_0: dq 8.854187817E-12
e_q: dq 4.0
e_t: dq 2.0
http://web254.rshost.de/PB/CASM/Makefile
http://web254.rshost.de/PB/CASM/ui.txt
Ich geb auch gerne Hilfe etwas einzurichten.
Für Windows benötigt die Funktion sowie das label "calc" im Assembler File einen führenden unterstrich soweit ich weiß.
Unter Linux muss man nasm (sowie unter Ubuntu das Paket lib32z1-dev
in einem 64 Bit System) installieren.
Grüße
Macros