Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Ассемблер? Это просто! Учимся программировать


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Асмик
Статус: Академик
Рейтинг: 10269
∙ повысить рейтинг »
Коцюрбенко Алексей aka Жерар
Статус: Академик
Рейтинг: 3875
∙ повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2412
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Assembler (Ассемблер)

Номер выпуска:1507
Дата выхода:29.03.2012, 11:00
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:100 / 41
Вопросов / ответов:1 / 1

Консультация # 185671: Доброго времени суток уважаемые эксперты. Прошу решить следующую задачу по программированию. Написать на языке ассемблера программу, реализующую некоторый алгоритм в соответствии с полученным заданием: Дан текст. Определить, сколько в нем групп букв "abc", "bac". По итогам выполнения работы оформляется отчет. ...


Консультация # 185671:

Доброго времени суток уважаемые эксперты. Прошу решить следующую задачу по программированию.
Написать на языке ассемблера программу, реализующую некоторый алгоритм в соответствии с полученным заданием:

Дан текст. Определить, сколько в нем групп букв "abc", "bac".

По итогам выполнения работы оформляется отчет.
Отчет о выполнении работы должен содержать:
краткие теоретические сведения, необходимые для выполнения работы;
описание структур данных, обрабатываемых программой;
описание алгоритма выполнения задания в виде псевдокода или блок схемы;
описание вводимых данных и результатов работы программы;
требования, к техническим и программным средствам, необходимым для выполнения программы.
тексты программ на ассемблере, разрабатываемые при выполнении лабораторных работ, должны содержать достаточное количество комментариев.

Дата отправки: 26.03.2012, 10:38
Вопрос задал: Посетитель - 392980 (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Зенченко Константин Николаевич (Модератор):

Здравствуйте, Посетитель - 392980!


Смотрите приложение:

По условию задания, необходимо проверять группы "abс" и "baс". Совпадает в проверяемых группах только последний символ. На основании этого, в введенной строке ищется символ "с" и проверяется на совпадение два предыдущих "ab" и "ba". Чтобы не усложнять понимание работы самого алгоритма даные вводятся с клавиатуры. Теоритически было бы более правильным иcпользовать строковые команды SCAS и CMPS, но так как в задании ничего не указано о строках и подстроках, использовался более простой алгоритм.

Основной структурой программы является строка используемая функцией 0Аh прерывания 21h:
dbMax db MaxString -максимальная длина вводимой строки(используется функцией);
dbLen db ? - реальная длина введенной строки(заполняется функцией);
dbData db Max String dup(?) - буффер из MaxString байт для хранения введенной строки.

Блок-схема:

двойной стрелкой указаны переходы совпадающие с условием проверки;

См. рисунок, как пример работы:


Процессор intel x86 или совместимый;
Среда - DOS;
Модель организации памяти в программе - tiny;
Компилятор TASM.
Команды компилятора в командной строке:

Код :
tasm name
tlink name /t

обратите внимание на ключ /t во второй строке

замечания по программе:
-программа работает только со строчныим буквами;
-при вводе 97-ми символов начинающихся с "bс..." или 98-ми символов начинающихся с "ас..." - будет ложное срабатывание в соответсвующей группе.


Удачи!

Приложение:

Консультировал: Зенченко Константин Николаевич (Модератор)
Дата отправки: 27.03.2012, 16:39
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное