匯編指令速查
指令 | 功能 |
---|---|
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 |