Цитата(Павлик @ Jan 24 2008, 21:30)

Всем привет !
Возникла у меня проблема в том что никак не могу выйти ......
....
авр студио ругается на данные команды , подскажите как правильно сделать , может нужно использовать пару старших регистров ?
Сделайте так:
Код
//ВАЖНО регистр tmp должен быть определен r16 и выше для команды "out portd,tmp "!!!
mode_0_255: // выводит в порт Д значения от 00 до FF
clr tmp
m_01:
rcall wait //здесь не использовать регистр tmp!!! (или сохранять его где нибудь)
out portd,tmp
inc tmp
brne m_01//равнен ли tmp нулю? если нет то переход на m_01
ret
Удачи!
зы: да вот еще добавлю....во избежания граблей..
у атмеги8 стекпоинт уже двухбайтный, так что инициализировать надо и ldi temp,LOW(RAMEND) ; Init Stack Pointer
out spl,temp и ldi temp,high(RAMEND) ; Init Stack Pointer
out sph,temp :-)
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...