Assembler: Stack-Management und Aufrufkonventionen

In höheren Sprachen wie C oder C++ regelt der Compiler automatisch, wie Parameter und Rückgabewerte zwischen Funktionen ausgetauscht werden. In der Assemblersprache erfolgt dies hingegen explizit durch Registerzuweisungen, Speicherzugriffe oder Push-/Pop-Operationen auf dem Stack. Dabei entscheidet die Aufrufkonvention über das genaue Vorgehen zum Ablegen von Parametern und zum Speichern des Rückgabewerts. Grundlegendes zum Stack Der…

Assemblercode

Ein Assembler übersetzt menschenlesbare Gedächtnishilfen in direkt ausführbaren Maschinencode. Dabei wird jeder Befehl einer konkreten Prozessorarchitektur zugeordnet. So können mithilfe von Befehlen wie MOV, ADD oder JMP Operationen auf Registern und im Speicher ausgeführt werden. Im Folgenden finden sich verschiedene Beispiele, die den praktischen Einsatz von Assemblersprache aufzeigen. Beispiel 1: Funktion, die das Maximum aus…

Grundlagen der Maschinensprache

Maschinensprache ist die niedrigste Programmierebene, die direkt von der Hardware eines Computers ausgeführt wird. Sie besteht aus binären Instruktionen, die für die Steuerung der CPU (Central Processing Unit) und anderer Hardwarekomponenten verwendet werden. Jede CPU-Architektur hat ihren eigenen Befehlssatz (Instruction Set Architecture, ISA), der die Struktur und Funktion der Maschinencodes definiert. Aufbau von Maschinensprache Jede…