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

вторник, 31 мая 2011 г.

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

 
Если выпуск не отображается, вы можете прочесть его на сайте Отказаться от рекламы
  
  
Эксклюзивные бренды по клубным ценам!
  
  
Вспомни детство! Вспомни детство!
Аппарат для приготовления сахарной ваты - отличное угощение!

  Французская мода с серьезной скидкой! Французская мода с серьезной скидкой!
Получите Ваш персональный дисконт-код!

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

 
  

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

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

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

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

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

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

Номер выпуска:1456
Дата выхода:01.06.2011, 04:00
Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
Подписчиков / экспертов:215 / 63
Вопросов / ответов:1 / 1

Вопрос № 183361: Здравствуйте! Вынужден вновь обратиться с просьбой о помощи в написании кода программы: Ввести произвольную символьную строку. Разделить ее на две строки: строку гласных и строку согласных. Первую строку вывести на экран, а вторую – в файл....



Вопрос № 183361:

Здравствуйте! Вынужден вновь обратиться с просьбой о помощи в написании кода программы:
Ввести произвольную символьную строку. Разделить ее на две строки: строку гласных и строку согласных. Первую строку вывести на экран, а вторую – в файл.
TASM, model small.
Не знаю как работать со строковыми переменными, по сути как массив, но как сравнивать: что гласная - это гласная?

Отправлен: 26.05.2011, 14:03
Вопрос задал: Валитов Ринат Харисович (Посетитель)
Всего ответов: 1
Страница вопроса »


Отвечает Зенченко Константин Николаевич (Модератор) :
Здравствуйте, Валитов Ринат Харисович!

Смотрите приложение. Сортировка букв сделана с помощью команды XLAT.
вопросы по программе задавайте в мини-форум
Удачи!

Приложение:

-----
Итерация от человека. Рекурсия — от Бога. — Л. Питер Дойч

