Курсовая работа: Создание приложения, обеспечивающего генерацию звука с помощью системного таймера

АННОТАЦИЯ

Данная курсовая работа представляет собой приложение, обеспечивающее генерацию звука с помощью системного таймера.

Так как в настоящее время воспроизведение звука происходит посредством звуковых плат, обычный динамик PC практически никем не используется, поэтому главное его применение – звуковое сопровождение при выдаче сообщений об ошибках.


1. ИССЛЕДОВАТЕЛЬСКАЯ ЧАСТЬ

1.1 Исследование предметной области и постановка задачи

Целью данной курсовой работы является разработка приложения, которое может генерировать звук, используя системный таймер.

Для достижения данной цели необходимо реализовать ряд задач, а именно:

- изучить принцип работы системного таймера

- разработать алгоритмы для перехвата и обработки прерываний системного таймера

- создать процедуру для извлечения очередного звука

- создать процедуру для обработки символов, введенных с клавиатуры

1.2 Общие сведения о языке

Язык ассемблера - это символическое представление машинного языка. Все процессы в машине на самом низком, аппаратном уровне приводятся в действие только командами (инструкциями) машинного языка. Отсюда понятно, что, несмотря на общее название, язык ассемблера для каждого типа компьютера свой. Это касается и внешнего вида программ, написанных на ассемблере, и идей, отражением которых этот язык является.

Язык ассемблера был создан для облегчения написания программ на низком уровне. Вместо машинных команд программист использует мнемоники, которые представляют собой символическое представление машинной команды (или нескольких команд), что облегчает чтение текста программы. Так как одна мнемоника при трансляции преобразовывается в минимальное количество команд, то программы, написанные на ассемблере, выполняются с максимально возможной скоростью и занимают минимальный объём памяти. Именно поэтому программы на ассемблере (или ассемблерные вставки) используются там, где быстродействие является наиболее критичным фактором (обработка компьютерной графики, ядро операционных систем), или требуется максимально полно использовать возможности операционной системы (вирусы и антивирусы), или там, где эти два качества являются одинаково важными (драйверы различных устройств). Хорошим качеством Ассемблера является то, что он позволяет управлять действиями процессора поэтапно (по операциям) и с максимальной эффективностью. Ассемблер предоставляет программисту полную свободу действий при разработке программы, что одновременно является и его достоинством, и недостатком, так как требует от разработчика знания системы команд данного компьютера и его операционной системы. Данный язык позволяет программисту непосредственно работать со всем аппаратным обеспечением, что особенно важно при программировании устройств - ввода-вывода, где требуется контроль над отдельными разрядами регистров устройства. Ассемблер предоставляет возможность создания компактных и быстродействующих программ, оптимизации работы с аппаратными средствами. Синтаксис инструкций процессора предоставляет программисту широкий выбор типов данных: целые числа, строки знаков, упакованные десятичные числа, числа с плавающей точкой, структуры и записи. В языке имеется возможность подключения фрагментов исходного текста из других файлов. Ассемблер имеет набор макро-директив, использование которых позволяет относительно просто повторять общие блоки предложений несколько раз или заменять макро-имена в исходном тексте целыми последовательностями предложений.

1.3 Элементы языка

Для написания курсовой работы были использованы следующие средства языка:

1. Команды пересылки данных

- Команда MOV приемник, источник

Назначение: пересылка данных между регистрами или регистрами и памятью.

- Команда XCHG операнд_1,операнд_2

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

- Команда LEA приемник, источник

Назначение: получение эффективного адреса (смещения) источника. Алгоритм работы команды зависит от действующего режима адресации (use16 или use32):

если use16, то в регистр приемник загружается 16-битное значение смещения операнда источник;

если use32, то в регистр приемник загружается 32-битное значение смещения операнда источник.

- Команда IN аккумулятор,ном_порта

Назначение: ввод значения из порта ввода-вывода. Передает байт, слово, двойное слово из порта ввода-вывода в один из регистров al/ax/eax

- Команда OUT ном_порта,аккумулятор

Назначение: вывод значения в порт ввода-вывода. Передать байт, слово, двойное слово из регистра al/ax/eax в порт, номер которого определяется первым операндом.

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 259
Бесплатно скачать Курсовая работа: Создание приложения, обеспечивающего генерацию звука с помощью системного таймера