Was sind Assemblersprachen?

Assemblersprache ist die Schnittstelle zwischen höheren Sprachen (C ++, Java usw.) und Maschinencode (binär). Bei einer kompilierten Sprache wandelt der Compiler Code höherer Ebene in Assembler-Code um.

Jede CPU-Familie definiert ihre eigene Instruction Set Architecture (ISA), eine Reihe grundlegender Anweisungen, die die CPU ausführen kann, ohne dass eine weitere Übersetzung oder Transformation erforderlich ist. Der Compiler zerlegt zusammengesetzte übergeordnete zusammengesetzte Anweisungen in Operationen, die in der ISA verfügbar sind.

Einige der heute gebräuchlichsten ISAS sind MIPS, ARM, Intel x86 und RISC-V.

Assembler zerlegen Assembly-Anweisungen in ihre jeweiligen binären Darstellungen und ersetzen die generischen Adressen des Assembly-Codes durch explizite Register- und Speicheradressen Ihres Computers.

Code, bei dem Ausführungszeit und Kontrolle entscheidend sind, kann direkt in Assembler geschrieben werden. Dies geht jedoch zu Lasten der Verlängerung der Entwicklungszeit und der Schwierigkeit der Entwicklung. Es sollte auch beachtet werden, dass viel Forschung betrieben wurde, um Compiler dazu zu bringen, den automatisch generierten Code zu optimieren.

Die Assemblersprache wird hauptsächlich in folgenden Situationen verwendet:

  • Es müssen CPU-Anweisungen verwendet werden, die in höheren Sprachen nicht verfügbar sind.
  • Es gibt keine Hochsprache zum Programmieren bestimmter Prozessortypen.
  • Implementierung eines Compilers für eine höhere Sprache auf einer neuen ISA.
Bild der Codeebenen