<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>