随笔 - 2146  文章 - 97 评论 - 11767 trackbacks - 253


指令功能
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字节
CPUIDCPU标识
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 源码中用到的汇编指令(只是粗略统计):

按名称排序使用次数按使用频率排序使用次数
ADC15MOV4053
ADD659PUSH1505
AND162CMP1372
BSF8POP1187
BSR7JE952
BSWAP12CALL847
BT13JMP771
BTC9ADD659
BTR10JNE503
BTS10TEST452
CALL847SUB400
CDQ6DEC332
CLD10LEA288
CMP1372RET280
CPUID3INC261
CWD1JZ252
DB241OR248
DD189DB241
DEC332DD189
DIV40JNZ167
DW63MOVZX166
ELSE2AND162
END2FLD154
F2XM16SHR131
FABS7JB101
FADD9JG92
FADDP15JA86
FBSTP3REP83
FCHS5JBE81
FCLEX5XCHG79
FCOM7JLE79
FCOMP7FSTP76
FCOMPP3LODSB74
FCOS4JL72
FDIV11FWAIT72
FDIVP5NEG70
FDIVRP11DW63
FFREE13LOCK61
FIADD6STOSB58
FIDIV2STOSW54
FILD32MOVSX53
FIMUL4FLDCW52
FINCSTP1FLD152
FISTP30SHL48
FLD154JAE48
FLD152DIV40
FLDCW52JGE35
FLDL2E6REPNE33
FLDLG22LODSW33
FLDLN29IMUL32
FLDZ8FMUL32
FMUL32FILD32
FMULP26JNS31
FNCLEX11FISTP30
FNINIT2FXCH28
FNSTCW20FMULP26
FNSTSW6JS24
FPATAN15SBB22
FPREM3FSTSW22
FPTAN4LOOP20
FRNDINT14FNSTCW20
FSCALE8FSTCW18
FSIN3NOT17
FSINCOS7JECXZ17
FSQRT15FYL2X17
FST5MUL16
FSTCW18JNC16
FSTP76SAHF15
FSTSW22ROR15
FSUB11FSQRT15
FSUBP5FPATAN15
FSUBR2FADDP15
FSUBRP4ADC15
FTST4FRNDINT14
FWAIT72FFREE13
FXAM1BT13
FXCH28SAR12
FXTRACT1ROL12
FYL2X17RCL12
FYL2XP11JO12
HLT1BSWAP12
IMUL32REPE11
INC261FSUB11
INT8FNCLEX11
JA86FDIVRP11
JAE48FDIV11
JB101WAIT10
JBE81CLD10
JC6BTS10
JE952BTR10
JECXZ17SETC9
JG92FLDLN29
JGE35FADD9
JL72BTC9
JLE79INT8
JMP771FSCALE8
JNA1FLDZ8
JNC16BSF8
JNE503PUSHFD7
JNG2FSINCOS7
JNL1FCOMP7
JNS31FCOM7
JNZ167FABS7
JO12BSR7
JRCXZ2NOP6
JS24JC6
JZ252FNSTSW6
LEA288FLDL2E6
LEAVE1FIADD6
LOCK61F2XM16
LODSB74CDQ6
LODSW33STOSD5
LOOP20POPFD5
MOV4053FSUBP5
MOVSB1FST5
MOVSX53FDIVP5
MOVZX166FCLEX5
MUL16FCHS5
NEG70SHRD4
NOP6PUSHF4
NOT17POPF4
OR248FTST4
PAUSE3FSUBRP4
POP1187FPTAN4
POPF4FIMUL4
POPFD5FCOS4
PUSH1505RCR3
PUSHF4PAUSE3
PUSHFD7FSIN3
RCL12FPREM3
RCR3FCOMPP3
REP83FBSTP3
REPE11CPUID3
REPNE33STD2
RET280SETNZ2
ROL12SETE2
ROR15JRCXZ2
SAHF15JNG2
SAL1FSUBR2
SAR12FNINIT2
SBB22FLDLG22
SETC9FIDIV2
SETE2END2
SETNC1ELSE2
SETNZ2STC1
SHL48SHLD1
SHLD1SETNC1
SHR131SAL1
SHRD4MOVSB1
STC1LEAVE1
STD2JNL1
STOSB58JNA1
STOSD5HLT1
STOSW54FYL2XP11
SUB400FXTRACT1
TEST452FXAM1
WAIT10FINCSTP1
XCHG79CWD1


posted on 2010-03-16 22:02  万一  阅读(...)  评论(...编辑  收藏