Assembler unter Linux und Windows. Anders?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Kotzkroete
Beiträge: 307
Registriert: 13.11.2005 17:44:22
Kontaktdaten:

Assembler unter Linux und Windows. Anders?

Beitrag von Kotzkroete » 19.09.2006 17:46:14

Hi,
Ich wollte mich heute mal mit assembler beschaeftigt und hab da auch ein ganz nuetzliches pdf gefunden, in dem das ganz gut erklaert ist. Jetzt hab ich also den Quelltext eingegeben und wollte jetzt versuchen den mit nasm zu assemblieren, aber ich krieg ewig viele Fehler. Ist das, weil ich es unter linux geschrieben habe, das pdf aber von Windows ausgeht? Ist also Linux assembler und windows assembler was anderes?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 19.09.2006 19:41:38

das hat weniger mit Windows vs Linux zu tun, obwohl die Systemcalls sich natürlich auch unterscheiden.
Die meisten Fehler werden aber wahrscheinlich durch die unterschiedlichen Syntax ( MASM/TASM vs NASM ) hervorgerufen.

Gruß
gms

Kotzkroete
Beiträge: 307
Registriert: 13.11.2005 17:44:22
Kontaktdaten:

Beitrag von Kotzkroete » 19.09.2006 19:51:27

Hm...ja...ich hab mich jetzt noch etwas laenger mit dem Thema beschaeftigt und hab das dann auch gemerkt. Gibt es irgendwo ein tutorial fuer nasm syntax. Ich find immer nur welche mit tasm, oder sie sind nicht gut verstaendlich :(

Zwerg
Beiträge: 397
Registriert: 26.12.2005 00:10:09
Wohnort: Magrathea
Kontaktdaten:

Beitrag von Zwerg » 19.09.2006 21:14:54

Evtl. kannst du damit ein wenig was anfangen: http://www.lcs-chemie.de/assemb.htm

Kotzkroete
Beiträge: 307
Registriert: 13.11.2005 17:44:22
Kontaktdaten:

Beitrag von Kotzkroete » 20.09.2006 07:15:22

Leider schreibt man da nur ein Hello World Programm :/

Zwerg
Beiträge: 397
Registriert: 26.12.2005 00:10:09
Wohnort: Magrathea
Kontaktdaten:

Beitrag von Zwerg » 20.09.2006 17:40:27

Es geht um die weiterführenden Links die dort angegeben sind.

Kotzkroete
Beiträge: 307
Registriert: 13.11.2005 17:44:22
Kontaktdaten:

Beitrag von Kotzkroete » 20.09.2006 19:03:29

Tja...auch nicht sehr hilfreich. Gibts nicht sowas wie ein Buch, das assembler mit nasm syntax beibringt. Ich hab ein paar pdfs fuer tasm, aber das is ja fuer windows etc.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 20.09.2006 20:19:54

Der NASM-Syntax ist an TASM angelehnt.

Und natürlich gibt es Unterschiede zwischen Windows und Linux Assemblerprogrammierung. Windows/DOS-Interrupts wirst du z.B. nicht aufrufen können.

Kotzkroete
Beiträge: 307
Registriert: 13.11.2005 17:44:22
Kontaktdaten:

Beitrag von Kotzkroete » 21.09.2006 13:37:43

Gibt es vielleicht etwas wo beschrieben wird wie man tasm in nasm code konvertieren kann? Oder eine Liste mit Beispielen wie man es mitr tasm Syntax schreiben wuerde und daneben dann das passende nasm Beispiel.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 21.09.2006 19:19:28

http://nasm.sourceforge.net/doc/html/nasmdoc2.html
2.1.17 The -t option: Enable TASM Compatibility Mode
...
Poste doch mal ein kleines Beispiel, welches nicht funktioniert; ich vermute immer noch, dass du DOS-spezifische Sachen machst.

matze-ed7
Beiträge: 33
Registriert: 01.06.2006 09:02:53

Beitrag von matze-ed7 » 09.10.2006 13:59:35

also ich kann mich gut erinnern, das der gcc assembler kann
das heist:

wenn man ein einfaches C prog mit

Code: Alles auswählen

gcc -S main.c
übersetzt bekommst man eine main.s datei also man kan dann
diese mit einem editor zb cat ansehen und dann mit

Code: Alles auswählen

gcc -o test main.s
weiter übersetzen

vielleicht kann man dann seine eigene main.s schreiben und dann mit dem gcc übersetzen

matze-ed7
Beiträge: 33
Registriert: 01.06.2006 09:02:53

Beitrag von matze-ed7 » 18.10.2006 10:56:32


Antworten