beginner_de
beginner_de
beginner_de
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-