Читать практическое задание по информационному обеспечению, программированию: "Разработка приложения на языке Assembler" Страница 1


назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

Разработка приложения на языке 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



Интересная статья: Быстрое написание курсовой работы