Null-Flagge - Zero flag

Das Null-Flag ist ein Einzelbit-Flag, das bei den meisten herkömmlichen CPU- Architekturen (einschließlich x86 , ARM , PDP-11 , 68000 , 6502 und zahlreichen anderen) ein zentrales Merkmal darstellt . Es wird oft in einem speziellen Register gespeichert, in der Regel genannt Statusregister oder Flag - Register , zusammen mit anderen Fahnen. Das Null-Flag wird in den meisten Dokumentations- und Assemblersprachen normalerweise mit Z oder ZF oder ähnlichem abgekürzt .

Zusammen mit einem Übertragsflag , einem Vorzeichenflag und einem Überlaufflag wird das Nullflag verwendet, um das Ergebnis einer arithmetischen Operation einschließlich bitweiser logischer Anweisungen zu überprüfen . Es wird auf 1 oder true gesetzt, wenn ein arithmetisches Ergebnis Null ist, und andernfalls zurückgesetzt. Dies schließt Ergebnisse ein, die nicht gespeichert werden, da die meisten herkömmlichen Befehlssätze den Vergleichsbefehl als Subtraktion implementieren, bei der das Ergebnis verworfen wird. Es ist auch üblich, dass Prozessoren einen bitweisen AND-Befehl haben, der das Ergebnis nicht speichert.

Die logische Formel des Null-Flags für einen binären Operanden mit zwei Komplementen lautet NOT (OR (alle Bits des betreffenden Operanden)).

In den meisten Prozessoren wird das Null-Flag hauptsächlich in bedingten Verzweigungsbefehlen verwendet , die den Steuerfluss bei früheren Befehlsergebnissen ändern, aber es gibt häufig auch andere Verwendungen.

In einigen Befehlssätzen wie der MIPS-Architektur wird kein dediziertes Flag-Register verwendet. Sprunganweisungen prüfen stattdessen ein Register auf Null.