Компилятор вам сообщает, что он не знает такого имени ADEN.
Надо понимать, что компилятор по умолчанию вообще ни чего не знает. Никаких имён. Имена либо объявляются заранее, либо подключаются с помощью директивы #include из заранее подготовленного файла. Такие файлы поставляются вместе с AvrStudio.
Например
Код
.include "8515def.inc"
.
Как понятно из примера здесь подключен файл определений имён для микросхемы at90s8515. Сам файл можно найти и просмотреть. Там всё совершенно понятно. Если, к примеру, у вас какая то переменная отсутствует, то можно просмотреть такой файл и вычислить в чём загвоздка.
Поймите, мы вам не навязываем какие-то надуманные правила. Это вам существенно облегчит жизнь. Особенно при программировании на ассемблере. Приведу пример.
Например у вас есть линия управления COM портом "CTS".
Вы объявляете в начале файла
Код
.equ CTS = pd7; Готовность к передаче модема
.equ PortCTS = portd
.equ DdrCTS = ddrd
И далее работаете с ним по всему тексту. Например
Код
sbi DdrCTS,CTS ; Готовность на вывод
.....
sbi PortCTS,CTS ; Установить готовность
.....
cbi PortCTS,CTS ; снять готовность
......
Какие преимущества?
1) вы сразу видите, что вы в данном месте делаете
2) вы однозначно избежите такой распространнённой ошибки как "cbi portd,pb7"
3) при изменении схемы и платы либо при переносе программы на другой камень вам не придётся выискивать все места связанные с тем или иным портом по всему тексту программы. Вам просто придётся внести изменения только в объявления переменной
По поводу имён.
1) Допускается (и я, к примеру использую) назначение нескольких имён одному и тому же регистру. Наложение. Правда компилятор выдаёт предупреждение об этом.
2) Если данный регистр используется как рабочий (то есть не имеет определённого предназначения), то его лучше так и обозначить, чтобы это было сразу видно. Обычно для этого используют "w" (сокращение от "work"). В некоторых МК такие регистры есть. Либо его модификации. Например wl, wh (work low, work high) или w0,w1,w2,w3. Можно использовать любую вам удобную мнемонику.
Не надо писать r16,r17. Регистра 32. Если программа хотябы средняя, то очень скоро вы абсолютно запутаетесь что это за регистры, какие используются в том или ином месте, а какие можно использовать.
До всего этого вы и сами дойдёте, только сначала понабиваете шишек.