AVR Assembler Tutorial

Warum Assembler lernen?

Es gibt gute Gründe dafür, um Assembler zu erlernen, es gibt aber auch Gründe dagegen.

Pro:

  • Ein Assembler Programm ist im Idealfall schneller und kompakter als das Ergebnis eines Compilers.
  • Nur mit Assembler hat man die exakte Kontrolle über jeden einzelnen Takt, was wichtig für zeitkritische Programme ist.
  • Einige Controller lassen sich nur in Assembler programmieren oder haben so wenig Speicher, dass ein Compiler ihn schnell füllen würde.
  • Wer Assembler programmieren kann versteht auch, wie der Controller arbeitet. Das kann auch bei Hochsprachen hilfreich sein.
  • Gelegentlich ist es auch bei einer Hochsprache sinnvoll oder notwendig, einige Teile in Assembler zu programmieren.

Contra:

  • Die Art und Weise, wie ein Assembler Programm funktioniert, unterscheidet sich erheblich von funktionalen Sprachen wie C oder Basic.
  • Es erfordert mehr Disziplin beim Programmieren, damit der Code wartbar und lesbar bleibt.
  • Die Portierung auf andere Systeme ist nahezu unmöglich.
  • Unerfahrene Programmierer können leicht schlechteren Code produzieren als ein Compiler.

Zusammengefasst kann man sagen, man muss nicht unbedingt Assembler lernen. Die meisten Aufgaben lassen sich auch mit einer Hochsprache realisieren. Es kann aber durchaus nützlich oder sogar notwendig sein, dass man Assembler kann. Assembler ist vor allen Dingen dort notwendig, wo es auf schnellstmögliche Ausführung oder präzises Timing ankommt.

Das Werkzeug

Bevor man loslegen kann benötigt man das passende Werkzeug. Das soll hier kurz beschrieben werden.

Um Assembler Programme schreiben zu können benötigt man nur einen Editor und einen Assembler.

Linux

  • avra
  • gavrasm
  • avr-gcc
  • Geany

Windows

  • AVR-Studio
  • avrasm32
  • gavrasm

OS X

  • ??

Diskussion

Geben Sie Ihren Kommentar ein (Wiki-Syntax ist zugelassen):
Wenn Sie die Buchstaben auf dem Bild nicht lesen können, laden Sie diese .wav Datei herunter, um sie vorgelesen zu bekommen.
/www/htdocs/w00645de/dokuwiki/data/pages/mikrocontroller/avr/avr_assembler_tutorial.txt · Zuletzt geändert: 2010/07/29 19:47 von burli
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0