![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() |
AlonZo |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задача такая: дана строка из 30 символов. Нужно сжать строку, удалив пробелы, которые стоят подряд 2 или больше раз(в итоге оставить 1 пробел между символами). Вот что делал(masm32):
.686 Вобщем вопрос сколько занести в счетчик? Как мне сдвинуть строку вместо пробела? Что не так в том, что я написал? Сообщение отредактировано: volvo - 3.11.2009 23:01 |
![]() ![]() |
AlonZo |
![]()
Сообщение
#2
|
Новичок ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Репутация: ![]() ![]() ![]() |
Так никто не поможет? Хотя б идею тогда подскажите, а там может и самому получиться...
|
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата Что не так в том, что я написал? Что не так? Вот это, например:_str db 'ADC DEFGH IJKLM NIKLMN T' ; <--- раз(хотя 2 и 3 вполне можно объединить...) А дело, собственно, в том, что никто и не обещал, что для данных, описанных с префиксом DB (а строка у тебя описана именно с префиксом DB - последовательность байтов, все-таки) будет работать scasW (поиск по словам). Чтобы оно работало, надо либо описать данные через DW (для строки - неудобно), либо искать scasB один пробел, и потом проверять следующий символ на второй пробел... |
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 20:16 |