Мне нужно прочитать неизвестное количество символов из файла. Я хочу обнаружить конец строки (в данном случае это 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 может вернуть количество прочитанных битов?