x86 assembly, zum hinzufügen von Variablen im Speicher abgelegt?
PLATTFORM: Pentium 4-Prozessor (ich wirklich brauchen, um zu aktualisieren 🙂 unter Windows XP. Ich bin derzeit am zusammenbauen mit MASM32.
Ich bin ein absoluter Anfänger mit Montage und ich bin versucht, herauszufinden, wie man Variablen. Ich verstehe, wie, Variablen zu definieren, platzieren Sie die Daten in einem register, und wie die Register in den stack, aber ich weiß nicht, wie zu kombinieren, die die Werte von zwei Variablen (durch hinzufügen).
Auch, könnte jemand mir einen link oder so zu einer leicht verständlichen tutorial, x86 assembly, all denen, die ich bisher gefunden habe, sind wirklich high-level-Zeugs und Sie nicht viel erklären. Das wäre wirklich dankbar.
Vielen Dank im Voraus,
Progrmr
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfache addition:
Laden aus dem Speicher, dann hinzufügen, dann speichern die im Arbeitsspeicher:
In den obigen Beispielen, DWORD PTR ist nicht unbedingt nötig, aber ist eine gute Gewohnheit zu üben, da es Mehrdeutigkeiten verhindert und macht code leichter zu Lesen.
Es ist wichtig, daran zu erinnern, dass Sie nur hinzufügen Registern in der gleichen Größe (DWORD in den Beispielen oben). Wenn Sie möchten, fügen Sie zwei Register, in verschiedenen Größen:
Dies ist kein besonders gutes Beispiel, da gibt es einfachere Wege, um das gleiche zu tun, aber hoffentlich werde zeigen, einige der tricks, die Sie verwenden können.
Können Sie auch einen Wert für den Speicher zu einem Register:
Hier ist eine gute Website als Referenz verwenden: http://ref.x86asm.net/
Ich vermute, dass Sie konzeptionelles problem. x86 Werte Leben, in einem Register oder Speicher, das Konzept einer Variablen ist eine Ebene höher. Ein Weg, um das hinzufügen von Werten zu setzen, Sie in Registern und dann rufen Sie die add-operation.
http://computertech.createmybb3.com/showthread.php?tid=116