我整天都在绕着车轴试图弄清楚为什么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
答案 0 :(得分:4)
看起来TEXTEQU
指令在汇编时而不是在运行时评估其参数。您可能必须找到一种不同的方法来在运行时搜索字符串。
另外,我只想说代码看起来与我希望汇编代码看起来一样。也许我只是老了。