匯編 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)時,繼續重復執行串比較指令.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM