Forum: Mikrocontroller und Digitale Elektronik N-Flag bei AT90S8515


von Marc (Gast)


Lesenswert?

Hallo,

kann mir jemand sagen wann genau das N-Flag gesetzt wird?
Ich dachte eigentlich es wird nur gesetzt wenn das Ergebnis einer 
Rechenoperation negativ ist. Das ist aber scheinbar nicht so. Ich will 
im SRAM einen Wert als maximalwert stehen haben, bei Ausgaben von Werten 
auf einen Port soll jedesmal mit diesem Wert verglichen werden 
(subtraktion), ist das Ergebnis negativ soll keine Ausgabe erfolgen. Das 
hat irgendwie nicht so ganz funktioniert. Also habe ich im AVR-Studio 
mal nachgesehen wie die Flags gesetzt werden.
Komischerweise wurde das N-Flag bei "sub temp,RxByte" (mit temp >> 
RxByte) trotzdem gesetzt. Kann mir jemand helfen?

von Oliver K. (Gast)


Lesenswert?

Hallo Marc,
das N-Flag wir IMMER gesetzt, wenn nach einer arithmetischen oder 
logischen Operation das Vorzeichenbit (Bit 7) des Ergebnisses gesetzt 
ist.

Verwende lieber
cp tmp, RxByte
brlo label_tmp_ist_kleiner_als_RxByte

Gruß
Oliver

von Marc (Gast)


Lesenswert?

Alles klar, das funktioniert jetzt einwandfrei.
Vielen Dank.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.