Zitat:
CDQ
Dieser Befehl wird benötigt, um die beiden Register EAX und EDX auf die Multiplikation (IMUL) bzw. Division (IDIV) von signed Werten vorzubereiten, indem EAX auf 64 Bit erweitert wird.
Balu,
das ist so nicht ganz richtig.
Bei IMUL (und auch bei MUL) ist eine Erweiterung auf 64 Bit nicht erforderlich.
IMUL kannst du mit 1, 2, oder 3 Operanden einsetzen.
Beispiele
IMUL EBX
multipliziert EAX mit EBX und stellt das 64 Bit Produkt in EDX:EAX
IMUL EBX,ECX
multipliziert EBX mit ECX und stellt die unteren 32 Bit des 64 Bit Produktes in EBX.
Weder EAX noch EDX werden hierbei verändert, es sei denn der erste Operand wäre EAX oder EDX
IMUL EBX,ECX,35
multipliziert ECX mit 35 und stellt die unteren 32 Bits des 64 Bit Produktes in EBX.
Weder EAX noch EDX werden hierbei verändert, es sei denn der erste Operand wäre EAX oder EDX