...
close

Cookie-Einstellungen

Zulassen:

 

Infos/Erklärung
Gemäß Ihrem Recht auf informierte Selbstbestimmung.

 tutor tutor

delete account

Damit wir unseren Service verbessern können, würden wir uns über die Angabe eines Grundes freuen.
Thank you!



Abbrechen

Besser wissen durch Nachhilfe: Wissensfragen

Hier kannst Du eine Wissensfrage zu einem Thema stellen, das Dich interessiert.
Die Fragen und die Antworten darauf werden hier veröffentlicht und evtl. zusätzlich an interessierte Benutzer (Nachhilfelehrer/innen) weitergeleitet.

Die Fragen sollten eher allgemeiner Natur sein, z.B. : "Ich will eine chinesische Sprache lernen. Mandarin oder Kantonesisch?", oder: "Vor Klausuren bin ich immer sehr nervös und bin schnell blockiert, obwohl ich vorbereitet bin - was kann ich tun?"

Alle Fragen & Antworten werden moderiert. Unangebrachte oder unhöfliche Beiträge, Links zu anderen Webseiten o.ä. werden gelöscht. Achtung: hier gibt es keinen Kundenservice.
Dieser Service soll keinen Unterricht ersetzen.

Assembler Programmierung

Was ist Assembler? Warum programmiert kaum jemand in Assembler?
Assembler, Programmierung
Datum: 08/15/2019 14:34, Benutzer 1898Antwort:

Hallo Anonymous,


gerne beantworte ich Deine Frage und beginne vielleicht so:


Seinerzeit Anfang der 80-er Jahre habe ich begonnen, indem ich in ASSEMBLER (... gemeint ist die Maschinenprogrammiersprache konkret durch die jeweiligen Chip~/CPU-Hersteller oder für noch komplexere - auch ältere Technik - Zentraleinheit genannt) für den ZILOG-Z80 (ZILOG war der Hersteller des 8-bit-Mikroprozessors) programmiert habe.


Parallel zu den Entwicklungen gab es noch parallele Entwicklungen von CPUs der Firmen INTEL und MOTOROLLA. Hier jeweils in ASSEMBLER zu programmieren bedeutet(e), sich jeweils mit anderen - mitunter völlig verschiedenen - ASSEMBLER-Sprachen zu beschäftigen, und das war schon damals kaum noch beherrschbar. Komfortable Entwicklungsumgebungen hatten wir damals auch nicht, so das ich die Befehlsliste dann schon auswendig aus dem Kopf hinschreiben konnte.

Nun, ich habe jahrelang am Fraunhoferinstitut sog. Kernel-Programmierung bzw. später Systemprogrammierung/Firmware-Programmierung betrieben und habe einen großteil meiner Module in Assembler geschrieben. Warum? Nun, die ASSEMBLER-Programmierung befasst sich mit der sogenannten maschinennächsten Programmierung mit dem Vorteil, das der geschriebene und dann assemblierte - später in die entsprechende Plattform gelinkte lauffähige Maschinen-Code sehr performant/schnell ablaufen kann. Der Nachteil ist das differenzierte nur für die konkrete Plattform (z.B. konkrete PC-Hardware mit konkreter CPU) Herstellen entsprechenden Programmcodes. Jede Hardware verlangt also speziell hergestellten Code.

Heute nun ist die Hardware um Potenzen schneller als damals, wo ASSEMBLER noch nicht die Ausnahme war:


Wir programmieren in der sogenannten Anwendungs-Software ausschließlich in höheren Programmiersprachen, meißtens sogenannte objektorientierte Programmiersprachen (Beispielsweise c++, JAVA, c#). Das hat den Vorteil, das so hergestellter Programmcode auf fast jeder Plattform lauffähig ist. Die sogenannten Schnittstellen zu konkreter Hardware wird i.d.R. durch die CPU-Hersteller als sogenannte APIs mit entsprechenden Bibliotheken zur Verfügung gestellt. Diese durch die jeweiligen Hersteller bereitgestellten (Software)Module werden für laufzeitkritischen Code immer noch in ASSEMBLER geschrieben bzw. wenn Laufzeit nicht so priorisiert ist, auch in der sogenannten maschinennahen Programmiersprache C.


Ich denke, das ich für das Verständnis der nachgefragten Problematik Hinreichendes geschrieben habe.

Für differenzierte Fragestellungen stehe ich (fast) jederzeit zur Verfügung. (... natürlich nicht, wenn ich mich auf Konkretes im Programmieren konzentrieren muss :-) )


Viele Grüße aus Paderborn - nahe dem Siemens-Nixdorff-Formum, da wo die antiken Computer wohnen
M. N.


PD Dipl.-Ing. (FH)

+ 1 weitere Antworten:
Datum: 02/14/2019 11:14, Benutzer: 300866Assembler ist so gesehen die unterste Programmierungsschicht.
Hier wird nichts mehr mit netten Befehlen umschrieben wie "FOR-NEXT" "PRINT" usw...
Man besitzt auch keine Variablen mehr, sondern kann nur noch die Daten als Speicher unter einer Adresse ablegen und auslesen. Zusätzlich gibt es Register, die beim Computer bestimmte Reaktionen hervorrufen. Was aber auch wieder computerabhängig ist.
Somit ist Assembler für Anwendungsprogramme ungeeignet, sondern nur für den Unterbau der "höheren" Programmiersprachen und Treiber.
Es programmieren durchaus Personen in Assembler, aber eben wie gesagt, nicht mehr im Anwendungsbereich für alle Benutzer, sondern Computer-/Maschinenspezifisch.
Aktion: antworten

Die Frage:

 
Weitere Fragen: 42










Tutor | Tutor | Nachhilfevermittlung | Send request |  EF Familie Unternehmsnetzwerk Erfolgsfaktor Familie
Merkzettel ()