|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
||||||
Поиск слова на экране28.11.2016, 22:07. Показов 2296. Ответов 22
Метки нет (Все метки)
Нужно написать программу, которая найдет на экране "запретное" слово и заменит его выбранными знаками.
Есть такая программка, которая отображает текст в ASCIZ, возможно на её основе можно сделать что-то подобное, но не совсем понимаю как. Буду благодарна за любые советы.
0
|
||||||
| 28.11.2016, 22:07 | |
|
Ответы с готовыми решениями:
22
Поиск слова на экране Дана строка.Найти в ней те слова, которые начинаются и заканчиваются одной и той же буквой.Вывести эти слова на экране Дана строка.Найти в ней те слова, которые начинаются и заканчиваются одной и той же буквой.Вывести эти слова на экране |
|
6 / 6 / 0
Регистрация: 24.09.2016
Сообщений: 59
|
|
| 28.11.2016, 23:05 | |
|
А для вам это понадобилось, если не секрет?
![]() Именно на ассемблере? И под дос?
0
|
|
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 28.11.2016, 23:33 [ТС] | |
|
Задание такое. На ассемблере (Nasm).
0
|
|
|
6 / 6 / 0
Регистрация: 24.09.2016
Сообщений: 59
|
||||||
| 29.11.2016, 05:23 | ||||||
|
Допустим, что вы считали в буфер строку, ищите в ней заданное слово и заменяете его символами '*'.
Имеются следующие переменные: searchword - слово которое надо найти wordcharsnum - количество символов в слове bufstring - строка в буфере stringcharsnum - количество символов в строке stringposition - текущая позиция в строке Тогда алгоритм поиска будет выглядеть примерно так:
Это все чем могу помочь.
1
|
||||||
|
Эксперт Hardware
|
||
| 29.11.2016, 08:40 | ||
|
Тогда нужно искать именно в видео-буфере, а не в сегменте данных, как предлагает Ratio. Если строка лежит внутри программы, то можно просто использовать repe cmpsb
0
|
||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||
| 29.11.2016, 09:29 | ||
|
0
|
||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 29.11.2016, 09:46 [ТС] | |
|
А может кто-то помочь переделать код выше на nasm? Пытаюсь, но выдает кучу ошибок.
Добавлено через 7 минут Выдает ошибки, что bufstring, searchword и прочее не определены.
0
|
|
|
Эксперт Hardware
|
||||||||
| 29.11.2016, 10:11 | ||||||||
|
Kvitkaa, если ты вводишь строку и не сохраняешь её в буфер, а только выводишь на экран, тогда нужно искать её в видеобуфере, который построен так: байт-символа, байт-атрибута ..и т.д. для всей строки:
Если-же при вводе строки ты сохраняешь её во-внутренний буфер внутри программы, то достаточно поиска repe cmpsb. Определись, что именно тебе нужно сделать.Добавлено через 3 минуты
0
|
||||||||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||||||
| 29.11.2016, 10:47 | ||||||
Сообщение было отмечено Kvitkaa как решение
Решение
2
|
||||||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 29.11.2016, 11:33 [ТС] | |
|
все это прекрасно, но я не умею переделывать коды с Tasm на Nasm
0
|
|
|
Модератор
|
|
| 29.11.2016, 12:07 | |
|
Я могу принести извинения за неправильную помощь.
NASM достаточно редко встречается в вопросах форума и у него поэтому нет своей ветки. Единственно, что могу предложить - поискать примеры на NASM в методичке и по ним изменить заголовки в приведённых программах. Сами тексты программ останутся неизменными. Правильность переделки вы сможете проверить безошибочной компиляцией и последующим запуском для теста работоспособности. Если сумеете разобраться - пожалуйста, опубликуйте решение.
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||
| 29.11.2016, 12:31 | ||
|
Павел, ты заменил тег code на тег asm и текст ровно нарубленный табуляциями пошел зигзагом. Программа стала выглядеть неряшливо. Как кура лапой. На этом форуме тег asm писал явно не ассемблерный программист. Ну его с этим тегом в лес...
Добавлено через 5 минут Я специально написал в TASM, чтобы ты хоть что-то сделала сама. Поразбиралась с программой что-ли. А такого чтобы тут тебе написали и ты сразу побежала сдавать...
1
|
||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
||||||
| 29.11.2016, 12:35 [ТС] | ||||||
|
Код переделала, он скомпилировался и даже работает, но не совсем как мне нужно. Выполняет замену только одного слова, а мне нужно, чтобы находило в строке это слово и заменяло его на символы.
0
|
||||||
| 29.11.2016, 12:36 | |
|
Не по теме: Ethereal, хорошо. Я заменю обратно. И в Ваших сообщениях буду считать это авторской задумкой.
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||
| 29.11.2016, 12:46 | ||
|
Щас проверю твою переделку. Где там у меня NASM ? Добавлено через 6 минут Да все правильно работает. Я составил текстовый файл a.txt с каким-то текстом, пересыпанным O-O-P-S в нескольких местах. Вывалил этот текст на экран командой type a.txt и тут-же запустил программу. Все появления O-O-P-S на экране она заменила звездочками.
1
|
||
|
0 / 0 / 2
Регистрация: 11.10.2015
Сообщений: 42
|
|
| 29.11.2016, 13:03 [ТС] | |
|
Всё, разобралась, спасибо.
Добавлено через 14 минут а можно как-то сделать, чтобы были не заглавные буквы?
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||
| 29.11.2016, 13:07 | |||
|
mov dl,9 mov ah,2 int 21h Вот этот. И настоящая табуляция с кодом 9 дает оступ 8, только 8 и ничего кроме 8. Добавлено через 1 минуту
0
|
|||
| 29.11.2016, 13:21 | |
|
Не по теме: Нет, именно в исходнике не заменяют. Замена идёт лишь в каком-то внутреннем, недоступном буфере для отображения на экран. И вот там идёт замена таба на 4 пробела.
0
|
|
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
||
| 29.11.2016, 13:28 | ||
|
0
|
||
| 29.11.2016, 13:41 | |
|
Не по теме: Но, опять же, напомню, что тэг ASM над CODE имеет преимущества:
0
|
|
| 29.11.2016, 13:41 | |
|
Помогаю со студенческими работами здесь
20
Поиск пикселя и поиск изображения на экране Поиск изображения на экране Поиск пиксела на экране Поиск изображения на экране Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|