汇编基础指令

本文详细介绍了汇编语言中的各类基础指令,包括通用数据传送、标志寄存器传送、条件跳转、子程序调用、循环、算术运算及比较指令。通过具体示例,帮助读者理解每种指令的功能和应用场景。

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

1.通用数据传送指令

指令名称功能备注
mov(MOV)传送赋值英文(move)      例子:mov a,b 把b的值传给a
push(PUSH)压栈英文(Push noto the stack)
pop(POP)出栈英文(pop from the stack)    例子: 由于堆栈平衡原理,所以有push就有pop
xchg(XCHG)交换英文(Exchange)

2.标志寄存器传送指令

指令名称功能备注
pushf(PUSHF)标志进栈英文(push the flag)
popf(POPF)标志出栈英文(pop the flag)

3.条件跳转(一般配合cmp使用)

指令名称指令英文全拼功能备注
jmp(JMP)jump无条件跳转强制跳转
jz(JZ)/je(JE)jump if zero,or equal结果为0(相等)跳转检测Z位
jnz(JNZ)/jne(JNE)jump if not zero,or not equal结果不为0(不相等)跳转检测Z位
js(JS)jump if sign结果为负跳转检测S位
jns(JNS)jump if not sign结果为正跳转检测S位
jb(JB)jump below比较小于跳转检测C位
jnb(JNB)jump not below比较大于或者等于跳转检测C位

What is Z位 S位 C位?

0x01认识OD中在寄存器窗口中认识了标志寄存器,如图:
标志寄存器

这里用jnz去举例,jnz的判断检查Z位,当Z位是0的时候就跳转,在Z位是1的时候就不跳转

Z=1

Z=0

4.子程序

指令名称指令英文全拼功能
call(CALL)CALL调用子程序或者函数
ret(RET)return返回到

5.循环指令

LOOP loop

6.算数指令

指令名称功能
add(ADD)加法
sub(SUB) subr(SUBR)减法
mul(MUL)乘法
div(DIV) divr(DIVR)除法

6.空指令

空指令:nop

7.比较指令

比较指令:cmp

例如:cmp x,y      比较x,y是否相等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值