Zum Hauptinhalt springen

Befehle für den ARM-Prozessor: Vollständige Liste und detaillierte Beschreibung

ARM-Prozessoren gehören zu den beliebtesten Mikroprozessoren der Welt, die in einer Vielzahl von Geräten verwendet werden – von Mobiltelefonen bis hin zu Computern und Servern. Sie zeichnen sich durch hohe Leistung, Energieeffizienz und Vielseitigkeit aus. Eines der Schlüsselelemente der ARM-Funktionalität sind Befehle, die bestimmen, wie der Prozessor verschiedene Operationen ausführt.

Befehle für einen ARM-Prozessor sind eine Reihe von Anweisungen und Operationen, die ein Prozessor ausführen kann. Sie definieren Dinge wie arithmetische Operationen, Speicherarbeiten, Übergänge zwischen verschiedenen Zeigern und vieles mehr. Jeder Befehl hat seinen eigenen einzigartigen Namen und seine spezifische Funktionalität.

Es gibt eine große Anzahl von Befehlen für einen ARM-Prozessor, von denen jeder bestimmte Aufgaben ausführt. Einige Befehle wie ADD (Addition), SUB (Subtraktion) und MUL (Multiplikation) beziehen sich auf grundlegende arithmetische Operationen. Andere Befehle wie LDR (Laden von Daten aus dem Speicher) und STR (Speichern von Daten im Speicher) regeln die Arbeit mit dem Systemspeicher. Es gibt auch Befehle, die für die Arbeit mit Registern, Übergängen und logischen Operationen verantwortlich sind.

Mit einer großen Anzahl von Befehlen für ARM-Prozessoren können Entwickler komplexe Programme und Algorithmen erstellen und die Leistung von Geräten basierend auf diesen Prozessoren optimieren, um spezifische Anforderungen und Anforderungen zu erfüllen.

Es ist wichtig für Programmierer und Entwickler, die Befehle, die auf dem ARM-Prozessor zur Verfügung stehen, gut zu kennen und zu verstehen, um seine Ressourcen effizient zu nutzen und leistungsstarke und innovative Anwendungen zu erstellen.

Grundlegende Befehle für den ARM-Prozessor

Übergangsbefehle:

BL ist ein bedingungsloser langer Übergang

B ist ein unbedingter kurzer Übergang

BEQ - Übergang, wenn das Z-Flag 1 ist

BNE - Übergang, wenn das Z-Flag 0 ist

Vergleichsbefehle:

CMP - Vergleich zweier Operanden

CMN - Vergleich von zwei Operanden mit einer Inversion

Befehle zur bedingten Ausführung:

MOV - Verschiebt einen Wert von einem Register in ein anderes

ADD - Addieren von zwei Operanden und Schreiben des Ergebnisses

SUB - Subtrahieren eines Operanden von einem anderen und Schreiben des Ergebnisses

MUL - Multiplizieren von zwei Operanden und Schreiben des Ergebnisses

Speicherbefehle:

LOAD - Lädt einen Wert aus dem Speicher in ein Register

STORE - Speichert einen Wert aus dem Register in den Speicher

Logische Operationsbefehle:

AND - logisch Und

OR - logisch ODER

EOR - ausschließend ODER

Verschiebungsbefehle:

LSL - Verschiebung nach links

LSR - Verschiebung nach rechts mit Nullen

ASR - Verschiebung nach rechts mit einer vorzeichenbehafteten Erweiterung

ROR - zyklische Verschiebung nach rechts

Stapelverwaltungsbefehle:

STMFD - Speichern von Registern auf dem Stapel und Reduzieren des Stapelzeigers

LDMFD - Laden von Registern vom Stapel und Erhöhen des Stapelzeigers

PUSH - Speichern eines Registers auf dem Stapel

POP - Laden eines Registers vom Stapel

Befehle

Arithmetische Befehle für den ARM-Prozessor

ADD (Addition)

Der Befehl ADD wird verwendet, um zwei Zahlen zu addieren. Operanden werden in Registern angegeben und können sowohl Vorzeichen- als auch vorzeichenlose Zahlen sein. Das Ergebnis der Addition wird im angegebenen Register gespeichert.

SUB (Subtraction)

Der Befehl SUB wird verwendet, um eine Zahl von einer anderen zu subtrahieren. Operanden werden in Registern angegeben und können sowohl Vorzeichen- als auch vorzeichenlose Zahlen sein. Das Ergebnis der Subtraktion wird im angegebenen Register gespeichert.

MUL (Multiplication)

Der Befehl MUL wird verwendet, um zwei Zahlen zu multiplizieren. Operanden werden in Registern angegeben und können sowohl Vorzeichen- als auch vorzeichenlose Zahlen sein. Das Ergebnis der Multiplikation wird im angegebenen Register gespeichert.

