Assembler heute?

6 Antworten

Genie musst du da nicht sein, allerdings ist es mühsamer.

Die ganzen Compiler allerdings werden mit Assembler programmiert. Und sonst - es wäre wünschenswert, wenn Programmierer sich Assembler zumindest mal eine GEWISSE Zeit lang ansehen würden - einfach nur um zu sehen, wie ineffizient ihr Programmierstil bisher so war.


IHateHater  09.12.2011, 00:43

wie wahr ^^

eventuell ist ja zu dem thema "kkrieger" bekannt.

ein 3d egoshooter im doom-stil, der insgesamt NUR 96kb groß ist

0

Hallo,

Da jede Programmiersprache Assemblercode erzeugt geht es wohl nie ohne...

Die Hardware zu programmieren ist heute leider nicht mehr so einfach. Es geht alles nur noch über Treiber. Man sollte es auf jeden Fall mal gemacht haben um die Funktionsweise einer CPU etwas besser zu verstehen. Dann weiß man auch wieso es verschiedene Datentypen in Hochsprachen gibt.

Ein Genie muss man wirklich nicht sein... der x86 hat nicht so viele Befehle. Leider muss jeder Befehl in eine Zeile, dadurch wird der Quellcode sehr lang.

Wenn du Buchtipps brauchst, melde dich einfach.

MfG

Nicky

Als Ergänzung zu den (sehr interessanten) Antworten bisher: Auch besonders zeitkritische Teile einer Software, sagen wir: etwa in der Medizin- oder Luftfahrttechnik, werden immer ganz gern mal in Assembler implementiert.

Und nicht zuletzt ist auch ein Betriebssystem komplett ohne Assembler nicht möglich.

Solche Softwareteile sind zwar minimal und machen wahrscheinlich nicht mehr als 1% des Codes aus, dafür sind sie in der Regel umso wichtiger.

Jeder Microprozessor "versteht" ausschließlich "seine" Maschinensprache. Diese Maschinensprache ist sogar noch unter den Assemblersprachen angesiedelt. Eine Assembleranweisung besteht aus drei wesentlichen "Kenngrößen":

  1. Was soll getan werden? Dies besagen die sogenannten Mnemoniks: mov, add, sub ...
  2. Welche Datengröße wird verarbeitet? Bit, Byte, Word ...
  3. Quelle oder/und Ziel der unter 1 genannten Operationen. Dies ist die sogenannte Adressierungsart. Sie kann sehr komplex sein, was aber hier nicht weiter ausgeführt werden soll ...

JEDE "höhere" Programmiersprache (egal ob Interpreter- oder Compiler-Sprache) kommt früher oder später an die Stelle, wo aus ihren hochsprachlichen Ausdrücken eine Assembler-Befehlsfolge generiert werden muß. Auch der Bytecode eines Java-Interpreters muß dies machen.

Inzwischen sind von den großen Prozessor-Schmieden nur noch wenige namhafte Hersteller übrig geblieben: Intel, AMD ...

ja, es wird heutzutage noch sehr viel mit assembler gemacht. gerade bei irgendwelchen grundlegenden dingen wie schaltungssteureungen, wo man nicht gleich einen vollwertigen computer zur verfügung hat.

ein freund ist z.b. informatik student und dort ist es heute noch ein pflichtthema assembler zu programmieren.

natürlich muss man kein 3d egoshooter in den prozessor hämmern, aber sie mussten sowas wie "alle meine entchen" komplett in assembler schrieben und über ein lautsprecher abspielen lassen