Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторные работы. Савельев / Лабораторная работа №1 МЗЯП Отчет

.docx
Скачиваний:
0
Добавлен:
01.11.2025
Размер:
490.33 Кб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации

Федеральное государственное бюджетное образовательное учреждение Высшего образования «Санкт-Петербургский государственный университет телекоммуникаций им. Проф. М.А. Бонч-Бруевича» (СПбГУТ)

Факультет Информационных технологий и программной инженерии

Кафедра Программной инженерии

Лабораторная работа №1

По дисциплине: Машинно-зависимые языки программирования

Тема:

Вычисление целочисленных арифметических выражений

Выполнил студент: Яковлев М. А. ИКПИ-32

Принял работу: Савельев И. Л.

Дата выполнения:

«11» октября 2024 г.

Санкт-Петербург

2024 г.

Цель работы

Вычислить заданное целочисленное выражение для исходных данных в знаковых и беззнаковых форматах длиной 8 и 16 бит: signed char, unsigned int, используя арифметические операции ADD, ADC, INC, SUB, SBB , DEC, NEG, MUL, IMUL, DIV, IDIV , CBW, CWD. Исходные значения переменных вводятся пользователем с клавиатуры. Они должны быть максимально приближены к максимально-возможным для тех типов данных, с которыми решается задача. При вводе данных рекомендуется вывести диапазон возможных значений. Размер и тип числителя, знаменателя и результата зависит от заданного выражения.

Порядок работы:

• Внимательно изучить свой вариант арифметического выражения;

• Для каждого из перечисленных 2 типов данных написать ASM – модули вычисления арифметического выражения;

• Вызовы этих модулей должны осуществляться из модулей, написанных на языке Си, в которых должен осуществляться ввод исходных данных и вывод результатов. Модули на языке Си должны обеспечивать вычисление данного выражения на языке Си для проверки результатов и вызов ASM – модуля для вычисления заданного выражения. Программа на языке Си должна вывести на экран числитель, знаменатель и результат вычисления на языке Си, а также числитель, знаменатель и результат вычисления на языке ASM. Обмен данными между Си и ASM – модулем должен осуществляться через глобальные переменные, определенные в модуле Си.

Программа

Тестирование

Вывод

В данной работе была решена задача вычисления заданного целочисленного выражения для различных типов данных (signed char, unsigned int) длиной 8 и 16 бит.

Были разработаны ASM-модули для вычисления выражения, а также модули на языке Си для ввода данных, вывода результатов и вызова ASM-модулей.

Результаты вычисления на языке Си и ASM были сравнены, обеспечивая проверку корректности работы ASM-кода. Обмен данными между языками осуществлялся через глобальные переменные.