# AVR ассемблер
* [Занятие 1 - Архитектура AVR. Устройство АЛУ](https://hackmd.io/@assasinfil/SyNKnAywY)
* Занятие 2 - Введение в AVR ассемблер
## Занятие 1
### Введение
В данном курсе мы будем рассматривать отладочную плату arduino nano с чипом atmega328p.
Данная плата представляет из себя кусок текстолита с 30 выводами, 6 выводами для программирование при помощи программатор ISP, USB порт через который можно загружать прошивку, если установлен загрузчик. Также на плате имеется 4 светодиода, два для UART (TX/RX), индикатор питания и пользовательский светодиод.

### Архитектура AVR

Микроконтроллер состоит из нескольких вычислительных блоков:
* **Арифметико-логическое устройство** (АЛУ) (англ. arithmetic logic unit, ALU) — блок процессора, который под управлением устройства управления служит для выполнения арифметических и логических преобразований над данными.
* **Блок управления процессором** (УУ) (control unit, CU) — блок, устройство, компонент аппаратного обеспечения компьютеров. Представляет собой конечный дискретный автомат. Структурно устройство управления состоит из: дешифратора команд (операций), регистра команд, узла формирования (вычисления) текущего исполнительного адреса, счётчика команд. УУ современных процессоров обычно реализуются в виде микропрограммного автомата и в этом случае УУ включает в себя ПЗУ микрокоманд. УУ предназначено для формирования сигналов управления для всех блоков машины.
* **Сумматорами** называют логические устройства, выполняющие арифметические суммирование кодов двоичного числа Основной из них - это ALU (Арифметико логическое устройство).

Ниже можно увидеть блок схему устройства микроконтроллера:

#### Структура микроконтроллера
Микроконтроллер состоит из различных компонентов. Главным из них является транзистор. Это основной элемент из которого строятся логические схемы.

Ток в транзисторе течет от коллектора к эммитеру. Управление транзистором происходит путем подачи тока на базу транзистора.
Каждый блок в процессоре состоит из таких транзисторов.
#### Логические элементы

Из NAND можно собрать остальные логические элементы.
Разновидности элементов, составленные из NAND

Полусумматор

Полусумматор суммирует 2 бита. На выходе бит результат и бит переполнения.
Из полусумматора можно собрать сумматор любой битности. Необходимо подключать выход бита переполнения через логический элемент ИЛИ.
Полный сумматор

## Домашнее задание
Пройти блок Arithmetics полностью на сайте: https://nandgame.com/
