Funktionsweise: Compare with Immediate (AVR)

OP #1009809
Lesenswert?

Hallo!

ich bin schon eine ganze Zeit am ueberlegen was die Anleitung fuer die 
CPI Anweisung aussagt.

Als Inputs gibt es Rd als das Register und K die Konstante mit der 
verglichen werden soll.

Einige Elemente des Stausregisters werden nun aber mit R3 oder einem 
anderen R-Wert berechnet. Nun steht da: R (Result) after Operation. Da 
das Register Rd ungeaendert bleibt, gilt dann

R = Rd ?

Oder gilt sowas komisches wie:

R = 11111111 (wenn Vergleich true)
R = 00000000 (wenn Vergleich false)

Was ich nen bischen komisch faende...

Ich hoffe da kann mir jemand weiterhelfen.

Vielen Dank und viele Gruesse
  Markus
Gast #1009815
Lesenswert?

>CPI Anweisung aussagt.

Die cpi Anweisung ist eigentlich dasselbe wie die sbi (subract from 
immediate), nur mit dem Unterschied, dass das Ergebnis der Subtraktion 
nicht gespeichert wird. Es werden nur die Flags gesetzt.
Gast #1009817
Lesenswert?

es wird eine virtuelle Subtraktion durchgeführt, allerdings bleibt das 
Ausgangsregister unverändert (wie bei allen Compare-Befehlen, die ich so 
kenne , egal auf welchem Prozessor). Das Ergebnis des Vergleichs sieht 
man in den Flags, SREG beim AVR.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren