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

воскресенье, 25 сентября 2011 г.

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

 
Если выпуск не отображается, вы можете прочесть его на сайте Отказаться от рекламы
  
  
Туфли Elche, купить за <nobr>1 699 руб.</nobr> Туфли Elche, купить за 1 699 руб.
Комфортные туфли для ежедневного ношения классического типа. Подойдут практически к любому наряду. Модель с удобной ортопедической колодкой, амортизирующей вставкой в пяточной области.
  

  Мои подписки      Мои группы      Мои новости     
        Автор 
Калашников О.А.
      
  
Компьютеры и интернет   →   Софт   →   Программирование   →   RFpro.ru: Ассемблер? Это просто! Учимся программировать
  
RFpro.ru: Ассемблер? Это просто! Учимся программировать
 
 

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

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

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

Коцюрбенко Алексей aka Жерар
Статус: Профессор
Рейтинг: 2733
• повысить рейтинг »
Boriss
Статус: Академик
Рейтинг: 2636
• повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 2115
• повысить рейтинг »

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

Номер выпуска:1476
Дата выхода:26.09.2011, 08:30
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:200 / 62
Вопросов / ответов:1 / 1

Консультация # 184063: Здравствуйте! Прошу помощи в следующем вопросе: Требуется написать программку на TASM для Win Xp для процессора Intel Core 2 Solo U3500, которая редактирует заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая слова с чет-ными номерами. (Пример: How do you do -> od od) Огромное спасибо!...


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

Здравствуйте! Прошу помощи в следующем вопросе:
Требуется написать программку на TASM для Win Xp для процессора Intel Core 2 Solo U3500, которая
редактирует заданное предложение, удаляя из него все слова с нечетными номерами и переворачивая слова с чет-ными номерами.
(Пример: How do you do -> od od)

Огромное спасибо!

Дата отправки: 20.09.2011, 21:37
Вопрос задал: Юдин Евгений Сергеевич (8-й класс)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, Юдин Евгений Сергеевич!
Хочу предложить такой вариант решения задачи:
1) Для хранения символов четного переворачиваемого слова используется стек.
2) Учитываются разные разделители и разное их количество. Все разделители заменяются одним пробелом.

