Написать программу и составить отчет, по примеру прилепленного файла

Гость3 года в сервисе
Данные заказчика будут вам доступны после подачи заявки
24.02.2022

Написать на языке ассемблера программу, выполняющую gреобразование числа в код с контролем по четности. Порты ввода-вывода: A – ввод, B – вывод. Расположение стека: В конце SRAM.

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

Исследовать основные элементы структуры микроконтроллера ATmega8535: CPU, запоминающие устройства, порты ввода-вывода — в процессе выполнения программы. Детально исследовать структуру и функционирование CPU и стека микроконтроллера, варьируя исходные данные, фиксируя состояние стека и регистров, в том числе счетчика программы, указателя стека и регистра флагов.

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

Последовательность строк в таблице должна соответствовать последовательности выполнения команд в период прогона программы, а не их последовательности в тексте программы. В строке, соответствующей данной команде, содержимое регистров и памяти должно быть таким, каким оно является после ее выполнения.

В графе "Характеристики команды" отметить влияние на флаги, размер

команды, число тактов, требуемых для ее выполнения.

Проанализировать результаты исследования, выполнить необходимые

сравнения, сделать выводы.

Общие признаки всех вариантов:

1. Наличие подпрограммы.

2. Ввод и вывод через параллельные порты микроконтроллера.

Частные признаки:

s1. Задача, выполняемая подпрограммой.

s2. Порты ввода-вывода.

s3. Расположение стека.

Внешние сравнения (Гарвардская RISC AVR — Принстонская CISC x86):

1. Система команд.

2. Размер и формат команд.

3. Время выполнения команд.

4. Порядок изменения (счетчика программы) указателя команд.

5. Порядок изменения указателя стека.

6. Порядок хранения слов в памяти.

7. Регистр флагов.

Внутренние сравнения:

1. Доступность и использование регистров общего назначения и ввода-вывода.

2. Размер и время выполнения команд.

Заявки фрилансеров