Реализация ветвлений и циклов на ассемблере AVR
Методика построения регистровой модели и карты памяти для программной реализации ветвлений и циклов. Разработка приложения для вычисления системы математических уравнений для однобайтных и двухбайтных операндов на языке программирования ассемблер.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 23.02.2021 |
Размер файла | 326,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
13
Размещено на http://www.allbest.ru
Реализация ветвлений и циклов на ассемблере AVR
1. Цель работы
Изучение реализации ветвлений и циклов на языке ассемблера.
2. Вариант задания
3. Задание
Вычислить на ассемблере заданное выражение. Написать две программы:
1) для однобайтных операндов;
910=916
2810=1C16
1910=1316
1210=0C16
Таблица 1 - Карта памяти
Переменная |
Адрес |
|
X |
0x0060 |
|
Z |
0x0061 |
|
Y |
0x0062 - 0x0063 |
Таблица 2 - Регистровая модель
Регистр |
Назначение |
|
R16 |
Промежуточное хранение переменной X |
|
R17 |
Промежуточное хранение переменной Z |
|
R18 |
Промежуточное хранение переменной C(9) |
|
R19 |
Промежуточное хранение переменной C(28) |
|
R20 |
Промежуточное хранение переменной C(19) |
|
R21 |
Промежуточное хранение переменной C(12) |
Код программы
Рис. 1
Результат при x=1, z=40
Y=40-1-1-19=19
4010=2816
1910=1316
Рис. 2
Результат при x=15, z=2
Y=15+2+2+12=31
1510=0F16
3110=1F16
Рис. 3
Результат при x=30, z=4
Y=30-4-4=22
3010=1E16
2210=1616
Рис. 4
2) для двухбайтных операндов (примем количество разрядов АЦП равным 12 бит).
0910=0916
2810=1C16
1910=1316
1210=0C16
Таблица 3 -Карта памяти
Переменная |
Адрес |
|
X |
0x0060-0x0061 |
|
Z |
0x0062-0x0063 |
|
Y |
0x0064 - 0x0065 |
Таблица 4 - Регистровая модель
Регистр |
Назначение |
|
R16-R17 |
Промежуточное хранение переменной X |
|
R18-R19 |
Промежуточное хранение переменной Z |
|
R20-R21 |
Промежуточное хранение переменной C(9) |
|
R22-R23 |
Промежуточное хранение переменной C(28) |
|
R24-R25 |
Промежуточное хранение переменной C(19) |
|
R26-R27 |
Промежуточное хранение переменной C(12) |
Код программы
Рис. 5
Рис. 6
Результат при x=3, z=40
Y=40-3-3-19=15
1510=0F16
Рис. 7
Результат при x=17, z=3
Y=17+3+3+12=35
1710=1116
3510=2316
Рис. 8
Результат при x=34, z=5
Y=34-5-5=24
3410=2216
2410=1816
Рис. 9
Вариант задания
Задание. Вычислить на ассемблере заданное выражение. Написать две программы:
1) для однобайтных операндов;
Таблица 5 - Карта памяти
Переменная |
Адрес |
|
X |
0x0060 |
|
Z |
0x0061 |
|
N |
0x0062 |
|
Y |
0x0063 - 0x0064 |
Таблица 6 - Регистровая модель
Регистр |
Назначение |
|
R16 |
Промежуточное хранение переменной X |
|
R17 |
Промежуточное хранение переменной Z |
|
R18 |
Промежуточное хранение переменной N |
|
R19 |
Промежуточное хранение переменной счетчикаi |
|
R20-R21 |
Промежуточное хранение переменной Y |
|
R22 |
Промежуточное хранение переменной C(1) |
|
R23 |
Промежуточное хранение сложения(вычитания) чисел |
Код программы
Рис. 10
Результат для x=5, z=1,n=20
1)15-2-1=12
2)12+15-2-2=23
3)23+15-2-3=33
4)33+15-2-4=42
5)42+15-2-5=50
6)50+15-2-6=57
7)57+15-2-7=63
8)63+15-2-8=68
9)68+15-2-9=72
10)72+15-2-10=75
11)75+15-2-11=77
12)77+15-2-12=78
13)78+15-2-13=78
14)78+15-2-14=77
15)77+15-2-15=75
16)75+15-2-16=72
17)72+15-2-17=68
18)68+15-2-18=63
19)63+15-2-19=57
20)57+15-2-20=50
2010=1416
5010=3216
Рис. 11
3) для двухбайтных операндов (примем количество разрядов АЦП равным 12 бит).
Таблица 7 - Карта памяти
Переменная |
Адрес |
|
X |
0x0060-0x0061 |
|
Z |
0x0062-0x0063 |
|
N |
0x0064-0x0065 |
|
Y |
0x0066 - 0x0067 |
Таблица 8 - Регистровая модель
Регистр |
Назначение |
|
R16-R17 |
Промежуточное хранение переменной X |
|
R18-R19 |
Промежуточное хранение переменной Z |
|
R20-R21 |
Промежуточное хранение переменной N |
|
R22 |
Промежуточное хранение переменной счетчикаi |
|
R23-R24 |
Промежуточное хранение переменной Y |
|
R25 |
Промежуточное хранение переменной C(1) |
|
R26 |
Промежуточное хранение сложения(вычитания) чисел |
Код программы
Рис. 12
Рис. 13
Результат для x=5, z=1,n=20
1)15-2-1=12
2)12+15-2-2=23
3)23+15-2-3=33
4)33+15-2-4=42
5)42+15-2-5=50
6)50+15-2-6=57
7)57+15-2-7=63
8)63+15-2-8=68
9)68+15-2-9=72
10)72+15-2-10=75
11)75+15-2-11=77
12)77+15-2-12=78
13)78+15-2-13=78
14)78+15-2-14=77
15)77+15-2-15=75
16)75+15-2-16=72
17)72+15-2-17=68
18)68+15-2-18=63
19)63+15-2-19=57
20)57+15-2-20=50
2010=1416
5010=3216
Рис. 14
Вывод
ассемблер программный цикл однобайтный
В результате выполнения работы была изучена реализация ветвлений и циклов на языке ассемблера.
Размещено на Allbest.ru
...Подобные документы
Ассемблер как символический аналог машинного языка. Архитектура микропроцессора: организация памяти, способы адресации операндов, правила использования регистров. Текст программы. Этапы программирования на ассемблере, алгоритмы выполнения задач.
контрольная работа [515,1 K], добавлен 20.01.2016Изучение языка низкого уровня ассемблер для написания примера программы для 16 битного приложения. Разработка и реализация алгоритма поднесения чисел к степени чисел над полем за основанием 2 (mod 2). Иллюстрация техники создания DOS приложения.
курсовая работа [33,3 K], добавлен 08.11.2011Общая характеристика языков программирования. Описание языка Паскаль: основные субъекты языка; структура Паскаль-программы; типизация и объявление данных. Операторы присваивания и выражения. Структурные операторы, организация ветвлений и циклов.
дипломная работа [276,6 K], добавлен 26.01.2011Арифметические команды языка Assembler в архитектуре x86. Организация ветвлений и циклов в программах. Ввод строк с клавиатуры и команды пакетной обработки (строковые команды). Алгоритм вывода на экран в текстовом режиме с использованием средств BIOS.
контрольная работа [18,0 K], добавлен 05.07.2014Описание методов нахождения и построения эйлеровых циклов в графах при раскрытии содержания цикломатических чисел и фундаментальных циклов. Изучение алгоритма решения задачи "Китайского почтальона" и разработка программы, решающей задачу на языке Си.
курсовая работа [924,3 K], добавлен 09.01.2011Изучение архитектуры персонального компьютера на примере микропроцессора фирмы Intel. Регистры общего назначения. Оперативная память; форматы данных и команд. Команд пересылки с различными способами адресации операндов. Структура программы на Ассемблере.
курс лекций [506,4 K], добавлен 03.05.2014Структурные подразделения и отделы организации, ее технические программные средства. Разработка приложений обработки данных на ассемблере, языке программирования высокого уровня. Тестирование и оптимизация программных модулей. Разработка документации.
отчет по практике [175,0 K], добавлен 30.09.2022Понятие и принципы реализации оператора ветвления, его значение и роль в языке программирования Паскаль. Основные логические операции и сложные логические выражения, их содержание. Программа упорядочения значений двух переменных, ее этапы и методы.
презентация [187,9 K], добавлен 02.04.2014Моделирование цифровых узлов комбинационного и последовательного типа. Арифметические команды. Манипуляции над битами. Совместное использование Ассемблер с другими языками программирования. Вывод на экран в текстовом режиме. Команды работы со строками.
отчет по практике [1,7 M], добавлен 11.03.2014Структурное программирование, схема алгоритма. Программа на языке Си для int, float. Подпрограмма ввода и вывода целых чисел на Ассемблере IBM. Тестирование и отладка, инструкция пользователя. Язык программирования Си (для int и float), этапы трансляции.
курсовая работа [1,5 M], добавлен 21.10.2014Анализ технического задания. Разработка программы по вычислению функции на языке ассемблер для микропроцессора Кр580ВМ80. Алгоритмы программного умножения, деления, сложения, вычитания и сдвига влево многобайтных чисел. Расчет времени работы программы.
курсовая работа [88,2 K], добавлен 19.09.2012Разработка и анализ алгоритмов с использованием электронных таблиц и прикладных программ Smath Studio, Microsoft Excel. Проверка алгоритма ветвления или выбора. Реализация циклов на примере вычисления определённого интеграла с заданной точностью.
контрольная работа [1,0 M], добавлен 19.03.2016Таблица тестовых наборов, код программы, скриншоты. Разработка программы вычисления заданного целочисленного выражения для данных в формате 16 бит. Вычисление принадлежности точки с заданными координатами заштрихованной области. Разветвления в С++.
лабораторная работа [1,3 M], добавлен 23.11.2014Классификация систем программирования. Специализированные редакторы, программы-компиляторы и исполнимый код. Разновидности Visual Basic. Версии Паскаля и его использование. Приложения на языке Java. Разработка программы для вычисления предельной ошибки.
курсовая работа [34,0 K], добавлен 28.12.2009Моделирование цифровых узлов комбинационного и последовательностного типа electronic work bench. Основы программирования на Ассемблере: арифметические команды, манипуляции над битами, строковые операции. Программирование с использованием пакета MASM.
отчет по практике [1,9 M], добавлен 10.01.2015Способ представления графа в информатике. Алгоритмы поиска элементарных циклов в глубину в неориентированных графах. Описание среды wxDev-C++, последовательность создания проекта. Руководство пользователю программы поиска и вывода на экран простых циклов.
курсовая работа [783,2 K], добавлен 18.02.2013Математический алгоритм вычисления корней нелинейного уравнения и его решение методом касательных. Особенности программной реализации решения таких уравнений. Процедура подготовки и решения задачи на ЭВМ, характеристика алгоритма и структуры программы.
курсовая работа [96,6 K], добавлен 02.06.2012Сущность и особенности языка программирования Си. Основные этапы алгоритма решения системы линейных алгебраических уравнений методом Гаусса, реализация программы для их расчета. Инструкции пользователя и программиста. Тестирование функции решения.
курсовая работа [153,9 K], добавлен 18.02.2013Принципы построения информационной системы и ее реализация. Разработка программы доступа к данным автомобильного предприятия города на объектно-ориентированном языке программирования C Sharp. Расчет эффективности разрабатываемого програмного продукта.
дипломная работа [4,3 M], добавлен 15.05.2012Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.
дипломная работа [1,4 M], добавлен 03.06.2014