Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
лови 02.03.05 23:39 Число просмотров: 1828
Автор: Eugene Статус: Незарегистрированный пользователь Отредактировано 02.03.05 23:40 Количество правок: 1
|
> можно ли в ассамблере создать программу, которая моделирует > звук сирены? Если можно, то как? ;------------------------------------
;Программа, имитирующая звук сирены.
;Изменение высоты звука от 450 Гц до 2100 Гц.
;Используется макрос delay (задержка).
;При необходимости
;можно поменять значение задержки (по умолчанию - для процессора Pentium).
;------------------------------------
masm
model small
stack 100h
delay macro time
;макрос задержки, его текст ограничивается директивами macro и endm.
;На входе - значение задержки (в мкс)
local ext,iter
push cx
mov cx,time
ext:
push cx
mov cx,5000
iter:
loop iter
pop cx
loop ext
pop cx
endm
.data ;сегмент данных
tonelow dw 2651 ;нижняя граница звучания = 450 Гц
cnt db 0 ;счётчик для выхода из программы
temp dw ? ;верхняя граница звучания
.code ;сегмент кода
main: ;точка входа в программу
mov ax,@data ;связываем регистр ds с сегментом
mov ds,ax ;данных через регистр ax
xor ax,ax ;очищаем ax
go:
;заносим слово состояния 10110110b(0В6h) в командный регистр (порт 43h)
mov al,0B6h
|
<programming>
|
звуки в ассамблере 02.03.05 20:55
Автор: SobDV Статус: Незарегистрированный пользователь
|
можно ли в ассамблере создать программу, которая моделирует звук сирены? Если можно, то как?
|
|
лови 02.03.05 23:39
Автор: Eugene Статус: Незарегистрированный пользователь Отредактировано 02.03.05 23:40 Количество правок: 1
|
> можно ли в ассамблере создать программу, которая моделирует > звук сирены? Если можно, то как? ;------------------------------------
;Программа, имитирующая звук сирены.
;Изменение высоты звука от 450 Гц до 2100 Гц.
;Используется макрос delay (задержка).
;При необходимости
;можно поменять значение задержки (по умолчанию - для процессора Pentium).
;------------------------------------
masm
model small
stack 100h
delay macro time
;макрос задержки, его текст ограничивается директивами macro и endm.
;На входе - значение задержки (в мкс)
local ext,iter
push cx
mov cx,time
ext:
push cx
mov cx,5000
iter:
loop iter
pop cx
loop ext
pop cx
endm
.data ;сегмент данных
tonelow dw 2651 ;нижняя граница звучания = 450 Гц
cnt db 0 ;счётчик для выхода из программы
temp dw ? ;верхняя граница звучания
.code ;сегмент кода
main: ;точка входа в программу
mov ax,@data ;связываем регистр ds с сегментом
mov ds,ax ;данных через регистр ax
xor ax,ax ;очищаем ax
go:
;заносим слово состояния 10110110b(0В6h) в командный регистр (порт 43h)
mov al,0B6h
|
|
|