Anweisung addme oder ame (Add to Minus One Extended)
Zweck
Addiert den Inhalt eines Allzweckregisters, das Carry-Bit im Festkomma-Ausnahmeregister und -1 und legt das Ergebnis in einem Allzweckregister ab.
Syntax
| Bit | Wert |
|---|---|
| 0 - 5 | 31 |
| 6 - 10 | RT |
| 11 - 15 | RA |
| 16 - 20 | /// |
| 21 | OE |
| 22 - 30 | 234 |
| 31 | RC |
Beschreibung
Die Befehle addme und ame platzieren die Summe der Inhalte des General-Purpose-Registers (GPR) RA, des Carry-Bits des Festkomma-Ausnahme-Registers und -10xFFFF FFFF)in die GPR-Zielumgebung RT.
Die Anweisung addme hat vier Syntaxformate. Jedes Syntaxformular hat eine andere Auswirkung auf das Bedingungsregisterfeld 0 und das Register für Ausnahmebedingungen mit festen Punkten.
Die Anweisung ame hat vier Syntaxformate. Jedes Syntaxformular hat eine andere Auswirkung auf das Bedingungsregisterfeld 0 und das Register für Ausnahmebedingungen mit festen Punkten.
| Element | Beschreibung | |||
|---|---|---|---|---|
| Syntaxformat | Überlaufausnahmebedingung (OE) | Fixed-Point Exception Register | Satzbit (Rc) | Bedingung Feld 0 registrieren |
| addme | 0 | CA | 0 | Keine |
| hinzufügen. | 0 | CA | 1 | LT,GT, EQ, SO |
| addmeo | 1 | SO, OV, CA | 0 | Keine |
| addmeo. | 1 | SO, OV, CA | 1 | LT,GT, EQ, SO |
| Name | 0 | CA | 0 | Keine |
| Name. | 0 | CA | 1 | LT,GT, EQ, SO |
| Name | 1 | SO, OV, CA | 0 | Keine |
| ameo. | 1 | SO, OV, CA | 1 | LT,GT, EQ, SO |
Die vier Syntaxformen der Anweisung addme und die vier Syntaxformen der Anweisung ame wirken sich immer auf das Carry-Bit (CA) im Register "Fixed-Point Exception" aus. Wenn das Syntaxformat das OE-Bit (Overflow Exception) auf 1 setzt, wirkt sich die Anweisung auf die SO-(Summary Overflow) und OV-Bit (Overflow) im Register für Ausnahmebedingungen mit festen Punkten aus. Wenn das Syntaxformat das Satzbit (Rc) auf 1 setzt, wirkt sich die Anweisung auf die Bits "Kleiner als (LT) Null", "Größer als (GT) Null", "Gleich (EQ) Null" und "Summary Overflow (SO)" im Bedingungsregisterfeld 0 aus.
Parameter
| Element | Beschreibung |
|---|---|
| RT | Gibt das Zielregister für allgemeine Zwecke an, in dem das Ergebnis der Operation gespeichert wird. |
| RA | Gibt das allgemeine Quellenregister für die Operation an. |
Beispiele
- Der folgende Code addiert den Inhalt von GPR 4, das Carry-Bit im Festkomma-Ausnahme-Register und -1 und speichert das Ergebnis in GPR 6:
# Assume GPR 4 contains 0x9000 3000. # Assume the Carry bit is zero. addme 6,4 # GPR 6 now contains 0x9000 2FFF. - Der folgende Code addiert den Inhalt von GPR 4, das Übertragsbit im Festkomma-Ausnahmeregister und -1, speichert das Ergebnis in GPR 6 und setzt das Bedingungsregisterfeld 0, um das Ergebnis der Operation wiederzugeben:
# Assume GPR 4 contains 0xB000 42FF. # Assume the Carry bit is zero. addme. 6,4 # GPR 6 now contains 0xB000 42FE. - Der folgende Code addiert den Inhalt von GPR 4, das Übertragsbit im Festkomma-Ausnahmeregister und -1, speichert das Ergebnis in GPR 6 und setzt die Bits "Summary Overflow", "Overflow" und "Carry" im Festkomma-Ausnahmeregister, um das Ergebnis der Operation wiederzugeben:
# Assume GPR 4 contains 0x8000 0000. # Assume the Carry bit is zero. addmeo 6,4 # GPR 6 now contains 0x7FFF FFFF. - Der folgende Code addiert den Inhalt von GPR 4, das Übertragsbit im Festkomma-Ausnahmeregister und -1, speichert das Ergebnis in GPR 6 und setzt die Bits "Summary Overflow", "Overflow" und "Carry" im Festkomma-Ausnahmeregister und im Bedingungsregisterfeld 0, um das Ergebnis der Operation wiederzugeben:
# Assume GPR 4 contains 0x8000 0000. # Assume the Carry bit is one. addmeo. 6,4 # GPR 6 now contains 0x8000 000.