Operation code


Operation code

Ein Opcode, auch op code oder operation code, ist eine Zahl, die die Nummer eines Maschinenbefehls für einen bestimmten Prozessortyp angibt. Alle Opcodes zusammen bilden den Befehlssatz des Prozessors oder der Prozessorfamilie. Jeder Befehl hat einen eigenen Opcode, etwa die Addition, Multiplikation, das Kopieren von Registern, Laden und Speichern von Registern aus dem Arbeitsspeicher, Ein- und Ausgabe usw. Einfache Opcodes stellen bereits einen Maschinenbefehl dar. Auf einen Teil der Opcodes müssen Adressen, Konstanten oder Ähnliches folgen, die dann zusammen mit dem Opcode einen Maschinenbefehl bilden.

Jedem Opcode wird ein kurzes Wort oder eine Abkürzung, ein so genanntes Mnemonic, zugeordnet. Mit den Mnemonics ergeben sich die Assemblersprachen, bei denen jeweils ein Mnemonic, gegebenenfalls gefolgt von Adressen oder Konstanten, in eine Zeile einer Textdatei geschrieben wird. Ein spezielles Programm, der Assembler, erzeugt Maschinencode, indem es im Wesentlichen die Mnemonics durch ihre jeweiligen Opcodes ersetzt.

Die meisten modernen Prozessoren besitzen einige hundert Opcodes.

Ältere Prozessoren hatten oft "undefinierte Opcodes". Bestimmte, für die Programmierung gar nicht vorgesehene Opcodes konnten durch ihre Nebenwirkungen auf den internen Schaltungsaufbau des Prozessors allerhand seltsame, schädliche oder seltener auch nützliche Effekte haben. Solche Opcodes wurden manchmal bei der Programmierung von Computerspielen auf Heimcomputern und frühen Spielkonsolen benutzt, um bestimmte Vorgänge ein wenig schneller ablaufen zu lassen oder um die Funktionsweise eines Kopierschutzes zu verschleiern. Nachteilig war, dass solche "undefinierten Opcodes" vom Hersteller nicht garantiert wurden und auf Nachfolgemodellen eines Prozessors oft nicht mehr funktionierten. Heutige Prozessoren tun dagegen entweder überhaupt nichts, wenn sie in einem Programm einen unbekannten Opcode antreffen, oder aber sie begeben sich in einen klar definierten Fehlerzustand.

Der 8-Bit-Prozessor Z80

Opcode Mnemonic Beschreibung
4 INC B erhöhe Register B um eins (engl. increment B)
5 DEC A vermindere Register A um eins (engl. decrement A)
144 SUB B subtrahiere Register B von Akkumulator A
weitere Befehle

Für den Z80-Prozessor kann man das folgende Assemblerprogrammfragment in eine Textdatei schreiben:

 DEC A
 INC B
 SUB B

Ein Z80-Assembler erzeugt daraus das Maschinenprogramm:

 5,4,144

wobei jeder Opcode beim Z80 ein Byte belegt. Häufig werden Maschinenprogramme hexadezimal dargestellt. Bei 8-Bit Rechnern kann jedes Byte durch zwei Hexadezimalziffern dargestellt werden, hier also:

 05 04 90

Der Relaisrechner Zuse Z3

Die Z3 von Konrad Zuse aus dem Jahre 1941 hatte zwei Register R1 und R2, 64 Speicherzellen und beherrschte die Ein-/Ausgabe, die Grundrechenarten, Wurzelberechnung von Gleitkommazahlen. Programme wurden auf Lochstreifen abgelegt, die Opcodes der neun Befehle bestanden aus den folgenden Lochstreifencodierungen:

Opcode Mnemonic Beschreibung
-O.OO---- Lu Anhalten, Eingabe R1 einer Dezimalzahl von der Tastatur, R2:=undef
-O.OOO--- Ld Anhalten, dezimale Anzeige des Ergebnisses
OO.zzzzzz Pr z Lesen der Speicherzelle z (erst R1, danach immer R2)
O-.zzzzzz Ps z Schreiben der Speicherzelle z
-O.O----- La Addition R1:=R1+R2, R2:=0
-O.O-O--- Ls Subtraktion R1:=R1-R2, R2:=0
-O.--O--- Lm Multiplikation R1:=R1*R2, R2:=0
-O.-O---- Li Division R1:=R1/R2, R2:=0
-O.-OO--- Lw Wurzelberechnung R1:=Wurzel(R1), R2:=0

Der Lochstreifen ist 8 Bits breit. Die Opcodes für die Speicherzugriffe belegen nur 2 Bits, gefolgt von der Adresse der Speicherzelle. Die anderen Opcodes belegen 5 Bits, 3 Bits sind unbenutzt.

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Operation Code — Operation Code,   Opcode …   Universal-Lexikon

  • operation code — code for operating a computer …   English contemporary dictionary

  • operation code — noun the portion of a set of operation descriptions that specifies the operation to be performed; the set of operations in a computer • Syn: ↑order code • Hypernyms: ↑code, ↑computer code …   Useful english dictionary

  • operation code — /ɒpəˈreɪʃən koʊd/ (say opuh rayshuhn kohd) noun Computers a section of coding that instructs the computer which task it should perform. Also, opcode …   Australian English dictionary

  • Kuhga: Operation Code "Vapor Trail" — Vapor Trail Vapor Trail Hyper Offence Formation Éditeur Data East Telenet Japan Développeur Data East Concepteur Hironori Kobayashi Date de sortie Arcade 1989 Megadrive …   Wikipédia en Français

  • Operation elementaire — Opération élémentaire En algèbre linéaire, les opérations élémentaires sur une famille de vecteurs sont des manipulations algébriques qui ne modifient pas les propriétés d indépendance linéaire, ni le sous espace vectoriel engendré. Elles sont… …   Wikipédia en Français

  • Operation Leo — was a plan to kidnap the Swedish Minister for Immigration Anna Greta Leijon in 1976. The plan was devised by the second generation of the German Red Army Faction. The first generation of the group was also known as the Baader Meinhof Group, after …   Wikipedia

  • Operation Days of Penitence — Part of the 2004 Israel–Gaza conflict Date September 30 – October 16, 2004 Location Gaza Strip Resul …   Wikipedia

  • Operation Cedar Falls — Part of the Vietnam War Operation Cedar Falls …   Wikipedia

  • Operation Silver Fox — Part of Continuation War and World War II …   Wikipedia


We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.