- 1
- 2
Разработка приложения на языке Assembler 1. Постановка задачи Написать на языке Ассемблер программу для управления динамиком системного блока. Обеспечить установку частоты и длительности формируемых сигналов.
Цель работы - разработка программы для управления системным динамиком. 2. Алгоритм работы приложения Программа работает по алгоритму, изображённому на рисунке 1.
Рисунок 1 - Алгоритм работы При запуске, приложение прорисовывает главное окно и ожидает нажатия кнопки. При нажатии, срабатывает функция GetDlgItemInt, которая получает значения из контролов и передаёт в регистр eax. Имеет четыре параметра:
- hDlg - дескриптор диалогового окна, который содержит интересующий орган управления;
nIDDlgItem - устанавливает идентификатор органа управления, текст которого должен быть преобразован;
lpTranslated - указатель на переменную, которая получает значение успешного завершения или значение сбоя (успешное завершение обозначается - ИСТИНА (TRUE), сбой обозначается как ЛОЖЬ (FALSE)), если этот параметр - ПУСТО (NULL), функция не возвращает информацию об успехе или сбое;
bSigned - устанавливает, должна ли функция вначале проверять текст на знак минус и возвратить значение целого числа со знаком, если она находит этот минус (значение ИСТИНА (TRUE) устанавливает, что это должно быть сделано, ЛОЖЬ (FALSE), - что не должно).
Затем полученное значение передаётся командой mov из регистра eax в нужную переменную. Для управления динамиком системного блока (бипером), используется библиотечная функция beep. Данная функция имеет два параметра:
dwFreq - частота звука в герцах, допустимый диапазон - от 37 до 32 767 Гц;
- dwDuration - продолжительность звука в миллисекундах;
Чтобы обеспечить установку частоты и продолжительности, необходимо на форму добавить два контрола Edit с установленным параметром ES_NUMBER, чтобы предотвратить ввод символов, отличных от цифр. Для хранения и передачи в функцию значений, были созданы две переменные freq_var и dur_var (частота и длительность соответсвенно) с типом dd (dword). Для проигрывания звука размещена кнопка play с надписью «Воспроизвести». 3. Пример работы приложения Внешний вид приложения изображён на рисунке 2.
Рисунок 2 - Внешний вид
приложение алгоритм программа
Пользователь вводит значения частоты звука в верхнее поле, длительности - в нижнее. При нажатии на кнопку «Воспроизвести», из системеного динамика (или звукого устройства по-умолчанию, в случае системы Windows 7) будет звучать тон заданной частоты, в течении заданного времени, однако, при установке частоты меньше 35 Гц или выше 19 кГц звук слышен не будет из-за особенностей человеческого слуха. Список использованных источников1. IDE MASM Builder [Электронный ресурс]. - Режим доступа: http://www.digitaction.com/index.php/products/masm-builder-integrated-development-environment-for-masm32.html.
. Beep function (Windows) [Электронный ресурс]. - Режим доступа: http://msdn.microsoft.com/en-us/library/windows/desktop/ms679277% 28v=vs.85% 29.aspx, свободный.
3 GetDlgItemInt (Windows) [Электронный ресурс]. - Режим доступа: http://msdn.microsoft.com/en-us/library/windows/desktop/ms645485% 28v=vs.85% 29.aspx, свободный. Приложение Листинг программы
flat, stdcall option casemap:none\masm32\include\windows.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc include \masm32\include\gdi32.inc include \masm32\include\comdlg32.inc include \masm32\include\shell32.inc includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\gdi32.lib includelib \masm32\lib\comdlg32.lib includelib \masm32\lib\shell32.lib\masm32\procs\controls\baumanets.lib WinMain
- 1
- 2
Похожие работы
Тема: Графика на языке Assembler |
Предмет/Тип: Информатика, ВТ, телекоммуникации (Курсовая работа (т)) |
Тема: Особенности программирования на языке Assembler |
Предмет/Тип: Отсутствует (Контрольная работа) |
Тема: Разработка программы на языке Assembler с использованием процедур |
Предмет/Тип: Отсутствует (Курсовая работа (т)) |
Тема: Разработка приложения на языке программирования C++ |
Предмет/Тип: Отсутствует (Курсовая работа (т)) |
Тема: Разработка игрового приложения на языке PascalABC.NET |
Предмет/Тип: Отсутствует (Курсовая работа (т)) |
Интересная статья: Быстрое написание курсовой работы