Entwickler-Ecke

Off Topic - Assembler-Compiler gesucht


AXMD - Mo 08.12.03 11:23
Titel: Assembler-Compiler gesucht
Hi,

ich suche einen ASM-Compiler - am besten mit Editor. Das Ding soll einfache COM-Dateien ausgeben und Freeware sein. Kennt jemand ein Programm, das meinen Anforderungen entspricht?

AXMD


JoelH - Mo 08.12.03 11:35
Titel: hmm,
guck mal hier
http://sourceforge.net/projects/nasm


AXMD - Mo 08.12.03 11:50

Danke. Kennst du was ähnliches, das vielleicht einen Editor dabeihat :?: Ich dachte dabei an soetwas in der Art wie: http://www.assembler86.de/

AXMD[/url]


ErnestoChe - Mo 08.12.03 12:04

Hi,

nur eine kleine Anmerkung. Es gibt keinen Assembler-Compiler. Entweder hast du einen Assembler oder einen Compiler. Assembler-Code wird nämlich nicht Kompiliert, da er bereits Maschinencode ist.

MFG

- Ernesto -


AXMD - Mo 08.12.03 12:09

@ERNESTO: damit hast du Recht; mir ist nur kein Wort für folgende "Beschreibung eingefallen": ein Programm, das aus Assembler-Code (im Text-Format) eine ausführbare Datei mit der Endung com macht. Beispiel:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
jmp begin

text db 'Hello world$'

begin:

lea dx, text
mov ah, 9
int 21h

mov ah, 1
int 21h 

jmp end

end:

mov ah, 4Ch
int 21h


Verständlich, was ich gerne hätte?

AXMD


JoelH - Mo 08.12.03 12:20
Titel: hmm,
du sucht einen Assembler, ist schon klar. Es heisst einfach Assembler, sowohl der 'Compiler' (wie du es nennst) als auch die Sprache ansich.
Was die Editoren angeht, da kannste jeden x beliebigen Texteditor nehmen. Ich benutz da vim [http://www.vim.org/] für.

Auch nicht schlecht, was Highlightling angeht ist ultraedit [http://www.ultraedit.com] leider nicht kostenlos in der Vollversion.


AXMD - Mo 08.12.03 12:51

Editoren kenn ich auch en masse ;). Spaß beiseite: was ich gut fände, wäre ein Programm, in dem ich syntaxgehighlighted (gibts das Wort?) ASM-Code eingeben und via Strg+F9 (bzw. einem Menüpunkt) das COM-File erzeugen kann.
[url]http://www.assembler86.de[/url] wäre genau das, was ich suche - ist aber nur in der Testversion gratis.

AXMD


Delete - Mo 08.12.03 12:57

Dann kauf sie dir. 18 Euro sind ja nicht gerade die Welt.


Popov - Mo 08.12.03 13:33

@AXMD

Ich hab irgendwo vor paar Jahren ein Programm runtergeladen, welches sich Visual Assembler nennt. Der ist allerdings nur ein Windowsaufsatz für einen DOS Compiler. Es ist also eher ein komfortabler Editor in dem man laden, speichern, editieren und kompilieren kann. Den DOS Compiler selbst kannst du dir sonstwo besorgen. So hatte das alte DOS das Programm BIN mit dem man Assemblercodes kompilieren konnte. Wenn du keine DOS-Disketten mehr hast, dann kannst du mal gucken ob du das Programm (BIN) im Internet findes. Sonnst mal hier fragen wer noch ein DOS drauf hat. Auf Win95 und Win98 CD's gibt es ein Ordner mit dem alten DOS (32-Bit Version).

Hier ist auf jeden Fall schon mal das Programm Visual Assembler:

http://mitglied.lycos.de/popov3/pub2/va/


Sven - Mo 08.12.03 13:58

Besuch mal http://www.scintilla.org

Das Teil heißt SciTE. Das dürfte deinen Anforderungen genügen.
Es ist allerdings nur die IDE. Du kannst aber jeden beliebigen Assembler damit verknüpfen.

Sven


ErnestoChe - Mo 08.12.03 13:59

Hallo,

nochmal: Assemblercode wird nicht kompiliert. Siehe oben.

MFG

- Ernesto -


Popov - Mo 08.12.03 14:21

@ErnestoChe

Das ist nicht ganz richtig. Zwar hast du zum Teil recht, Assembler-Befehle sind Wortbezeichnungen für Maschinen-Befehle (bzw. Zahlen). Und wenn man direkt ein Programm in den Rechner hackt, dann gebe ich dir Recht. Da wir anstelle der Zahl 67 z.B. die Beziechnung JMP eingegeben. Das Programm, mit dem man den Code eingibt, macht dann sofort aus dem JMP eine 67 und gibt sie so in den Speicher. Allerdings ist das bereits kompiliern, denn jede Umwandlung in ein anderes Format ist kompilieren.

Aber machen wir es schwieriger. Die Zeiten wo ich Assembler programmiert habe sind schon lange vorbei. Aber auch schon vor zig Jahren konnte man sehr komfortabel mit Assembler programmieren. So mußte man z.B. die Werte nicht direkt eingeben, sondern konnte mit Variablen oder Adressenlabels arbeiten. Das ist aber bei Maschinenprogrammierung nicht möglich - ich meine Variablen. Wenn man also mit Variablen arbeitete, so hat das Programm das für den Programmierer gemanagt. Man hat also nicht nur Maschinenprogramme geschrieben, sondern Assemblerprogramme, die dann kompiliert werden mußten.


JoelH - Mo 08.12.03 14:28
Titel: hmm,
@Ernesto
Das ist aber ziemliche Haarspalterei. Denn ein Assembler ist natürlich kein Compiler in dem Sinne dass er Programmcode in Maschinencode umwandelt, sondern einfach die Mnemonics 1:1 unsetzt in Binärzahlen. Allerdings gibt es auch Assembler die verschieden Strukturen zulassen und diese dann nicht 1:1 umsetzen. Dann werden sie in einer Art Compiler tätig.

Wie auch immer Assembler übersetzten normalerweise 1:1 , Hochsprachencompiler übersetzen 1:n


ErnestoChe - Mo 08.12.03 17:11

Hi,

@ Popov, JoelH

OK, Ihr habt nicht ganz Unrecht. Aber ich halte den Begriff Assembler-Compiler für ein Unwort. Allgemein redet man vom Assembler, z.B. DOS-Assembler oder Win32-Assembler. Deswegen bevorzuge ich nur Assembler zu sagen.

MFG

- Ernesto -


JoelH - Di 09.12.03 08:43
Titel: hmm,
ErnestoChe hat folgendes geschrieben:
Hi,
Aber ich halte den Begriff Assembler-Compiler für ein Unwort. MFG

- Ernesto -


Da stimme ich dir auch voll zu!!


Popov - Di 09.12.03 13:10

Deswegen ist der Begriff "Assembler-Compiler" falsch, aber "den Code kompilieren" wohl nicht so ganz falsch.


G-man - Mi 10.12.03 17:05

Hier ein nützlicher Link: http://www.visualassembler.com/.


Moritz M. - Do 11.12.03 21:48

Schonmal wer an MASM gedacht? An sich gibt es das natürlich nicht mehr, aber das hier:
http://www.masm32.com/