当前位置: 首页 > article >正文

x86 架构下一些常用的汇编指令英文全称与功能简述

汇编语言中的汇编指令众多,以下列举 x86 架构下一些常见的汇编指令:

指令类别指令英文全称功能简述
数据传送MOVMove将源操作数复制到目标操作数
LEALoad Effective Address加载有效地址到指定寄存器
PUSHPush onto the stack将操作数压入堆栈
POPPop from the stack从堆栈弹出操作数到指定位置
算术运算ADDAddition加法运算
SUBSubtraction减法运算
MULMultiply无符号乘法运算
IMULInteger Multiply有符号乘法运算
DIVDivide无符号除法运算
IDIVInteger Divide有符号除法运算
逻辑运算ANDLogical AND逻辑与运算
ORLogical OR逻辑或运算
XORExclusive OR逻辑异或运算
NOTLogical NOT逻辑非运算
控制转移JMPJump无条件跳转
JZJump if Zero结果为零则跳转
JNZJump if Not Zero结果不为零则跳转
CALLCall a subroutine调用子程序
RETReturn from a subroutine从子程序返回
串操作MOVSMove String移动字节串 / 字串
CMPSCompare String比较字节串 / 字串
SCASScan String扫描字节串 / 字串中的特定值
处理器控制CLCClear Carry Flag清除进位标志位
STCSet Carry Flag设置进位标志位
CLIClear Interrupt - Enable Flag清除中断允许标志位
STISet Interrupt - Enable Flag设置中断允许标志位

这只是汇编指令的一部分,实际上还有如循环控制指令(LOOP 等)、位操作指令(如 SHL - Shift Left 等)等许多其他指令,并且不同的汇编器和 CPU 架构也会有一些特殊指令。

以下是一些更多的汇编语言指令

指令类别指令英文全称功能描述
数据传送MOVSXMove with Sign - extension将源操作数传送到目标操作数,同时进行符号扩展
MOVZXMove with Zero - extension将源操作数传送到目标操作数,同时进行零扩展
算术运算INCIncrement将操作数的值加 1
DECDecrement将操作数的值减 1
NEGNegate求操作数的相反数
逻辑运算TESTTest对两个操作数进行逻辑与操作,但不保存结果,只设置标志位
SHLShift Left将操作数左移指定的位数
SHRShift Right将操作数右移指定的位数,无符号数逻辑右移
SARShift Arithmetic Right将操作数算术右移指定的位数,用于有符号数
ROLRol循环左移操作数
RORRot Right循环右移操作数
控制转移JAJump if Above当无符号数比较结果为大于时跳转
JAEJump if Above or Equal当无符号数比较结果为大于等于时跳转
JBJump if Below当无符号数比较结果为小于时跳转
JBEJump if Below or Equal当无符号数比较结果为小于等于时跳转
JGJump if Greater当有符号数比较结果为大于时跳转
JGEJump if Greater or Equal当有符号数比较结果为大于等于时跳转
JLJump if Less当有符号数比较结果为小于时跳转
JLEJump if Less or Equal当有符号数比较结果为小于等于时跳转
LOOPLoop循环指令,循环次数由 CX 寄存器决定
LOOPE/LOOPZLoop while Equal/Loop while Zero当标志位 ZF = 1 且 CX > 0 时循环
LOOPNE/LOOPNZLoop while Not Equal/Loop while Not Zero当标志位 ZF = 0 且 CX > 0 时循环
串操作STOSStore String将 AL/AX/EAX 中的值存储到指定的内存单元串中
LODSLoad String将指定内存单元串中的值加载到 AL/AX/EAX 中
处理器控制HLTHalt使处理器进入暂停状态
WAITWait使处理器进入等待状态,直到收到信号
ESCEscape处理器交权给外部设备,用于协处理器操作
LOCKLock在多处理器环境下,锁定总线,保证指令执行的原子性


http://www.kler.cn/news/342083.html

相关文章:

  • 商标恶意维权形式及应对策略
  • nn.Identity()
  • 噪声分布 双峰,模拟函数 或者模拟方法 python人工智能 深度神经网络
  • 量化交易四大邪术终章:春梦了无痕
  • 239. 滑动窗口最大值
  • 重学SpringBoot3-集成Redis(五)之布隆过滤器
  • 国内的无人机行业的现状和前景分析
  • 【Java】JAVA知识总结浅析
  • Airtest脚本的重构与优化:提升测试效率和可读性
  • 表面缺陷检测系统源码分享
  • vue 入门二
  • 网络编程(17)——asio多线程模型IOThreadPool
  • Java | Leetcode java题解之第458题可怜的小猪
  • 【软件系统架构设计师-案例-1】架构风格
  • 自动驾驶系列—线控系统:驱动自动驾驶的核心技术解读与应用指南
  • LeetCode 228 Summary Ranges 解题思路和python代码
  • 力扣3128. 直角三角形
  • yjs12——pandas缺失值的处理
  • JSONL 文件的检查和修订器
  • openEuler 24.03 (LTS) 部署 K8s(v1.31.1) 高可用集群(Kubespray Ansible 方式)