В данном задании вам необходимо написать на ассемблере утилиту для подсчёта количества слов.
Ваша программа должна читать ввод со стандартного потока ввода (stdin), пока он не закончится, а затем вывести ответ в стандартный поток вывода (stdout).
Её поведение очень похоже на команду wc -w
в linux.
Более формально можно выделить следующие условия:
- На вход вашей программе подаются символы в однобайтовой кодировке
- Пробельными являются символы с кодами 9, 10, 11, 12, 13 и 32
- Словом является максимальная по включению непустая последовательность непробельных символов
Для помощи в решении данной задачи в репозитории вы найдёте следующие файлы:
hello.asm
- программа, выводящая "Hello, world!" на ассемблереlc.asm
- программа, считающая число строк (возможно пустых), разделённых переносами строк, во входном потоке
Собирать программы можно с помощью следующей команды, где <name>
- имя файла без расширения:
$ nasm -felf64 <name>.asm && ld <name>.o -o <name>
В самом задании вам нужно модифицировать файл wordcount.asm
, добавив в него код соответствующей программы. Вы можете локально его тестировать с помощью команды:
$ ./test.py