WikiDer > Zustandscode
Das Bedingungscode ist der Inhalt einer bestimmten registrieren im Prozessor eines Computers.
Wird es einen geben Anweisung B. eine Addition durchgeführt wird, wird dem Bedingungscode automatisch ein Wert zugewiesen.Normalerweise wird der Bedingungscode ignoriert, aber es ist möglich, dass das Programmje nach Zustand des Bedingungscodes einen bedingten Sprung ausführt.
Es gibt auch Anweisungen, wie die Gleichungen, die keinerlei Wirkung haben, außer den Bedingungscode zu setzen.
IBM 360
In der Architektur des IBM 360 ist der Bedingungscode Teil des Programmstatuswort, die 64 Bit enthält. Der Bedingungscode selbst besteht nur aus zwei Bits. Der Bedingungscode hat also vier Möglichkeiten, nämlich:
| Bits | nach dem Vergleich | nach Berechnung | nach der Anweisung TM | Sprungaufgaben | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| nach dem Vergleich | nach Berechnung | nach TM | |||||||||||||
| B | NOP | BH (hoch) | BL (niedrig) | SEIN (gleich) | BP (Plus) | BM (Minus) | BZ (Null) | BO (Überlauf) | BO (Einsen) | BM (gemischt) | BZ (Null) | ||||
| 00 | gleich | Null | Nullen | X | - | - | - | X | - | - | X | - | - | - | X |
| 10 | kleiner | Negativ | gemischt | X | - | - | X | - | - | X | - | - | - | X | - |
| 01 | größer | positiv | X | - | X | - | - | X | - | - | - | - | - | - | |
| 11 | Überlauf | Einsen | X | - | - | - | - | - | - | - | X | X | - | - | |
Verbindungen mit der Assemblersprache
Beim Entwurf der Architektur wurde die Assemblersprache berücksichtigt. Als Ergebnis wird der Sprungbefehl BM nach einer Berechnung verwendet werden (Zweig wenn Minus), aber auch nach TM (Zweig, wenn gemischt). Für den Assembler macht es keinen Unterschied, ob die ich bedeutet „gemischt“ oder „minus“. Das gleiche gilt für den Sprungbefehl BO (Verzweigung bei Überlauf oder Verzweigung bei Einsen).
Moderne Mikroprozessoren: das FLAGS-Register
Bei modernen Mikroprozessoren besteht der Bedingungscode aus viel mehr Bits. Diese arbeiten unabhängiger voneinander. Die einzelnen Bits werden auch genannt Flaggen genannt und zusammen werden sie auch genannt FLAGS-Register.
Intel 8080
Der Bedingungscode heißt hier Flags-Register und besteht aus acht Bits, die nicht alle eine Bedeutung haben.Eines der Bits ist das Interrupt-Bit, das anzeigt, unterbrechen akzeptiert werden soll oder nicht.Dieses Bit ist eigentlich kein Bedingungscode.
Das Akkumulator (Register A) und das Flags-Register werden zusammen als PSW bezeichnet, von Programmstatuswort.
Intel x86-Prozessoren
Es FLAGGEN-registrieren ist ein Register im Intelx86Mikroprozessor die den Zustand enthält, in dem sich der Prozessor befindet. Dieses Register ist 16 Bit breit. Die Nachfolger, die Register EFLAGS und RFLAGS, sind 32 bzw. 64 Bit breit. Die breiteren Register sind mit den schmaleren Registern kompatibel, da der untere Teil dieser breiteren Register immer den schmaleren Registern entspricht.
| Intel x86 FLAGS-Registrierung | |||
|---|---|---|---|
| bisschen # | Abkürzung | Beschreibung | Kategorie |
| FLAGGEN | |||
| 0 | CF | Flagge tragen | Statusflagge |
| 1 | 1 | Reserviert | |
| 2 | PF | Paritätsflagge | Statusflagge |
| 3 | 0 | Reserviert | |
| 4 | AF | Flagge anpassen | Statusflagge |
| 5 | 0 | Reserviert | |
| 6 | ZF | Nullflagge | Statusflagge |
| 7 | SF | Flagge unterschreiben | Statusflagge |
| 8 | TP | Treppenfahne (einstufig) | Systemflagge |
| 9 | WENN | Unterbrechungsfreigabe-Flag | Systemflagge |
| 10 | DF | Richtungsflagge | Kontrollflagge |
| 11 | ODER | Überlaufflagge | Statusflagge |
| 12, 13 | IOPL | E/A-Berechtigungsstufe (ab 286) | Systemflagge |
| 14 | NT | Flag für verschachtelte Aufgaben (von 286) | Systemflagge |
| 15 | 0 | Reserviert | |
| FLAGS | |||
| 16 | HF | Resume-Flag (von 386) | Systemflagge |
| 17 | VM | Virtual-8086-Modus-Flag (von 386) | Systemflagge |
| 18 | AC | Ausrichtungsprüfung (ab 486SX) | Systemflagge |
| 19 | VIF | Virtuelles Interrupt-Flag (Pentium) | Systemflagge |
| 20 | VIP | Virtueller Interrupt anstehend (Pentium ) | Systemflagge |
| 21 | ICH WÜRDE | Identifikation (Pentium) | Systemflagge |
| 22 | 0 | Reserviert | |
| 23 | 0 | Reserviert | |
| 24 | 0 | Reserviert | |
| 25 | 0 | Reserviert | |
| 26 | 0 | Reserviert | |
| 27 | 0 | Reserviert | |
| 28 | 0 | Reserviert | |
| 29 | 0 | Reserviert | |
| 30 | 0 | Reserviert | |
| 31 | 0 | Reserviert | |
| RFLAGS | |||
| 32-63 | 0 | Reserviert | |