В тексте 5 слов. Определить номера первых символов каждого слова относительно начала строки.
Только начинаю изучать assembler , кто может помочь
Возможно этот цикл подойдет,но я не знаю как это записать
…
Цикл с предусловием 1: пока в строке есть неисследованные символы
цикл с предусловием 2: пропуск разделителей
цикл с предусловием 3: пропуск символов слова (не разделителей)
переход к Цикл 1
…
Пока вот так
.486
.model flat, STDCALL
.data
str1 db "ask for me my friends",0
str2 db 100 dup('q')
.code
start proc near
.
.
.
start endp
end start
Что-то какое-то не законченное описание цикла.
Вообще простой алгоритм для подобных задач: проходить все символы до конца строки, запоминая в конце итерации текущий символ, а в начале итерации сравнивать текущий и предыдущий символ (до начала цикла можно инициализировать например каким-нибудь NULL, ну или пробелом). И тогда возможны следующие варианты в этом сравнении:
разделитель —> буква — начало нового слова
буква —> буква — внутри слова
буква —> разделитель — конец слова
разделитель —> разделитель — не в слове
В данном случае реагировать надо только на первый случай — вывести или сохранить номер символа.