Cow besteht aus einer fortlaufenden Folge von moo-Befehlen, die in einem Programmspeicher abgelegt sind und beginnend beim ersten Befehl fortlaufend abgearbeitet werden.
Daten werden in einem Datenspeicher abgelegt und mittels einem Register verarbeitet.
Befehle
| Nr | Befehl | Beschreibung |
| 0 | moo | Dieser Befehl steht für das Ende einer Schleife – gehört also zu einem MOO-Befehl. Bei der Programmausführung wird rückwärts der nächste MOO-Befehl gesucht und die Programmausführung an dieser Stelle fortgesetzt. Bei der Rückwärtssuche wird der unmittelbar vorherliegende Befehl übersprungen. |
| 1 | mOo | Bewegt den Zeiger auf die Datenspeicherzellen um eine Zelle zurück. |
| 2 | moO | Bewegt den Zeiger auf die Datenspeicherzellen um eine Zelle vor. |
| 3 | mOO | Führt den Inhalt der aktuellen Datenspeicherzelle als Befehl aus. Bei einem ungültigen Befehl bricht das Programm ab. Der Wert 3 ist bspw. ungültig, da er in eine Endlosschleife führt. |
| 4 | Moo | Enthält die aktuelle Datenspeicherzelle den Wert 0, wird ein ASCII-Zeichen eingelesen und mit seinem Zeichencode in der Datenspeicherzelle abgelegt. Andernfalls wird der Inhalt der Datenspeicherzelle als Zeichen ausgegeben. |
| 5 | MOo | Der Inhalt der aktuellen Datenspeicherzelle wird um 1 verringert. |
| 6 | MoO | Der Inhalt der aktuellen Datenspeicherzelle wird um 1 erhöht. |
| 7 | MOO | Dieser Befehl steht für den Anfang einer Schleife – gehört also zu einem moo-Befehl. Bei der Programmausführung wird der Inhalt der aktuellen Datenspeicherzelle geprüft. Ist dieser 0, wird die Programmausführung nach dem nächsten MOO-Befehl fortgesetzt. Ist der Inhalt ungleich 0, wird die Programmausführung mit dem übernächsten Befehl fortgesetzt. |
| 8 | OOO | Setzt den Wert der aktuellen Datenspeicherzelle auf 0. |
| 9 | MMM | Wenn das Register keinen Wert enthält, wird der Inhalt der aktuellen Datenspeicherzelle im Register abgelegt. Andernfalls wird der Inhalt des Registers in die aktuelle Datenspeicherzelle geschrieben und das Register gelöscht. |
| 10 | OOM | Druckt den Inhalt der aktuellen Datenspeicherzelle als Zahl. |
| 11 | oom | Liest eine Zahl und legt diese in der aktuellen Datenspeicherzelle ab. |