Розробка електричної та принципової схеми мікропроцесорного модуля
15

.INCLUDE - Вкласти інший файл

Зустрівши директиву INCLUDE компілятор відкриває зазначений у ній файл, компілює його поки файл не закінчиться або не стрінеться директива EXIT, після цього продовжує компіляцію початкового файлу з рядка наступної за директивою INCLUDE. Вкладений файл може також містити директиви INCLUDE.

.ORG - Встановити положення в сегменті

Директива ORG встановлює лічильник положення рівним заданій величині, яка передається як параметр. Для сегменту даних вона встановлює лічильник положення в SRAM (ОЗУ), для сегмента програм це програмний лічильник, а для сегмента EEPROM це положення в EEPROM. Якщо директиві передує мітка (в тому ж рядку) то мітка розміщується за адресою вказаною в параметрі директиви. Перед початком компіляції програмний лічильник і лічильник EEPROM дорівнюють нулю, а лічильник ОЗУ дорівнює 32 (оскільки адреси 0-31 зайняті регістрами). Зверніть увагу що для ОЗУ і EEPROM використовуються побайтное лічильники а для програмного сегмента - послівний.

.SET - Встановити змінний символічний еквівалент вираження

Директива SET присвоює імені деяке значення. Це ім'я пізніше може бути використано у виразах. Причому на відміну від директиви EQU значення імені може бути змінено інший директивою SET.

У мікроконтролерах AVR реалізована Гарвардська архітектура, яка характеризується роздільною пам'яттю програм і даних, кожна з яких має власні шини доступу до них. Така організація дозволяє одночасно працювати як з пам'яттю програм, так і з пам'яттю даних. Поділ шин доступу дозволяє використовувати для кожного типу пам'яті шини різної розрядності, причому способи адресації і доступу до кожного типу пам'яті також різні.

Ще одним рішенням, спрямованим на підвищення швидкодії, є використання технології конвейеризации. Конвеєризація полягає в тому, що під час викона