1.通用数据传送指令. MOV----> move
MOVSX---->extended move with sign data MOVZX---->extended move with zero data PUSH---->push POP---->pop
PUSHA---->push all POPA---->pop all
PUSHAD---->push all data POPAD---->pop all data BSWAP---->byte swap XCHG---->exchange
CMPXCHG---->compare and change XADD---->exchange and add XLAT---->translate
2.输入输出端口传送指令. IN---->input OUT---->output
3.目的地址传送指令.
LEA---->load effective address LDS---->load DS LES---->load ES LFS---->load FS LGS---->load GS LSS---->load SS 4.标志传送指令.
LAHF---->load AH from flag SAHF---->save AH to flag PUSHF---->push flag POPF---->pop flag PUSHD---->push dflag POPD---->pop dflag
二、算术运算指令 ADD---->add
ADC---->add with carry INC---->increase 1
AAA---->ascii add with adjust DAA---->decimal add with adjust SUB---->substract
SBB---->substract with borrow DEC---->decrease 1 NEC---->negative CMP---->compare
AAS---->ascii adjust on substract DAS---->decimal adjust on substract MUL---->multiplication
IMUL---->integer multiplication
AAM---->ascii adjust on multiplication DIV---->divide
IDIV---->integer divide
AAD---->ascii adjust on divide CBW---->change byte to word
CWD---->change word to double word
CWDE---->change word to double word with sign to EAX CDQ---->change double word to quadrate word
三、逻辑运算指令
——————————————————————————————————————— AND---->and OR---->or XOR---->xor NOT---->not TEST---->test
SHL---->shift left
SAL---->arithmatic shift left SHR---->shift right
SAR---->arithmatic shift right ROL---->rotate left ROR---->rotate right
RCL---->rotate left with carry RCR---->rotate right with carry
四、串指令
———————————————————————————————————————
MOVS---->move string CMPS---->compare string SCAS---->scan string LODS---->load string STOS---->store string REP---->repeat
REPE---->repeat when equal REPZ---->repeat when zero flag REPNE---->repeat when not equal REPNZ---->repeat when zero flag REPC---->repeat when carry flag
REPNC---->repeat when not carry flag
五、程序转移指令
———————————————————————————————————————
1>无条件转移指令(长转移) JMP---->jump CALL---->call RET---->return
RETF---->return far
2>条件转移指令(短转移,-128到+127的距离内) JAE---->jump when above or equal JNB---->jump when not below JB---->jump when below
JNAE---->jump when not above or equal JBE---->jump when below or equal JNA---->jump when not above JG---->jump when greater
JNLE---->jump when not less or equal JGE---->jump when greater or equal JNL---->jump when not less JL---->jump when less
JNGE---->jump when not greater or equal JLE---->jump when less or equal JNG---->jump when not greater JE---->jump when equal
JZ---->jump when has zero flag JNE---->jump when not equal
JNZ---->jump when not has zero flag JC---->jump when has carry flag
JNC---->jump when not has carry flag JNO---->jump when not has overflow flag JNP---->jump when not has parity flag JPO---->jump when parity flag is odd JNS---->jump when not has sign flag JO---->jump when has overflow flag JP---->jump when has parity flag
JPE---->jump when parity flag is even JS---->jump when has sign flag 3>循环控制指令(短转移) LOOP---->loop
LOOPE---->loop equal LOOPZ---->loop zero
LOOPNE---->loop not equal
LOOPNZ---->loop not zero
JCXZ---->jump when CX is zero JECXZ---->jump when ECX is zero 4>中断指令
INT---->interrupt
INTO---->overflow interrupt IRET---->interrupt return 5>处理器控制指令 HLT---->halt WAIT---->wait ESC---->escape LOCK---->lock
NOP---->no operation STC---->set carry CLC---->clear carry
CMC---->carry make change STD---->set direction CLD---->clear direction STI---->set interrupt CLI---->clear interrupt
六、伪指令
—————————————————————————————————————
DW---->definw word PROC---->procedure
ENDP---->end of procedure SEGMENT---->segment ASSUME---->assume ENDS---->end segment END---->end