汇编指令速查

操作系统开发--所有汇编指令集合 想要开发操作系统,怎么能不知道汇编指令呢?于是翻看intel开发文档,把所有的汇编指令都做了一个整理,大家也可以收藏一下,以后肯定会用得着。1 通用指令1.1 数据传输指令MOV——Move指令:可以在通用寄存器之间移动数据;在内存和通用寄存器或段寄存器之间移动数据;把立即数移动到通用寄存器。CMOVE/CMOVZ——满足相等条件时移动/满足是0条件时移动。CMOVNE/CMOVNZ——满足不相等... 阅读详情

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

汇编指令与机器码速查手册:从基础到实战应用 本文提供了一份汇编指令与机器码的实战速查手册,旨在帮助开发者和逆向工程师快速理解与转换底层代码。手册从基础编码原理讲起,按功能分类详解常用指令及其机器码,并重点结合逆向工程与嵌入式开发等实战场景,演示如何高效利用手册进行代码分析与Shellcode编写,从而提升工作效率与对计算机底层运行机制的理解。 阅读详情

相关推荐

汇编指令速查表(X86平台)

有时我们需要查看汇编代码去分析软件问题,汇编代码才能最直观地反映出软件的问题。为了方便大家理解并记忆汇编指令,读懂汇编代码的上下文,此处列出常用汇编指令的使用说明,以供参考。...

dvlinker的技术专栏 1万+

【计算机组成原理】x86指令系统

指令概述、指令分类、扩展操作码、指令寻址、数据寻址、x86汇编指令

phoenixFlyzzz的博客 6608

33、深入理解浮点运算:从表达式转换到SSE指令集应用

本文深入探讨了浮点运算的相关内容,包括fstsw和fnstsw指令的使用,如何将浮点表达式转换为后缀表示法并进一步转换为汇编语言,以及现代SSE指令集在浮点运算中的应用。文章还详细解析了SSE支持的数据类型、MXCSR寄存器的功能、SSE浮点移动、算术、比较和转换指令,并结合实际案例和流程图帮助读者更好地理解和应用相关知识。最后,文章总结了实践建议和常见问题解答,为编写高效浮点运算代码提供了全面指导。

j2k3l4的博客 71

[内核开发手册] ARM汇编指令速查表

ARM汇编指令速查摘要 本文整理了ARM处理器常见汇编指令及其功能描述和语法示例。主要内容包括: 数据传送指令:mov、ldr、str等 算术运算指令:add、sub、mul等 逻辑运算指令:and、orr、eor等 移位指令:lsl、asr等 控制流指令:b、bl、bx等跳转指令 栈操作指令:push、pop 条件执行指令:cmp、it系列等 特殊指令:如mla(乘加)、uxtb(位扩展)等,本表可作为ARM汇编程序开发的快速参考手册。

qq_36016038的博客 1684

汇编指令查询器 汇编指令查询器

汇编指令查询器 汇编指令查询器 汇编指令查询器 汇编指令查询器 汇编指令查询器 汇编指令查询器 汇编指令查询器

基因家族快速鉴定指南:Windows平台下的HMMER实战解析

本文详细解析了在Windows平台下使用HMMER工具进行基因家族快速鉴定的完整实战流程。通过手把手指导,从软件获取、数据准备到模型构建与序列搜索,帮助生物信息学新手无需Linux环境,即可高效完成bZIP转录因子等家族的鉴定工作,大幅降低分析门槛。

weixin_29255731的博客 460

ARM汇编指令的特点和速查表

ARM汇编指令的特点和速查表

weixin_33796177的博客 235

I-Cache 和 D-Cache

I-Cache 和 D-Cache

liuyuanbin9001 7023

C2000 DSP汇编指令速查软件分享(VB编写)

C2000 DSP汇编指令速查软件 C2XX命令详解   增强型命令   TMS320缩略语   // //======C2000 DSP汇编指令速查软件下载====== //

liliya49的专栏 2361

从零构建Carsim线控转向仿真:模型搭建、算法集成与整车联动实战

本文详细介绍了从零开始基于Carsim和Simulink搭建线控转向仿真模型的完整实战流程。内容涵盖RWA前轮执行器动力学建模与PID控制、卡尔曼滤波器估算齿条力、HWA方向盘手感模拟算法设计,以及最终实现HWA与RWA闭环联动并进行整车仿真调试。通过分步拆解,帮助读者深入理解线控转向系统的核心原理与工程实现。

weixin_29158413的博客 251

数字设计实验:自动售货机

本文旨在介绍数字设计实验:自动售货机的设计思路和实现代码

2401_83740084的博客 2228

8086 CPU 汇编指令速查手册

8086 CPU 汇编指令速查手册 很多地方都有这个。。。转来方便自己看一、数据传输指令 ───────────────────────────────────────       它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.       1. 通用数据传送指令.           MOV      传送字或字节.           MOVS

391

手把手教你用闲置安卓手机+蓝鲸支付,零成本搞定个人项目自动收款(附私有化部署教程)

本文详细介绍了如何利用闲置安卓手机和蓝鲸支付系统,零成本搭建个人项目自动收款解决方案。通过私有化部署教程,读者可以学习到从手机选择、系统配置到支付渠道对接的全流程,实现安全、高效的收款系统,特别适合个人开发者和小型项目使用。

weixin_29597551的博客 335

8088 汇编指令速查

 8088 汇编指令速查   一、数据传输指令 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,D

sshack的专栏 774

revit二次开发环境搭建(2024版)(小白友好)

revit二次开发环境配置,SDK、addin manager和lookup新手友好安装教程

m0_56961251的博客 1421

分析4-20mA检查电路分析

本文介绍了一种工业领域常用的4-20mA电流信号调理电路,可将标准电流信号转换为适合MCU采集的电压信号。电路包含三个关键模块:首先通过10Ω取样电阻将4-20mA电流转换为0.04-0.2V电压;然后采用同向比例运算放大器KTA333-ST5进行信号放大;最后通过二阶有源低通滤波器滤除工业环境中的高频干扰。文章详细分析了各模块的工作原理和参数设计,并以压力传感器和温度变送器为例说明了实际应用中的参数调整方法。该电路具有抗干扰能力强、精度高等特点,适用于工业压力、温度等模拟量信号的采集处理。

qq_37999850的博客 1331
上一篇: JAVA图形编程入门(连载2)
下一篇: 二叉树的一些基本运算
epluguo
博客等级 码龄18年 34粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值