Absoluter Neuling
-
ist dieses programm kostenlos
-
Ja, steht doch da.
gibt auch noch ne reihe anderer Assembler, die sich in feinheiten unterscheiden.Ich halte es nicht wirklich für zielfhrend, leuten, die noch nie eine Programmiersprache benutzt haben, Assembler vorzusetzen.
Assembler ist an sich keine Programmiersprache, sondern nur eine verständlichere Darstellungsweise für Maschienencode.
Jeder Befehl, den man hinschreibt, wird (vorausgesetzt er ist syntaktisch korrekt) 1:1 umgesetzt und später von der CPU ausgeführt.Assembler zu schreiben ist heutzutage, bis auf wenige ausnahmen nutzlos. Die Compiler optimieren heutzutage so gut, das das Programm viel besser läuft als hätte man es selbst in assembler geschrieben.
Der Zeitauffwand ist um ein Vielfaches höher und es schleichen sich auch viel leichter Fehler ein.Um Leuten das Programmieren beizubringen sollte man auf jeden Fall mit einer Hochsprache anfangen, welche ist eine ganz andere Diskussion.
-
ok vielen dank werde es direkt mal runterladen
-
möglicherweise programmiert ihr ja aber irgendwelche CNC fräsen, die haben wiederum komplett andere Befehlssätze.
DAs ist der größte NAchteil von Assembler.
Die programme sind CPU-Abhängig, dh du kannst keinProgramm für einen PC schreibenund dann erwarte, dass es auf einen µC oder DSP läuft.
Mit einer Hochsprache brauchst du nur einen entsprechenden Compiler und das Programm funlktioniert (sofern man keine bibliotheken oder APIs benutzt, die auf dem Zielsystem nicht existieren)
-
ich habe auch mal gehört das betriebssysteme zum teil in assembler geschrieben sind. stimmt das eigentlich?
-
Höchstens die grundlegendsten und zeitkritischsten Sachen vielleicht.
Aber allgemein wohl nicht.
Ein Monster wie XP, Vista, oder Linux komnplett in Assembler zu schreiben ist unmöglich.
Da bräuchte man wahrscheinlich zehntausende Mannjahre
-
die meisten sachen werden doch mit c/c++ geschrieben. warum schreibt man das denn naich alles in den beiden sprachen.
-
Es gibt spezielle CPU-Funktionen, die sich mit einer Hochsprache nicht programmieren lassen.
-
Ich muss sagen das ist wirklich ein tolles forum.
-
Nobuo T schrieb:
Es gibt spezielle CPU-Funktionen, die sich mit einer Hochsprache nicht programmieren lassen.
Ich sagte ja auch, dass man es 'fast' nie wirklich braucht.
Aber für sowas gibts dann intrinsics, bzw, die Compiler benutzen diese funtklionen bei der Optimierung.So kann man bei den MS-Compilern die benutzung der SSE erweiterungen aktivieren, was einen dann inkompatibel zu älteren CPUS macht (daraus resultierende Programmabstürze sucht man ewig, wenn man nicht weiß, dass die option mal angeschaltet wurde, oder nicht weiß dass der andere nur nen P3 hat).
-
so ich habe jetzt das programm gedownloadet und installiert. kann mir vielleicht einer nen quellcode geben damit ich es mal ausprobieren kann.
wäre echt toll
-
da gibts doch zig examples
-
Ich habe es jetzt geschaft den asm code und die bat datei in eine obj datei umzuwandeln. Doch jetzt weiß ich nicht mehr weiter
-
.bat-Dateien (DOS-scripte) kannst du nicht assemblieren und so auch keine .obj-Datei daraus machen.
Wenn du eine .obj-Datei hast, musst du einen linker damit fuettern, um eine .exe-Datei daraus zu machen.
Ich kenne das MASM-Paket nicht, das dir empfohlen wurde. Schau dich halt mal unter den Programmen, die darin enthalten waren, um, ob sich irgendwas als linker vorstellt.
-
-
Ich habe mir ja masm32 runtergeladen. Dort habe ich den asm-code in eine obj- datei umgewandelt. Dann muss man die obj-datei mit Link16.exe irgendwie auch in eine exe umwandeln. Doch der frägt mich folgendes:
Object Modules [.obj]:
Run File [1.exe]:
List File [nul.map]:
Libraries [.lib]:
Definitions File [nul.def]:Was soll ich da noch hinschreiben.
-
hast du dir den link mal angeschaut?
der zeigt doch eine bat-datei und welche befehler da wie aufgerufen werdne müssen.theoretisch solltest du die bat-datei so nehmen, und nach anpassung des programmnamens und des Pfades, sie benutzen können.
-
Ich glaube ich weiß mast du meinst. Du benutzt Link16 zum Linken und nicht den Editor. Das habe ich anfangs auch gemacht.
Aber so kann man es auch machen
So müsste es dann eigentlich aussehen...Object Modules [.obj]: (Gib den Namen deiner OBJ-Datei ein)
Run File [1.exe]: (Gib den späteren Namen für deine EXE-Datei ein)
List File [nul.map]: (Hier reicht "NUL")
Libraries [.lib]: (Enter)
Definitions File [nul.def]: (Enter)Dann müste die fertige exe dierekt bei deiner OBJ-Datei erscheinen.
Probiers mal aus
-
vielen dank. es hat geklapppt. danke an jeden der geantwortet hat. wenn ichj noch fragen haben sollte werde ich hier wieder was reinschreibenn.
-
Welchen Assembler verwendet ihr im Unterricht? Für welches Ziel (PC, µC, ...?) und welche Aufgabe wird dort programmiert?
Üblicherweise verwendet man NASM:
http://www.henkessoft.de/Assembler/Assembler.htm