|
指令 |
含义 |
|
mov |
将右操作数复制到左操作数 |
|
lea |
装入有效地址。用来得到局部变量和函数参数的指针 |
|
push |
将操作数压到堆栈的栈顶 |
|
pop |
将堆栈的栈顶数弹出到操作数中 |
|
pushad |
将所有通用寄存器压到堆栈的栈顶 |
|
popad |
将堆栈的栈顶数弹出到所有的通用寄存器中 |
|
call |
调用一个函数。以寄存器和偏移量来调用函数和c++里的虚函数调用很类似 |
|
ret |
从一个函数返回。_stdcall调用规范要求如果有返回值,就要将返回值从堆栈的栈顶弹出 |
|
leave |
是move ESP、EBP/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号中断调用调试器,它经常被当作不会被调用的指令填充到程序中,从而成为一个特殊的空操作 |
X86的常用汇编指令
最新推荐文章于 2024-01-21 08:45:00 发布
本文详细介绍了汇编语言中的基础指令及其用途,包括数据移动、算术运算、逻辑运算、控制转移等关键操作。
902

被折叠的 条评论
为什么被折叠?



