Opcode

Ein Opcode identifiziert, welche grundlegende Computeroperation im Befehlssatz ausgeführt werden soll. Er wird beim Schreiben von Maschinencode verwendet. Er weist den Computer an, etwas zu tun. Jeder Maschinensprachenbefehl hat normalerweise sowohl einen Opcode als auch Operanden. Der Opcode ist wie ein Verb in einem Satz, und die Operanden sind wie das Subjekt in einem Satz. Operanden sind in der Regel Speicher- oder Registeradressen.

Opcodes werden im Maschinencode für eine Reihe von Funktionen verwendet, u.a. Float-Addition von Registern, Zweierkomplement-Addition von Registern, Verschieben von Registerwerten in den Speicher oder auf eine Festplatte, Stoppen eines Programms usw. In modernen Computern werden buchstäblich Hunderte von gängigen Opcodes verwendet.

Aufgrund der Beschaffenheit der Architektur eines Computers haben Opcodes die Form von Binärzahlen. Alternativ können Opcodes durch hexadezimale Ziffern dargestellt werden (z.B. 10100101 = A5), um das Lesen und Kodieren beim Entwurf oder bei der Emulation eines Maschinencode-Programms zu erleichtern. Diese Werte werden dann in ihre binären Äquivalente umgewandelt und gespeichert. Moderne Opcodes sind mindestens zwei hexadezimale Zeichen lang, die 1 Byte Speicherplatz beanspruchen.

Opcodes werden je nach dem Computer, zu dem sie gehören, in ihrer Leistungsfähigkeit und ihrem "Wert" variieren, da sie hardwareabhängig sind. Zum Beispiel könnte der Opcode für STORE, ausgedrückt in Hex, für eine Maschine FA und für eine andere Maschine 02 sein. Einige Opcodes werden auf einigen Computern nicht verfügbar sein. Im Allgemeinen gibt es zwei Ansätze zur Erstellung von Befehlssätzen. Ein Computer mit reduziertem Befehlssatz (RISC) bietet weniger mögliche Opcodes zugunsten einer höheren Geschwindigkeit für einfache Prozesse. Das Complex Instruction Set Computing (CISC) bietet mehr Opcodes zu Gunsten einer höheren Geschwindigkeit für komplexe Prozesse.

Opcodes werden nur selten von Programmierern direkt verwendet. Wann immer sie direkt in den Speicher programmiert werden, ist immer nur gewährleistet, dass sie auf dem Computer funktionieren, für den sie entworfen wurden. Wenn Programmierer in Assembler schreiben, wandelt ein Übersetzerprogramm die Programmanweisungen eins zu eins in maschinensprachliche Befehle um. Der Programmierer muss sich für jeden Opcode anstelle seines Binärwertes nur eine Mnemonik merken. Alternativ kann eine Programmiersprache auf hoher Ebene verwendet werden, z.B. die 4. Generation, die dann in die 3. Generation umgewandelt wird und so weiter, bis sie die 1. Von hier aus wandelt ein einzelner Computer das Programm in Maschinencode um, wenn die Programmdatei gelesen wird. Auf diese Weise kann ein Programm auf einer viel größeren Vielfalt von Computern funktionieren.

Fragen und Antworten

F: Was ist ein Opcode?


A: Ein Opcode ist eine binäre Zahl, die angibt, welche grundlegende Computeroperation des Befehlssatzes ausgeführt werden soll. Er wird beim Schreiben von Maschinencode verwendet und sagt dem Computer, was er tun soll.

F: Was sind Operanden?


A: Operanden sind in der Regel Speicher- oder Registeradressen, die einen Opcode in einer Maschinenspracheanweisung begleiten. Man kann sie sich wie das Subjekt eines Satzes vorstellen, während der Opcode wie ein Verb wirkt.

F: Wie viele gängige Opcodes werden in modernen Computern verwendet?


A: Es gibt Hunderte von gängigen Opcodes, die in modernen Computern verwendet werden.

F: Wie werden Opcodes dargestellt?


A: Opcodes können entweder als binäre Zahlen oder als hexadezimale Ziffern dargestellt werden, um das Lesen und Kodieren bei der Entwicklung oder Emulation eines Maschinencodeprogramms zu erleichtern.

F: Wie lang sind moderne Opcodes?


A: Moderne Opcodes sind mindestens zwei Hexadezimalzeichen lang und benötigen 1 Byte Speicherplatz.

F: Was sind RISC und CISC?


A: Reduced Instruction Set Computing (RISC) bietet weniger mögliche Opcodes zu Gunsten einer höheren Geschwindigkeit für einfache Prozesse, während Complex Instruction Set Computing (CISC) mehr Opcodes zu Gunsten einer höheren Geschwindigkeit für komplexe Prozesse bietet.

F: Wie verwenden Programmierer normalerweise Opcodes?


A: Programmierer verwenden nur selten die direkte Programmierung in den Speicher mit einem spezifischen Satz von Anweisungen für einen bestimmten Computer. Stattdessen schreiben sie Programme in Assemblersprache oder Hochsprachen, die beim Lesen der Programmdatei in Maschinencode umgewandelt werden, damit sie auf mehreren Computertypen funktionieren.

AlegsaOnline.com - 2020 / 2023 - License CC3