汇编jnl_汇编指令

本文详细介绍了X86和X87汇编指令,包括数据传输、输入输出、目的地址传送、标志传送、算术运算、逻辑运算、串指令、程序转移、处理器控制等多个方面的指令,旨在帮助读者理解和掌握汇编语言的基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

X86和X87汇编指令大全(有注释)

---------- 一、数据传输指令 ----------------------------------------------------

它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.

1. 通用数据传送指令.

MOV    传送字或字节.

MOVSX  先符号扩展,再传送.

MOVZX  先零扩展,再传送.

PUSH    把字压入堆栈.

POP    把字弹出堆栈.

PUSHA  把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.

POPA    把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.

PUSHAD  把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.

POPAD  把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.

BSWAP  交换32位寄存器里字节的顺序

XCHG    交换字或字节.(至少有一个操作数为寄存器,段寄存器不可作为操作数)

CMPXCHG 比较并交换操作数.(第二个操作数必须为累加器AL/AX/EAX)

XADD    先交换再累加.(结果在第一个操作数里)

XLAT    字节查表转换.----BX指向一张256字节的表的起点,AL为表的索引值(0-255,即0-FFH);返回AL为查表结果.([BX+AL]->AL)

2. 输入输出端口传送指令.

IN      I/O端口输入. ( 语法: IN  累加器,    {端口号│DX} )

OUT    I/O端口输出. ( 语法: OUT {端口号│DX},累加器 )输入输出端口由立即方式指定时,    其范围是 0-255; 由寄存器 DX 指定时,其范围是    0-65535.

3. 目的地址传送指令.

LEA    装入有效地址.例: LEA DX,string ;把偏移地址存到DX.

LDS    传送目标指针,把指针内容装入DS.例: LDS SI,string  ;把段地址:偏移地址存到DS:SI.

LES    传送目标指针,把指针内容装入ES.例: LES DI,string  ;把段地址:偏移地址存到ES:DI.

LFS    传送目标指针,把指针内容装入FS.例: LFS DI,string  ;把段地址:偏移地址存到FS:DI.

LGS    传送目标指针,把指针内容装入GS.例: LGS DI,string  ;把段地址:偏移地址存到GS:DI.

LSS    传送目标指针,把指针内容装入SS.例: LSS DI,string  ;把段地址:偏移地址存到SS:DI.

4. 标志传送指令.

LAHF    标志寄存器传送,把标志装入AH.

SAHF    标志寄存器传送,把AH内容装入标志寄存器.

PUSHF  标志入栈.

POPF    标志出栈.

PUSHD  32位标志入栈.

POPD    32位标志出栈.

---------- 二、算术运算指令 ----------------------------------------------------

ADD    加法.

ADC    带进位加法.

INC    加 1.

AAA    加法的ASCII码调整.

DAA    加法的十进制调整.

SUB    减法.

SBB    带借位减法.

DEC    减 1.

NEG    求反(以    0 减之).

CMP    比较.(两操作数作减法,仅修改标志位,不回送结果).

AAS    减法的ASCII码调整.

DAS    减法的十进制调整.

MUL    无符号乘法.结果回送AH和AL(字节运算),或DX和AX(字运算),

IMUL    整数乘法.结果回送AH和AL(字节运算),或DX和AX(字运算),

AAM    乘法的ASCII码调整.

DIV    无符号除法.结果回送:商回送AL,余数回送AH, (字节运算);或 商回送AX,余数回送DX, (字运算).

IDIV    整数除法.结果回送:商回送AL,余数回送AH, (字节运算);或 商回送AX,余数回送DX, (字运算).

AAD    除法的ASCII码调整.

CBW    字节转换为字. (把AL中字节的符号扩展到AH中去)

CWD    字转换为双字. (把AX中的字的符号扩展到DX中去)

CWDE    字转换为双字. (把AX中的字符号扩展到EAX中去)

CDQ    双字扩展. (把EAX中的字的符号扩展到EDX中去)

---------- 三、逻辑运算指令 ----------------------------------------------------

AND    与运算.

OR      或运算.

XOR    异或运算.

NOT    取反.

TEST    测试.(两操作数作与运算,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值