здеся 
        clr     mac_ll
        movw    mac_lm,r2
        movw    mac_hm,r2    ;очистка МАС
       
        ldi     zl,low(FIR_coeff_25*2)
        ldi     zh,high(FIR_coeff_25*2)  ;загрузка индекса коэффициентов
        ldi     temporary2,200     ;кол-во tap`s
FIR_loop:
        cpi     yl,low(circular_buffer) 1
        brne    test_by_load_pointer    2
        cpi     yh,high(circular_buffer)
        brne    test_by_load_pointer     ;проверка на выход за кольцевой  буффер выборок АЦП
        ldi     yl,low(circular_buffer+circular_buffer_depth) 1
        ldi     yh,high(circular_buffer+circular_buffer_depth) 1
           ; если вышли - становимся на начало
test_by_load_pointer:
        ld      sy_s_h,-y   ;берём выборку сигнала 2
        ld      sy_s_l,-y 2
        lpm     coff_s_h,z+  ;берём коэффициент фильтра 3
        lpm     coff_s_m,z+ 3
        lpm     coff_s_l,z+ 3
        adiw    zl,1       1  ;выравниваю индекс коэффициентов на границу 4 байт (можно выкинуть, если сделать массив коэфф. из 3-х байтных чисел)
        ;ld      temporary1,z+
        mul     coff_s_l,sy_s_l  ;signed 24x16 2
        movw    mres_0,r0 1
        mulsu   sy_s_h,coff_s_m 2
        movw    mres_2,r0 1
        muls    sy_s_h,coff_s_h 2
        add     mres_3,r0 1
        mul     coff_s_m,sy_s_l 2
        add     mres_1,r0 1
        adc     mres_2,r1 1
        adc     mres_3,zero_reg 1
        mulsu   sy_s_h,coff_s_l 2
        sbc     mres_3,zero_reg 1
        add     mres_1,r0 1
        adc     mres_2,r1 
        adc     mres_3,zero_reg 1
        mulsu   coff_s_h,sy_s_l 2
        add     mres_2,r0 1
        adc     mres_3,r1 1
adition_mac:
        add     mac_ll,mres_0 1  ;суммирование signed
        adc     mac_lm,mres_1 1
        adc     mac_mm,mres_2 1
        adc     mac_hm,mres_3 1 
        ldi     temporary1,0  1 ;sign propagate
        sbrc    mres_3,7 2
        ldi     temporary1,$ff
        adc     mac_hh,temporary1 1
        ;movw    r0,xl
        ;sub     r0,yl
        ;sbc     r1,yh
        ;or      r0,r1
        dec     temporary2 1
        brne    FIR_loop   2     ;цикл, если не уже ;О)
fir_exit: