Bitte aktiviere JavaScript!
8086/88 Assembler Befehlsreferenz IDIV

Integer divide.

Dividiere zwei Integer-Zahlen unter Berücksichtigung des Vorzeichens.

Syntax:

IDIV <Quelloperand>

Dieser Befehl führt eine Division des AX-Registers durch <Quelloperand> unter Berücksichtigung des Vorzeichens durch. Dabei wird davon ausgegangen, dass es sich bei dem Dividenden und dem Divisor um vorzeichenbehaftete Binärzahlen handelt. Der <Quelloperand> kann Byte- oder Wort-Format besitzen und darf eine Speicheradresse oder ein Register darstellen. Hat der <Quelloperand> 16-Bit-Format, dann steht das Ergebnis der Division im Registerpaar AX:DX. Das AX-Register enthält den Quotienten und das DX-Register den bei der Division aufgetretenen Rest. Wurde hingegen durch einen B-Bit-Wert geteilt, so steht der Quotient im AL-Register und der Rest im AH-Register. Wie beim DIV-, so gibt es auch beim IDIV-Kommando keine Möglichkeit, direkt durch einen unmittelbaren Wert zu dividieren. In einem solchen Fall muss der Divisor zuerst in ein Register oder eine Speicherstelle geladen werden, ehe dividiert wird.

Beispiel:

MOV AX,SCHLEIF_WERT ;lade den Zähler einer Schleife
MOV BL,10 ;bereite Division durch 10 vor
IDIV BL ;dividiere
CMP AH,0 ;War der Rest null?
JE GLATT ;wenn ja, dann springe zum Label GLATT