-
-
Erfahrener Benutzer
Robotik Einstein
Wie wärs mit:
BST r16,7 ; Speichert das 7 Bit des Registers r16 im T Register
BRTS machein ; Verzweigt ob das Bit 1 oder 0 war
CBI PORTB,2 ; Legt eine 0 an PORTB,2 an wenn T=0 ist
RJMP raushier ; Überspringt die Set Routine "machein"
machein:
SBI PORTB,2 ; Legt eine 1 an PORTB,2 an
raushier:
; Weitererer Code von Dir
Das T Register im SREG ist für solche Eizelbit Verzweigungen sehr gut geeignet.
Zum JMP - Befehl:
Wenn ein Controller so wenig Speicher hat, das der gesamte Speicherinhalt mit RJMP übersprungen werden kann, wird der Befahl JMP vom Controller nicht unterstützt (ATMEL Philosophie).
Ausserdem braucht der JMP Befehl 3 Takte, der RJMP aber nur 2 (beim ATMEGA 16).
Also ist RJMP auch schneller.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen