Ich versuche, die folgende Funktion aufrufen:Aufruf LONGLONG RtlLargeIntegerDivide (LONGLONG, LONGLONG, LONGLONG *) in NASM (stdcall)
long long RtlLargeIntegerDivide(long long dividend, long long divisor, long long* pRemainder)
in Assembler-Code (NASM). Es verwendet die Aufrufkonvention stdcall und gibt den Quotienten zurück. Dies sind die Spezifikationen:
Input: [EDX, EAX] (Dividend), [ECX, EBX] (Divisor)
Output: [EDX, EAX] (Quotient), [ECX, EBX] (Rest)
Wie gehe ich dabei vor? (Mein Hauptproblem ist nicht genau verstehen, EBP und ESP, und wie sie sich auf lokale Variablen beziehen.)
(Nein, das ist keine Hausaufgaben; Ich versuche, eine Wrapper-C-Laufzeitbibliothek zu implementieren.)
Vielen Dank!
Schöne Antwort (für Geschwindigkeit, können Sie
MOV
stattPUSH
/POP
verwenden), danke! :) – Mehrdad