SDIV (Signed Division)

Der Befehl SDIV wird verwendet, um zwei Zahlen ganzzahlig zu teilen. Operanden werden in Registern angegeben und sind Vorzeichen. Das Partielle von der Division wird im angegebenen Register gespeichert.

UDIV (Unsigned Division)

Der Befehl UDIV wird verwendet, um zwei Zahlen ganzzahlig zu teilen. Operanden werden in Registern angegeben und sind vorzeichenlose Zahlen. Das Partielle von der Division wird im angegebenen Register gespeichert.

RSB (Reverse Subtract)

Der Befehl RSB subtrahiert eine Zahl von der anderen und ändert das Ergebniszeichen (erhält die entgegengesetzte Zahl). Operanden werden in Registern angegeben und können sowohl Vorzeichen- als auch vorzeichenlose Zahlen sein. Das Ergebnis wird im angegebenen Register gespeichert.

RSBL (Reverse Subtract with Carry)

Der Befehl RSBL führt eine umlageabhängige Subtraktionsoperation aus. Wird verwendet, um die Subtraktion von zwei 64-Bit-Zahlen unter Berücksichtigung der Übertragung von der vorherigen Stelle durchzuführen. Das Ergebnis wird im angegebenen Register gespeichert.

RSC (Reverse Subtract with Carry)

Der Befehl RSC subtrahiert eine Zahl unter Berücksichtigung des Carry (carry) von der anderen und ändert das Ergebniszeichen (erhält die entgegengesetzte Zahl). Operanden werden in Registern angegeben und können sowohl Vorzeichen- als auch vorzeichenlose Zahlen sein. Das Ergebnis wird im angegebenen Register gespeichert.

RSCl (Reverse Subtract with Carry)

Der Befehl RSCl führt eine Subtraktionsoperation aus, wobei die Übertragung von der vorherigen Stelle berücksichtigt wird. Wird verwendet, um die Subtraktion von zwei 64-Bit-Zahlen unter Berücksichtigung der Übertragung von der vorherigen Stelle durchzuführen. Das Ergebnis wird im angegebenen Register gespeichert.

ASR (Arithmetic Shift Right)

Der Befehl ASR verschiebt die Zahl arithmetisch nach rechts. Operanden werden in Registern angegeben und können sowohl Vorzeichen- als auch vorzeichenlose Zahlen sein. Die Anzahl der Verschiebungsstellen wird durch den zweiten Operanden oder als direkter Wert angegeben. Das Ergebnis wird im angegebenen Register gespeichert.

Logische Befehle für den ARM-Prozessor

ARM-Prozessoren bieten eine Vielzahl von Befehlen, mit denen Sie logische Operationen an Daten durchführen können. Diese Vorgänge werden für einzelne Datenbits oder für alle Bits auf einmal ausgeführt. Mit logischen Operationsbefehlen können Sie Boolesche Werte verarbeiten, Werte vergleichen und Bitoperationen ausführen.

Hier sind einige der logischen Operationsbefehle, die vom ARM-Prozessor unterstützt werden:

  • AND - führt eine bitweise logische Operation für zwei Operanden durch und speichert das Ergebnis;
  • EOR - führt eine bitweise «ausschließende ODER» Operation für zwei Operanden durch und speichert das Ergebnis;
  • ORR - führt eine bitweise logische Operation ODER zwei Operanden durch und speichert das Ergebnis;
  • BIC - die standardmäßige bitweise boolesche Negationsoperation für den ersten Operanden und die Ausführung der «Und» -Operation für das Ergebnis und den zweiten Operanden;
  • ANDS - führt eine bitweise logische Operation für zwei Operanden durch und aktualisiert die Ergebnisflags (setzt Z- und N-Flags);
  • EORS - führt eine bitweise «ausschließende ODER» Operation für zwei Operanden durch und aktualisiert die Ergebnisflags;
  • ADDS - addiert zwei Operanden und aktualisiert die Ergebnisflags;
  • CMN - addiert zwei Operanden, aber das Ergebnis wird nicht gespeichert, sondern nur die Ergebnisflags werden aktualisiert;
  • TST - führt eine bitweise logische Operation für zwei Operanden durch, aber das Ergebnis wird nicht gespeichert, sondern nur die Ergebnisflags werden aktualisiert;

Dies sind nur einige der vielen Befehle, die für logische Operationen in ARM-Prozessoren verfügbar sind. Die genauen Details der einzelnen Befehle und ihre Syntax finden Sie in der Dokumentation des ARM-Prozessors.

Logische Befehle für einen ARM-Prozessor ermöglichen es Programmierern, effizient mit Daten zu arbeiten und die verschiedenen logischen Operationen durchzuführen, die bei der Entwicklung von Software für ARM-basierte Geräte erforderlich sind.