Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2010, 09:12   #1
~VL@D~
Пользователь
 
Регистрация: 09.09.2010
Сообщений: 25
По умолчанию Системный счетчик на ассемблере

Мне нужно написать системный счетчик на ассемблере. Прога должна азбукой морзе выдать мое имя. Но проблема в том, что я никогда не писал в ассемблере... Есть небольшой опыт в С++ и то по шаблонам работал. Подскажите, какую лучше мне прогу поставить и с чего стоит начать?
~VL@D~ вне форума Ответить с цитированием
Старый 09.09.2010, 09:16   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А причем тут счетчик? Что такое "системный счетчик"?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.09.2010, 09:27   #3
~VL@D~
Пользователь
 
Регистрация: 09.09.2010
Сообщений: 25
По умолчанию

Я понятия не имею. Нам препод так объяснял. Но лекций вообще не было по этой теме. В общем прога должна работать на 61 порте, уметь делать прерывания в сигнале с определенной задержкой, чтоб сигнал, поступая на динамик выдавал определенные звуки, частотой 1000 Hz со скоростью 40 знаков в минуту
~VL@D~ вне форума Ответить с цитированием
Старый 09.09.2010, 09:57   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

~VL@D~
Азбукой морзе говоришь? Проблема в том что под windows к портам не добраться, нужно писать драйвер, это хотя и не сложно но очень долго объяснять, проще сделать на API-функциях понадабятся функции Sleep() для организации задержки и Beep() чтобы выдать на динамик точки и тире. Для начала напиши программу на С++. Кстати порт 61h это в шестнадцатеричной системе, в десятеричной 97 -- порт который включает и выключает системный динамик и таймер, еще потребуются порт 42h для передачи делителя и порт 43h для установки рабочего режима. Самый простой выход это в звуковом редакторе создать wav-файл в котором частотой 1000 Hz со скоростью 40 знаков в минуту выдается твое имя, затам функцией PlaySound("морзянка.wav") файл проигрывается причем все на ассемблере, от тебя только требуется создать wav- файл

Последний раз редактировалось Mikl___; 09.09.2010 в 10:08.
Mikl___ вне форума Ответить с цитированием
Старый 09.09.2010, 10:08   #5
~VL@D~
Пользователь
 
Регистрация: 09.09.2010
Сообщений: 25
По умолчанию

я слышал что можно через макро ассемблер как то написать, сначала скомпиллировать какой то файл
~VL@D~ вне форума Ответить с цитированием
Старый 09.09.2010, 10:18   #6
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

~VL@D~
Ты меня не понял -- найди звуковой редактор и сделай wav-файл
Mikl___ вне форума Ответить с цитированием
Старый 09.09.2010, 10:35   #7
~VL@D~
Пользователь
 
Регистрация: 09.09.2010
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
~VL@D~
Ты меня не понял -- найди звуковой редактор и сделай wav-файл
Я понял, просто дочитал позже. В том то вся и проблема, что будут смотреть код программы. И нужно именно через порт подавать сигнал.

Последний раз редактировалось ~VL@D~; 09.09.2010 в 10:38.
~VL@D~ вне форума Ответить с цитированием
Старый 09.09.2010, 10:40   #8
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

~VL@D~
и будет код программы из восьми строчек
.code
start:
push offset file_name
call _imp__PlaySoundA@4
retn
.data
file_name db "111.wav",0
end start

Цитата:
Сообщение от ~VL@D~
И нужно именно через порт подавать сигнал.
Ну как хочешь...

Последний раз редактировалось Mikl___; 09.09.2010 в 10:44.
Mikl___ вне форума Ответить с цитированием
Старый 09.09.2010, 10:45   #9
~VL@D~
Пользователь
 
Регистрация: 09.09.2010
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Mikl___ Посмотреть сообщение
[B]~VL@D~
retn
.data
file_name db "111.wav",0
end start[/COLOR]
Хитро конечно)) Только я не уверен что препод зачтет это... Попробовать конечно можно, но через что хоть писать его, чтоб попроще было... RedAsm пойдет?
~VL@D~ вне форума Ответить с цитированием
Старый 09.09.2010, 10:48   #10
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

~VL@D~
начинай с MASM, а препод только похвалит за сообразительность, такая программа будет работать под Windows хоть под XP, хоть под Vista а с портами это только под DOS'ом
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Счетчик. Bilargo JavaScript, Ajax 2 15.08.2010 13:54