Bedingungscodes: Unterschied zwischen den Versionen
Aus C und Assembler mit Raspberry
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
| Zeile 4: | Zeile 4: | ||
|+ Bedingungscodes | |+ Bedingungscodes | ||
|- | |- | ||
! | ! Symbol !! colspan="2"|Bedeutung (Ganzzahl) !! colspan="2"|Bedeutung (Gleitkomma) !! Bedingungsflags | ||
|- | |- | ||
| EQ || | | EQ || gleich || = || gleich || = || Z == 1 | ||
|- | |- | ||
| NE || | | NE || ungleich || <>, != || ungleich oder ungeordnet || <>, != || Z == 0 | ||
|- | |- | ||
| CS, HS || | | CS, HS || Vorzeichenlos größer oder gleich || >= || Größer , gleich oder ungeordnet || >= || C == 1 | ||
|- | |- | ||
| CC, LO || | | CC, LO || Vorzeichenlos kleiner || < || Kleiner als || < || C == 0 | ||
|- | |- | ||
| MI || Minus, negativ || < 0 || Kleiner als || < || N == 1 | | MI || Minus, negativ || < 0 || Kleiner als || < || N == 1 | ||
|- | |- | ||
| PL || Plus, positiv oder null || >= 0 || Größer | | PL || Plus, positiv oder null || >= 0 || Größer, gleich oder ungeordnet || >= || N == 0 | ||
|- | |- | ||
| VS || Überlauf || || Ungeordnet || || V == 1 | | VS || Überlauf || || Ungeordnet || || V == 1 | ||
| Zeile 22: | Zeile 22: | ||
| VC || Kein Überlauf || || Geordnet || || V == 0 | | VC || Kein Überlauf || || Geordnet || || V == 0 | ||
|- | |- | ||
| HI || Vorzeichenlos größer | | HI || Vorzeichenlos größer || > || Größer oder ungeordnet || > || C ==1 && Z == 0 | ||
|- | |- | ||
| LS || Vorzeichenlos kleiner | | LS || Vorzeichenlos kleiner oder gleich || <= || Kleiner oder gleich || <= || !(C ==1 && Z ==0) | ||
|- | |- | ||
| GE || Vorzeichenbehaftet größer | | GE || Vorzeichenbehaftet größer oder gleich || >= || Größer oder gleich || >= || N == V | ||
|- | |- | ||
| LT || Vorzeichenbehaftet kleiner | | LT || Vorzeichenbehaftet kleiner || < || Kleiner oder ungeordnet || < || N != V | ||
|- | |- | ||
| GT || Vorzeichenbehaftet größer | | GT || Vorzeichenbehaftet größer || > || Größer || > || Z == 0 && N == V | ||
|- | |- | ||
| LE || Vorzeichenbehaftet kleiner | | LE || Vorzeichenbehaftet kleiner oder gleich || <= || Kleiner, gleich oder ungeordnet || <= || !(Z == 0 && N == V) | ||
|- | |- | ||
| AL || Immer || || Immer || || Beliebig | | AL || Immer || || Immer || || Beliebig | ||
|} | |} | ||
Version vom 26. September 2024, 08:06 Uhr
In der Archektetur des ARMv8 gibt es Befehle, die Bedingungsflags setzen oder Bedingungscodes oder beides testen. Zu den jeweiligen Befehlen wird darauf eingegangen, wenn diese Befehle dies unterstützen. Hier ist eine Auflistung der Bedingungscodes, die verwendet werden:
| Symbol | Bedeutung (Ganzzahl) | Bedeutung (Gleitkomma) | Bedingungsflags | ||
|---|---|---|---|---|---|
| EQ | gleich | = | gleich | = | Z == 1 |
| NE | ungleich | <>, != | ungleich oder ungeordnet | <>, != | Z == 0 |
| CS, HS | Vorzeichenlos größer oder gleich | >= | Größer , gleich oder ungeordnet | >= | C == 1 |
| CC, LO | Vorzeichenlos kleiner | < | Kleiner als | < | C == 0 |
| MI | Minus, negativ | < 0 | Kleiner als | < | N == 1 |
| PL | Plus, positiv oder null | >= 0 | Größer, gleich oder ungeordnet | >= | N == 0 |
| VS | Überlauf | Ungeordnet | V == 1 | ||
| VC | Kein Überlauf | Geordnet | V == 0 | ||
| HI | Vorzeichenlos größer | > | Größer oder ungeordnet | > | C ==1 && Z == 0 |
| LS | Vorzeichenlos kleiner oder gleich | <= | Kleiner oder gleich | <= | !(C ==1 && Z ==0) |
| GE | Vorzeichenbehaftet größer oder gleich | >= | Größer oder gleich | >= | N == V |
| LT | Vorzeichenbehaftet kleiner | < | Kleiner oder ungeordnet | < | N != V |
| GT | Vorzeichenbehaftet größer | > | Größer | > | Z == 0 && N == V |
| LE | Vorzeichenbehaftet kleiner oder gleich | <= | Kleiner, gleich oder ungeordnet | <= | !(Z == 0 && N == V) |
| AL | Immer | Immer | Beliebig | ||