Cover




AVR Assembler Einführung


1 Inhaltsverzeichnis
2 Vorwort
3 Unterschiede zu anderen Sprachen
4 Installation von AVR-Studio
5 Struktur eines AVR-Maschinenprogrammes
6 Source-Code Muster
6.1 Der Ablauf der Übersetzung
6.1.1 Assembler Direktiven / Präprozessor
6.1.2 Bemerkungen / Kommentare
6.1.3 Label (Sprungmarke)
6.1.4 Commands
6.1.5 ORG / JMP
7 Merkwürdiges
7.1 Befehlsadressen / Byteadressen
7.2 3 ist nicht gleich 3
7.3 GPR ist nicht gleich GPR
7.4 SFR ist nicht gleich SFR
7.5 Assembler-Befehle
7.6 Zwischenbilanz

8 Load & Store
8.1 Beispiel
8.1.1 Programm-Map
8.2 Pointer-Register
8.2.1 Indirekte Adressierung
8.2.2 Post-Increment / Pre-Decrement
8.2.3 Displacement
9 Welche Register ?
10 Benutzerdaten
10.1 Daten im SRAM
10.2 Daten im FLASH (Literale)
10.3 Daten im EEPROM (ERAM)
11 Verzweigungen
12 Zusammenfassung
13 Strategie für BASCOM-Programmierer


1. Vorwort

Es gibt mehrere Gründe um sich mit dem AVR-Assembler zu beschäftigen:

- Reines Interesse
- Man hat keinen anderen Compiler, Bascom ist ja eine Shareware und GCC-C kann man möglicherweise genauso wenig. „Also warum nicht gleich“
- Endlich programmieren ohne Sprachen-Restriktionen
- Programmierung des Tiny12 (ohne SRAM, daher Bascom oder GCC-C nicht empfehlenswert)
- Schnellerer und kurzer Code
- Man möchte genauste Verzögerungen / Ausführungszeiten

Dadurch ergeben sich aber auch verschiedene Haupt-Zielgruppen für eine Einführung. Die eine ist in einer- oder mehreren anderen Sprachen durchaus bewandert und möchte endlich auch mal richtig in die Tiefen der Hardware steigen. Der andere ist ein totaler Neueinsteiger und hat gehört, dass man Micro-Controller am besten mit Assembler programmiert.
Es soll hier nur eine Starthilfe zum Einstieg gegeben werden. Viele Details und Varianten werden hier bei weitem nicht erschöpfend behandelt.


2. Unterschiede zu anderen Sprachen

Assembler kann man nicht direkt mit anderen Hochsprachen vergleichen. Es ist falsch gesagt: “Assembler ist viel besser als C oder C ist viel besser als Assembler!“.
Bei Hochsprachen erreicht man in sehr kurzer Programmierzeit viel mehr. Da übernimmt der Compiler den Hauptteil der Arbeit, indem er den geschrieben Code in Assembler übersetz. Wobei man im Assembler jedes Detail des Programmes beschreiben muss.
Der Vorteil liegt also auf der Hand: Man spart sich eine Menge Arbeit, indem man direkt sagen kann was man machen möchte. Wie es genau funktioniert und was dabei alles beachtet werden muss, kann einem egal sein. Denn der Compiler übernimmt es ja. Da kommen wir aber schon zum ersten Nachteil eines Compilers: Wenn man mit einer Hochsprache anfängt, dann braucht man sich hardwareseitig kaum mit dem µController auseinander setzen. Weiß also nicht genau darüber Bescheid. Funktioniert etwas nicht sitzt man auf dem Schlauch, weiß nicht mehr weiter und investiert die vorher gesparte Zeit in die Fehlersuche. Zwar werden die Compiler immer besser und es kommen so kaum noch Fehler zustande. Aber

Impressum

Verlag: BookRix GmbH & Co. KG

Bildmaterialien: msc-ge.com, rn-wissen.de
Tag der Veröffentlichung: 06.09.2012
ISBN: 978-3-95500-117-9

Alle Rechte vorbehalten

Nächste Seite
Seite 1 /