Как использовать INSTR в MASM? - PullRequest
       3

Как использовать INSTR в MASM?

1 голос
/ 08 августа 2011

Я весь день оборачивался вокруг оси, пытаясь понять, почему 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 Ответ

4 голосов
/ 08 августа 2011

Похоже, директива TEXTEQU оценивает свой аргумент во время сборки, а не во время выполнения.Возможно, вам придется найти другой метод для поиска строки во время выполнения.

Кроме того, я просто хотел бы сказать, что код выглядит совсем не так, как я ожидаю ассемблерный код, чтобы выглядеть.Может быть, я просто старый.

...