Hallo, ich subtrahiere zwei 24-Bit Zahlen im Format H(igh):M(id):L(ow) wie folgt: sub ZAHL1L,ZAHL2L sbc ZAHL1M,ZAHL2M sbc ZAHL1H,ZAHL2H Wie und an welcher Stelle kann ich abfragen, ob das Ergebnis negativ ist? Gruß Thomas
@Thomas (Gast) >Wie und an welcher Stelle kann ich abfragen, ob das Ergebnis negativ >ist? Nach der Rechnung, die Statusbits sind ebenso gültig wie bei 8-Bit Operatioenen. MFG Falk
Nachschaun ob der Subtrahend größer ist als der Minuend.
Hallo, also zum Bsp. das Negativ-Flag auswerten: sub ZAHL1L,ZAHL2L sbc ZAHL1M,ZAHL2M sbc ZAHL1H,ZAHL2H brmi SPRUNGADRESSE ; branch if minus O.K so? Gruß Thomas
Und beachten, das auch das Statusbit für signed überlauf getestet wird. dazu gibts branch befehle für signed operationen
Genau das prüft nur das negative Flag aber nicht ob zweier-komplement überlauf. Auf Seite 1 Instruction Set sieht man die Flags: N für negatives ergebnis, S ist entweder N oder V, sprich entweder negativ oder überlauf (wobei das ergebnis in den 3 8 bit Register alleine nun positiv erscheint, wenn jedoch das Carry bit als 25. bit interpretiert wird, wird dieses zu 1 und stellt das richtige Sign dar. In dem Fall musst du wie es in deinem Fall geboten ist eine Fehlerbehandlung anfügen, oder das Ergebnis manuell auf den negativsten in 24 bit darstellbaren wert korrigieren. auf Seite 10 zeigt sich, der branchbefehl für negativ oder überlauf ist "BRLT"
Thomas schrob: > Wie und an welcher Stelle kann ich abfragen, ob das Ergebnis negativ > ist? Wie soll man das bitte beantworten, wenn nicht nicht mal die µC-Familie da steht, für die das sein soll?
Johann L. wrote: > > Wie soll man das bitte beantworten, wenn nicht nicht mal die µC-Familie > da steht, für die das sein soll? Meine Antwort bezieht sich auf die AVR 8bit Familie..
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.