8086/88 Assembler Befehlsreferenz IMUL

Integer multiply.

Multipliziere zwei Zahlen unter Berücksichtigung des Vorzeichens.

Syntax:

IMUL <Quelloperand>

Dieses Kommando multipliziert den Inhalt des AX-Registers mit dem Quelloperanden. Dabei wird davon ausgegangen, dass der <Quelloperand> (Register oder Speicheradresse) und das AX-Register eine vorzeichenbehaftete Binärzahl enthalten (zum Beispiel 80hex, entspricht -128). Es darf mit 8-Bit-Werten oder mit 16-Bit-Werten multipliziert werden. Im ersten Fall wird nur die untere Hälfte von AX, also AL, zur Multiplikation verwendet; das Ergebnis der Multiplikation steht dann im AX-Register. Im zweiten Fall wird das gesamte AX-Register als erster Faktor benutzt, das Ergebnis steht dann im Registerpaar AX:DX. Das höherwertige Wort findet sich dabei im DX-Register, das niederwertige im AX-Register. Beim IMUL-Kommando besteht keine Möglichkeit, direkt mit einem Wert zu multiplizieren. In einem solchen Fall wird der Faktor zuerst in ein Register oder eine Speicherstelle geladen und dann wird multipliziet.

Beispiel:

MOV AX,65 ;lade 65 nach AX
MOV DL,20 ;lade 20 nach DL
IMUL DL ;bilde AX x DL

Anzeige:

Anzeigen: