2013-09-05 3 views
0

저는 어셈블리에서 새롭고 파일 검색 자 같은 것을 쓰려고합니다. 4 글자로 된 마스크 (FASM)와 비교를 위해 내가 사용이 조각 :dms 크기보다 더 큰 문자열을 비교하는 방법?

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

방법 '.DOCX'처럼 5 글자 확장자를 가진 작업이 조각을 변경하려면? 감사합니다.

+0

는 잘 모르겠어요 . –

답변

0

이 수는 대소 문자를 구별를 검색 할, 그러나이 같은 경우 좀 더 복잡 할 : 어셈블러에 conding 손으로 그 수준에서 최적화 좋은 전략 인 경우

 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... 
관련 문제