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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 30.11.2010, 12:22   #11
Ant1971on
Пользователь
 
Регистрация: 20.07.2010
Сообщений: 52
По умолчанию

Я конечно не спец, но по моему у него что-то не так с организацией задержки. Повторил его программу, но задержку сделал таким образом:

Код:
	MOV CX,60000

EXTERN:

	PUSH CX
	MOV CX,50000

INNER:

	LOOP INNER
	POP CX
	LOOP EXTERN
Все работает, правда не стал вычислять точное значение параметров для
циклов задержки, они наверное для каждой машины должны быть свои, зависят от частоты процессора, у меня секунды 2-3 динамик пищит.
Ant1971on вне форума
Старый 30.11.2010, 14:05   #12
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

И куда это
Цитата:
MOV CX,60000

EXTERN:

PUSH CX
MOV CX,50000

INNER:

LOOP INNER
POP CX
LOOP EXTERN
в коде вставлять? Чтобы оно пищало и не надо было
Цитата:
1) или писать драйвер режима ядра
2) или запускать машину загрузив на нее DOS с дискетки или флешки и уже под чистым DOS твоя программа заработает
Программка должна же как то все таки издавать звуки в WinXP...
my_sappho_story вне форума
Старый 30.11.2010, 14:31   #13
Ant1971on
Пользователь
 
Регистрация: 20.07.2010
Сообщений: 52
По умолчанию

Вместо вот этого:

Код:
mov ECX,200000000	           ;(10) Задержка ~ 4 с 
delay: db 67h 		           ;(11) Префикс изменения размера адреса 
loop delay
Ant1971on вне форума
Старый 30.11.2010, 14:43   #14
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

Эффект тот же. Првда, чуть дольше черный экранчик, а потом тоже окно
Цитата:
Terminated, exit code 48
Из-за чего оно не кричит? Что сделать?
my_sappho_story вне форума
Старый 30.11.2010, 15:37   #15
Ant1971on
Пользователь
 
Регистрация: 20.07.2010
Сообщений: 52
По умолчанию

Вот полностью вариант, как я делал(com-файл):

Код:
CODE_SEG SEGMENT

ASSUME CS:CODE_SEG

	ORG 100h

START:

	MOV AL,0B6h
	OUT 43h,AL
		
	MOV AX,995
	OUT 42h,AL
	MOV AL,AH
	OUT 42h,AL
       	IN AL,61h
	OR AL,3
	OUT 61h,AL

	PUSH CX
	MOV CX,60000

_EXTERN:

	PUSH CX
	MOV CX,50000

INNER:

	LOOP INNER
	POP CX
	LOOP _EXTERN
	POP CX

	AND AL,11111100b
	OUT 61h,AL

	INT 20h

CODE_SEG ENDS

END START
Компилировал в MASM 6.11:

MASM SOUND.ASM
LINK SOUND;
EXE2BIN SOUND SOUND.COM

Если снова не получится, тогда сдаюсь
Ant1971on вне форума
Старый 01.12.2010, 21:44   #16
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

Не кричит. Может это связано с частотой моего компьютера?
my_sappho_story вне форума
Старый 05.12.2010, 02:36   #17
my_sappho_story
Пользователь
 
Аватар для my_sappho_story
 
Регистрация: 20.10.2010
Сообщений: 29
По умолчанию

Код:
TIME:  MOV ECX, 13Eh
MET:   DEC ECX
          JNZ MET
          RET
13Eh получили из уравнения
Td=Tcall+Tmov+X*(Tdec+Tjnz)+Tret,
где Tcall и Tret – время выполнения команд вызова подпрограммы и возврата в нее, а Tmov, Tdec и Tjnz – время на выполнение команд, входящих в подпрограмму TIME
Td=τ(17+7+X(5+10)+10+5)
Td=τ(39+15X)
X=(Td/τ-39)/15
τ=1/f=1/1200=0,000833c
X=(4/0,000833-39)/15=318=13Eh

Чтобы подпрограмма работа 4 секунды и издавала звуки с частотой 1200Гц как нужно еще дооформлять код программы?
my_sappho_story вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой метод точнее? Vredina90 Помощь студентам 2 21.10.2010 17:40
lnk, а точнее как узнать путь к exe. Zeraim Общие вопросы Delphi 4 25.07.2009 13:59
Хочу создать вирус, точнее создал и меня мучают вопросы DamneD Паскаль, Turbo Pascal, PascalABC.NET 5 09.05.2009 12:05
Команды MS-DOS (точнее командной строки windows) kiraM Windows 4 03.09.2008 22:11
У меня вопрос про базы данных,а точнее про таблицы!!! Alexij Общие вопросы Delphi 1 13.04.2008 23:24