Come usare tanti Switch Case (o If) [Problemi memoria?]

m_ri:
dove le vedi le call?? :smiley: i case son delle jump,o se è furbo usa una jump table a va velocissimo..
lo so,sono un rompi****e che mette i puntini sulle i

La switch case viene codificata come una serie di chiamate a subroutine, una per ogni funzione invocata, e ovviamente sono delle call, i jump sono esclusivamente per la break che salta direttamente alla fine della switch.
Ovviamente di call ne viene eseguita solo una, ovvero quella della condizione valida, e occupa nello stack solo lo spazio riservato ad una singola chiamata a subroutine, però a livello di flash viene utilizzata una word (call) per ogni funzione inserita nella switch che va a pesare sull'impiego della memoria di programma, ma non sulla ram.
Da notare che la riga "case 0:TestRx= "U";break; " viene totalmente memorizzata nella flash, la "U" viene considerata come rom constant e posta direttamente nella flash senza necessità di usare progmem.