8086/88 Assembler Befehlsreferenz DIV

Divide.

Kopiere ein Wort eines Strings in das AX-Register.

Syntax:

DIV <Quelloperad>

Im Gegensatz zu manchen Prozessoren besitzen die Intel-Prozessoren eigene Divisionsbefehle. Zwar ist der Divisionsbefehl nicht sonderlich schnell (er benötigt bis zu 172 Taktzyklen), dafür aber sehr komfortabel. Mit dem DIV-Befehl wird der Wert in AX-Register durch den Quelloperanden dividiert. Dabei wird davon ausgegangen, dass es sich bei dem Dividenden und dem Divisor um vorzeichenlose Binärzahlen handelt. Der <Quelloperand> kann Byte- oder Wort-Format besitzen und darf eine Speicheradresse oder ein Register sein. Liegt der <Quelloperand> im 16-Bit-Format vor, 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 auf getretenen Rest. Wurde AX hingegen durch einen 8-Bit-Wert geteilt, so steht der Quotient im AL-Register und der Rest im AH-Register. Zu beachten ist, dass keine Möglichkeit besteht, direkt durch einen unmittelbaren Wert zu dividieren. In einem solchen Fall muss der Divisor zuerst in ein Register oder eine Speicherstelle geladen werden und dann kann dividiert werden.

Beispiel:

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

Anzeige:

Anzeigen: