Посчитать количество слов - Assembler
Формулировка задачи:
Введите строку символов, состоящую из слов, разделенных пробелом. Подсчитайте количество слов. Строку и количество вывести на экран
Решение задачи: «Посчитать количество слов»
textual
Листинг программы
.model small .stack 100h .data buf_n db 255 len db ? buf 255 dup ('$') inp_lbl db 'Input String: $' res_lbl db 'Result: $' endl db 13,10,'$' .code begin: mov ax, @data mov ds, ax mov es, ax mov ah, 9 lea dx, inp_lbl int 21h mov ah, 0Ah lea dx, buf_n int 21h xor ax, ax mov al, len mov bx, ax mov buf[bx], '$' lea si, buf xor cx, cx mov cl, len xor bx, bx c1: lodsb cmp al,' ' jne s inc bx s:loop c1 inc bx lea dx, endl mov ah, 9 int 21h lea dx, buf int 21h lea dx, endl int 21h lea dx, res_lbl int 21h mov dx, bx add dx, '0' mov ah, 2 int 21h mov ah, 4ch int 21h ends end begin
Объяснение кода листинга программы
- Создаются переменные:
buf_n
- массив байтов размером 255, предположительно для ввода строки;len
- переменная для хранения длины введенной строки;buf
- массив из 255 элементов, предположительно для хранения введенной строки;inp_lbl
- строкаInput String: $
, которая будет выводиться перед вводом строки;res_lbl
- строкаResult: $
, которая будет выводиться перед выводом результата;endl
- массив байтов для хранения символов перевода строки и переноса строки.
- В начале сегменты данных и стека инициализируются
- Выводится на экран
Input String:
, запрашивая ввод строки - Считывается введенная строка
- Происходит подсчет количества слов в строке:
- Инициализируется счетчик с помощью
xor ax, ax
и сохраняется длина строки в регистреal
- Счетчик
bx
и указательsi
инициализируются нулем - Запускается цикл
c1
, в котором происходит поочередное считывание символов и сравнение каждого с пробелом. Если символ не равен пробелу, счетчикcx
увеличивается на единицу, иначе инкрементируется счетчикbx
слов (так как пробелы разделяют слова) - Процесс повторяется до конца строки
- Последний инкремент счетчика
bx
добавляет 1 к общему количеству слов в строке
- Инициализируется счетчик с помощью
- Выводится результат, количество слов, на экран
- Программа завершается. Таким образом, данный код скорее всего принимает строку ввода, подсчитывает количество слов в строке и выводит результат.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д