![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.09.2010
Сообщений: 25
|
![]()
Мне нужно написать системный счетчик на ассемблере. Прога должна азбукой морзе выдать мое имя. Но проблема в том, что я никогда не писал в ассемблере... Есть небольшой опыт в С++ и то по шаблонам работал. Подскажите, какую лучше мне прогу поставить и с чего стоит начать?
![]() |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А причем тут счетчик? Что такое "системный счетчик"?
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 09.09.2010
Сообщений: 25
|
![]()
Я понятия не имею. Нам препод так объяснял. Но лекций вообще не было по этой теме. В общем прога должна работать на 61 порте, уметь делать прерывания в сигнале с определенной задержкой, чтоб сигнал, поступая на динамик выдавал определенные звуки, частотой 1000 Hz со скоростью 40 знаков в минуту
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
~VL@D~
Азбукой морзе говоришь? Проблема в том что под windows к портам не добраться, нужно писать драйвер, это хотя и не сложно но очень долго объяснять, проще сделать на API-функциях понадабятся функции Sleep() для организации задержки и Beep() чтобы выдать на динамик точки и тире. Для начала напиши программу на С++. Кстати порт 61h это в шестнадцатеричной системе, в десятеричной 97 -- порт который включает и выключает системный динамик и таймер, еще потребуются порт 42h для передачи делителя и порт 43h для установки рабочего режима. Самый простой выход это в звуковом редакторе создать wav-файл в котором частотой 1000 Hz со скоростью 40 знаков в минуту выдается твое имя, затам функцией PlaySound("морзянка.wav") файл проигрывается причем все на ассемблере, от тебя только требуется создать wav- файл Последний раз редактировалось Mikl___; 09.09.2010 в 10:08. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 09.09.2010
Сообщений: 25
|
![]()
я слышал что можно через макро ассемблер как то написать, сначала скомпиллировать какой то файл
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
~VL@D~
Ты меня не понял -- найди звуковой редактор и сделай wav-файл |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 09.09.2010
Сообщений: 25
|
![]()
Я понял, просто дочитал позже. В том то вся и проблема, что будут смотреть код программы. И нужно именно через порт подавать сигнал.
Последний раз редактировалось ~VL@D~; 09.09.2010 в 10:38. |
![]() |
![]() |
![]() |
#8 | |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
~VL@D~
и будет код программы из восьми строчек .code start: push offset file_name call _imp__PlaySoundA@4 retn .data file_name db "111.wav",0 end start Цитата:
Последний раз редактировалось Mikl___; 09.09.2010 в 10:44. |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 09.09.2010
Сообщений: 25
|
![]() |
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
~VL@D~
начинай с MASM, а препод только похвалит за сообразительность, такая программа будет работать под Windows хоть под XP, хоть под Vista а с портами это только под DOS'ом |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Счетчик. | Bilargo | JavaScript, Ajax | 2 | 15.08.2010 13:54 |