Syntax: | MULSU Rd, Rr |
---|---|
Funktion: | Dieser Befehl multipliziert eine 8-bit-Zahl mit einer 8-bit-Zahl, das Ergebnis ist 16 Bit breit. Der Multiplikand Rd ist vorzeichenbehaftet, der Multiplikator Rr vorzeichenlos. Das 16-bit-Ergebnis ist ebenfalls vorzeichenbehaftet. Das Ergebnis wird im Register R1 (High-Byte) und R0 (Low-Byte) abgelegt. Dieser Befehl ist nicht bei ATtiny-Chips verfügbar. Als Operanden können nur die Register R16 bis R23 ausgewählt werden. |
Operation: | R1:R0 ← Rd × Rr |
Operanden: | 16 ≤ d ≤ 23, 16 ≤ r ≤ 23 |
Programmzähler: | PC ← PC + 1 |
Words: | 1 (2 Byte) |
Zyklen: | 2 |
16-Bit-Opcode: | 0000 0011 0ddd 0rrr |
I | T | H | S | V | N | Z | C |
---|---|---|---|---|---|---|---|
- | - | - | - | - | - | ↔ | ↔ |
Z: | Das Z-Flag wird gesetzt, wenn das Ergebnis 0x0000 ist, andernfalls wird das Flag gelöscht. |
---|---|
C: | Das C-Flag wird gesetzt, wenn im Ergebnis ein Überlauf ins Bit 16 erfolgt, andernfalls wird es gelöscht. |
mulsu r21,r20 ;R21 mit R20 multiplizieren