Befehlssatz und Assembler

Welche Beschreibung des ABI (Application Binary Interface) ist richtig?

  1. AEine Vereinbarung auf Quellcodeebene, die Funktionsnamen und Argumenttypen festlegt
  2. BEine Vereinbarung, die nur die Befehlsarten und Bitmuster der CPU festlegt
  3. CEine Vereinbarung auf Maschinenebene, die Programme untereinander verbindet, einschließlich Aufrufkonvention sowie Größe und Ausrichtung von Datentypen
Antwort und Erläuterung anzeigen

Antwort: C. Eine Vereinbarung auf Maschinenebene, die Programme untereinander verbindet, einschließlich Aufrufkonvention sowie Größe und Ausrichtung von Datentypen

Das ABI ist die Vereinbarung auf Maschinenebene, damit kompilierte Programme und Bibliotheken zusammenarbeiten; es umfasst Aufrufkonvention, Größen von int, long und Zeigern, Ausrichtung von Strukturen und die Art der Systemaufrufe. Die API legt im Quellcode fest, wie Funktionen benutzt werden; bei gleicher API, aber anderem ABI ist eine Bibliothek ohne Neuerstellung nicht verwendbar. Auch bei derselben RISC-V-ISA kann das ABI je nach Betriebssystem und Einsatzzweck unterschiedlich sein.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Befehlssatz und Assembler

  1. Mit welchem Befehl erfolgt in RISC-V im Allgemeinen ein Aufruf über einen C-Funktionszeiger „(*fp)(x)“?
  2. Welche Aussage gilt für zwei CPUs, die dieselbe Befehlssatzarchitektur (ISA) verwenden?
  3. Welche Eigenschaft einer Load-Store-Architektur wie RISC-V ist richtig?
  4. Welche Eigenschaft des RISC-V-Registers x0 (zero) ist richtig?
  5. Welche Universal-Ganzzahlregister besitzt RISC-V RV32I (der 32-Bit-Basisbefehlssatz für Ganzzahlen)?