Fehler im PIC18Fxx2-Befehlssatz?

Mar 07, 2005 3 Replies

Hallo, bei Verwendung des Befehls SUBWF scheint das N-Flag nicht immer richtig gesetzt zu werden. Es tritt meistens dann auf, wenn der Befehl Null minus Null rechnet. Laut Microchip-Beispiele sollten N- und C-Flag immer den entgegengesetzten Wert haben, oder sehe ich das falsch? Hat jemand schon ähnliche Beobachtungen gemacht, ggf. auch mit anderen Befehlen des Befehlssatzes? Über weitere Informationen wäre ich dankbar, zumal bei Microchip dazu nichts zu erfahren ist.



MfG Martin


Ja.

Das N Flag ist ein Indikator für negative Zahlen, kommt also immer, wenn bit7 der letzten arithmetischen Operation 1 ist. Das Carry Flag zeigt einen arithmetischen Überlauf / Borrow an, und ist damit nicht zwingendermassen invers zum N-Flag.

Z.B:

0xff + 0xff : N und C Flag gesetzt.

MIKE

"M.Randelzhofer" schrieb im Newsbeitrag news: snipped-for-privacy@individual.net...

Sorry, im Beispiel SUBWF sollte bei 0-0 ein N=0 und C=1 rauskommen. Und was macht das Pig ?

MIKE

Hm, es stellt sich doch prinzipiell die Frage, was ein weiteres Flag soll, wenn es nur das Inverse eines anderen anzeigt?

bis dann andreas

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required