DSP

汇编指令速查

2019-07-13 17:35发布

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