[Assembler] Linker zum erstellen einer exe

cl0udt

Lt. Junior Grade
Registriert
Sep. 2008
Beiträge
508
Hallo zusammen,

bin grad dabei Assembler-Programme zu schreiben. Ich nutze YASM unter Windows, um meine Dateien zu kompilieren. Jetzt fehlt mir allerdings noch ein Linker, um ne exe zu erstellen. Irgendwie krieg ich das net hin mit YASM (bzw. mit NASM auch net, der zeigt mir einige fehler an). Da Programm was ich geschrieben hab, ist aber definitiv richtig...hoffe mal jemand kann mir da bissl auf die Sprünge helfen. Danke :)
 
Hi, danke schon mal für den Link zu ALink. Das Tutorial kenne ich, wird da net NASM benutzt? Damit klappt es bei mir net, hab genau die befehlsfolge eingegeben, die dort steht (nasm firstp.asm -f bin -o firstp.com), halt mit meiner Datei...
 
cl0udt schrieb:
Hi, danke schon mal für den Link zu ALink. Das Tutorial kenne ich, wird da net NASM benutzt? Damit klappt es bei mir net, hab genau die befehlsfolge eingegeben, die dort steht (nasm firstp.asm -f bin -o firstp.com), halt mit meiner Datei...
Ja da wird NASM benutzt, wobei die beiden fast gleich sind.

.. gehts etwas genauer ?! .. "Klappt net Captain" reicht definitiv nicht. :D
Welche Fehlermeldung, bei welchem Commando?
 
"nasm Datei.asm -f bin -o Datei.com" benutze ich für nasm halt.
Als fehler kommt halt zb: error: attempt to define a local label before any non-lacel labels usw.Meine Datei fängt halt mit ".data" an.... Aber unter linux krieg ichs halt kompiliert ohne jegliche fehlermedlung und es funzt auch.
 
cl0udt schrieb:
"nasm Datei.asm -f bin -o Datei.com" benutze ich für nasm halt.
Als fehler kommt halt zb: error: attempt to define a local label before any non-lacel labels usw.Meine Datei fängt halt mit ".data" an.... Aber unter linux krieg ichs halt kompiliert ohne jegliche fehlermedlung und es funzt auch.

Dann stimmt Dein Code eben nicht mit dem Format überein das nasm erwartet, probier doch erstmal das HelloWorld in dem Tutorial bzw pass Deinen Code dem Aufbau aus dem Tutorial an.
Ansonsten poste den Code (muss ja nicht komplett sein) und/oder copy/paste die Error-Ausgabe, mit nur aus dem Gedächtnis nachgeschriebenen Error-Codes kann man schlecht sagen was jetzt wirklich die Ursache ist. :rolleyes:
 
Code:
yasm -f elf -p gas toDecimal.asm                                        #assemblieren
gcc -melf_i386 -o toDecimal toDecimal.o                             # Linken unter Linux(bei mir auf ner VM) - für 
                                                                                           #Windows gibt es sicherlich einen anderen  Befehl 
./toDecimal                                                                         # auführen
 
Zurück
Oben