Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 

Re: Inline ASM für Win32 - Einsteiger Crashkurs

  Alt 1. Mai 2007, 11:01
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
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat