SUBI XL,-1
SBCI XH, -1
BRNE ...
Да, в 2313 точно есть.В tiny2313 и в tiny13 команды ADIW и SBIW работают
Да, в 2313 точно есть.В tiny2313 и в tiny13 команды ADIW и SBIW работают
Прошу пардону, ноploop писал(а):Можно и так. В а вообще делается так:
SUBI XL,-1
SBCI XH, -1
BRNE ...
Код: Выделить всё
SBCI XH, -1Просто в этом году ничего не писал на ассемблере. Это сложениезы я чёйто не понял про "-1"
GP1 писал(а):во, а то я уже подумал что по старости отстал от жизни и надо минус ставить
Да уж лучше один раз sreg про пуш-попить, чем каждый раз cli-sei ставитьGP1 писал(а):я бы ещё эти два оператора между cli...sei поместил, так на всякий случай, вдруг прерывание, вдруг sreg забыл про пуш-попить
Согласен, но в каждом обработчикеshads писал(а):Да уж лучше один раз sreg про пуш-попить
А зачем они , если всегда найдётся свободный таймер, только проц зря занимает. Ну на крайний случай , можно и прерывания посчитатьBOB51 писал(а):... мня...
а про "вложенные" счетчики народ похоже забыл Сивсем...![]()
Код: Выделить всё
...а у меня, как правило, их не вытает, хоть убейсяILYAUL писал(а): если всегда найдётся свободный таймер...
Код: Выделить всё
;
;X(i+1)= ( A*X(i) + B) mod 65536
;
;A= 77 (A mod 4= 1)
;B= 1 нечетное
;
;Спасибо большое за помощь! вот только один момент, допустим в h и L регистра число 10 000.shads писал(а):Вернее я делал так:
LDI XL,low(10000)
LDI XH,high(10000)
Y: ........ ; здесь делаем то что нужно в цикле
DEC XL
BRNE Y
DEC XH
BRNE Y
кстати любые можно регистры использовать, не только самые верхние.
R0 - вроде знаю - чтение из флэш..... а R1 - какое назначение? (или они вместе как регистровая пара имеют какоето назначение?)BOB51 писал(а):если уж так хочется дергать регистровую пару, так тягайте любую, кроме индексных (z,y,x) и r0-r1 - эти должны оставаться резервом для использования по назначению