.INCLUDE - Вкласти інший файл
Зустрівши директиву INCLUDE компілятор відкриває зазначений у ній файл, компілює його поки файл не закінчиться або не стрінеться директива EXIT, після цього продовжує компіляцію початкового файлу з рядка наступної за директивою INCLUDE. Вкладений файл може також містити директиви INCLUDE.
.ORG - Встановити положення в сегменті
Директива ORG встановлює лічильник положення рівним заданій величині, яка передається як параметр. Для сегменту даних вона встановлює лічильник положення в SRAM (ОЗУ), для сегмента програм це програмний лічильник, а для сегмента EEPROM це положення в EEPROM. Якщо директиві передує мітка (в тому ж рядку) то мітка розміщується за адресою вказаною в параметрі директиви. Перед початком компіляції програмний лічильник і лічильник EEPROM дорівнюють нулю, а лічильник ОЗУ дорівнює 32 (оскільки адреси 0-31 зайняті регістрами). Зверніть увагу що для ОЗУ і EEPROM використовуються побайтное лічильники а для програмного сегмента - послівний.
.SET - Встановити змінний символічний еквівалент вираження
Директива SET присвоює імені деяке значення. Це ім'я пізніше може бути використано у виразах. Причому на відміну від директиви EQU значення імені може бути змінено інший директивою SET.
У мікроконтролерах AVR реалізована Гарвардська архітектура, яка характеризується роздільною пам'яттю програм і даних, кожна з яких має власні шини доступу до них. Така організація дозволяє одночасно працювати як з пам'яттю програм, так і з пам'яттю даних. Поділ шин доступу дозволяє використовувати для кожного типу пам'яті шини різної розрядності, причому способи адресації і доступу до кожного типу пам'яті також різні.
Ще одним рішенням, спрямованим на підвищення швидкодії, є використання технології конвейеризации. Конвеєризація полягає в тому, що під час викона