汇编指令速查
指令 | 功能 |
AAA |
调整加 |
AAD |
调整除 |
AAM |
调整乘 |
AAS |
调整减 |
ADC |
进位加 |
ADD |
加 |
AND |
与 |
ARPL |
调整优先级 |
BOUND |
检查数组 |
BSF |
位右扫描 |
BSR |
位左扫描 |
BSWAP |
交换字节 |
BT |
位测试 |
BTC |
位测试求反 |
BTR |
位测试清零 |
BTS |
位测试置一 |
CALL |
过程调用 |
CBW |
转换字节 |
CDQ |
转换双字 |
CLC |
进位清零 |
CLD |
方向清零 |
CLI |
中断清零 |
CLTS |
任务清除 |
CMC |
进位求反 |
CMOVA |
高于传送 |
CMOVB |
低于传送 |
CMOVE |
相等传送 |
CMOVG |
大于传送 |
CMOVL |
小于传送 |
CMOVNA |
不高于传送 |
CMOVNB |
不低于传送 |
CMOVNE |
不等传送 |
CMOVNG |
不大于传送 |
CMOVNL |
不小于传送 |
CMOVNO |
不溢出传送 |
CMOVNP |
非奇偶传送 |
CMOVNS |
非负传送 |
CMOVO |
溢出传送 |
CMOVP |
奇偶传送 |
CMOVS |
负号传送 |
CMP |
比较 |
CMPSB |
比较字节串 |
CMPSD |
比较双字串 |
CMPSW |
比较字串 |
CMPXCHG |
比较交换 |
CMPXCHG486 |
比较交换486 |
CMPXCHG8B |
比较交换8字节 |
CPUID |
CPU标识 |
CWD |
转换字 |
CWDE |
扩展字 |
DAA |
调整加十 |
DAS |
调整减十 |
DEC |
减一 |
DIV |
除 |
ENTER |
建立堆栈帧 |
HLT |
停 |
IDIV |
符号整除 |
IMUL |
符号乘法 |
IN |
端口输入 |
INC |
加一 |
INSB |
端口输入字节串 |
INSD |
端口输入双字串 |
INSW |
端口输入字串 |
JA |
高于跳转 |
JB |
低于跳转 |
JBE |
不高于跳转 |
JCXZ |
计数一六零跳转 |
JE |
相等跳转 |
JECXZ |
计数三二零跳转 |
JG |
大于跳转 |
JL |
小于跳转 |
JMP |
跳转 |
JMPE |
跳转扩展 |
JNB |
不低于跳转 |
JNE |
不等跳转 |
JNG |
不大于跳转 |
JNL |
不小于跳转 |
JNO |
不溢出跳转 |
JNP |
非奇偶跳转 |
JNS |
非负跳转 |
JO |
溢出跳转 |
JP |
奇偶跳转 |
JS |
负号跳转 |
LAHF |
加载标志低八 |
LAR |
加载访问权限 |
LDS |
加载数据段 |
LEA |
加载有效地址 |
LEAVE |
清除过程堆栈 |
LES |
加载附加段 |
LFS |
加载标志段 |
LGDT |
加载全局描述符 |
LGS |
加载全局段 |
LIDT |
加载中断描述符 |
LMSW |
加载状态字 |
LOADALL |
加载所有 |
LOADALL286 |
加载所有286 |
LOCK |
锁 |
LODSB |
加载源变址字节串 |
LODSD |
加载源变址双字串 |
LODSW |
加载源变址字串 |
LOOP |
计数循环 |
LOOPE |
相等循环 |
LOOPNE |
不等循环 |
LOOPNZ |
非零循环 |
LOOPZ |
为零循环 |
LSL |
加载段界限 |
LSS |
加载堆栈段 |
LTR |
加载任务 |
MONITOR |
监视 |
MOV |
传送 |
MOVSB |
传送字节串 |
MOVSD |
传送双字串 |
MOVSW |
传送字串 |
MOVSX |
符号传送 |
MOVZX |
零传送 |
MUL |
乘 |
MWAIT |
|
NEG |
求补 |
NOP |
空 |
NOT |
非 |
OR |
或 |
OUT |
端口输出 |
OUTSB |
端口输出字节串 |
OUTSD |
端口输出双字串 |
OUTSW |
端口输出字串 |
POP |
出栈 |
POPA |
全部出栈 |
POPF |
标志出栈 |
PUSH |
压栈 |
PUSHA |
全部压栈 |
PUSHF |
标志压栈 |
RCL |
进位循环左移 |
RCR |
进位循环右移 |
RDMSR |
读专用模式 |
RDPMC |
读执行监视计数 |
RDSHR |
|
RDTSC |
读时间戳计数 |
REP |
重复 |
REPE |
相等重复 |
REPNE |
不等重复 |
RET |
过程返回 |
RETF |
远过程返回 |
RETN |
近过程返回 |
ROL |
循环左移 |
ROR |
循环右移 |
RSM |
恢复系统管理 |
SAHF |
恢复标志低八 |
SAL |
算术左移 |
SALC |
|
SAR |
算术右移 |
SBB |
借位减 |
SCASB |
扫描字节串 |
SCASD |
扫描双字串 |
SCASW |
扫描字串 |
SETA |
高于置位 |
SETB |
低于置位 |
SETE |
相等置位 |
SETG |
大于置位 |
SETL |
小于置位 |
SETNA |
不高于置位 |
SETNB |
不低于置位 |
SETNE |
不等置位 |
SETNG |
不大于置位 |
SETNL |
不小于置位 |
SETNO |
不溢出置位 |
SETNP |
非奇偶置位 |
SETNS |
非负置位 |
SETO |
溢出置位 |
SETP |
奇偶置位 |
SETS |
负号置位 |
SGDT |
保存全局描述符 |
SHL |
逻辑左移 |
SHLD |
双精度左移 |
SHR |
逻辑右移 |
SHRD |
双精度右移 |
SIDT |
保存中断描述符 |
SLDT |
保存局部描述符 |
SMI |
|
SMINT |
|
SMINTOLD |
|
SMSW |
保存状态字 |
STC |
进位设置 |
STD |
方向设置 |
STI |
中断设置 |
STOSB |
保存字节串 |
STOSD |
保存双字串 |
STOSW |
保存字串 |
STR |
保存任务 |
SUB |
减 |
SYSCALL |
系统调用 |
SYSENTER |
系统进入 |
SYSEXIT |
系统退出 |
SYSRET |
系统返回 |
TEST |
数测试 |
UD0 |
未定义指令0 |
UD1 |
未定义指令1 |
UD2 |
未定义指令2 |
UMOV |
|
VERW |
校验写 |
WAIT |
等 |
WBINVD |
回写无效高速缓存 |
WRMSR |
写专用模式 |
WRSHR |
|
XADD |
交换加 |
XBTS |
|
XCHG |
交换 |
XLAT |
换码 |
XOR |
异或 |
XSTORE |
|
http://files.cnblogs.com/findumars/ASM_Detail.pdf
指令 | 功能 |
EMMS |
媒体空MMX状态 |
F2XM1 |
浮点栈顶绝对值 |
FADD |
浮点加 |
FADDP |
浮点加出栈 |
FBLD |
浮点加载十数 |
FBSTP |
浮点保存十数出栈 |
FCHS |
浮点正负求反 |
FCLEX |
浮点检查错误清除 |
FCMOVB |
浮点低于传送 |
FCMOVBE |
浮点不高于传送 |
FCMOVE |
浮点相等传送 |
FCMOVNB |
浮点不低于传送 |
FCMOVNBE |
浮点高于传送 |
FCMOVNE |
浮点不等传送 |
FCMOVNU |
浮点有序传送 |
FCMOVU |
浮点无序传送 |
FCOM |
浮点比较 |
FCOMI |
浮点比较加载标志 |
FCOMIP |
浮点比较加载标志出栈 |
FCOMP |
浮点比较出栈 |
FCOMPP |
浮点比较出栈二 |
FCOS |
浮点余弦 |
FDECSTP |
浮点栈针减一 |
FDISI |
浮点检查禁止中断 |
FDIV |
浮点除 |
FDIVP |
浮点除出栈 |
FDIVR |
浮点反除 |
FDIVRP |
浮点反除出栈 |
FENI |
浮点检查禁止中断二 |
FFREE |
浮点释放 |
FFREEP |
浮点释放出栈 |
FIADD |
浮点加整数 |
FICOM |
浮点比较整数 |
FICOMP |
浮点比较整数出栈 |
FIDIV |
浮点除整数 |
FIDIVR |
浮点反除 |
FILD |
浮点加载整数 |
FIMUL |
浮点乘整数 |
FINCSTP |
浮点栈针加一 |
FINIT |
浮点检查初始化 |
FIST |
浮点保存整数 |
FISTP |
浮点保存整数出栈 |
FISTTP |
|
FISUB |
浮点减整数 |
FISUBR |
浮点反减整数 |
FLD |
浮点加载数 |
FLD1 |
浮点加载一 |
FLDCW |
浮点加载控制器 |
FLDENV |
浮点加载环境 |
FLDL2E |
浮点加载L2E |
FLDL2T |
浮点加载L2T |
FLDLG2 |
浮点加载LG2 |
FLDLN2 |
浮点加载LN2 |
FLDPI |
浮点加载PI |
FLDZ |
浮点加载零 |
FMUL |
浮点乘 |
FMULP |
浮点乘出栈 |
FNCLEX |
浮点不检查错误清除 |
FNDISI |
浮点不检查禁止中断 |
FNENI |
浮点不检查禁止中断二 |
FNINIT |
浮点不检查初始化 |
FNOP |
浮点空 |
FNSAVE |
浮点不检查保存状态 |
FNSTCW |
浮点不检查保存控制器 |
FNSTENV |
浮点不检查保存环境 |
FNSTSW |
浮点不检查保存状态器 |
FPATAN |
浮点部分反正切 |
FPREM |
浮点部分余数 |
FPREM1 |
浮点部分余数二 |
FPTAN |
浮点部分正切 |
FRNDINT |
浮点舍入求整 |
FRSTOR |
浮点恢复状态 |
FSAVE |
浮点检查保存状态 |
FSCALE |
浮点比例运算 |
FSETPM |
浮点设置保护 |
FSIN |
浮点正弦 |
FSINCOS |
浮点正余弦 |
FSQRT |
浮点平方根 |
FST |
浮点保存 |
FSTCW |
浮点检查保存控制器 |
FSTENV |
浮点检查保存环境 |
FSTP |
浮点保存出栈 |
FSTSW |
浮点检查保存状态器 |
FSUB |
浮点减 |
FSUBP |
浮点减出栈 |
FSUBR |
浮点反减 |
FSUBRP |
浮点反减出栈 |
FTST |
浮点比零 |
FUCOM |
浮点无序比较 |
FUCOMI |
浮点反比加载标志 |
FUCOMIP |
浮点反比加载标志出栈 |
FUCOMP |
浮点无序比较出栈 |
FUCOMPP |
浮点无序比较出栈二 |
FWAIT |
浮点等 |
FXAM |
浮点检查 |
FXCH |
浮点交换 |
FXTRACT |
浮点分解 |
FYL2X |
浮点求L2X |
FYL2XP1 |
浮点求L2XP1 |
MOVED |
媒体双字传送 |
MOVEQ |
媒体四字传送 |
PACKSSDW |
媒体符号双字压缩 |
PACKSSWB |
媒体符号字压缩 |
PACKUSWB |
媒体无符号字压缩 |
PADDB |
媒体截断字节加 |
PADDD |
媒体截断双字加 |
PADDSB |
媒体符号饱和字节加 |
PADDSIW |
|
PADDSW |
媒体符号饱和字加 |
PADDUSB |
媒体无符号饱和字节加 |
PADDUSW |
媒体无符号饱和字加 |
PADDW |
媒体截断字加 |
PAND |
媒体与 |
PANDN |
媒体与非 |
PAVEB |
|
PCMPEQB |
媒体字节比等 |
PCMPEQD |
媒体双字比等 |
PCMPEQW |
媒体字比等 |
PCMPGTB |
媒体字节比大 |
PCMPGTD |
媒体双字比大 |
PCMPGTW |
媒体字比大 |
PDISTIB |
|
PMACHRIW |
|
PMADDWD |
|
PMAGW |
|
PMULHRIW |
|
PMULHRWC |
|
PMULHW |
|
PMVGEZB |
|
PMVLZB |
|
PMVNZB |
|
PMVZB |
|
POR |
媒体或 |
PSLLD |
媒体双字左移 |
PSLLQ |
媒体四字左移 |
PSLLW |
媒体字左移 |
PSRAD |
媒体双字算术右移 |
PSRAW |
媒体字算术右移 |
PSRLD |
媒体双字右移 |
PSRLQ |
媒体四字右移 |
PSRLW |
媒体字右移 |
PSUBB |
媒体截断字节减 |
PSUBSB |
媒体符号饱和字节减 |
PSUBSIW |
|
PSUBSW |
媒体符号饱和字减 |
PSUBUSB |
媒体无符号饱和字节减 |
PSUBUSW |
媒体无符号饱和字减 |
PSUBW |
媒体截断字减 |
PUNPCKHBW |
媒体字节高位解压 |
PUNPCKHDQ |
媒体双字高位解压 |
PUNPCKHWD |
媒体字高位解压 |
PUNPCKLBW |
媒体字节低位解压 |
PUNPCKLDQ |
媒体双字低位解压 |
PUNPCKLWD |
媒体字低位解压 |
Delphi 2010 VCL、JCL 源码中用到的汇编指令(只是粗略统计):
按名称排序 | 使用次数 | 按使用频率排序 | 使用次数 |
ADC |
15 |
MOV |
4053 |
ADD |
659 |
PUSH |
1505 |
AND |
162 |
CMP |
1372 |
BSF |
8 |
POP |
1187 |
BSR |
7 |
JE |
952 |
BSWAP |
12 |
CALL |
847 |
BT |
13 |
JMP |
771 |
BTC |
9 |
ADD |
659 |
BTR |
10 |
JNE |
503 |
BTS |
10 |
TEST |
452 |
CALL |
847 |
SUB |
400 |
CDQ |
6 |
DEC |
332 |
CLD |
10 |
LEA |
288 |
CMP |
1372 |
RET |
280 |
CPUID |
3 |
INC |
261 |
CWD |
1 |
JZ |
252 |
DB |
241 |
OR |
248 |
DD |
189 |
DB |
241 |
DEC |
332 |
DD |
189 |
DIV |
40 |
JNZ |
167 |
DW |
63 |
MOVZX |
166 |
ELSE |
2 |
AND |
162 |
END |
2 |
FLD |
154 |
F2XM1 |
6 |
SHR |
131 |
FABS |
7 |
JB |
101 |
FADD |
9 |
JG |
92 |
FADDP |
15 |
JA |
86 |
FBSTP |
3 |
REP |
83 |
FCHS |
5 |
JBE |
81 |
FCLEX |
5 |
XCHG |
79 |
FCOM |
7 |
JLE |
79 |
FCOMP |
7 |
FSTP |
76 |
FCOMPP |
3 |
LODSB |
74 |
FCOS |
4 |
JL |
72 |
FDIV |
11 |
FWAIT |
72 |
FDIVP |
5 |
NEG |
70 |
FDIVRP |
11 |
DW |
63 |
FFREE |
13 |
LOCK |
61 |
FIADD |
6 |
STOSB |
58 |
FIDIV |
2 |
STOSW |
54 |
FILD |
32 |
MOVSX |
53 |
FIMUL |
4 |
FLDCW |
52 |
FINCSTP |
1 |
FLD1 |
52 |
FISTP |
30 |
SHL |
48 |
FLD |
154 |
JAE |
48 |
FLD1 |
52 |
DIV |
40 |
FLDCW |
52 |
JGE |
35 |
FLDL2E |
6 |
REPNE |
33 |
FLDLG2 |
2 |
LODSW |
33 |
FLDLN2 |
9 |
IMUL |
32 |
FLDZ |
8 |
FMUL |
32 |
FMUL |
32 |
FILD |
32 |
FMULP |
26 |
JNS |
31 |
FNCLEX |
11 |
FISTP |
30 |
FNINIT |
2 |
FXCH |
28 |
FNSTCW |
20 |
FMULP |
26 |
FNSTSW |
6 |
JS |
24 |
FPATAN |
15 |
SBB |
22 |
FPREM |
3 |
FSTSW |
22 |
FPTAN |
4 |
LOOP |
20 |
FRNDINT |
14 |
FNSTCW |
20 |
FSCALE |
8 |
FSTCW |
18 |
FSIN |
3 |
NOT |
17 |
FSINCOS |
7 |
JECXZ |
17 |
FSQRT |
15 |
FYL2X |
17 |
FST |
5 |
MUL |
16 |
FSTCW |
18 |
JNC |
16 |
FSTP |
76 |
SAHF |
15 |
FSTSW |
22 |
ROR |
15 |
FSUB |
11 |
FSQRT |
15 |
FSUBP |
5 |
FPATAN |
15 |
FSUBR |
2 |
FADDP |
15 |
FSUBRP |
4 |
ADC |
15 |
FTST |
4 |
FRNDINT |
14 |
FWAIT |
72 |
FFREE |
13 |
FXAM |
1 |
BT |
13 |
FXCH |
28 |
SAR |
12 |
FXTRACT |
1 |
ROL |
12 |
FYL2X |
17 |
RCL |
12 |
FYL2XP1 |
1 |
JO |
12 |
HLT |
1 |
BSWAP |
12 |
IMUL |
32 |
REPE |
11 |
INC |
261 |
FSUB |
11 |
INT |
8 |
FNCLEX |
11 |
JA |
86 |
FDIVRP |
11 |
JAE |
48 |
FDIV |
11 |
JB |
101 |
WAIT |
10 |
JBE |
81 |
CLD |
10 |
JC |
6 |
BTS |
10 |
JE |
952 |
BTR |
10 |
JECXZ |
17 |
SETC |
9 |
JG |
92 |
FLDLN2 |
9 |
JGE |
35 |
FADD |
9 |
JL |
72 |
BTC |
9 |
JLE |
79 |
INT |
8 |
JMP |
771 |
FSCALE |
8 |
JNA |
1 |
FLDZ |
8 |
JNC |
16 |
BSF |
8 |
JNE |
503 |
PUSHFD |
7 |
JNG |
2 |
FSINCOS |
7 |
JNL |
1 |
FCOMP |
7 |
JNS |
31 |
FCOM |
7 |
JNZ |
167 |
FABS |
7 |
JO |
12 |
BSR |
7 |
JRCXZ |
2 |
NOP |
6 |
JS |
24 |
JC |
6 |
JZ |
252 |
FNSTSW |
6 |
LEA |
288 |
FLDL2E |
6 |
LEAVE |
1 |
FIADD |
6 |
LOCK |
61 |
F2XM1 |
6 |
LODSB |
74 |
CDQ |
6 |
LODSW |
33 |
STOSD |
5 |
LOOP |
20 |
POPFD |
5 |
MOV |
4053 |
FSUBP |
5 |
MOVSB |
1 |
FST |
5 |
MOVSX |
53 |
FDIVP |
5 |
MOVZX |
166 |
FCLEX |
5 |
MUL |
16 |
FCHS |
5 |
NEG |
70 |
SHRD |
4 |
NOP |
6 |
PUSHF |
4 |
NOT |
17 |
POPF |
4 |
OR |
248 |
FTST |
4 |
PAUSE |
3 |
FSUBRP |
4 |
POP |
1187 |
FPTAN |
4 |
POPF |
4 |
FIMUL |
4 |
POPFD |
5 |
FCOS |
4 |
PUSH |
1505 |
RCR |
3 |
PUSHF |
4 |
PAUSE |
3 |
PUSHFD |
7 |
FSIN |
3 |
RCL |
12 |
FPREM |
3 |
RCR |
3 |
FCOMPP |
3 |
REP |
83 |
FBSTP |
3 |
REPE |
11 |
CPUID |
3 |
REPNE |
33 |
STD |
2 |
RET |
280 |
SETNZ |
2 |
ROL |
12 |
SETE |
2 |
ROR |
15 |
JRCXZ |
2 |
SAHF |
15 |
JNG |
2 |
SAL |
1 |
FSUBR |
2 |
SAR |
12 |
FNINIT |
2 |
SBB |
22 |
FLDLG2 |
2 |
SETC |
9 |
FIDIV |
2 |
SETE |
2 |
END |
2 |
SETNC |
1 |
ELSE |
2 |
SETNZ |
2 |
STC |
1 |
SHL |
48 |
SHLD |
1 |
SHLD |
1 |
SETNC |
1 |
SHR |
131 |
SAL |
1 |
SHRD |
4 |
MOVSB |
1 |
STC |
1 |
LEAVE |
1 |
STD |
2 |
JNL |
1 |
STOSB |
58 |
JNA |
1 |
STOSD |
5 |
HLT |
1 |
STOSW |
54 |
FYL2XP1 |
1 |
SUB |
400 |
FXTRACT |
1 |
TEST |
452 |
FXAM |
1 |
WAIT |
10 |
FINCSTP |
1 |
XCHG |
79 |
CWD |
1
|