Der Aufbau der Befehle sowie Art und Umfang des Befehlsvorrates
sind (neben technologischen Unterschieden) die wichtigsten Kennzeichen eines Prozessors. Die Befehlsliste legt die Menge der ausführbaren Operationen fest und bestimmt damit die Leistungsfähigkeit der CPU. Der Befehlsvorrat typischer Universalrechner umfasst zwischen 50 und 500 Befehlen. Hierzu kommen noch Modifikationen infolge unterschiedlicher Adressierungsarten.
Typische Befehlsklassen
Die Aufzählung der Befehlsklassen ist nicht vollständig.
Nicht jeder Rechner enthält Befehle aller Klassen.
Einige Klassen sind nicht immer eindeutig gegeneinander abgrenzbar.
Mit "m" wird eine beliebige Speicherzelle bezeichnet, mit "adr" eine beliebige Adresse.
Die Befehle sind als illustrative Beispiele gedacht und den Assemblersprachen verschiedener Prozessoren entnommen.
Folgende Befehlsklassen sind repräsentativ f&uumL;r viele CPUs:
Transportbefehle
Lade Register A aus mLoad LDA mSpeichere Register A in mStoreSTA mTransportiere von m2 nach m1 Move MOV m1,m2Lade 0 in Register A ClearCLRA
Ein-/Ausgabebefehle
Lade A vom Kanal (Port) n Input IN A,n
Gib A aus auf Kanal (Port) n Output OUT A,n
Arithmetische Befehle
Addiere Speicherinhalt zu A Add ADDA m
Subtrahiere Speicherinhalt von A Subtract SUBA m
Multipliziere A mit m Multiply MULA m
Erhöhe A um 1 Increment INCA
Vermindere A um 1 Decrement DECA
Logische Befehle
A UND Speicherinhalt And ANDA m
A ODER Speicherinhalt Or ORA m
Komplementierung von A Complement COMA
Verschiebe-Befehle
Rechtsschieben, arithmetisch A. shift right ASRA
Rechtsschieben, logisch L. shift right LSRA
Linksrotieren Rotate left ROLA
Bitmanipulationsbefehle
Setze Bit Nr. n Bit set BSET n,m
Teste Bit n auf 1 Bit test BIT n,m
Vergleichsbefehle
Vergleiche A mit m Compare CMPA m
Teste auf "0" oder "Minus" Test TST m
Sprungbefehle
Unbedingter Sprung Jump JMP adr
Sprung bei Gleichheit Jump if equal JE adr
Sprung bei Ungleichheit J. if not eq. JNE adr
Sprung ins Unterprogramm Jump to Subr. JSR adr
Rückkehr vom Unterprogramm Return from S. RET
Software-Interrupt Software int. SWI
Rückkehr vom Interrupt Return from I. IRET
Befehle zur Beeinflussung des Systemzustandes
Interrupts verbieten Disable Int. CLI
Interrupts zulassen Enable Int. STI
Keine Operation No Operation NOP
Anhalten (und Warten auf Int.) Halt HLT