MULSU — Multiply Signed with Unsigned

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

Flags im Status-Register SREG

ITHSVNZC
------
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.

Beispiel

	mulsu	r21,r20		;R21 mit R20 multiplizieren