Аналогично, DEC кроме C не трогает T. Заменяем in r16,SREG
andi r16,0b11000010
sbr r16,1<<SREG_Z
mov RSREG,r16
Process_Inputs_Change_Cycle_0:
lpm r16,Z+
ld r17,-X
out SREG,RSREG
cpc r16,r17
in RSREG,SREG
dec CNT
brne Process_Inputs_Change_Cycle_0
out SREG,RSREG
breq Table_Inputs_Equal
На
clt; T == 1 - не равны
Process_Inputs_Change_Cycle_0:
lpm r16,Z+
ld r17,-X
cpse r16,r17
set
dec CNT
brne Process_Inputs_Change_Cycle_0
brtc Table_Inputs_Equal
После чего потихоньку начинают появляться основания писать на асме (ну кроме веры в то, что сам факт писания на асме сокращает и ускоряет код).
-
- о_О - mazur(01.03.2011 20:30)