WMmail.ru - сервис почтовых рассылок

четверг, 17 июня 2010 г.

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

Если выпуск не отображается корректно, то вы можете прочесть его на сайте

Реклама Отказаться от рекламы
 
Subscribe.Ru

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

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

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

Чемпионы рейтинга экспертов в этой рассылке

Boriss
Статус: Академик
Рейтинг: 2492
• повысить рейтинг »
_Ayl_
Статус: Профессионал
Рейтинг: 1893
• повысить рейтинг »
vladisslav
Статус: 6-й класс
Рейтинг: 1227
• повысить рейтинг »

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

Номер выпуска:1361
Дата выхода:18.06.2010, 03:30
Администратор рассылки:Лысков Игорь Витальевич, Старший модератор
Подписчиков / экспертов:236 / 63
Вопросов / ответов:1 / 1
IRC-канал по теме:#assembler

Вопрос № 179055: Доброго времени суток, уважаемые эксперты! Помогите, пожалуйста с такой задачей: Определить число вхождений указанного символа в заданную строку. Задача по теме "Прерывания". Решение нужно для ТАСМ. В правилах задания вопроса...



Вопрос № 179055:

Доброго времени суток, уважаемые эксперты!
Помогите, пожалуйста с такой задачей:
Определить число вхождений указанного символа в заданную строку.
Задача по теме "Прерывания".
Решение нужно для ТАСМ.
В правилах задания вопроса сказано, что желательно указывать методичку или что-то подобное...
У нас такой "методичкой" является учебник В.Юрова.

Отправлен: 12.06.2010, 03:16
Вопрос задал: Даниил Цветков, Студент
Всего ответов: 1
Страница вопроса »


Отвечает Лысков Игорь Витальевич, Старший модератор :
Здравствуйте, Даниил Цветков.
Вот Вам программа для решения Вашей задачи
Код:

.model small
.data
;Структура для ввода строки по функции 0ah
max db 128 ;макс размер буфера
count db 0 ;реальный размер
string db 129 dup (0) ;буфер

;сообщения
sString db 'Enter string: $'
sSymbol db 0dh,0ah,'Enter symbol: $'
sCount db 0dh,0ah,'Count = $'
sAny db 0dh,0ah,'Press any key$'

.code
.286
.startup

mov ax, @DATA ;ds уже = @DATA (макро .startup)
mov es, ax ;надо чтобы и es = @DATA

lea dx, sString ;приглашение ввести строку
mov ah, 9
int 21h

lea dx, max ;вводим строку
mo v ah, 0ah
int 21h

lea dx, sSymbol ;приглашение ввести символ
mov ah, 9
int 21h

mov ah, 1 ;вводим в al символ
int 21h

;ищем и считаем вхождения символа в строку
xor si, si ;число вхождений
mov cx, si
mov cl, count ;длина строки
lea di, string ;адрес строки
sca_loop:
jcxz output ;если длина = 0, то не ищем
repne scasb ;ищем, пока неравно
jne output ;если будет не равно, то значит дошли до конца
inc si ;равно - считаем
jmp sca_loop ;продолжаем

output: ;выводим результат
lea dx, sCount ;строка 'Count = '
mov ah, 9
int 21h

;выведем десятичное число
mov ax, si ;число
xor cx, cx ;количество цифр
mov bx, 10 ;будем делить на 10
div_loop:
xor dx, dx ;подготавливаемся к делению
div bx ;dx:ax / bx
push dx ;сохраним остаток - очередную младшую цифру
inc cx ;считаем цифры
test ax, ax ;есть еще?
jnz div_loop
out_loop: ; выводим в обратном порядке
pop dx ;извлечем из стека
or dl, '0' ;превратим в символ
mov ah, 2
int 21h ;выводим
loop out_loop ;по всем

lea dx, sAny ;выводим 'Press any key'
mov ah, 9
int 21h

mov ah, 8 ;ждем нажатия
int 21h

mov ax, 4c00h ;завершаемся
int 21h

end

-----
Удачи!

Ответ отправил: Лысков Игорь Витальевич, Старший модератор
Ответ отправлен: 14.06.2010, 15:23
Номер ответа: 262103
Украина, Кировоград
Тел.: +380957525051
ICQ # 234137952
Mail.ru-агент: igorlyskov@mail.ru
Абонент Skype: igorlyskov

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 262103 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.16 от 26.05.2010
    Обсудить выпуск
     
     Как вам этот выпуск ?  Дайте свой отзыв  или  Оцените   5    4    3    2    1,   можно письмом:  5    4    3    2    1
     
    Реклама Отказаться от рекламы
    Скачай Penthouse. Мужской журнал. Скачай Penthouse. Мужской журнал.
    Сексуальные обычаи народов мира. Непредсказуемая певица Гера. 40 фотографий для взрослых.

      Вспомни детство! Вспомни детство!
    Аппарат для приготовления сахарной ваты - отличное угощение!

      Худеть не напрягаясь - легко! Худеть не напрягаясь - легко!
    Теряйте лишние килограммы с поясом для похудения Vibra Tone.

     
     
    Реклама Отказаться от рекламы
    Гипермаркет по безопасности
    Подбери любую продукцию по безопасности по лучшей цене в России!<>shop.sec.ru

    Супермаркет ПО Softkey.ru
    Огромный выбор лицензионного софта. Моментальная оплата!<>www.softkey.ru

    Всегда быть в курсе событий?
    Только актуальные новости из мира политики. Подробнее ...<>www.gzt.ru

     
      Рассылки
    Лента банковских и финансовых новостей от Banki.ru
    Лента новостей Banki.ru - важнейшие события в финансово-экономической сфере, последние новости банков. Большое количество новостей по розничному сектору - новые вклады и депозиты банков, условия по потребительскому кредитованию.

    Подписаться:   на сайте    по почте

     
      Группы
    «Лента Истории Мира»
    Большинство событий в мире оставляет неизгладимый отпечаток в истории человечества. Данная группа создана на базе сайта www.vokurat.ru - Лента Истории М...
    «Бодибилдинг, Пауэрлифтинг! Группа посвящена полной информации по правильной и быстрой накачке мышц!»
    Группа посвящена полной информации по правильной и быстрой накачке мышц!!Упражнения для мышц написаны на простом человеческом языке без лишней информаци...
    «Уникальные новости от Свободного Журналиста»
    Я - свободный журналист. Моя работа - дать Вам пищу для ума. Испытываете инфо-голод? Вкусности здесь! Цель создания группы: публикация качественной, инт...
     
    Подписан адрес: admin10383.deep@blogger.com
    Код этой рассылки: comp.prog.assembler
    Архив рассылки
    Отписаться:  На сайте  Почтой
    Поддержка подписчиков
    Убрать рекламу
    Другие рассылки этой тематики
    Другие рассылки этого автора
    Рассылка производится: Subscribe.Ru / ЗАО «Интернет-Проекты» / О компании / Политика конфиденциальности

    Комментариев нет:

    Отправить комментарий