Hallo,
ich habe ein Problem und zwar möchte ich mit Hilfe des c-Programms driver.c
die Assemblerfunktion aus der Datei main.s
Edit: am Quelltext
ausführen.
Hierzu übersetze ich zuerst main.s mit
$nasm -f coff main.s
in die objektdatei main.o
und möchte nun beide linken mit
$gcc -o prog main.o driver.c
Nun bekomme ich folgende Fehlermeldung:
main.o: file not recognized: File format not recognized
collect2: ld gab 1 als Ende-Status zurück
Wieso erkennt der C Kompiler nicht die Objektdatei???
Hoffe ihr könnt mir weiter helfen
ich habe ein Problem und zwar möchte ich mit Hilfe des c-Programms driver.c
Code:
int main()
{
int status = 0;
status = asm_main();
return status;
}
die Assemblerfunktion aus der Datei main.s
Code:
segment .text
global asm_main
asm_main:
enter 0,0 ; setup routine
pusha
popa
mov eax, 0 ; return back to C
leave
ret
Edit: am Quelltext
ausführen.
Hierzu übersetze ich zuerst main.s mit
$nasm -f coff main.s
in die objektdatei main.o
und möchte nun beide linken mit
$gcc -o prog main.o driver.c
Nun bekomme ich folgende Fehlermeldung:
main.o: file not recognized: File format not recognized
collect2: ld gab 1 als Ende-Status zurück
Wieso erkennt der C Kompiler nicht die Objektdatei???
Hoffe ihr könnt mir weiter helfen