X86的常用汇编指令

指令

含义

mov

将右操作数复制到左操作数

lea

装入有效地址。用来得到局部变量和函数参数的指针

push

将操作数压到堆栈的栈顶

pop

将堆栈的栈顶数弹出到操作数中

pushad

将所有通用寄存器压到堆栈的栈顶

popad

将堆栈的栈顶数弹出到所有的通用寄存器中

call

调用一个函数。以寄存器和偏移量来调用函数和c++里的虚函数调用很类似

ret

从一个函数返回。_stdcall调用规范要求如果有返回值,就要将返回值从堆栈的栈顶弹出

leave

move ESPEBP/pop EBP的简写,用来退出函数

add

算数加

sub

算数减

inc

递增操作

dec

递减操作

mul

无符号整数乘法。操作数必须是寄存器或内存单元

imul

有符号整数乘法。

div

无符号整数除法。操作数必须是寄存器或内存单元

idiv

有符号整数除法。操作数必须是寄存器或内存单元

and

逻辑与

or

逻辑或

not

逻辑非,使用反码非。与将所有的位单独取反效果相同

neg

非操作,使用补码(正的补码同原码,负的补码除符号位外取反加一)非。与乘以-1效果相同

xor

异或。一个寄存器和它自身进行异或通常被用来将该寄存器置为0

cmp

比较操作数(使用减法),并置上标志寄存器的相应位。操作数不会被修改

test

比较操作数的位(使用逻辑与),并置上标志寄存器的相应位,操作数不会被修改

jmp

无条件跳转

je

如果相等则跳转

jne

如果不等则跳转

loop

返回到循环的入口,视具体条件而定

nop

空操作,用来填充

int

引发中断,3号中断调用调试器,它经常被当作不会被调用的指令填充到程序中,从而成为一个特殊的空操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值