Hallo an alle Ich möchte mich nun auch ein bisschen in die Assembler Programmierung vorwagen ;) Jetzt hab ich scho öfters vom Carry Flag gelesen. Was ist das genau? Wo liegt es im Speicher. Wozu wird es genau gebraucht?? Ich hoffe es kann mir wer helfen. Danke im Voraus Gruß Robert
Das Carry-Flag liegt (beim AVR) im Status-Register SREG, und zeigt an wenn bei einer arithmetischen Operation ein Überlauf aufgetreten ist. Welche Befehle das Carry-Flag setzen und abfragen steht in der Assembler-Dokumentation des jeweiligen Prozessors.
Hab mal gehört dass es bei aktuellen PC-Prozessoren kein Carry-Flag mehr gibt. Hat da jemand Infos drüber?
Es gibt Prozessoren ohne Carry-Flag. Weil es Prozessoren ohne Statusregister gibt. Ist eine Konsequenz aus der Entwicklung von performanten Prozessorarchitekturen, die keine / möglichst wenig Resourcen haben, die einer gleichzeitigen Ausführung mehrerer Befehlen im Weg stehen. PC Prozessoren freilich müssen kompatibel zum uralt-8086 sein, mitsamt Carry und Andreas Stiller's alter Liebe, dem A20-Gate.
A.K. wrote: > Es gibt Prozessoren ohne Carry-Flag. Weil es Prozessoren ohne > Statusregister gibt. Wie werden dann aber Vergleiche und Rechnungen mit höherer Bitbreite gemacht ? Peter
Beim AVR zB muss man das Carry flag meist nicht direckt angesprochen werden. Eine 16 bit addition ist zB add r16, r20 adc r17, r21 Viele Befehle veraendern das carry flag, andere beruecksichtigen es. Zb ein rotate, shift, und dgl.
> Wie werden dann aber Vergleiche und Rechnungen mit höherer > Bitbreite gemacht ? Gute Frage. Leider habe ich GCC für MIPS(32) nicht parat, denn ist eine solche Architektur, wie auch Alpha. Man kann natürlich immer einen der Operanden mit dem Ergebnis vergleichen und so erfahren, ob ein Übertrag auftrat.
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.