УЗМ обнаружил eof, читать блоки данных - PullRequest
0 голосов
/ 25 марта 2020

Мне нужно прочитать неизвестное количество символов из файла. Я хочу обнаружить конец строки (в данном случае это EOF). Сначала я читаю из файла, используя syscall 3, а затем проверил, равно ли rax 0. Это хорошо работает, если я читаю один символ одновременно, но я хочу читать так:

mov rax, 3
mov rbx, stdin
mov rcx, input
mov rdx, 8
int 80h

Так я прочитал 8 бит, а затем получил l oop по этим битам, которые я хочу определить, есть ли eof. EOF обнаружение выглядит следующим образом:

cmp r8b,0
jle loop_end

Но это вообще не работает. Могу ли я как-то прочитать больше битов Fe. 8. И обнаружил EOF в положении 5? Или, может быть, системный вызов 3 может вернуть количество прочитанных битов?

...