02.05.2013 Aufrufe

beginner_de

beginner_de

beginner_de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Avr-Asm-Tutorial S. 50<br />

Bit gesetzt ist, darf die Erhöherei beim nächsten Register weitergehen. Wir müssen also springen,<br />

wenn das Z-Bit nicht gesetzt ist. Die entsprechen<strong>de</strong> Sprunginstruktion heißt aber nicht BRNZ<br />

(BRanch on Not Zero), son<strong>de</strong>rn BRNE (BRanch if Not Equal). Na ja, Geschmackssache. Das ganze<br />

Rä<strong>de</strong>rwerk <strong>de</strong>s 32-Bit langen Zählers sieht damit so aus:<br />

Weiter:<br />

INC R1<br />

BRNE Weiter<br />

INC R2<br />

BRNE Weiter<br />

INC R3<br />

BRNE Weiter<br />

INC R4<br />

Das war es schon. Eine einfache Sache. Das Gegenteil von BRNE ist übrigens BREQ o<strong>de</strong>r BRanch<br />

EQual.<br />

Welche <strong>de</strong>r Statusbits durch welche Instruktionen und Bedingungen gesetzt o<strong>de</strong>r rückgesetzt wer<strong>de</strong>n<br />

(auch Prozessorflags genannt), geht aus <strong>de</strong>n einzelnen Instruktionsbeschreibungen in <strong>de</strong>r Instruktionsliste<br />

hervor. Entsprechend kann mit <strong>de</strong>n bedingten Sprunginstruktionen<br />

BRCC/BRCS ; Carry-Flag 0 o<strong>de</strong>r gesetzt<br />

BRSH ; Gleich o<strong>de</strong>r größer<br />

BRLO ; Kleiner<br />

BRMI ; Minus<br />

BRPL ; Plus<br />

BRGE ; Größer o<strong>de</strong>r gleich (mit Vorzeichen)<br />

BRLT ; Kleiner (mit Vorzeichen)<br />

BRHC/BRHS ; Halbübertrag 0 o<strong>de</strong>r 1<br />

BRTC/BRTS ; T-Bit 0 o<strong>de</strong>r 1<br />

BRVC/BRVS ; Zweierkomplement-Übertrag 0 o<strong>de</strong>r 1<br />

BRIE/BRID ; Interrupt an- o<strong>de</strong>r abgeschaltet<br />

auf die verschie<strong>de</strong>nen Bedingungen reagiert wer<strong>de</strong>n. Gesprungen wird immer dann, wenn die entsprechen<strong>de</strong><br />

Bedingung erfüllt ist. Keine Angst, die meisten dieser Instruktionen braucht man sehr<br />

selten. Nur Zero und Carry sind für <strong>de</strong>n Anfang wichtig.<br />

9.3 Zeitzusammenhänge beim Programmablauf<br />

Wie oben schon erwähnt entspricht die Zeitdauer zur Bearbeitung einer Instruktion in <strong>de</strong>r Regel exakt<br />

einem Prozessortakt. Läuft <strong>de</strong>r Prozessor mit 4 MHz Takt, dann dauert die Bearbeitung einer Instruktion<br />

1/4 µs o<strong>de</strong>r 250 ns, bei 10 MHz Takt nur 100 ns. Die Dauer ist quarzgenau vorhersagbar<br />

und Anwendungen, die ein genaues Timing erfor<strong>de</strong>rn, sind durch entsprechend exakte Gestaltung<br />

<strong>de</strong>s Programmablaufes erreichbar. Es gibt aber eine Reihe von Instruktionen, z.B. die Sprungin-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!