Example: marketing

Anfängerkurs zum Erlernen der Assemblersprache …

Anf ngerkurs zum Erlernen derAssemblersprache vonATMEL-AVR-MikroprozessorenGerhard 2010 AVR-ASM-TutorialHistorie:Korrektur BCD-Addition Dezember 2010 Erg nzte Fassung vom September 2010 Vollst ndig berarbeitete Neufassung Dezember 2008 / Januar 2009 Originalversion vom September 2003 Inhaltsverzeichnis1 Warum Assembler lernen?..12 Das Konzept hinter der Sprache Die Hardware von Die Arbeitsweise der Instruktionen in Unterschied zu Assembler und Interpreterkonzept und Hochsprachenkonzepte und Was ist nun genau warum einfacher?..73 Hardware f r die Das ISP-Interface der Programmierer f r den Experimentierschaltung mit Experimentalschaltung mit AT90S2313 Fertige Programmierboards f r die AVR Andere Wie plane ich ein Projekt in Assembler?

Anfängerkurs zum Erlernen der Assemblersprache von ATMEL-AVR-Mikroprozessoren Gerhard Schmidt http://www.avr-asm-tutorial.net Dezember 2010

Tags:

  Metal

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Anfängerkurs zum Erlernen der Assemblersprache …

1 Anf ngerkurs zum Erlernen derAssemblersprache vonATMEL-AVR-MikroprozessorenGerhard 2010 AVR-ASM-TutorialHistorie:Korrektur BCD-Addition Dezember 2010 Erg nzte Fassung vom September 2010 Vollst ndig berarbeitete Neufassung Dezember 2008 / Januar 2009 Originalversion vom September 2003 Inhaltsverzeichnis1 Warum Assembler lernen?..12 Das Konzept hinter der Sprache Die Hardware von Die Arbeitsweise der Instruktionen in Unterschied zu Assembler und Interpreterkonzept und Hochsprachenkonzepte und Was ist nun genau warum einfacher?..73 Hardware f r die Das ISP-Interface der Programmierer f r den Experimentierschaltung mit Experimentalschaltung mit AT90S2313 Fertige Programmierboards f r die AVR Andere Wie plane ich ein Projekt in Assembler?

2 Berlegungen zur berlegungen zum Werkzeuge f r die Der Der Das Programmieren des Das Simulieren im Struktur von Angaben im Kopf des Angaben zum Ein Programm zur Erzeugung strukturierter Was ist ein Register?.. Unterschiede der Empfehlungen zur Was ist ein Port?.. Port-Symbole, Ports Ports transparenter Ports Auf Portbits Porteinblendung im Details wichtiger Ports in den Das Statusregister als wichtigster Verwendung von SRAM in AVR Was ist SRAM?.. Wozu kann man SRAM verwenden?.. Wie verwendet man SRAM?.. Verwendung von SRAM als Steuerung des Programmablaufes in AVR Was passiert beim Reset?.. Linearer Programmablauf und Zeitzusammenh nge beim Makros im Interrupts im Schleifen, Zeitverz gerungen und Das Das Mehr ber berlegungen zum Die Das Ablauf eines interruptgesteuerten Ablauf bei mehreren interruptgesteuerten Abl Interrupts und Quellen von Arten AVR-Typen mit AVR-Typen mit Rechnen in Zahlenarten in Positive Vorzeichenbehaftete Binary Coded Digit, Gepackte Zahlen im Schieben und Addition.

3 Subtraktion und Umwandlung von Zahlen - Bin re Zahlenumwandlung in Allgemeine Bedingungen der Von ASCII nach Bin Von BCD zu Bin Bin rzahl mit 10 Von bin r nach Von bin r nach Von bin r nach Von Hex nach Bin Umgang mit Festkommazahlen in AVR Sinn und Unsinn von Flie Lineare Beispiel: 8-Bit-AD-Wandler mit Warum Assembler lernen?Assembler oder Hochsprache, das ist hier die Frage. Warum soll man noch eine neue Sprache lernen, wenn man schon welche kann? Das beste Argument: Wer in Frankreich lebt und nur Englisch kann, kann sich zwar durchschlagen, aber so richtig heimisch und unkompliziert ist das Leben dann nicht. Mit verquasten Sprachkonstruktionen kann man sich zwar durchschlagen, aber elegant h rt sich das meistens nicht an.

4 Und wenn es schnell gehen muss, geht es eben fter der K rze liegt die W rzeAssemblerinstruktionen bersetzen sich 1 zu 1 in Maschineninstruktionen. Auf diese Weise macht der Prozessor wirklich nur das, was f r den angepeilten Zweck tats chlich erforderlich ist und was der Pro-grammierer auch gerade will. Keine extra Schleifen und nicht ben tigten Features st ren und blasen den ausgef hrten Code auf. Wenn es bei begrenztem Programmspeicher und komplexerem Programm auf jedes Byte ankommt, dann ist Assembler sowieso Pflicht. K rzere Programme lassen sich wegen schlankerem Maschinencode leichter entwanzen, weil jeder einzelne Schritt Sinn macht und zu Auf-merksamkeit zwingt. Schnell wie HundDa kein unn tiger Code ausgef hrt wird, sind Assembler-Programme maximal schnell.

