|
|
|
AAA
|
ASCII-Anpassung
für Addition
|
|
|
|
|
AAS
|
ASCII-Anpassung
für Subtraktion
|
|
|
|
|
AAM
|
ASCII-Anpassung
für Multiplikation
|
|
|
|
|
AAD
|
ASCII-Anpassung
für Division
|
|
|
|
|
DAA
|
Dezimale
Anpassung für Addition
|
|
|
|
|
DAS
|
Dezimale
Anpassung für Subtraktion
|
|
|
|
|
ADC
|
Addiere
unter Beachtung des Übertrags
|
|
|
|
|
ADD
|
Addiere
ohne Beachtung des Übertrags
|
|
|
|
|
SBB
|
Subtrahiere
mit Borgen
|
|
|
|
|
SUB
|
Subtrahiere
ohne Borgen
|
|
|
|
|
DIV
|
Division
(ohne Vorzeichen)
|
|
|
|
|
IDIV
|
Division
(mit Vorzeichen)
|
|
|
|
|
MUL
|
Multiplikation
(ohne Vorzeichen)
|
|
|
|
|
IMUL
|
Multiplikation
(mit Vorzeichen)
|
|
|
|
|
INC
|
Incrementiere
(Erhöhe um 1)
|
|
|
|
|
DEC
|
Decrementiere
(Vermindere um 1)
|
|
|
|
|
CBW
|
Wandle
ein Byte (AL) in ein Wort (AX) um
|
|
|
|
|
CWD
|
Wandle
ein Wort (AX) in ein Doppelwort (DX:AX) um
|
|
|
|
|
|
|
|
|
|
|
|
Logische
Befehle
|
|
|
|
|
AND
|
Logisches
UND
|
|
|
|
|
OR
|
Logisches
ODER
|
|
|
|
|
XOR
|
Exclusives
ODER
|
|
|
|
|
NEG
|
Zweierkomplement
bilden
|
|
|
|
|
NOT
|
Einerkomplement
bilden
|
|
|
|
|
TEST
|
Vergleichen
durch logisch UND
|
|
|
|
|
CMP
|
Vergleiche
Ziel mit Quelle
|
|
|
|
|
|
|
|
|
|
|
|
Transferbefehle
|
|
|
|
|
MOV
|
Übertrage
Byte oder Wort zum Ziel von der Quelle
|
|
|
|
|
PUSH
|
Übertrage
ein Word zum Stapel
|
|
|
|
|
PUSHA
|
Übertrage
alle Registerinhalte auf den Stapel
|
|
|
|
|
POPA
|
Hole
alle Registerinhalte vom Stapel
|
|
|
|
|
PUSHI
|
Übertrage
d. indirekt angeg. Wort, Byte zum Stapel
|
|
|
|
|
POP
|
Hole
ein Word vom Stapel
|
|
|
|
|
PUSHF
|
Übertrage
Statusregister zum Stapel
|
|
|
|
|
POPF
|
Hole
Statusregister vom Stapel
|
|
|
|
|
LAHF
|
Lade
Reg. AH mit dem Low Bytes des Flaggenreg.
|
|
|
|
|
SAHF
|
Speichere
Reg. AH im Low Bytes des Flaggenreg.
|
|
|
|
|
XCHG
|
Austauschen
|
|
|
|
|
XLAT
|
Übersetzen
|
|
|
|
|
LEA
|
Offsetadresse
laden
|
|
|
|
|
LDS
|
Zeiger,
einschliesslich DS laden
|
|
|
|
|
LES
|
Zeiger,
einschliesslich ES laden
|
|
|
|
|
IN
|
Byte
oder Word vom I/O Speicher lesen
|
|
|
|
|
OUT
|
Byte
oder Word zum I/O-Speicher schreiben
|
|
|
|
|
|
|
|
|
|
|
|
Flaggen
|
|
|
|
|
CLC
|
Lösche
Carry-Flag
|
|
|
|
|
STC
|
Setze
das Carry-Flag
|
|
|
|
|
CMC
|
Komplementiere
Carry-Flag
|
|
|
|
|
CLD
|
Lösche
Direction-Flag
|
|
|
|
|
STD
|
Setze
das Direction-Flag
|
|
|
|
|
CLI
|
Lösche
Interrupt-Flag
|
|
|
|
|
STI
|
Setze
das Interrupt-Flag
|
|
|
|
|
|
|
|
|
|
|
|
Verzweigungen
und Sprünge
|
|
|
|
|
JMP
|
Unbedinger
Sprung
|
|
|
|
|
CALL
|
Sprung
zu einem Unterprogramm
|
|
|
|
|
RET
|
Rücksprung
aus Unterprogramm
|
|
|
|
|
INT
|
Software-Interrupt
aufrufen
|
|
|
|
|
INTO
|
Interrupt
bei gesetztem Overflow-Flag
|
|
|
|
|
IRET
|
Rücksprung
von einem Interrput-Serviceprogramm
|
|
|
|
|
|
|
|
|
|
|
JC
|
Sprung
wenn Carry-Flag gesetzt / C=1
|
|
|
|
|
JNAE
|
Sprung
bei nicht oberhalb oder gleich
|
|
|
|
|
JB
|
Sprung
bei unterhalb von
|
|
|
|
|
JNC
|
Sprung
wenn Carry-Flag gelöscht / C=0
|
|
|
|
|
JAE
|
Sprung
bei oberhalb oder gleich
|
|
|
|
|
JNB
|
Sprung
bei nicht unterhalb
|
|
|
|
|
|
|
|
|
|
|
JA
|
Sprung
bei oberhalb von
|
|
|
|
|
JNA
|
Sprung
bei nicht grösser
|
|
|
|
|
JBE
|
Sprung
bei unterhalb oder gleich
|
|
|
|
|
JNBE
|
Sprung
bei nicht unterhalb oder gleich
|
|
|
|
|
|
|
|
|
|
|
JZ
|
Sprung
wenn Zero-Flag gesetzt / Z=1
|
|
|
|
|
JE
|
Sprung
bei gleich Null
|
|
|
|
|
JNZ
|
Sprung
wenn Zero-Flag gelöscht / Z=0
|
|
|
|
|
JNE
|
Sprung
bei ungleich
|
|
|
|
|
|
|
|
|
|
|
JO
|
Sprung
wenn Overflow-Flag gesetzt / O=1
|
|
|
|
|
JNO
|
Sprung
wenn Overflow-Flag gelöscht / O=0
|
|
|
|
|
JS
|
Sprung
wenn Sign-Flag gesetzt / S=1
|
|
|
|
|
JNS
|
Sprung
wenn Sign-Flag gelöscht / S=0
|
|
|
|
|
|
|
|
|
|
|
JG
|
Sprung
bei grösser
|
|
|
|
|
JNLE
|
Sprung
bei nicht kleiner oder gleich
|
|
|
|
|
JLE
|
Sprung
bei kleiner oder gleich
|
|
|
|
|
JNG
|
Sprung
bei nicht grösser
|
|
|
|
|
JGE
|
Sprung
bei grösser oder gleich
|
|
|
|
|
JNL
|
Sprung
bei nicht kleiner
|
|
|
|
|
JL
|
Sprung
bei kleiner
|
|
|
|
|
JNGE
|
Sprung
bei nicht grösser oder gleich
|
|
|
|
|
|
|
|
|
|
|
JP
|
Sprung
wenn Parity-Flagge gesetzt / P=1
|
|
|
|
|
JPE
|
Sprung
bei gerader Parität
|
|
|
|
|
JNP
|
Sprung
wenn Parity-Flagge gelöscht / P=0
|
|
|
|
|
JPO
|
Sprung
bei ungerader Parität
|
|
|
|
|
JCXZ
|
Sprung
wenn Register CX=0
|
|
|
|
|
|
|
|
|
|
|
|
Iterationssprünge
|
|
|
|
|
LOOP
|
Decrementiere
CX, Sprung solange CX nicht Null
|
|
|
|
|
LOOPZ
|
Decrem.CX,
Sprung solange (CX nicht Null und Z=1)
|
|
|
|
|
LOOPE
|
...
wie LOOPZ
|
|
|
|
|
LOOPNZ
|
Decrem.CX,
Sprung solange (CX nicht Null und Z=0)
|
|
|
|
|
LOOPNE
|
...
wie LOOPNZ
|
|
|
|
|
|
|
|
|
|
|
|
Schieben
und Rotieren
|
|
|
|
|
RCL
|
Links
rotieren durch das Carry-Flag
|
|
|
|
|
RCR
|
Rechts
rotieren durch das Carry-Flag
|
|
|
|
|
ROL
|
Rotiere
nach links
|
|
|
|
|
ROR
|
Rotiere
nach rechts
|
|
|
|
|
SAL
|
Schiebe
arithmetisch nach links
|
|
|
|
|
SHL
|
Schiebe
logisch nach links
|
|
|
|
|
SAR
|
Schiebe
arithmetisch nach rechts
|
|
|
|
|
SHR
|
Schiebe
logisch nach rechts
|
|
|
|
|
|
|
|
|
|
|
|
Blockbefehle
|
|
|
|
|
MOVS
|
Kopiere
einen String (Byte oder Wort)
|
|
|
|
|
MOVSB
|
Kopiere
String (Byte)
|
|
|
|
|
MOVSW
|
Kopiere
String (Word)
|
|
|
|
|
CMPS
|
Vergleiche
Zielstring mit Quellstring
|
|
|
|
|
SCAS
|
Vergleiche
String mit Inhalt Akkumulator
|
|
|
|
|
LODS
|
Lade
String in Akkumulator
|
|
|
|
|
STOS
|
Speichere
String aus Akkumulator
|
|
|
|
|
|
|
|
|
|
|
|
Repetier-Präfixe
für Blockbefehle
|
|
|
|
|
REP
|
Wiederhole
folgenden Blockbefehl, bis (CX)=0
|
|
|
|
|
REPE
|
Wiederhole
folgenden Blockbefehl, bis (CX)=0 und Z=1
|
|
|
|
|
REPZ
|
Wiederhole
solange Null
|
|
|
|
|
REPNE
|
Wiederhole
solange nicht gleich
|
|
|
|
|
REPNZ
|
Wiederhole
solange nicht Null
|
|
|
|
|
|
|
|
|
|
|
|
Prozessorsteuerung
|
|
|
|
|
ESC
|
Objektcode
und Operand für Coprozessor bereitstellen
|
|
|
|
|
HLT
|
Halt,
Arbeit der CPU anhalten
|
|
|
|
|
LOCK
|
An
'Lock'-Pin ein 0-Signal ausgeben
|
|
|
|
|
NOP
|
Keine
Operation ausführen
|
|
|
|
|
WAIT
|
Warte,
bis 'Test'-Pin aktiv
|
|