【汇编】常用汇编命令和寄存器

标志位寄存器

标志位名称说明
C进位标志无符号运算结果超过最大值为1,FFFFFFFF为最大值
P奇偶标志1的个数为奇数则为0 为偶数为1
Z零标志结果为0则为1
S符号标志结果为负数则为1
O溢出标志位结果溢出为1
A辅助进位标志
T单步标志
I中断标志

汇编命令

命令说明
nop空指令,无任何操作
push-pop入栈-出栈
pushad-popadeax、ecx、edx、ebp、esp、ebp、esi、edi 入栈-出栈
mov赋值,第二操作数赋值给第一个操作数
movsx赋值,2字节赋值给4字节时,用符号位填充
movzx赋值,2字节赋值给4字节时,用0填充
lea赋值,内存地址赋值给寄存器
xchg交换,第二个操作数必须为寄存器
add加法,第一操作数加第二操作数赋值给第一操作数
sub减法,第一操作数减第二操作数赋值给第一操作数
adc带进位的加法,加完在加C进位标志位
sbb带进位的减法,减完在减C进位标志位
inc自增1
dec自减1
mul无符号乘法,默认和eax做乘法,结果分别存在eax和edx,前edx后eax
div无符号除法,除cl,商存al,余数存ah。除cx,商存ax,余数存dx
imul有符号乘法,带符号乘,乘积存到第一操作数
idiv有符号除法,带符号除,商和余数都是带符号的数,余数符号与被除数相同
xadd交换并相加,第一个操作数的值给第二操作数,第一个操作数和第二操作数相加存在第一操作数
neg取反,符号位相反
and与运算,转为二进制运算,1 and 1=1,其他为0,结果存到eax
or或运算,转为二进制运算,有1为1, 0 or 0=0,结果存到eax
xor异或运算,转为二进制运算,1 xor 1=0,0 xor 0=0,相同为0,不同为1,结果存到eax
not取反运算,转为二进制运算,32位补齐,not 1=0,not 0=1,结果存到eax
cmp比较,减法,结果不储存,影响标志位
test测试操作数是否为0,与运算
JMP无条件跳转,不受标志位影响 根据标志位来判断是否跳转
je/jz受Z标志位跳转,0跳转,Z为1跳转
jne/jnz受Z标志位跳转,非0跳转,Z为0跳转
js受S标志位跳转,负数跳转,S为1跳转
jns受S标志位跳转,非负数跳转,S为0跳转
jp/jpe受P标志位跳转,偶数跳转,P为1跳转
jnp/jpo受P标志位跳转,奇数跳转,P为0跳转
jo受O标志位跳转,溢出跳转,O为1跳转
jno受O标志位跳转,非溢出跳转,O为0跳转
jb受C标志位跳转,无符号数,进位跳转,C为1跳转
jnb受C标志位跳转,无符号数,非进位跳转,C为0跳转
jbe受C标志位和Z标志位跳转,小于或等于,C或Z为1跳转
jnbe/ja受C标志位和Z标志位跳转,大于,C和Z为1跳转
jl受S标志位跳转,有符号数,小于跳转
call带参数去执行函数,后跟指定位置,然后带结果返回回来
retn返回结果到call的下一行
loop循环指令,执行dec ecx test ecx,ecx jnz
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值