5 Jeder Schritt ist von voraussehbarer Dauer. Bei zeitkritischen Anwendungen, wie bei Zeitmessungen ohne Hardwa-re-Timer, die bis an die Grenzen der Leistungsf higkeit des Prozessors gehen sollen, ist Assembler ebenfalls zwingend. Soll es gem tlich zugehen, k nnen Sie programmieren wie Sie wollen. Assembler ist leicht erlernbarEs stimmt nicht, dass Assembler komplizierter und schwerer erlernbar ist als Hochsprachen. Das Erler-nen einer einzigen Assemblersprache macht Sie mit den wichtigsten Grundkonzepten vertraut, das Er-lernen von anderen Assembler-Dialekten ist dann ein Leichtes. Der erste Code sieht nicht sehr elegant aus, mit jedem Hunderter an Quellcode sieht das schon sch ner aus. Sch nheitspreise kriegt man erst ab einigen Tausend Zeilen Quellcode.

6 Da viele Features prozessorabh ngig sind, ist Optimierung eine reine bungsangelegenheit und nur von der Vertrautheit mit der Hardware und dem Dialekt abh ngig. Die ersten Schritte fallen in jeder neu erlernten Sprache nicht leicht und nach wenigen Wochen l chelt man ber die Holprigkeit und Umst ndlichkeit seiner ersten Gehversuche. Manche Assembler-Instruk-tionen lernt man eben erst nach Monaten richtig nutzen. AVR sind ideal zum LernenAssemblerprogramme sind gnadenlos, weil sie davon ausgehen, dass der Programmierer jeden Schritt mit Absicht so und nicht anders macht. Alle Schutzmechanismen muss man sich selber ausdenken und auch programmieren, die Maschine macht bedenkenlos jeden Unsinn mit. Kein Fensterchen warnt vor omin sen Schutzverletzungen, es sei denn man hat das Fenster selber programmiert.

7 Denkfehler beim Konstruieren sind aber genauso schwer aufzudecken wie bei Hochsprachen. Das Ausprobieren ist bei den ATMEL-AVR aber sehr leicht, da der Code rasch um einige wenige Diagnostikzeilen erg nzt und mal eben in den Chip programmiert werden kann. Vorbei die Zeiten mit EPROM l schen, programmie-Avr-Asm-TutorialS. 2ren, einsetzen, versagen und wieder von vorne nachdenken. nderungen sind schnell gemacht, kompiliert und entweder im Studio simuliert, auf dem STK-Board ausprobiert oder in der realen Schaltung einprogrammiert, ohne dass sich ein IC-Fu verbogen oder die UV-Lampe gerade im letzten Moment vor der gro en Erleuchtung den Geist aufgegeben hat. AusprobierenNur Mut bei den ersten Schritten. Wenn Sie schon eine Programmiersprache k nnen, vergessen Sie sie erst mal gr ndlich, weil sonst die allerersten Schritte schwerfallen.

8 Hinter jeder Assemblerspra-che steckt auch ein Prozessorkonzept, und gro e Teile der erlernten Hochsprachenkonzepte machen in Assembler sowieso keinen Sinn. Die ersten f nf Instruktionen gehen schwer, dann geht es expo-nentiell leichter. Nach den ersten 10 Zeilen nehmen Sie den ausgedruckten Instruction Set Summary mal f r eine Stunde mit in die Badewanne und wundern sich ein wenig, was es so alles zu Program-mieren und zum Merken gibt. Versuchen Sie zu Anfang keine Mega-Maschine zu programmieren, das geht in jeder Sprache gr ndlich schief. Heben Sie erfolgreich programmierte Codezeilen gut do-kumentiert auf, Sie brauchen sie sowieso bald der DarstellungDas vorliegende Werk muss man nicht unbedingt von vorne nach hinten und komplett lesen, einige Kapitel k nnen auch schlicht als Nachschlagewerk dienen.

9 Konsultieren Sie ab und an das Inhalts-verzeichnis auf Kapitel, die Sie noch nicht absolviert haben und die Sie vielleicht zur L sung einer bestimmten Aufgabe brauchen k nnten. Bedingt durch diesen Aufbau sind leider manche Doppe-lungen nicht zu vermeiden. Und es ist auch nicht zu vermeiden, dass in manchen Kapiteln schon Dinge verwendet werden, die erst sp ter ausf hrlicher behandelt Gegensatz zu einem speziellen, sehr teuren Buch verzichte ich darauf, den kompletten Befehls-satz in tabellarischer Form abzuhandeln. Mir kommt es mehr auf den Kontext an, in dem Instruktio-nen einen Sinn machen. Wer den Befehlssatz ganz braucht, sollte sich das Device Databook seines Lieblingsprozessors daneben Lernerfolg. Avr-Asm-TutorialS.

10 32 Das Konzept hinter der Sprache AssemblerAchtung! Bei dieser Seite geht es um die Programmierung von Mikrocontrollern, nicht um PCs mit Linux- oder Windows-Betriebssystem und hnliche Elefanten, sondern um kleine M use. Es geht auch nicht um die Programmierung von Ethernet-Megamaschinen, sondern um die Frage, warum man als Anf nger eher mit Assembler beginnen sollte als mit einer Hochsprache. Sie erl utert, was das Konzept hinter Assembler ist, was Hochsprachenprogrammierer vergessen m ssen, um Assem-bler zu lernen und warum Assembler manchmal f lschlich als "Maschinensprache" bezeichnet wird. Die Hardware von MikrocontrollernWas hat die Hardware von Mikrocontrollern mit Assembler zu tun? Viel, wie aus dem Folgenden hervorgeht.


Related search queries