x86-Assembler

Einleitung

Dies ist meine erste provisorische Zusammenfassung zur Assembler-Programmierung auf Computern die auf x86 oder AMD64 basieren.
Als x86 wird jeweils ein 32-Bit-System bezeichnet, x86_64 steht für die Erweiterung auf 64-Bit. AMD64 ist das gleiche wie x86_64.

Register X86_64

Allgemeine Register: RAX, RBX, RCX, RDX, RSI, RDI, R8...R15
Mit R beginnend sind das alles 64-Bit-Register.
Wenn nur 32 Bit verwendet werden sollen, dann jeweils mit E beginnend (z.B. EAX)
Wird ein solches 32-Bit-Register gesetzt, so wird automatisch auf 64 Bit erweitert.
Auf 32-Bit-Systemen gibt es R8...R15 nicht.
Namensgebung: AX steht wohl für ersten Akkumulator (ALU), und BX...DX für weitere Akkus.
SI steht für Source Index, also Zeiger auf Quelle, und DI für Destination Index (Zeiger auf Ziel).

Spezielle Register:
RBP Base Pointer (allgemein verwendbar?)
RSP Stackpointer (Stapelzeiger)
RIP Instruction Pointer (Programm Counter)
RFLAGS Flagregister (Statusregister, z.B. ZERO, CY ... je 1 Bit)


Links

www.felixclouriere.com/x86 x86 and amd64 instruction reference
www.cs.virginia.edu..x86.html x86 Assembly Guide

Letzte Änderungen: 9.5.2024 Rolf                                         Validator