|
指令 |
功能 |
|
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 |
|
|
指令 |
功能 |
|
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
|
|
指令 |
功能 |
|
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 |
|
|
指令 |
功能 |
|
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
|
出处:https://www.cnblogs.com/del/archive/2010/03/16/1687665.html