zoukankan      html  css  js  c++  java
  • 汇编 REPNE/REPNZ指令,SCASW指令,SCASD指令,SCAS指令

    知识点:
    REPNE/REPNZ   指令
    SCASW    指令
    SCASD    指令
    SCAS     指令
     
    
    一、SCASW   指令
         //SCASB
        cmp word ptr [edi],al  //对标志位的影响相当于sub指令
        //同时还会修改寄存器EDI的值:如果标志DF为0,则 inc EDI;如果DF为1,则 dec EDI。
    二、SCASD   指令
        SCAS  BYTE  PTR ES:[EDI] // 当ECX!=0并且ZF==0时 重复执行后边的指令 每执行一次EDI的值加  1
        SCAS  WORD PTR ES:[EDI] // 当ECX!=0并且ZF==0时 重复执行后边的指令  每执行一次EDI的值加  2
        SCAS  DWORD PTR ES:[EDI] // 当ECX!=0并且ZF==0时 重复执行后边的指令 每执行一次EDI的值加 4
    
        REPNE SCAS BYTE   PTR ES:[EDI] // 当ECX!=0并且ZF==0时 重复执行后边的指令 每执行一次ECX的值减1
        REPNE SCAS WORD  PTR ES:[EDI] // 当ECX!=0并且ZF==0时 重复执行后边的指令 每执行一次ECX的值减1
        REPNE SCAS DWORD PTR ES:[EDI] // 当ECX!=0并且ZF==0时 重复执行后边的指令 每执行一次ECX的值减1
    
        REPNE 和REPNZ 是同一条指令的不同助记符
    三、实例运用
       1、查找DWORD数据
       在"sabcdef12345678" 定位"f123"
    
    小结:REPNZ/REPNE与CMPS指令结合使用,表示当串未结束(CX=1)且当对应串元素不相同(ZF=0)时,继续重复执行串比较指令.
    
  • 相关阅读:
    11.22
    python之字典(dict)
    Version Control
    java_实现一个类只能声明一个对象
    javase-位运算符
    javase-整数变量的交换
    URI和URL的关系与区别
    http解析
    函数式语言
    MyIASM和Innodb引擎详解
  • 原文地址:https://www.cnblogs.com/whzym111/p/6373013.html
Copyright © 2011-2022 走看看