Код :
;Программа редактирует заданное предложение,  ;удаляя из него все слова с нечетными номерами  ;и переворачивая слова с четными номерами.  ;(Пример: How do you do -> od od) ;tasm str.asm ;tlink str /t ;--------------  .model tiny  .data  prompt db 'Enter string: $' result db 0ah,'Result:       $' anykey db 0dh,0ah,'Press any key$'  Separators db 9,' ,.:;' ;Строка разделителей SeparatorsCount equ $-Separators ;длина строки разделителей  buffer label byte  ;буфер для ф-и 0ah max db 128  ;максим размер len db 0  ;реальная длина string db 128 dup (?) ;сам буфер   .code  .startup  lea dx, prompt ;подсказка для ввода строки  mov ah, 9  int 21h   lea dx, buffer  mov ah, 0ah  ;вводим строку  int 21h   lea si, string ;адрес введенной строки  call Make  ;обрабатываем  print:    ;выводим результат  lea dx, result ;Result:  mov ah, 9  int 21h   lea dx, string ;обработанная строка  int 21h  ;ah = 9   lea dx, anykey ;Press any key  mov ah, 9  int 21h   mov ah, 0  ;Ждем any key  int 16h   mov ax, 4c00h  int 21h  Make proc   ;обработка строки  mov di, si  ;результат будет на том же месте  xor cx, cx  ;счетчик букв переворачиваемых слов sep1:    ;цикл пропуска предворяющих разделителей  lodsb   ;очередной символ  cmp al, 0dh  ;конец строки?  je finish  call CmpSeparator ;разделитель?  je sep1  ;да - ищем не разделитель skip:    ;цикл пропуска нечетных слов  lodsb   ;очередной символ  cmp al, 0dh  ;конец строки?  je finish  call CmpSeparator ;разделитель?  jne skip  ;нет - ищем разделитель, конец слова sep2:    ;цикл пропуска разделителей между нечетным и четным словом  lodsb   ;очередной символ  cmp al, 0dh  ;конец строки?  je finish  call CmpSeparator ;разделитель?  je sep2  ;да - ищем не разделитель reversal:   ;цикл сохранения в стеке символов четного слова  push ax  ;сохраним в стеке символ в al  inc cx  ;считаем  lodsb   ;очередной символ  cmp al, 0dh  ;конец строки?  je reversal_finish ;подправим индекс для последнего четного слова  call CmpSeparator ;разделитель?  jne reversal ;нет - сохраняем символ reversal_save:   ;цикл вывода четного слова в обратном порядке  pop ax  ;извлекаем из стека  stosb   ;сохраняем  loop reversal_save ;по всем символам слова  mov al, ' '  ;отделяем одним пробелом  stosb  jmp sep1  ;на пропуск разделителей перед нечетным словом reversal_finish:  ;для четного слова подправим указатель,  dec si  ;чтобы потом опять прочитать 0dh и уйти на finish  jmp reversal_save ;на вывод слова finish:    ;закрываем строку знаком '$'   cmp di, offset string ;но сначала уберем последний пробел  je set_dollar ;при этом для пустой строки обходим!  dec di  ;перед последним пробелом set_dollar:  mov byte ptr [di], '$' ;для ф-и 9 прерывания 21h  ret Make endp  CmpSeparator proc  ;проверка на разделители  push di  ;сохраним используемые регистры  push cx  lea di, Separators ;строка разделителей  mov cx, SeparatorsCount ;длина  repne scasb  ;ищем, результата во флаге FZ  pop cx  pop di  ret CmpSeparator endp   end  

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 23.09.2011, 01:23
Рейтинг ответа:

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


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

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

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


 
 
Комментировать выпуск
     В избранное

Прошлые выпуски
RFpro.ru: Ассемблер? Это просто! Учимся программировать    25 сентября 2011, 10:14
RFpro.ru: Ассемблер? Это просто! Учимся программировать    21 сентября 2011, 11:37
RFpro.ru: Ассемблер? Это просто! Учимся программировать    20 сентября 2011, 11:08

Все выпуски рассылки
 
 
  
Надоела сутулая спина и обвислый живот? Надоела сутулая спина и обвислый живот?
Тренажер Ab Rocket - великолепный пресс всего за несколько недель!

  Все дело в размере! Все дело в размере!
Easy Curves - первый тренажер для женской груди!

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

 
  

Subscribe рекомендует
 
Компьютеры и интернет  →   рассылки   и   группы
  
Сам Себе Начальник
Как создать свое дело в Интернете на дому, инструменты для ведения онлайн бизнеса.
Подписчиков: 381
  Английский для начинающих
Сколько прекрасных учебников иностранных языков! Сколько самых разнообразных курсов! Сколько всего-всего-всего... Этот курс построен совсем по другому...
Подписчиков: 783
  Webloft:Все о создании, поддержке, продвижении веб-проектов!
Все о создании, поддержке, продвижении веб-проекта. Где брать контент; как зарабатывать деньги; нужно ли регистрировать СМИ; как продвигать свой проект; SEO; технические проблемы - личный опыт и практические советы. Обзоры проектов и новости рынка
Подписчиков: 335
 
 
 
Подписан адрес: admin10383.deep@blogger.com
Код этой рассылки: comp.prog.assembler
Архив рассылки
Отписаться:  На сайте  Почтой
Поддержка подписчиков
Убрать рекламу
Другие рассылки этой тематики
Другие рассылки этого автора
 
Рассылка производится: Subscribe.Ru / ЗАО «Интернет-Проекты» / О компании / Политика конфиденциальности

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

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