0

我是一个组装新手,正在尝试编写文件搜索器之类的东西。我使用这个片段与 4 字母掩码 (FASM) 进行比较:

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

如何更改此代码段以使用 5 字母扩展名,例如“.docx”?谢谢你。

4

1 回答 1

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...
于 2013-09-05T13:15:04.897 回答