Ответ отправил: Зенченко Константин Николаевич (Модератор)
Ответ отправлен: 30.05.2011, 13:38
Номер ответа: 267461
Украина, Киев
Тел.: +38-097-238-60-03
Адрес: Украина, Киев

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


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

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

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

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

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

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

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


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

    Прошлые выпуски
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    31 мая 2011, 03:34
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    30 мая 2011, 03:03
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    29 мая 2011, 02:34

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

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

      Здоровая пища: миф или реальность? Здоровая пища: миф или реальность?
    Аэрогриль Flavorwave Turbo Oven - новое слово в кухонном досуге!

     
      

    Subscribe рекомендует
     
    Компьютеры и интернет  →   рассылки   и   группы
      
    Работа и хобби для милых женщин!
    Как хочется иногда отвлечься от работы и домашнего хозяйства, и заняться чем нибудь интересным, получить новые впечатления или сотворить что-то своими р...
    Темы: 1946   Участники: 6151
      Фото. Пейзаж
    В этой группе публикуются и обсуждают фотопейзажи. Цветочки и бабочки пейзажем не являются! Разрешается публиковать только СВОИ фотографии. Любая агресс...
    Темы: 8558   Участники: 2099
      Добрая беседа
    Разговоры обо всем. Беседы на любую тему. Вселенная, социум, домашние животные, интересные находки, советы или просьбы посоветовать - не важно, о чем го...
    Темы: 2760   Участники: 1761
     
     
     
    Подписан адрес: admin10383.deep@blogger.com
    Код этой рассылки: comp.prog.assembler
    Архив рассылки
    Отписаться:  На сайте  Почтой
    Поддержка подписчиков
    Убрать рекламу
    Другие рассылки этой тематики
    Другие рассылки этого автора
     
    Рассылка производится: Subscribe.Ru / ЗАО «Интернет-Проекты» / О компании / Политика конфиденциальности

    понедельник, 30 мая 2011 г.

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

     
    Если выпуск не отображается, вы можете прочесть его на сайте Отказаться от рекламы
      
      
    Эксклюзивные бренды по клубным ценам!
      
      
    Все дело в размере! Все дело в размере!
    Easy Curves - первый тренажер для женской груди!

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

      Здоровая пища: миф или реальность? Здоровая пища: миф или реальность?
    Аэрогриль Flavorwave Turbo Oven - новое слово в кухонном досуге!

     
      

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

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

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

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

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

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

    Номер выпуска:1455
    Дата выхода:31.05.2011, 03:30
    Администратор рассылки:Лысков Игорь Витальевич (Старший модератор)
    Подписчиков / экспертов:215 / 64
    Вопросов / ответов:4 / 4

    Вопрос № 183340: Здравствуйте! Прошу помощи в следующем вопросе: создать и переименовать файл. С созданием файла справился, а вот с переименованием не получается. Условия: DOS, TASM, COM-программа. В чем ошибся? Текст программы прилагаю.

    Вопрос № 183347: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: помогите ,пожалуйста , написать программу, считающую количество запятых в файле. Имя файла ввести с клавиатуры или передать как параметр командной строки. Чтение из файла орга...
    Вопрос № 183348: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: требуется написать 3 варианта заданной подпрограммы ( на встроенном ассемблере, с использованием модели памяти PASCAL (листинг) и без использования директивы MODEL (листинг...
    Вопрос № 183357: Уважаемые эксперты! У меня приближается сессия . Из-за своего курсовика по тоэ, который я решил делать сам, у меня появились проблемы с другими предметами, в том числе предмет "Органи...

    Вопрос № 183340:

    Здравствуйте! Прошу помощи в следующем вопросе: создать и переименовать файл.

    С созданием файла справился, а вот с переименованием не получается. Условия: DOS, TASM, COM-программа. В чем ошибся?
    Текст программы прилагаю.

    Код :
    CSEG segment ASSUME CS:CSEG,DS:CSEG,ES:CSEG,SS:CSEG org 100h  begin:  mov ah,3Ch    ;функция создания файла  mov cx,00000000b  ;указываем аттрибуты создаваемого файла: обычный файл  mov dx,offset filename  int 21h  ;jc Error_create   ;если файл не создан - сразу завершение программы  ;call Ok_msg_create  ;mov handle,ax    xor ax,ax    ;пауза  int 16h    mov ah,56h  mov dx,offset filename  mov ax,offset new_filename  mov di,ax  int 21h  jc Error_rename  call Ok_msg_rename  jmp Quit_prog   Error_rename:  mov ah,09h  mov dx,offset msg_error_rename  int 21h  jmp Quit_prog  Ok_msg_rename proc  mov ah,09h  mov dx,offset msg_ok_rename  int 21h  ret Ok_msg_rename endp  Quit_prog:  ;mov al,32  mov ah,04ch  int 21h  ;int 20h  filename db '_file.txt',0 new_filename db '_file1.txt',0 handle dw 0 msg_error_rename db 'Error! File not renamed.',0ah,0dh,'$' msg_error_create db 'Error! File not created.',0ah,0dh,'$' msg_ok_create db 'File created.',0ah,0dh,'$' msg_ok_rename db 'File renamed.',0ah,0dh,'$'   CSEG ends end begin

    Отправлен: 25.05.2011, 10:32
    Вопрос задал: Ханинёв Пётр Валерьевич (1-й класс)
    Всего ответов: 1
    Страница вопроса »


    Отвечает Павел Юрьевич (10-й класс) :
    Здравствуйте, Ханинёв Пётр Валерьевич!

    В коде переименования файла Вы затираете AH. Вот так должно быть:

    Код :
    mov dx,offset filename mov ax,offset new_filename mov di,ax mov ah,56h int 21h


    Хоть автор ответа и дал ответ на непосредственный вопрос,
    но он не указал на существенную ошибку в программе, а именно,
    файл после создания/открытия необходимо закрывать.
    Привожу фрагмент кода, предоставленный в мини-форуме экспертом
    Зенченко Константином Николаевичем

    Код :
    mov ah,3Ch;функция создания файла  xor cx,cx;указываем аттрибуты создаваемого файла: обычный файл  mov dx,offset filename  int 21h  mov handle,ax mov dx,offset msg_error_create   jc Error_create;если файл не создан - сразу завершение программы  mov dx,offset msg_ok_create Error_Create: call msg  mov bx,handle mov ah,3eh int 21h  xor ax,ax;пауза  int 16h 

    Редактирование ответа
    -----
    • Отредактировал: Лысков Игорь Витальевич (Старший модератор)
    • Дата редактирования: 25.05.2011, 12:10 (время московское)

    Ответ отправил: Павел Юрьевич (10-й класс)
    Ответ отправлен: 25.05.2011, 10:40
    Номер ответа: 267361
    Россия, Челябинск
    ICQ # 197232777

    Оценка ответа: 4

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


  • Вопрос № 183347:

    Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: помогите ,пожалуйста , написать программу, считающую количество запятых в файле. Имя файла ввести с клавиатуры или передать как параметр командной строки. Чтение из файла организовать блоком. Размер блока- по усмотрению. Желательны подробные комментарии. АСС-TASM. Заранее спасибо, с уважением Canijke.

    Отправлен: 25.05.2011, 14:22
    Вопрос задал: Canijke
    Всего ответов: 1
    Страница вопроса »


    Отвечает Зенченко Константин Николаевич (Модератор) :
    Здравствуйте, Canijke!

    Смотрите приложение.
    Имя файла можно ввести как в командной строке, так и в самой программе.
    вопросы задавайте в мини-форум.
    Удачи!

    Приложение:

    -----
    Итерация от человека. Рекурсия — от Бога. — Л. Питер Дойч

    Ответ отправил: Зенченко Константин Николаевич (Модератор)
    Ответ отправлен: 26.05.2011, 17:54
    Номер ответа: 267400
    Украина, Киев
    Тел.: +38-097-238-60-03
    Адрес: Украина, Киев

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


  • Вопрос № 183348:

    Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: требуется написать 3 варианта заданной подпрограммы ( на встроенном ассемблере, с использованием модели памяти PASCAL
    (листинг) и без использования директивы MODEL (листинг)). Программу, вызывающую эти подпрограммы с указанием автора и варианта задания (5-ый). Задание- копирование строк. АСС- TASM. Очень рассчитываю на Вашу помощь ...

    Отправлен: 25.05.2011, 14:31
    Вопрос задал: Canijke
    Всего ответов: 1
    Страница вопроса »


    Отвечает Зенченко Константин Николаевич (Модератор) :
    Здравствуйте, Canijke!

    Программа на паскале(ТР7):
    Код :
    var   a,b,c,d:string; procedure CopyStrA(var x,y:string);external; {$L q183348a} procedure CopyStrB(var x,y:string);external; {$L q183348b} procedure CopyStrC(var x,y:string);   begin     asm       cld       lds  si,dword ptr x       les  di,dword ptr y       lodsb       stosb       mov  cl,al       xor  ch,ch       rep  movsb     end   end; begin   Writeln('Canijke');   repeat     write('Enter string:');     readln(d)   until length(d)>0;   CopyStrA(d,a);   writeln('Result A:',a);   CopyStrB(d,b);   Writeln('Result B:',b);   CopyStrC(d,c);   writeln('Result C:',c);   readln; end.


    С директивой MODEL и упрощенным описанием сегментов:
    Код :
    model small,pascal code public CopyStrA proc CopyStrA  push bp  mov bp,sp  cld  mov di,[bp+04]  mov es,[bp+06]  mov si,[bp+08]  mov ds,[bp+10]  lodsb  stosb  mov cl,al  xor ch,ch  rep movsb  pop bp  ret 8 endp end


    Полное описание сегмента:
    Код :
    _TEXT segment word public 'CODE' public CopyStrB assume cs:_TEXT proc CopyStrB  push bp  mov bp,sp  cld  mov di,[bp+04]  mov es,[bp+06]  mov si,[bp+08]  mov ds,[bp+10]  lodsb  stosb  mov cl,al  xor ch,ch  rep movsb  pop bp  ret 8 endp _TEXT ends end


    Компилятор TASM 2.0.
    вопросы задавайте в минифорум
    Удачи!
    -----
    Итерация от человека. Рекурсия — от Бога. — Л. Питер Дойч

    Ответ отправил: Зенченко Константин Николаевич (Модератор)
    Ответ отправлен: 26.05.2011, 14:16
    Номер ответа: 267396
    Украина, Киев
    Тел.: +38-097-238-60-03
    Адрес: Украина, Киев

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


  • Вопрос № 183357:

    Уважаемые эксперты!
    У меня приближается сессия . Из-за своего курсовика по тоэ, который я решил делать сам, у меня появились проблемы с другими предметами, в том числе предмет "Организация ЭВМ" . Поэтому очень прошу вас помочь с программой...
    Задание такое:
    Нужно написать собственное прерывание.
    05h - прерывание, генерируемое при нажатии клавиш Shift+PrintScr;

    действия, реализуемые программой обработки
    прерываний:
    Выдача звукового сигнала(печать символа с кодом 07h);
    Заранее огромное спасибо!

    Отправлен: 26.05.2011, 02:17
    Вопрос задал: Митиоглов Борис (Посетитель)
    Всего ответов: 1
    Страница вопроса »


    Отвечает Лысков Игорь Витальевич (Старший модератор) :
    Здравствуйте, Митиоглов Борис !
    Вот Вам программа, которая устанавливает на время своей работы свой обработчик вектора 5

    Обратите внимание, что если ее просто так запустить под ХР, то программа не будет работать, как надо!!!
    Это связано с тем, что система некоторые комбинации клавиш и просто клавиши, в том числе PrintScreen,
    считает служебными и не желает отдавать их программам.
    Но клавишу PrintScreen можно попросить у системы, если создать PIF-файл для EXE-программы.
    И там, в свойствах, на вкладке "Разное" выключить checkbox "PrtSc".
    Запускать программу надо будет с помощью PIF-файла.

    Код :
      .model small  assume cs:code, ds:data, ss:AStack  AStack segment stack  dw 1024 dup (?) AStack ends  data segment sPress db 0dh,0ah,'Press ESC for exit...$' Off_05 dw ?  ;указатель на старый обработчик вектора 1ch Seg_05 dw ? data ends  code segment main proc  mov ax, data  mov ds, ax  ;ds = data   mov ax, 3505h  int 21h  ;узнаем вектор 05h в es:bx   mov Off_05, bx ;сохраним старый адрес в сегменте данных  mov Seg_05, es   push ds  lea dx, new_05 ;установим новый адрес  push cs  ;обработчика прерывания 05h  pop ds  ;ds:dx  mov ax, 2505h  int 21h  pop ds   lea dx, sPress ;выведем приглашение нажать ESC  mov ah, 9  int 21h  wait_ESC:  mov ah, 0  ;ждем  int 16h  cmp al, 1bh  ;выходим по ESC  jne wait_ESC      ;воcстановим старый обработчик вектора 05h  push ds  ;ds  lds dx, dword ptr Off_05 ;ds:dx - адрес старого вектора  mov ax, 2505h  int 21h  ;восстановим!  pop ds   ;ds = data  sti   mov ax, 4c00h  int 21h  ;выход в ДОС main endp  new_05 proc far  ;подпрограмма отработки 05h  push ax  push dx  mov dl, 7  ;код 7 "пищит" на спикере"  mov ah, 2  int 21h  pop dx  pop ax  ;восстановим регистры  iret   ;возврат из прерывания new_05 endp  code ends   end main

    -----
    Люби своего ближнего, как самого себя

    Ответ отправил: Лысков Игорь Витальевич (Старший модератор)
    Ответ отправлен: 26.05.2011, 10:30
    Номер ответа: 267388
    Украина, Кировоград
    Тел.: +380957525051
    ICQ # 234137952
    Mail.ru-агент: igorlyskov@mail.ru

    Оценка ответа: 5

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


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

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

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

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

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

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

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


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

    Прошлые выпуски
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    30 мая 2011, 03:03
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    29 мая 2011, 02:34
    RFpro.ru: Ассемблер? Это просто! Учимся программировать    26 мая 2011, 20:13

    Все выпуски рассылки
     
     

    Subscribe рекомендует
     
    Компьютеры и интернет  →   рассылки   и   группы
      
    Игры Алавар
    Новые игры Фабрики игр Алавар
    Подписчиков: 45
      Самые лучшие, интересные и полезные веб-сайты в Интернете
    Ненадоедливая рассылка самых интересных и полезных веб-ресурсов (сайтов) Интернета. Кроме ссылки на сайт Вы получите информацию о нем и краткое описание его возможностей. Также здесь Вы узнаете о малоизвестных, но интересных, ярких и полезных сайтах.
    Подписчиков: 546
      Железный хлам
    Старое железо и компьютерный хлам, ставшие частью нашей истории.
    Подписчиков: 159
     
     
     
    Подписан адрес: admin10383.deep@blogger.com
    Код этой рассылки: comp.prog.assembler
    Архив рассылки
    Отписаться:  На сайте  Почтой
    Поддержка подписчиков
    Убрать рекламу
    Другие рассылки этой тематики
    Другие рассылки этого автора
     
    Рассылка производится: Subscribe.Ru / ЗАО «Интернет-Проекты» / О компании / Политика конфиденциальности