<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-2"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:Helvetica;
panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.StylE-mailovZprvy17
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.StylE-mailovZprvy18
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body bgcolor=white lang=CS link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>Co používáte za překladač?<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Nějak mi nedochází "</span><span style='font-family:"Helvetica","sans-serif"'> goto 0x804 & 0x7FF</span><span style='color:#1F497D'>“k čemu je to dobré?<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>to je přesně ta konstrukce, kterou bych očekával, jenže hi-tech to vyhodí takhle.<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>:0 warning: segment "_vectors_text" (0-5) overlaps segment "reset_vec" (0-3)<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>l.obj: (1343) hexfile data at address 0x0 (0x56) overwritten with 0x80 (warning)<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>a po disis.. to vypadá takhle<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>1 0000 EF80 vectors GOTO 0x300<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>2 0002 F001 NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>3 0004 0012 RETURN 0<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>4 0006 FFFF NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>5 0008 FFFF NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>6 000A FFFF NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>7 000C FFFF NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>8 000E FFFF NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>9 0010 FFFF NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>10 0012 FFFF NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>11 0014 FFFF NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>12 0016 FFFF NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>13 0018 CFD8 interrupt_low MOVFF STATUS, 0x6B<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>14 001A F06B NOP<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>15 001C CFE8 MOVFF WREG, 0x6C<o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Prostě místo na adresu 0x08 to plácne na RESET vektor. <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext'> Hw-list [mailto:hw-list-bounces@list.hw.cz] <b>On Behalf Of </b>Hynek Sladky<br><b>Sent:</b> Monday, March 31, 2014 7:24 AM<br><b>To:</b> HW-news<br><b>Subject:</b> Re: c: hi-tech 9,80, interrupt asm<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-family:"Helvetica","sans-serif"'>Pro PIC16F182x pouzivam napr. tuto konstrukci:<br>static void vectors (void) @ 4 {<br>#asm<br> movlp 0x08<br> goto 0x804 & 0x7FF<br>#endasm<br>}<br><br>Ma to tak pouzite v aplikaci s bootloaderem pro premapovani interruptu. Treba to pujde pouzit i pro PIC18...<br><br><br>Hynek Sladky<br><br><br></span><o:p></o:p></p><div><p class=MsoNormal>Dne 29.3.2014 20:49, Miroslav Draxal napsal(a):<o:p></o:p></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><p class=MsoNormal>Dobrý den, založil jsem nové vlákno, ale má návaznost na předchozí vlákno.<o:p></o:p></p><p class=MsoNormal>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ů.<o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5940 0009FA CFEA F03B movff fsr0h,??_interrupt_high+3</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5941 0009FE CFE1 F03C movff fsr1l,??_interrupt_high+4</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5942 000A02 CFE2 F03D movff fsr1h,??_interrupt_high+5</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5943 000A06 CFD9 F03E movff fsr2l,??_interrupt_high+6</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5944 000A0A CFDA F03F movff fsr2h,??_interrupt_high+7</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5945 000A0E CFF3 F040 movff prodl,??_interrupt_high+8</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5946 000A12 CFF4 F041 movff prodh,??_interrupt_high+9</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5947 000A16 CFF6 F042 movff tblptrl,??_interrupt_high+10</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5948 000A1A CFF7 F043 movff tblptrh,??_interrupt_high+11</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5949 000A1E CFF8 F044 movff tblptru,??_interrupt_high+12</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> 5950 000A22 CFF5 F045 movff tablat,??_interrupt_high+13</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> </span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'>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.</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> </span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'>a/dá se nějak v C podstrčit moje obsluha interuptu? (snad by to mělo jít přes PSECT???)</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'>or</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'>b/dá se v C vytvořit funkce, která má začátek v ram pevně daný (uložit na 008h goto interruptME)</span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'> </span><o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'>díky za případné nakopnutí Míra</span><o:p></o:p></p></blockquote></div></body></html>