2013-09-05 43 views
0

我是一個新的程序集,並試圖寫文件搜索器之類的東西。 這段代碼我使用了一個4個字母的面具(FASM)比較:如何比較fasm中多於dword大小的字符串?

lea eax,[fd.cFileName] 
    push eax 
    call [lstrlen] 
    cmp dword [fd.cFileName+eax-4],'.txt'   ; extension comparing 
    je .finded 

如何改變這種片段與5個字母的擴展工作,像「.DOCX」? 謝謝。

+0

我不知道,如果在手工彙編conding該級別的優化是一個很好的策略。 –

回答

0

它可能是更復雜一點,如果你要搜索不區分大小寫,但這樣的事情:

 lea eax,[fd.cFileName] 
     push eax 
     call [lstrlen] 
     cmp eax, 5 
     jbe .not_found ; at least 6 characters name. 
     cmp dword [fd.cFileName+eax-5],'.doc'   ; extension comparing 
     jne .not_found 
     cmp byte [fd.cFileName+eax-1], 'x' 
     jne .not_found 

.found: 
; some code 


.not_found: 
; some other code...