PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] 2 Registerwerte vergleichen!?



bexter
04.07.2011, 22:40
Hi wer kann mir sagen wie ich 2 Registerwerte auf Konsistenz prüfen kann?
Also z.B. wenn der Wert in Reg1 mit Reg2 übereinstimmt ein Sprungbefehl ausgeführt wird.

CPI (Compare Imidiate) kann leider nur ein Register mit einer Konstanten vergleichen...
Muss ich wirklich den umweg über ein Statusbit gehen?
LG Alex

PICture
04.07.2011, 23:10
Hallo!

Ich, als AVR Anfänger, würde es mit "cp" versuchen. ;)

Besserwessi
04.07.2011, 23:22
Es gibt da noch einen etwas ausgefallenen Befehl: CPSE R1,R2 Wenn die beiden Registerinhalte gleich sind, wird der nächste Befehl übersprungen. Damit geht es dann auch ohne das SREG. Der Weg über CP und das SREG ist aber der üblichere - so geht es auch bei vielen anderen CPUs.

bexter
04.07.2011, 23:31
vielen dank euch 2 =)
gefallen mir beide möglichkeiten. je nachdem ob nach dem compare ein oder mehrere befehle gebraucht werden.
gleich mal ausprobieren ;)

bexter
05.07.2011, 01:21
noch eine Frage:

wie vergleiche ich eine 16 bit Zahl mit einer Konstanten sagen sagen wir Dezimal "625"
Die Zahl ist in R24, R25 gespeichert (lsb = R24)

Sorry für die dummen Fragen, bin normalerweise bei PICS Zuhause

PICture
05.07.2011, 01:31
Ich auch, also sorry für dumme Antwort, aber ich würde zuert z.B. r24 mit LSB und danach r25 mit MSB vergleichen. ;)

bexter
05.07.2011, 01:33
zuert z.B. r24 mit LSB und danach r25 mit LSB vergleichen.

Du meinst wohl r24 mit LSB und r25 mit MSB, aber ansonsten einleuchtend :D
kann geschlossen werden