Академический Документы
Профессиональный Документы
Культура Документы
ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего
образования
«Дальневосточный федеральный университет»
(ДВФУ)
ОТЧЕТ
по лабораторной работе номер №8
по дисциплине «Архитектура вычислительных систем»
Тема: «Ассемблер»
зачтено/не зачтено
г. Владивосток
2023
Постановка задачи
Задание 1. Подключить к буферу ввода/вывода процессора
компонент «терминал» так, чтобы младшие семь битов буфера
интерпретировались как ASCII символы и выводились на терминал при
каждой записи в буфер. Написать на языке ассемблера подпрограмму,
которая принимает в качестве аргумента 32-битное беззнаковое целое
число и выводит его десятичное представление на новую строку
терминала. Продемонстрировать работоспособность подпрограммы,
вызвав её несколько раз с различными аргументами. Вызов подпрограммы
осуществляется с помощью инструкции jal, возврат из подпрограммы
— с помощью инструкции jr $ra, а аргументы передаются через
регистры $a0-$a3.
Задание 2. Подключить к младшим восьми битам
буфера
ввода/вывода компонент «Генератор случайных чисел», выдающий
случайные 8-битные значения при каждом чтении буфера. Написать на
языке ассемблера программу, которая считывает 60 таких случайных
значений, определённым образом обрабатывает их, а затем эти значения
и последовательность значений, полученных после обработки, выводит на
терминал, вызывая подпрограмму из задания 1. Алгоритм обработки
pначения разбиваются на последовательные пары, и для каждой пары
находится остаток от деления первого числа на второе. Результат
обработки — последовательность этих остатков, отсортированная по
возрастанию.
Задание 3. Подключить к двум буферам ввода/вывода процессора
компоненты «Клавиатура», и «Терминал». Написать на языке ассемблера
программу, выполняющую те же преобразования над вводимыми с
клавиатуры символами, что и в задании 7 лабораторной работы 7 (с учётом
вариантов). Результат обработки должен выводиться на терминал.
Задание 4. К двум буферам ввода/вывода подключить ещё один
компонент ОЗУ, который будет выполнять функции видеопамяти. Один
буфер хранит адрес для записи в видеопамять, а другой — записываемое
по этому адресу значение. К видеопамяти подключена светодиодная
матрица, изображение на которую выводится из видеопамяти с помощью
развёртки. Буферы и развёртка имеют раздельный доступ к видеопамяти
по нечётным тактам осуществляется запись из буферов, а по чётным
считывание значения развёрткой. Задача — написать на языке ассемблера
программу, управляющую записью значений в буферы вывода таким
образом, чтобы на светодиодной матрице поочерёдно формировались два
изображения — нормальное и негативное. Параметры матрицы и
изображение для вывода нужно взять те же, что и в задании 4
лабораторной работы 7.
Выполнение работы