Also, wenn das mein Problem wäre würde ich zuerst mal ins Datenblatt schauen.
Da es aber nicht mein Problem ist, bin ich einfach zu faul zum Suchen.
Das S-Flag ( Signed Test ) :
Auf das S-Flag ist hier leider niemand eingegangen und hoffe nun hier befriedigende Antworten zu bekommen :
https://www.mikrocontroller.net/topic/295439#6853179
Das V-Flag hat mich ja schon richtig Gehirnschmalz gekostet :
https://www.mikrocontroller.net/topic/295439#6782191
Bernd_Stein
CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler
Also, wenn das mein Problem wäre würde ich zuerst mal ins Datenblatt schauen.
Da es aber nicht mein Problem ist, bin ich einfach zu faul zum Suchen.
Notwendig für ne Antwort wär doch ne Frage - oder soll man sich durch all Deine deep-links und deren weitere Verlinkungen durchkämpfen um Deine Frage zu finden?.. Auf das S-Flag ist hier leider niemand eingegangen und hoffe nun hier befriedigende Antworten zu bekommen ..
Das ist nicht sonderlich erhellend wenn man ne Antwort erwartet. Oder muss man Dich bedauern?.. Das V-Flag hat mich ja schon richtig Gehirnschmalz gekostet ..
Trotz meiner Abneigung gegen solche Nicht-Fragen und deren Autoren : Im AVRSTudio 4 (z.B. Version 4.19 Build 730) gibts das Register [Help], dort, im Flyout ein weiteres [Assembly Help]. Damit bekommt man für jeden einzelnen Controllerbefehl eine ausführlich Hilfe - auch zu den Statusregistern und dessen Flags. Darauf verweist ja auch das Datenblatt (z.B. .. See the “Instruction Set Description” for detailed information. ..).
Ciao sagt der JoeamBerg
.. Auf das S-Flag ist hier leider niemand eingegangen und hoffe nun hier befriedigende Antworten zu bekommen
Notwendig für ne Antwort wär doch ne Frage - oder soll man sich durch all Deine deep-links und deren weitere Verlinkungen durchkämpfen um Deine Frage zu finden?
Na gut fange ich von vorn an.
Wer hat lust, Zeit und Wissen, um zu versuchen mir den Sinn des S-Flags begreiflich machen ?
Die vorherigen Links zeigen auf welchem "Wissensstand" ich zur Zeit bei diesem Thema bin.
Bernd_Stein
CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler
Hier stehen die Flags erklärt:
https://www.mikrocontroller.net/arti...al:_Vergleiche
Gruß
Erster Anlaufpunkt sollte doch das Reference Manual sein:
http://ww1.microchip.com/downloads/e...set-manual.pdf
Tja, da schreibt man und tut man und verlinkt man, aber es interessiert sowie nicht wirklich, hauptsache man...
Erster Anlaufpunkt sollte doch das Reference Manual sein:
http://ww1.microchip.com/downloads/e...set-manual.pdf
S = N ⊕ V, for signed tests
Ganz toll, ich seh schon hier wirds auch nicht besser.
Bernd_Stein
CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler
Die Rüge ist nicht gerechtfertigt. @shedepe hat doch das Assemblermanual verlinkt. da stehen alle Assemblerbefehle drin und welche Flags diese beeinflussen. Was gibt es jetzt da noch nicht zu verstehen, was viele Worte jetzt besser erklären könnten? Wenn du damit nicht zurechtkommst, installier die nen Assembler und probier einzelne Addition/Subtraktionen aus und dschau welche Flags da verändert werden. Ich habe mit AVR noch nix gemacht, meine Assembler-Anfänge hatten noch Z80 und 6502 zu tun und ich habe auch so gemacht.
Gruß
Gerhard
Genau, ich würde das schon fast frech nennen. Der Link von gunzelg führt zu
Ausschnitt aus gunzelgs Link nach dieser Zeile zu mikrocontroller.net ".. Hier stehen die Flags erklärt: .."
- - - - - - - Ausschnitt - - - - - -
Flags
Die Flags sind Bits im Statusregister SREG. Ihre Aufgabe ist es, das Auftreten bestimmter Ereignisse, die während Berechnungen eintreten können, festzuhalten. Speicherbefehle (LD, LDI, ST, MOV, ...) haben auf dem AVR grundsätzlich keinen Einfluss auf das Statusregister. Will man den Inhalt eines Registers explizit testen (z. B. nach dem Laden aus dem SRAM), so kann man hierfür den TST-Befehl verwenden.
Overflow (V)
I T H S V N Z C
Dieses Bit wird gesetzt, wenn bei einer Berechnung mit 2-Komplement Arithmetik ein Überlauf (Unterlauf) stattgefunden hat. Dies entspricht einem Überlauf von Bit 6 ins Bit 7.
Der Übertrag, der bei der Addition/Subtraktion von Bit 6 auf Bit 7 auftritt, zeigt daher – wenn er vorhanden ist – an, dass es sich hier um einen Überlauf (Overflow) des Zahlenbereichs handelt und das Ergebnis falsch ist. Das ist allerdings nicht der Fall, wenn auch der Übertrag von Bit 7 nach Bit 8 (Carry) aufgetreten ist. Daher ist das Overflow-Flag die XOR-Verknüpfung aus den Übertrag von bit 6 nach Bit 7 und dem Carry.
Beispiele für die Anwendung des V-Flags finden sich in saturierter Arithmetik.
Signed (S)
Das Signed-Bit ergibt sich aus der Antivalenz der Flags N und V, also S = N XOR V. Mit Hilfe des Signed-Flags können vorzeichenbehaftete Werte miteinander verglichen werden. Ist nach einem Vergleich zweier Register S=1, so ist der Wert des ersten Registers kleiner dem zweiten (in der Signed-Darstellung). Damit entspricht das Signed-Flag gewissermaßen dem Carry-Flag für Signed-Werte. Es wird hauptsächlich für 'Signed' Tests benötigt. Daher auch der Name.
- - - - - - - Ende Ausschnitt - - - - - -
Das sieht nach meinem Dafürhalten absolut anfängerfreundlich aus und sehr gut erklärt. Es trifft ja genau Deine eingangs genannte Frage:
Was genau ist jetzt noch unverständlich für Dich? Hattest Du denn die Dir genannten Links angesehen? Hattest Du denn insbesondere den Link zu zu mikrocontroller.net angesehen?.. Auf das S-Flag ist hier leider niemand eingegangen und hoffe nun hier befriedigende Antworten zu bekommen : ..
Hmmmm.*grins* noch einer *ggg*.. meine Assembler-Anfänge hatten noch Z80 und 6502 zu tun und ich habe auch so gemacht ..
Ciao sagt der JoeamBerg
Die Rüge ist schon gerechtfertigt, denn den uC-Artikel hatte ich ja selbst dort vorher verlinkt und daraufhin die Vermutung, dass das S-Flag nur die Befehle
BRGE & BRLT bedient und ansonsten uninteressant ist angestellt, aber den Verweis auf uC.net hat man ja nicht richtig durchgelesen - wenn überhaupt.
https://www.mikrocontroller.net/topic/295439#6853179
Hier gabs dann doch noch eine befriedigende Antwort :
https://www.mikrocontroller.net/topic/295439#6879714
Bernd_Stein
CRS Robotics A255, TRONXY X3A, TinkerCAD, c´t-Lab, ProfiLab Expert, AVR8 Assembler
Lesezeichen