Dobrý den,
Využívám u PICe přerušení s vysokou prioritou pro TMR3. Ovšem kompiler po provedení přerušení uklízí zbytečně moc registrů.(Hi-Tech 9.50 PRO)
5940 0009FA CFEA F03B movff fsr0h,??_interrupt_high+3
5941 0009FE CFE1 F03C movff fsr1l,??_interrupt_high+4
5942 000A02 CFE2 F03D movff fsr1h,??_interrupt_high+5
5943 000A06 CFD9 F03E movff fsr2l,??_interrupt_high+6
5944 000A0A CFDA F03F movff fsr2h,??_interrupt_high+7
5945 000A0E CFF3 F040 movff prodl,??_interrupt_high+8
5946 000A12 CFF4 F041 movff prodh,??_interrupt_high+9
5947 000A16 CFF6 F042 movff tblptrl,??_interrupt_high+10
5948 000A1A CFF7 F043 movff tblptrh,??_interrupt_high+11
5949 000A1E CFF8 F044 movff tblptru,??_interrupt_high+12
5950 000A22 CFF5 F045 movff tablat,??_interrupt_high+13
V obsluze přerušení s registry nepracuji, tudíš jejich schovávání je zbytečné. Úschova a obnova trvá dost dlouho. Rád bych si napsal komplet obsluhu přerušení v asm(cca 10 řádků). Celý den nad tím sedím a nedostal jsem se ke kloudným výsledkům.
a/dá se nějak v C podstrčit moje obsluha interuptu? (snad by to mělo jít přes PSECT???)
or
b/dá se v C vytvořit funkce, která má začátek v ram pevně daný
void MojeObsluhaHighInterrupt(void)@0x08
tohle ovšem nefunguje, přeloží to na RESET vektor 0x00
díky za případné nakopnutí Míra