Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 20.02.2016
Сообщений: 12

Составить программу формирования звуковых сигналов

14.05.2017, 20:36. Показов 3443. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста! Дали вот такое контрольное задание по Assembler, в котором я практически ничего не понимаю:

Составить программу формирования звуковых сигналов в соответствии с диаграммой:
Миниатюры
Составить программу формирования звуковых сигналов  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.05.2017, 20:36
Ответы с готовыми решениями:

Составить программу формирования звуковых сигналов в соответствии с диаграммой
Пару месяцев изучаем ассемблер, но ничего толком нам не объясняют. Дали вот такую задачу, в качестве итоговой, но я почти ничего не понимаю...

Разработать программу генерации звуковых сигналов
Разработать программу генерации звуковых сигналов, в которой тон звучания определялись кодом нажатой клавиши от 0 до 9. При нажатии клавиши...

Генерация звуковых сигналов
Составить программу звуковых сигналов в соответствии с диаграммой. Pause ввести с клавиатуры Число ступеней 100 Прерывание по ESC ...

4
30 / 30 / 8
Регистрация: 18.03.2013
Сообщений: 43
14.05.2017, 20:45
Надеюсь, Вам это поможет.

https://www.cyberforum.ru/asm-... 67379.html
https://www.cyberforum.ru/asm-... 50903.html
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8665 / 4502 / 1670
Регистрация: 01.02.2015
Сообщений: 13,926
Записей в блоге: 13
14.05.2017, 20:53
Лучший ответ Сообщение было отмечено Ruslansport как решение

Решение

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
LOCALS
 
.model small
 
.stack 100h
 
.data
        Delay   dd      1000000 ;время задержки в микросекундах для WaitFor
        kbEsc   db      1Bh     ;код ESC
.code
 
main    proc
        mov     ax,     @data
        mov     ds,     ax
 
        ;100 Гц
        mov     ax,     100
        call    Sound
        call    WaitFor
        call    No_Sound
        call    WaitFor
        ;500 Гц
        mov     ax,     500
        call    Sound
        call    WaitFor
        call    No_Sound
        call    WaitFor
        ;1000 Гц
        mov     ax,     1000
        call    Sound
        call    WaitFor
        call    No_Sound
        call    WaitFor
 
        ;5000 Гц
        mov     ax,     5000
        call    Sound
 
@@WaitEscapePressed:
        mov     ah,     08h
        int     21h
        cmp     al,     kbEsc
        jnz     @@WaitEscapePressed
 
        call    No_Sound
 
        mov     ax,     4C00h
        int     21h
main    endp
 
;Подача звука через встроенный спикер
;ах - частота звука
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    ;порт 2-го канала
    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
 
;Ожидание
;на входе:
; переменная Delay - время ожидания в микросекундах
WaitFor proc
        push    ax
        push    cx
        push    dx
        mov     ah,     86h
        mov     al,     00h
        mov     dx,     word ptr Delay
        mov     cx,     word ptr Delay+2
        int     15h
        pop     dx
        pop     cx
        pop     ax
        ret
WaitFor endp
 
end     main
1
0 / 0 / 0
Регистрация: 11.06.2017
Сообщений: 9
27.09.2019, 23:24
ФедосеевПавел, Спасибо большое за данную программу. Можете пояснить один момент:
За звучание отвечает процедура Sound, как в данной процедуре изменить длительность звучания, чтобы она длилась 3 секунды например?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8665 / 4502 / 1670
Регистрация: 01.02.2015
Сообщений: 13,926
Записей в блоге: 13
27.09.2019, 23:31
Не знаю - содрал код откуда-то, а думать и читать не умею.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.09.2019, 23:31
Помогаю со студенческими работами здесь

Программа генерации звуковых сигналов
Необходимо составить программу согласно заданию. Почти ничего в ассемблере не понимаю. Самая последняя задача и я прощаюсь с ассемблером....

Программа для генерации звуковых сигналов
Помогите пожалуйста. Составить программу на ассемблере для генерации звуковых сигналов по диаграмме: Динамик подключен к...

Формирование звуковых сигналов в соответствии с диаграммой
Составить программу формирования звуковых сигналов в соответствии с диаграммой. Интервал T ввести с клавиатуры. Прерывание...

Сгенерировать 10 звуковых сигналов продолжительностью 0,2 секунды с задержкой 0,2
Задание1: Сгенерировать 10 звуковых сигналов продолжительностью 0,2 секунды с задержкой 0,2 секунды между их воспроизведением. ...

Резидентная программа, осуществляющую генерацию звуковых сигналов при нажатии на клавиши клавиатуры
Есть задача: нужно написать резидентную программу, осуществляющую генерацию звуковых сигналов при нажатии на клавиши клавиатуры. Есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Функция установки текстового статуса в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru