データ転送命令 |
|
MOV |
Move |
CMOVE/CMOVZ |
Conditional move if equal/Conditional move if zero |
CMOVNE/CMOVNZ |
Conditional move if not equal/Conditional move if not zero |
CMOVA/CMOVNBE |
Conditional move if above/Conditional move if not below or equal |
CMOVAE/CMOVNB |
Conditional move if above or equal/Conditional move if not below |
CMOVB/CMOVNAE |
Conditional move if below/Conditional move if not above or equal |
CMOVBE/CMOVNA |
Conditional move if below or equal/Conditional move if not above |
CMOVG/CMOVNLE |
Conditional move if greater/Conditional move if not less or equal |
CMOVGE/CMOVNL |
Conditional move if greater or equal/Conditional move ifnot less |
CMOVL/CMOVNGE |
Conditional move if less/Conditional move if not greateror equal |
CMOVLE/CMOVNG |
Conditional move if less or equal/Conditional move ifnot greater |
CMOVC |
Conditional move if carry |
CMOVNC |
Conditional move if not carry |
CMOVO |
Conditional move if overflow |
CMOVNO |
Conditional move if not overflow |
CMOVS |
Conditional move if sign (negative) |
CMOVNS |
Conditional move if not sign (non-negative) |
CMOVP/CMOVPE |
Conditional move if parity/Conditional move if parity even |
CMOVNP/CMOVPO |
Conditional move if not parity/Conditional move if parity odd |
XCHG |
Exchange |
BSWAP |
Byte swap |
XADD |
Exchange and add |
CMPXCHG |
Compare and exchange |
CMPXCHG8B |
Compare and exchange 8 bytes |
PUSH |
Push onto stack |
POP |
Pop off of stack |
PUSHA/PUSHAD |
Push general-purpose registers onto stack |
POPA/POPAD |
Pop general-purpose registers from stack |
IN |
Read from a port |
OUT |
Write to a port |
CWD/CDQ |
Convert word to doubleword/Convert doubleword to quadword |
CBW/CWDE |
Convert byte to word/Convert word to doubleword in EAX register |
MOVSX |
Move and sign extend |
MOVZX |
Move and zero extend |
2進算術命令 |
|
ADD |
Integer add |
ADC |
Add with carry |
SUB |
Subtract |
SBB |
Subtract with borrow |
IMUL |
Signed multiply |
MUL |
Unsigned multiply |
IDIV |
Signed divide |
DIV |
Unsigned divide |
INC |
Increment |
DEC |
Decrement |
NEG |
Negate |
CMP |
Compare |
2進算術命令 |
|
DAA |
Decimal adjust after addition |
DAS |
Decimal adjust after subtraction |
AAA |
ASCII adjust after addition |
AAS |
ASCII adjust after subtraction |
AAM |
ASCII adjust after multiplication |
AAD |
ASCII adjust before division |
論理命令 |
|
AND |
And |
OR |
Or |
XOR |
Exclusive or |
NOT |
Not |
|
|
シフト命令とローテート命令 |
|
SAR |
Shift arithmetic right |
SHR |
Shift logical right |
SAL/SHL |
Shift arithmetic left/Shift logical left |
SHRD |
Shift right double |
SHLD |
Shift left double |
ROR |
Rotate right |
ROL |
Rotate left |
RCR |
Rotate through carry right |
RCL |
Rotate through carry left |
ビット命令とバイト命令 |
|
BT |
Bit test |
BTS |
Bit test and set |
BTR |
Bit test and reset |
BTC |
Bit test and complement |
BSF |
Bit scan forward |
BSR |
Bit scan reverse |
SETE/SETZ |
Set byte if equal/Set byte if zero |
SETNE/SETNZ |
Set byte if not equal/Set byte if not zero |
SETA/SETNBE |
Set byte if above/Set byte if not below or equal |
SETAE/SETNB/SETNC |
Set byte if above or equal/Set byte if not below/Set byte if not carry |
SETB/SETNAE/SETC |
Set byte if below/Set byte if not above or equal/Set byte if carry |
SETBE/SETNA |
Set byte if below or equal/Set byte if not above |
SETG/SETNLE |
Set byte if greater/Set byte if not less or equal |
SETGE/SETNL |
Set byte if greater or equal/Set byte if not less |
SETL/SETNGE |
Set byte if less/Set byte if not greater or equal |
SETLE/SETNG |
Set byte if less or equal/Set byte if not greater |
SETS |
Set byte if sign (negative) |
SETNS |
Set byte if not sign (non-negative) |
SETO |
Set byte if overflow |
SETNO |
Set byte if not overflow |
SETPE/SETP |
Set byte if parity even/Set byte if parity |
SETPO/SETNP |
Set byte if parity odd/Set byte if not parity |
TEST |
Logical compare |
|
|
制御転送命令 |
|
JMP |
Jump |
JE/JZ |
Jump if equal/Jump if zero |
JNE/JNZ |
Jump if not equal/Jump if not zero |
JA/JNBE |
Jump if above/Jump if not below or equal |
JAE/JNB |
Jump if above or equal/Jump if not below |
JB/JNAE |
Jump if below/Jump if not above or equal |
JBE/JNA |
Jump if below or equal/Jump if not above |
JG/JNLE |
Jump if greater/Jump if not less or equal |
JGE/JNL |
Jump if greater or equal/Jump if not less |
JL/JNGE |
Jump if less/Jump if not greater or equal |
JLE/JNG |
Jump if less or equal/Jump if not greater |
JC |
Jump if carry |
JNC |
Jump if not carry |
JO |
Jump if overflow |
JNO |
Jump if not overflow |
JS |
Jump if sign (negative) |
JNS |
Jump if not sign (non-negative) |
JPO/JNP |
Jump if parity odd/Jump if not parity |
JPE/JP |
Jump if parity even/Jump if parity |
JCXZ/JECXZ |
Jump register CX zero/Jump register ECX zero |
LOOP |
Loop with ECX counter |
LOOPZ/LOOPE |
Loop with ECX and zero/Loop with ECX and equal |
LOOPNZ/LOOPNE |
Loop with ECX and not zero/Loop with ECX and not equal |
CALL |
Call procedure |
RET |
Return |
IRET |
Return from interrupt |
INT |
Software interrupt |
INTO |
Interrupt on overflow |
BOUND |
Detect value out of range |
ENTER |
High-level procedure entry |
LEAVE |
High-level procedure exit |
|
|
ストリング命令 |
|
MOVS/MOVSB |
Move string/Move byte string |
MOVS/MOVSW |
Move string/Move word string |
MOVS/MOVSD |
Move string/Move doubleword string |
CMPS/CMPSB |
Compare string/Compare byte string |
CMPS/CMPSW |
Compare string/Compare word string |
CMPS/CMPSD |
Compare string/Compare doubleword string |
SCAS/SCASB |
Scan string/Scan byte string |
SCAS/SCASW |
Scan string/Scan word string |
SCAS/SCASD |
Scan string/Scan doubleword string |
LODS/LODSB |
Load string/Load byte string |
LODS/LODSW |
Load string/Load word string |
LODS/LODSD |
Load string/Load doubleword string |
STOS/STOSB |
Store string/Store byte string |
STOS/STOSW |
Store string/Store word string |
STOS/STOSD |
Store string/Store doubleword string |
REP |
Repeat while ECX not zero |
REPE/REPZ |
Repeat while equal/Repeat while zero |
REPNE/REPNZ |
Repeat while not equal/Repeat while not zero |
INS/INSB |
Input string from port/Input byte string from port |
INS/INSW |
Input string from port/Input word string from port |
INS/INSD |
Input string from port/Input doubleword string from port |
OUTS/OUTSB |
Output string to port/Output byte string to port |
OUTS/OUTSW |
Output string to port/Output word string to port |
OUTS/OUTSD |
Output string to port/Output doubleword string to port |
フラグ制御命令 |
|
STC |
Set carry flag |
CLC |
Clear the carry flag |
CMC |
Complement the carry flag |
CLD |
Clear the direction flag |
STD |
Set direction flag |
LAHF |
Load flags into AH register |
SAHF |
Store AH register into flags |
PUSHF/PUSHFD |
Push EFLAGS onto stack |
POPF/POPFD |
Pop EFLAGS from stack |
STI |
Set interrupt flag |
CLI |
Clear the interrupt flag |
セグメント・レジスタ命令S |
|
LDS |
Load far pointer using DS |
LES |
Load far pointer using ES |
LFS |
Load far pointer using FS |
LGS |
Load far pointer using GS |
LSS |
Load far pointer using SS |
その他の命令 |
|
LEA |
Load effective address |
NOP |
No operation |
UB2 |
Undefined instruction |
XLAT/XLATB |
Table lookup translation |
CPUID |
Processor Identification |
XLAT/XLATB |
Table lookup translation |
CPUID |
Processor Identification |