指令 |
功能 |
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