forever:
rcall getc;
ldi zL,low(tab<<1);
ldi zH,high(tab<<1);
ldi temp,NN;
cycle:
lpm flag,z+;
cp flag,input;
breq jump;
adiw z,1;
dec temp;
brne cycle;
rjmp forever;
jump:
lpm adr1,z+;
lpm adr2,z;
mov ZL,adr1;
mov ZH,adr2;
icall;
rjmp forever;
tab: .DB 'c',clear,'r',reset
clear:
ret;
reset:
ret
В таблице сохраняются только млдш. байт адреса функций. А как правильно?