irgendwie stelle ich mich zu blöd an die Suche hier, als auch Google zu benutzen.
Was ich suche, ist "den" ASM Befehl (und die Register), mit dem ich zwei 64-Bit Register miteinander multiplizieren kann und das Ergebnis dann in zwei 64-Bit Register gepackt wird.
Also ählich wie hier, wenn ich zwei Longs multipliziere und das Ergebnis dann in zwei 32-Bit Registern steht:
Code: Alles auswählen
*A = AllocateMemory(4)
*B = AllocateMemory(4)
*C = AllocateMemory(4+4)
PokeL(*A, $03000002)
PokeL(*B, $03000002)
! MOV ecx, [p_A]
! MOV eax, [ecx]
! MOV ecx, [p_B]
! MUL dword [ecx]
! MOV ecx, [p_C]
! MOV [ecx], eax
! MOV [ecx+4], edx
ShowMemoryViewer(*C, 4+4)