Hardware Reference
In-Depth Information
Compare
byte
or
word
(subtract
without
CMP
storing)
Multiply, divide byte or word (unsigned)
MUL, DIV
Integer multiply, divide byte or word (signed)
IMUL, IDIV
Convert byte to word, word to double word (useful
before multiply or divide)
CBW, CWD
ASCII
adjust
for
addition,
subtraction,
multi-
AAA, AAS, AAM, AAD
plication, division (ASCII codes 30-39)
Decimal adjust for addition, subtraction (binary-
coded decimal numbers)
DAA, DAS
Transfer instructions
JMP Unconditional jump
JA (JNBE) Jump if above (not below nor equal)
JAE (JNB) Jump if above or equal (not below)
JB (JNAE) Jump if below (not above nor equal)
JBE (JNA) Jump if below or equal (not above)
JE (JZ) Jump if equal (zero)
JG (JNLE) Jump if greater (not less nor equal)
JGE (JNL) Jump if greater or equal (not less)
JL (JNGE) Jump if less (not greater nor equal)
JLE (JNG) Jump if less or equal (not greater)
JC, JNC
Jump if carry set, carry not set
Jump if overflow, no overflow
JO, JNO
Jump if sign, no sign
JS, JNS
Jump if no parity (parity odd)
JNP (JPO)
Jump if parity (parity even)
JP (JPE)
Loop unconditional, count in CX
LOOP
Loop if equal (zero), count in CX
LOOPE (LOOPZ)
Loop if not equal (not zero), count in CX
LOOPNE (LOOPNZ)
Jump if CX equals zero
JCXZ
Subroutine and interrupt instructions
CALL, RET
Call, return from procedure
Software interrupt, interrupt if overflow
INT, INTO
Return from interrupt
IRET
String instructions
MOVS Move byte or word string
MOVSB, MOVSW Move byte, word string
CMPS Compare byte or word string
SCAS Scan byte or word string
LODS, STOS Load, store byte, or word string
REP Repeat
REPE, REPZ Repeat while equal, zero
REPNE, REPNZ Repeat while not equal (zero)
Search WWH ::




Custom Search