8051 Maschinencode

Die folgende Liste der 8051-Maschinenbefehle ist nach der Maschinen-Codenummer sortiert.
Dem Maschinencode folgt der Befehl in Assemblersprache (Assemblermnemonik).
Die Spalte Bytes gibt an, wieviele Bytes der Maschinenbefehl insgesamt mit seinen Parametern benötigt.
In der Spalte Zyklen wird die Anzahl, der zur Ausführung des Befehls benötigten, internen Taktzyklen angegeben.
In der letzten Spalte sind die, von der Ausführung des Befehls betroffenen Flaggen angegeben.

 

8051 Maschinenbefehle

Jeder Maschinenbefehl besteht aus dem Befehlsbyte und bis zu zwei Parameterbytes. Der gesamte Maschinenbefehl kann also insgesamt 3 Bytes umfassen.
Mit einem Byte lassen sich 256 unterschiedliche Befehlscodes erzeugen, die bei den Controllern der 8051-Familie bis auf den Code A5 belegt wurden.
Vom Hersteller wurde dieser Code als unbelegt dokumentiert. Ob sich eine Aktion hinter diesem Code verbirgt, ist unbekannt.

 

Zyklen

8051 Controller werden mit einem externen Takt betrieben, welcher um das 12-fache höher ist , als die interne Taktfrequenz.
Der externe Takt kann in einem Bereich zwischen 1,2MHz und 12MHz liegen. Die Anzahl der angegebenen Zyklen, die zur Ausführung eines Maschinenbefehls angegeben wurden beziehen sich immer auf den internen Takt.
Bei einer externen Taktfrequenz von z.B. 12MHz ergibt sich eine interne Frequenz von 1MHz. Daraus errechnet sich eine Zykluszeit von t = 1/f  = 1/1000.000 = 1us.

Dass einige Befehle trotz einer Anzahl von 3 Bytes nur 2 Taktzyklen benötigen, ligt daran, dass 8051 Controller während einer Taktperiode 2mal auf den Datenbus zugreifen zu können.