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

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

指令类别 指令 英文全称 功能简述
数据传送 MOV Move 将源操作数复制到目标操作数
LEA Load Effective Address 加载有效地址到指定寄存器
PUSH Push onto the stack 将操作数压入堆栈
POP Pop from the stack 从堆栈弹出操作数到指定位置
算术运算 ADD Addition 加法运算
SUB Subtraction 减法运算
MUL Multiply 无符号乘法运算
IMUL Integer Multiply 有符号乘法运算
DIV Divide 无符号除法运算
IDIV Integer Divide 有符号除法运算
逻辑运算 AND Logical AND 逻辑与运算
OR Logical OR 逻辑或运算
XOR Exclusive OR 逻辑异或运算
NOT Logical NOT 逻辑非运算
控制转移 JMP Jump 无条件跳转
JZ Jump if Zero 结果为零则跳转
JNZ Jump if Not Zero 结果不为零则跳转
CALL Call a subroutine 调用子程序
RET Return from a subroutine 从子程序返回
串操作 MOVS Move String 移动字节串 / 字串
CMPS Compare String 比较字节串 / 字串
SCAS Scan String 扫描字节串 / 字串中的特定值
处理器控制 CLC Clear Carry Flag 清除进位标志位
STC Set Carry Flag 设置进位标志位
CLI Clear Interrupt - Enable Flag 清除中断允许标志位
STI Set Interrupt - Enable Flag 设置中断允许标志位

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

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

指令类别 指令 英文全称 功能描述
数据传送 MOVSX Move with Sign - extension 将源操作数传送到目标操作数,同时进行符号扩展
MOVZX Move with Zero - extension 将源操作数传送到目标操作数,同时进行零扩展
算术运算 INC Increment 将操作数的值加 1
DEC Decrement 将操作数的值减 1
NEG Negate 求操作数的相反数
逻辑运算 TEST Test 对两个操作数进行逻辑与操作,但不保存结果,只设置标志位
SHL Shift Left 将操作数左移指定的位数
SHR Shift Right 将操作数右移指定的位数,无符号数逻辑右移
SAR Shift Arithmetic Right 将操作数算术右移指定的位数,用于有符号数
ROL Rol 循环左移操作数
ROR Rot Right 循环右移操作数
控制转移 JA Jump if Above 当无符号数比较结果为大于时跳转
JAE Jump if Above or Equal 当无符号数比较结果为大于等于时跳转
JB Jump if Below 当无符号数比较结果为小于时跳转
JBE Jump if Below or Equal 当无符号数比较结果为小于等于时跳转
JG Jump if Greater 当有符号数比较结果为大于时跳转
JGE Jump if Greater or Equal 当有符号数比较结果为大于等于时跳转
JL Jump if Less 当有符号数比较结果为小于时跳转
JLE Jump if Less or Equal 当有符号数比较结果为小于等于时跳转
LOOP Loop 循环指令,循环次数由 CX 寄存器决定
LOOPE/LOOPZ Loop while Equal/Loop while Zero 当标志位 ZF = 1 且 CX > 0 时循环
LOOPNE/LOOPNZ Loop while Not Equal/Loop while Not Zero 当标志位 ZF = 0 且 CX > 0 时循环
串操作 STOS Store String 将 AL/AX/EAX 中的值存储到指定的内存单元串中
LODS Load String 将指定内存单元串中的值加载到 AL/AX/EAX 中
处理器控制 HLT Halt 使处理器进入暂停状态
WAIT Wait 使处理器进入等待状态,直到收到信号
ESC Escape 处理器交权给外部设备,用于协处理器操作
LOCK Lock 在多处理器环境下,锁定总线,保证指令执行的原子性
相关推荐
飞的肖1 小时前
前端使用 Element Plus架构vue3.0实现图片拖拉拽,后等比压缩,上传到Spring Boot后端
前端·spring boot·架构
小屁不止是运维2 小时前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构
程序猿进阶2 小时前
深入解析 Spring WebFlux:原理与应用
java·开发语言·后端·spring·面试·架构·springboot
Hacker_Fuchen3 小时前
天融信网络架构安全实践
网络·安全·架构
ProtonBase3 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
工业甲酰苯胺11 小时前
分布式系统架构:服务容错
数据库·架构
Java程序之猿13 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
小蜗牛慢慢爬行16 小时前
Hibernate、JPA、Spring DATA JPA、Hibernate 代理和架构
java·架构·hibernate
思忖小下17 小时前
梳理你的思路(从OOP到架构设计)_简介设计模式
设计模式·架构·eit