Добавление подстроки к каждому слову строки - Assembler

Узнай цену своей работы

Формулировка задачи:

Имеется задание: Ввести с клавиатуры строку. Добавить к каждому слову подстроку "бай". Пример -> Примербай. Подскажите, как именно реализовать добавление "бай" к каждому слову? В теории надо циклом искать символ пробела в строке, сравнивая регистр al с пробелом:
cmp al, ' '
а потом заменять его на 'бай '. Непонятки: 1) Не могу понять, как сделать цикл, который бы обрабатывал каждый символ строки, ведь заранее число символов не известно. Поставить там условие выхода?
cmp al,'$'
2) Какой командой выполнить замену символа пробела на 4 символа('бай' + ' ')? Командой mov? К тому же, в моём способе есть минимум 2 недостатка:
  • если между словами будет более одного пробела, то в изменённой строке "бай" будет не только в конце слов, но и между ними;
  • к последнему слову строки, если строка не завершается пробелом, не будет добавлена подстрока "бай".

Решение задачи: «Добавление подстроки к каждому слову строки»

textual
Листинг программы
; #############################################
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  lodsb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
; #############################################

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы