Lila, я написал примерно код, но он не работает ;**************************************** .include "m16def.inc" .def TMP_0 = r16 ; .def TMP_1 = r17 ; ;*********************************************** .cseg .org $000 rjmp Reset ; .org 0x0029 ; метка Reset за пределами векторов прерываний. Reset: ldi TMP_1,$FF ; PortC на out DDRC,TMP_1 ; выход. ldi TMP_0,low(RAMEND) ; указание ldi TMP_1,high(RAMEND) ; out SPL,TMP_0 ; out SPH,TMP_1 ; вершины стека. in TMP_0,PortA ; читаем PortA. andi TMP_0,0b11100000 ; маска. lsr TMP_0 ; сдвиг вправо на 1разряд. swap TMP_0 ; перестановка тетрад. in TMP_1,PortA ; читаем PortA. andi TMP_1,0b00011100 ; маска. lsr TMP_1 ; сдвиг вправо на 1разряд. lsr TMP_1 ; сдвиг вправо на 1разряд. mul TMP_0,TMP_1 ; сдвиг вправо на 1разряд. out PortC,r0 ; вывод результата