Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хочу пикнуть!!! 
:(
    Опции темы
patt
Дата 12.12.2005, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 9.11.2004
Где: Николаев

Репутация: нет
Всего: 2



Собственно сабж...... нужно пищать динамиком с заданием частоты звука и пауз......... как это осуществить??? smile , т. к. асм уже помню плохо ....
PM MAIL ICQ Skype GTalk   Вверх
Akina
Дата 12.12.2005, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Код

           ;
           ; подпрограмма генерации звука
           ; Вход: АX= частота звука в Гц
           ;
Sound      proc     near
           push     ax        ;сохранить регистры
           push     bx
           push     dx
           mov      bx,ax     ;частота
           mov      ax,34DDh
           mov      dx,12h    ;(dx,ax)=1193181
           cmp      dx,bx     ;если bx < 18Гц, то выход
           jnb      Done      ;чтобы избежать переполнения
           div      bx        ;ax=(dx,ax)/bx
           mov      bx,ax     ;счетчик таймера
           in       al,61h    ;порт РВ
           or       al,3      ;установить биты 0-1
           out      61h,al
           mov      al,00001011b   ;управляющее слово таймера:
                              ;канал 2, режим 3, двоичное слово
           mov      dx,43h
           out      dx,al     ;вывод в регистр режима
           dec      dx
           mov      al,bl
           out      dx,al     ;младший байт счетчика
           mov      al,bh
           out      dx,al     ;старший байт счетчика
Done:
           pop      dx        ;восстановить регистры
           pop      bx
           pop      ax
           ret
Sound      endp
           ;
           ;подпрограмма выключения звука
           ;
No_Sound   proc     near
           push     ax
           in       al,61h    ;порт РВ
           and      al,not 3  ;сброс битов 0-1
           out      61h,al
           pop      ax
           ret
No_Sound   endp

надеюсь, время сам посчитать сможешь?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
sgi1981
Дата 16.3.2006, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 2
Всего: 10



А в Windows XP прикладным программам с низким уровнем привилегий запрещена инструкция записи в порт.


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
Akina
Дата 16.3.2006, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Цитата(sgi1981 @ 16.3.2006, 09:36 Найти цитируемый пост)
А в Windows XP

А кто сказал что в Хрюшке?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
sgi1981
Дата 16.3.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: 2
Всего: 10



Да вообще то никто и не писал, что надо именно в XP заставить динамик пищать. Тут Вы правы.
НО.
Нужен пример реализации этого в XP. Хотя бы мне...

Когда то полтора года назад у меня была ОС Windows XP без пакетов обновления.
Так мне удавалось записывать в порты.
И удавалось запрограммировать таймер для пищания динамика.
Недавно я вспомнил свои эксперименты и пытался запрограммировать системный таймер ещё раз,
но увы на этот раз компьютер "не дал мне такой возможности" smile .
Так вот так вот.
И теперь я мечтаю осуществить ещё раз это...


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0597 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.