如何在MASM中使用INSTR?

时间:2011-08-08 04:06:46

标签: assembly masm

我整天都在绕着车轴试图弄清楚为什么INSTR没有在我的文本文件中找到回车。如何让INSTR宏读取文本并找到换行符?

    .data
     CRLF db 13,10,0

    .data?
    hFile DWORD ?
    bytesRead DWORD ?
    tmpstr BYTE 1825 DUP (?)

    .code

println_arr MACRO arr
    lea EAX, arr
    print EAX
ENDM

start:
    mov hFile, fopen("books.txt")
    mov bytesRead, fsize(hFile)
    mov bytesRead, fread(hFile, addr tmpstr, 1825)

    strpos TEXTEQU @InStr( , tmpstr, CRLF)

    print "Position of first instance of '"
    println_arr CRLF
    print "': "
    print str$(strpos), 13, 10

    fclose hFile

    exit

end start

1 个答案:

答案 0 :(得分:4)

看起来TEXTEQU指令在汇编时而不是在运行时评估其参数。您可能必须找到一种不同的方法来在运行时搜索字符串。

另外,我只想说代码看起来与我希望汇编代码看起来一样。也许我只是老了。