汇编-条件跳转与重复指令

本文介绍了x86汇编中的条件跳转指令,如jz、jnle等,以及重复指令,如rep、repe、repne在字符串操作中的应用。重点讲解了movsb、stosb、cmpsb指令的用法,并通过实例展示了如何使用rep前缀进行多次操作。最后对比了movsb和stosb指令的区别。
摘要由CSDN通过智能技术生成

条件跳转

速记方法:

  • j(jmp)
  • z(zero)
  • n(not)
  • e(equal)
  • g(greater)
  • l(less)
  • a(above,无符号)
  • b(below,无符号)

    汇编指令x86下  指令+目的操作数+原操作数 比较是用目的操作数去和原操作数比较
    
    jz loc   当cmp的两个值相等的时候跳转,否则继续执行下一条
    jnz loc  当cmp的两个值不相等的时候跳转,否则继续执行下一条
    
    je loc   当cmp的两个值相等的时候跳转,否则继续执行下一条
    jne loc  当cmp的两个值不相等的时候跳转,否则继续执行下一条
    
    jg loc  (cmp eax,ebx)当eax大于ebx时执行跳转,否则继续执行下一条
    jge loc (cmp eax,ebx)当eax大于或等于(不小于)ebx时执行跳转,否则继续执行下一条
    
    ja loc  ja=jg 不过是无符号数比较
    jae loc jae = jge 不过是无符号数比较
    
    jl loc  (cmp eax,ebx)当eax小于ebx时执行跳转,否则继续执行下一条
    jle loc (cmp eax,ebx)当目的操作数小于或等于原操作数时,跳转,否则执行下一条
    
    jb loc 和 jl 一样,不过是无符号的比较
    jbe loc 和jle一样,不过是无符号数的比较
    
    后面两个不怎么常用,但是记录一下吧:
    jo loc 如果上一条指令执行后(of=1),则跳转(溢出跳转)
    js loc 如果符号位被置位(sf=1),则跳转
    
    jecxz loc (jmp if ecx = 0)
    

重复指令

这里说的重复指令是对字符串

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值