Wer nutzt Assembler

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 735
Registriert seit: Apr 2014
Bewertung: 5
#1
20.04.2015, 15:59

Hallo zusammen,

als ich mich dazu entschloss, mein altes Hobby, die Elektronik, wieder aufzunehmen und mich künftig mit Mikrocontrollern zu beschäftigen, wollte ich von Vorne herein in Assembler programmieren.

Keine andere Programmiersprache ist so effizient und effektiv wie Assembler. "Redet" man doch mit dem Baustein in seiner Muttersprache!

Natürlich kann man auch einen Arduino direkt in Assembler programmieren. Letztendlich macht der Compiler aus dem für Menschen lesbaren Programmcode ein HEX-File im Intel-Format, welches dann mit dem Programmer auf den Chip geflasht wird. Das gilt für Assembler genauso wie für C oder Basic oder, oder... (Und ich habe das auch schon gemacht).

Klar, Assembler bietet einem keine Bibliotheken mit unmengen an Funktionen. Man muss nahezu alles selbst programmieren. Es muss aber auch nicht gleich eine super komplexe Anwendung sein. Da kann man auch mal klein anfangen.

Wer von Euch wagt sich denn auch mit Assembler an seinen AVR (oder anderen µC)?

Grüße,
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Rene
Junior Member
**

Beiträge: 26
Registriert seit: Dec 2013
Bewertung: 1
#2
24.04.2015, 22:00

Hallo Uni,

nein, Assembler mache ich nicht mehr. Das habe ich vor etwa 30 Jahren aufgegeben (man wird eben bequem im Alter). Trotzdem kann ich dir nur empfehlen, dich da einzuarbeiten. Assembler eröffnet einem ganz andere Einblicke in die Prozessoren als irgendwelche Hochsprachen.

Meine Assembler-Erfahrungen stammen aus einer Zeit, in der 8-Bit Prozessoren den Stand der Technik darstellten. So war CP/M (Betriebssystem für Intel 8080 und Zilog Z80) in Assembler geschrieben. Ich vermute, dass das bei MS-DOS ebenfalls der Fall war.

Bezüglich Effizienz ist allerdings C nicht weit hinter Assembler anzusiedeln. C wurde als Systemimplementationssprache entwickelt. So ist UNIX beinahe vollständig in C geschrieben.

Nur schon bei einem Arduino kann man durch Verlassen der bequemen Arduino-IDE sehr nahe ans System kommen.

Die Entwicklung komplexer Lösungen basiert schon immer auf einem Schichtenmodell. Die unterste Stufe ist der Mikrocode im Prozessor. Dieser ist für den normalen Programmierer nicht zugänglich. Danach kommt bereits Assembler. Damit kann man sehr viel über einen Prozessor lernen.

Ich wünsche dir auf jeden Fall viel Spass.

Gruss
René
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 735
Registriert seit: Apr 2014
Bewertung: 5
#3
24.04.2015, 23:06

Tja Rene.....

Assembler habe ich auch vor ca. 32 Jahren mal gemacht. Z80 und 6510 waren meine Basis.

Und jetzt habe ich das eben wieder ausgegraben. Mehr Macht kann man über den Chip nicht haben ;-)

Beste Grüße
Uni
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren
Unilein
Fachgebiet Rauchentwicklung
*******

Beiträge: 735
Registriert seit: Apr 2014
Bewertung: 5
#4
28.04.2015, 12:33

Achja... Eine kleine Ergänzung noch.

C ist natürlich schon auf Systemnähe ausgelegt. Wie gut der erzeugte Maschinencode ist, hängt natürlich vom Compiler/Linker ab. Wie effizient dieser bei der Arduino-IDE arbeitet, kann ich nicht beurteilen. Der Entwicklungsumgebung von Atmel unterstelle ich jetzt mal maximale Effizienz (aber eben nur eine Unterstellung) Big Grin
-----

Klopapier beidseitig verwenden und der Erfolg liegt auf der Hand!
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste