09.07.2015 Aufrufe

Assembler und Computergrafik - Eingebettete Systeme - Goethe ...

Assembler und Computergrafik - Eingebettete Systeme - Goethe ...

Assembler und Computergrafik - Eingebettete Systeme - Goethe ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

KAPITEL 2. GRUNDLAGEN 50x4022in der hexadezimalen Darstellung schreiben zu müssen, kann der Programmierer die <strong>Assembler</strong>anweisungADD R1, R2verwenden, die für den Prozessor, welcher im Praktikum benutzt wird, genau dasselbe bedeutet.2.2.1 Eigenschaften einer <strong>Assembler</strong>spracheDie Fähigkeiten einer <strong>Assembler</strong>sprache hängen direkt von der Zielarchitektur ab. Besitztdie Ziel-CPU nicht den entsprechenden Befehl, so kann auch der <strong>Assembler</strong>programmiererkeinen solchen Befehl ohne weiteres benutzen. Die ganzen Konstrukte höherer Programmiersprachen,die dem Programmierer erlauben seine Algorithmen in verständliche Programmezu übertragen, fehlen:ˆ keine komfortablen Schleifen (for, while, repeat-until)ˆ keine strukturierten Datentypenˆ keine Unterprogramme mit typisierter Parameterübergabeˆ keine automatische SpeicherverwaltunBeispiel:summe = a + b + c + d;Der Ausdruck für die obige Summe kann für die Praktikums-CPU nicht in einem einzigenMaschinensprachebefehl kodiert werden <strong>und</strong> muss daher in mehreren Anweisungen aufgeteiltwerden. Die CPU kann immer nur zwei Register addieren <strong>und</strong> das Ergebnis in einem derRegister speichern.Das folgende C-Programm entspricht daher eher dem <strong>Assembler</strong>programm:summe = a + b;summe = summe + c;summe = summe + d;<strong>und</strong> würde in der <strong>Assembler</strong>sprache der Praktikums-CPU wiefolgt lauten:Im Allgemeinen passiert hier folgendes:LD R1, [a]LD R2, [b]LD R3, [c]LD R4, [d]ADD R1, R2ADD R1, R3ADD R1, R4

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!