ВМСиС курсовая 3 курс. Курсовая работа ВМСиС. Курсовая работа по дисциплине Вычислительные машины, системы и сети
Скачать 301.83 Kb.
|
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ им. проф. М.А. Бонч-Бруевича(СПБГУТ)«ИНСТИТУТ НЕПРЕРЫВНОГО ОБРАЗОВАНИЯ (ИНО)» Курсовая работа по дисциплине«Вычислительные машины, системы и сети»Чётный вариантФИО: Факультет: Курс: Группа: Студенческий билет: Задание: Написать на языке TurboAssembler программу, которая считывает введенное пользователем число (аргумент функции), рассчитывает значение функции и выводит его на экран монитора. Функция имеет вид: ax*ax+bx+c, где a – месяц, b – день, c – год рождения студента. Краткое описание языка Ассемблер. Ассемблер можно считать языком второго поколения, если за первый принять машинный язык. Он работает непосредственно с процессором, и каждая его команда — это инструкция процессора, а не операционной или файловой системы. Перевод языка ассемблера в машинный код называется ассемблированием. Команды ассемблера состоят из кодов операций и операндов. Операнды — это адреса, из которых процессор будет брать данные для вычислений и в которые будет помещать результат. Адресами могут быть ячейки оперативной памяти и регистры — память внутри процессора. Процессор работает с регистрами гораздо быстрее, чем с оперативной памятью. Коды операций в языке ассемблера мнемонические, то есть удобные для запоминания: ADD — сложение SUB — вычитание MUL — умножение Регистрам и ячейкам памяти присваиваются символические имена, например: EAX, EBX, AX, AH — имена для регистров; meml — имя для ячейки памяти. Например, так выглядит команда сложения чисел из регистров AX и BX: add ax, bx А это команда вычитания чисел из регистров AX и BX: sub ax, bx Кроме инструкций, в языке ассемблера есть директивы — команды управления компилятором, то есть программой-ассемблером. Вот некоторые из них: INCLUDE — открыть файл и начать его компиляцию; EXIT — прекратить компиляцию файла;. DEF — назначить регистру символическое имя и т. д. Это полноценный язык программирования, на котором можно организовать циклы, условные переходы, процедуры и функции. Область применения: На ассемблере разрабатывают встроенные программы для микроконтроллеров. Это миниатюрные компьютеры, установленные в системах сигнализации, пультах управления, датчиках, бытовой технике, модемах и во многих других устройствах. Микроконтроллеры используются даже в робототехнике и спутниковых навигационных системах. Объём памяти у этих мини-компьютеров ограничен, а ассемблер удобен для их программирования тем, что одна его команда транслируется в одну команду в двоичном коде. По исходному тексту программы можно определить время её исполнения и объём памяти для её хранения. На ассемблере пишут драйверы устройств и некоторые компоненты операционных систем — например, ядро или загрузчик. Ассемблерный код есть в программах для игровых приставок и мультимедийных кодеков. Ассемблер применяется в реверс-инжиниринге — обратной разработке программ. Реверс-инжиниринг используют, чтобы понять, как работают программы, какой у них алгоритм. Это нужно в тех случаях, когда создатель по каким-то причинам не хочет публиковать исходный код. Обратной разработкой занимаются антивирусные компании, исследующие вирусы и трояны, создатели драйверов и операционных систем, а также просто любопытные. Ещё её активно применяют компьютерные злоумышленники всех мастей: взламывают программы, ищут уязвимости, пишут вирусы, генераторы ключей и тому подобное. Краткий алгоритм: Вводим число Преобразуем строку к целому числу Совершаем над числом математические операции согласно формуле. Преобразуем результат к строчному виду для вывода. БЛОК-СХЕМА ПРОГРАММЫ: Посимвольно вводим число в строку Переводим каждый введенный символ к числу в кодировке ASCII Суммируем результирующее число с введённым, помножая его на предыдущее введённое число (если имелось) на 10. Записываем полученное в результат. Запоминаем результат как предыдущее число. Если не нажат ENTER возвращаемся к пункту 1. Иначе далее Полученное исходное число(х) умножаем на константу (7) Общую возводим в квадрат. Также помножаем исходное число (х) на константу 20 10) Суммируем части, согласно уравнению 11) Далее посимвольно выводим полученный результат с конца Код программы: Вывод: В ходе работы были получены основные сведения о работе низкоуровнего языка программирования. Опыт работы с регистрами процессора напрямую. Выстраивания цикла работы программы шаг за шагом. Ручного преобразования символа к числу, посредством кодировки ASCII. Построение универсальной блок-схемы для решения задач такого типа. |