Главная страница
Навигация по странице:

  • Краткое описание языка Ассемблер.

  • EAX

  • INCLUDE

  • DEF

  • Краткий алгоритм

  • БЛОК-СХЕМА ПРОГРАММЫ

  • Код программы

  • ВМСиС курсовая 3 курс. Курсовая работа ВМСиС. Курсовая работа по дисциплине Вычислительные машины, системы и сети


    Скачать 301.83 Kb.
    НазваниеКурсовая работа по дисциплине Вычислительные машины, системы и сети
    АнкорВМСиС курсовая 3 курс
    Дата25.03.2023
    Размер301.83 Kb.
    Формат файлаdocx
    Имя файлаКурсовая работа ВМСиС.docx
    ТипКурсовая
    #1013904


    САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ им. проф. М.А. Бонч-Бруевича

    (СПБГУТ)




    «ИНСТИТУТ НЕПРЕРЫВНОГО ОБРАЗОВАНИЯ (ИНО)»

    Курсовая работа по дисциплине

    «Вычислительные машины, системы и сети»

    Чётный вариант


    ФИО:

    Факультет:

    Курс:

    Группа:

    Студенческий билет:

    Задание:

    Написать на языке TurboAssembler программу, которая считывает введенное пользователем число (аргумент функции), рассчитывает значение функции и выводит его на экран монитора.

    Функция имеет вид: ax*ax+bx+c,  где a – месяц, b – день, c – год рождения студента.

    Краткое описание языка Ассемблер.

    Ассемблер можно считать языком второго поколения, если за первый принять машинный язык. Он работает непосредственно с процессором, и каждая его команда — это инструкция процессора, а не операционной или файловой системы. Перевод языка ассемблера в машинный код называется ассемблированием.

    Команды ассемблера состоят из кодов операций и операндов. Операнды — это адреса, из которых процессор будет брать данные для вычислений и в которые будет помещать результат. Адресами могут быть ячейки оперативной памяти и регистры — память внутри процессора. Процессор работает с регистрами гораздо быстрее, чем с оперативной памятью.

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

    • ADD — сложение

    • SUB — вычитание

    • MUL — умножение

    Регистрам и ячейкам памяти присваиваются символические имена, например:

    EAXEBXAXAH — имена для регистров;

    meml — имя для ячейки памяти.

    Например, так выглядит команда сложения чисел из регистров AX и BX:

    add ax, bx

    А это команда вычитания чисел из регистров AX и BX:

    sub ax, bx

    Кроме инструкций, в языке ассемблера есть директивы — команды управления компилятором, то есть программой-ассемблером.

    Вот некоторые из них:

    Это полноценный язык программирования, на котором можно организовать циклы, условные переходы, процедуры и функции.

    Область применения:

    • На ассемблере разрабатывают встроенные программы для микроконтроллеров. Это миниатюрные компьютеры, установленные в системах сигнализации, пультах управления, датчиках, бытовой технике, модемах и во многих других устройствах. Микроконтроллеры используются даже в робототехнике и спутниковых навигационных системах. Объём памяти у этих мини-компьютеров ограничен, а ассемблер удобен для их программирования тем, что одна его команда транслируется в одну команду в двоичном коде. По исходному тексту программы можно определить время её исполнения и объём памяти для её хранения.



    • На ассемблере пишут драйверы устройств и некоторые компоненты операционных систем — например, ядро или загрузчик. Ассемблерный код есть в программах для игровых приставок и мультимедийных кодеков.



    • Ассемблер применяется в реверс-инжиниринге — обратной разработке программ. Реверс-инжиниринг используют, чтобы понять, как работают программы, какой у них алгоритм. Это нужно в тех случаях, когда создатель по каким-то причинам не хочет публиковать исходный код. Обратной разработкой занимаются антивирусные компании, исследующие вирусы и трояны, создатели драйверов и операционных систем, а также просто любопытные. Ещё её активно применяют компьютерные злоумышленники всех мастей: взламывают программы, ищут уязвимости, пишут вирусы, генераторы ключей и тому подобное.

    Краткий алгоритм:

    • Вводим число

    • Преобразуем строку к целому числу

    • Совершаем над числом математические операции согласно формуле.

    • Преобразуем результат к строчному виду для вывода.

    БЛОК-СХЕМА ПРОГРАММЫ:



      1. Посимвольно вводим число в строку

      2. Переводим каждый введенный символ к числу в кодировке ASCII

      3. Суммируем результирующее число с введённым, помножая его на предыдущее введённое число (если имелось) на 10.

      4. Записываем полученное в результат.

      5. Запоминаем результат как предыдущее число.

      6. Если не нажат ENTER возвращаемся к пункту 1. Иначе далее

      7. Полученное исходное число(х) умножаем на константу (7)

      8. Общую возводим в квадрат.

      9. Также помножаем исходное число (х) на константу 20

    10) Суммируем части, согласно уравнению

    11) Далее посимвольно выводим полученный результат с конца

    Код программы:









    Вывод:

    В ходе работы были получены основные сведения о работе низкоуровнего языка программирования. Опыт работы с регистрами процессора напрямую. Выстраивания цикла работы программы шаг за шагом. Ручного преобразования символа к числу, посредством кодировки ASCII. Построение универсальной блок-схемы для решения задач такого типа.


    написать администратору сайта