Написать на языке ассемблера программу, assembler avr

Цена договорная
26 февраля 2022, 19:01 • 3 отклика • 42 просмотра
Написать на языке ассемблера программу, выполняющую преобразование числа в код с контролем по четности. Порты ввода-вывода: A – ввод, B – вывод. Расположение стека: В конце SRAM.
При этом главная программа должна осуществлять необходимую инициализацию, ввод исходных данных и вывод результатов через заданные порты микроконтроллера, а основную задачу должна выполнять подпрограмма.
Исследовать основные элементы структуры микроконтроллера ATmega8535: CPU, запоминающие устройства, порты ввода-вывода — в процессе выполнения программы. Детально исследовать структуру и функционирование CPU и стека микроконтроллера, варьируя исходные данные, фиксируя состояние стека и регистров, в том числе счетчика программы, указателя стека и регистра флагов.
Результаты исследования оформить в виде таблицы, как в примере ниже.
Последовательность строк в таблице должна соответствовать последовательности выполнения команд в период прогона программы, а не их последовательности в тексте программы. В строке, соответствующей данной команде, содержимое регистров и памяти должно быть таким, каким оно является после ее выполнения.
В графе "Характеристики команды" отметить влияние на флаги, размер
команды, число тактов, требуемых для ее выполнения.
Проанализировать результаты исследования, выполнить необходимые
сравнения, сделать выводы.
Общие признаки всех вариантов:
1. Наличие подпрограммы.
2. Ввод и вывод через параллельные порты микроконтроллера.
Частные признаки:
s1. Задача, выполняемая подпрограммой.
s2. Порты ввода-вывода.
s3. Расположение стека.
Внешние сравнения (Гарвардская RISC AVR — Принстонская CISC x86):
1. Система команд.
2. Размер и формат команд.
3. Время выполнения команд.
4. Порядок изменения (счетчика программы) указателя команд.
5. Порядок изменения указателя стека.
6. Порядок хранения слов в памяти.
7. Регистр флагов.
Внутренние сравнения:
1. Доступность и использование регистров общего назначения и ввода-вывода.
2. Размер и время выполнения команд.
Файлы