Создание программы для вычисления значения функции на основе определённой формулы. Уточнение структуры входных и выходных данных и определение ассемблерного формата их представления. Разработка алгоритмов для реализации работы программного обеспечения.
Аннотация к работе
Целью выполнения курсовой работы является расширение и углубление знаний и навыков в программировании на языке Assembler. В процессе выполнения курсовой работы необходимо: а) разобраться с арифметическими процессами;Необходимо разработать на языке ассемблера программу, которая бы выполняла следующие действия: - выдавала запрос на ввод числа участков разбиения заданного интервала изменения и принимала ввод; заносила пары значений в специально организованную структуру хранения данных (массив), представляющую таблицу значений функции; выводила на экран приглашение на ввод произвольного значения аргумента с указанием предельных допустимых значений интервала; для введенного значения аргумента вычисляла приближенное значение функции на основе линейной интерполяции с использованием подготовленной таблицы значений функции;Данный курсовой проект предназначен для вычисления значения функции на основе определенной формулы.Для того чтобы решить поставленную задачу необходимо использовать средства программирования математического сопроцессора. Так как все процессы на аппаратном уровне используют только команды машинного языка то, необходимо знать архитектуру компьютера, а в частности его процессора и математического сопроцессора [1]. В модулях разрабатываемого приложения можно использовать модель памяти SMALL, которая используется для большинства программ на ассемблере. С ростом мощи, а главное с осознанием разработчиками микропроцессорной техники того факта, что их устройства могут составить достойную конкуренцию своим «большим» предшественникам, в архитектуре компьютеров на базе микропроцессоров стали появляться устройства для обработки чисел с плавающей точкой. В архитектуре семейства микропроцессоров Intel 80x86 устройство для обработки чисел с плавающей точкой появилось в составе компьютера на базе микропроцессора i8086/88 и получило название математический сопроцессор (далее просто сопроцессор).Алгоритм реализации данной задачи можно представить следующим образом: 1) Выводится запрос на введение максимального значения х. 3) Произвести вычисление в пределах границы, определяющих, в зависимости от условий, по какой функции будет вычислен 4) Организовывается цикл, по которому производиться вычисление функции y=f(x), учитывая условия, и записывается результат в массив. 5) Запросить ввод значения х для вычисления функции.Изначально программный код разделен на три файла: ftosymb.asm - модуль перевода вещественного числа в символьное представление, in_fl_v2.asm - модуль чтение чисел с консоли, main.asm - основной расчетный модуль.Входные данные - максимальное значение х, и значение х для вычисления функции у=f(х) путем линейной интерполяции. К выходным данным относится значение у, вычисленное по введенному х с помощью линейной интерполяции. Процедура вывода на экран вещественного числа выполняет перевод из числового представления в последовательность символов. Промежуточные данные является последовательность значений х и соответствующих ему значений у, вычисленных учитывая условия. При этом эффективный адрес формируется, как сумма трех составляющих [1]: указателя на адрес первого элемента массива в виде его символического имени, индекса, который равен индексу соответствующего значения х, и базового регистра, в котором находится смещение каждого значения у относительно соответствующего значения х.При разработке данного курсового проекта, для операций с вещественными числами при вычислении значений функции я использовал процедуры, которые облегчили написание программного кода. Для обработки арифметических операций в данном курсовом проекте использовались арифметические выражения, представленные в виде ПОЛИЗ. В программе, которую необходимо было разработать в процессе выполнения курсового проекта, часть исходных данных должна получаться от пользователя с клавиатуры. В приложении А приведена ассемблерная программа, которая демонстрирует работу данного курсового проекта, работу с вещественными числами с плавающей запятой.Произведем оценку погрешности вычислений на основе линейной интерполяции. Оценка производится исходя из значения погрешности, рассчитываемой по формуле (4.1), которая позволяет получить значение погрешности. Колво интервалов Полученное значение Введенное число Истинное значение Погрешность, % Колво интервалов Полученное значение Введенное число Истинное значение Погрешность, %В ходе выполнения курсовой работы были получены навыки в программировании на языке Assembler. В процессе выполнения курсовой работы было : а) Исследована работа с арифметическими процессами; б) изучен алгоритм выполнения ассемблером определенных арифметических операций; в) Исследована поставленная задача и определены оптимальные пути ее решения; г) Составлены алгоритмы для реализации работы программного обеспечения;Блок схема работы алгоритма; локальные переменные ten equ word ptr [bp-2] temp equ word ptr [bp-4] mes_intro db 13,10,"corse work system programming variant 50",13,10 len_i=$-mes_intro mes1db 13,10,"input sectio
План
СОДЕРЖАНИЕ
Введение
1. Постановка и формулировка задачи
1.1 Постановка задачи
1.2 Назначение программы
2. Проектирование
2.1 Формирование «ассемблерной» модели задачи
2.2 Разработка алгоритма реализации задачи
2.3 Разработка структуры программы в соответствии с выбранной моделью памяти
3. Кодирование
3.1 Уточнение структуры входных и выходных данных и определение ассемблерного формата их представления
3.2 Программирование задачи
4. Тестирование
Вывод
Перечень ссылок
Приложение
Вывод
В ходе выполнения курсовой работы были получены навыки в программировании на языке Assembler.
В процессе выполнения курсовой работы было : а) Исследована работа с арифметическими процессами;
б) изучен алгоритм выполнения ассемблером определенных арифметических операций;
в) Исследована поставленная задача и определены оптимальные пути ее решения;
г) Составлены алгоритмы для реализации работы программного обеспечения;
Программа была реализована с использованием процедур.
ПЕРЕЧЕНЬ ССЫЛОК
1. Юров В. Assembler: учебник.- СПБ.: «Питер», 2000.- 624 с.
2. Юров В. Assembler: специальный справочник.- СПБ.: «Питер», 2000.- 496 с.
3. Юров В. Assembler: практикум.- СПБ.: «Питер», 2001.- 400 с.
4. Методические указания по оформлению курсовых проектов и работ /Сост.: Ю.Э. Паэранд, П.В. Охрименко - Алчевск: ДГМИ, 2002.-50с.