<div dir="ltr"><div>Na tom nie je co nerozumiet. Premenne a funkcie mate viditelne v ramci toho asm modulu a aby ich videl aj kod c pomocou extern, musite nieco pri tych, co ich chcete mat public, nastavit. Ale to si musite zase pozriet v manuali alebo sa inspirovat tym spomenutym startupom. Ja si to uz do detailov naozaj nepamatam.<br>
<br></div>A. <br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-30 21:28 GMT+02:00 Miroslav Draxal <span dir="ltr"><<a href="mailto:evik@volny.cz" target="_blank">evik@volny.cz</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div link="blue" vlink="purple" lang="CS"><div><p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Můžete trochu rozvést „</span>spojit asm a C... No skuste pouzivat nejake funkcie ci premenne a k tomu este viditelne v ostatnych moduloch... :)))<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> „<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Psect – taky moc tomu nehovím. V dokumentaci třeba vůbec není<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">#asm<u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:12.0pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">PSECT intcode<u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        GOTO    PROG_START+0x8<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">PSECT intcodelo<u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:12.0pt">
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        GOTO    PROG_START+0x18<u></u><u></u></span></p><p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">#endasm<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Používá se při přemapování přerušení při použití bootloaderu.  Na ten <a href="http://start.as" target="_blank">start.as</a> se kouknu.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><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"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Hw-list [mailto:<a href="mailto:hw-list-bounces@list.hw.cz" target="_blank">hw-list-bounces@list.hw.cz</a>] <b>On Behalf Of </b>Andrej Jancura<br>
<b>Sent:</b> Sunday, March 30, 2014 8:20 PM</span></p><div><div class="h5"><br><b>To:</b> HW-news<br><b>Subject:</b> Re: c: hi-tech 9,80, interrupt asm<u></u><u></u></div></div><p></p></div><div><div class="h5"><p class="MsoNormal">
<u></u> <u></u></p><div><div><div><div><p class="MsoNormal" style="margin-bottom:12.0pt">Dobry vecer,<u></u><u></u></p></div><p class="MsoNormal" style="margin-bottom:12.0pt">spojit asm a C... No skuste pouzivat nejake funkcie ci premenne a k tomu este viditelne v ostatnych moduloch... :)))<u></u><u></u></p>
</div><p class="MsoNormal" style="margin-bottom:12.0pt">Ta konstrukcia, ako to prelozit na adresu vektora prerusenia sa robi nejako cez psect. To je tiez jedna z veci, ktorej moc nerozumiem. Skuste si ale pozriet subor <a href="http://startup.as" target="_blank">startup.as</a>, ktory sa prilinkuje automaticky. Prekladac Vam ho vygeneruje automaticky cez nejake prepinace kompilatora. V tom <a href="http://startup.as" target="_blank">startup.as</a> mate nadefinovane aj tie interrupty a ostatne tips & trick's k tejto teme, aspon by tam mali byt. A potom si napiste svoj a prilinkujte.<u></u><u></u></p>
</div><p class="MsoNormal" style="margin-bottom:12.0pt">A.<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12.0pt"><u></u> <u></u></p><div><p class="MsoNormal">2014-03-30 19:24 GMT+02:00 Miroslav Draxal <<a href="mailto:evik@volny.cz" target="_blank">evik@volny.cz</a>>:<u></u><u></u></p>
<div><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Spojit asm s C není problém. Pokud chcete ptejte se. Problém je donutit překladač aby mi dovolil konstrukci</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Void MeInterrupt(void)@0x08</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">{</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Asm(“goto“_mojePreruseni“);</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">}</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">A přeložil to na tu adresu 0x08 a né na 0x00. Míra</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p>
<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"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Hw-list [mailto:<a href="mailto:hw-list-bounces@list.hw.cz" target="_blank">hw-list-bounces@list.hw.cz</a>] <b>On Behalf Of </b>Andrej Jancura<br>
<b>Sent:</b> Sunday, March 30, 2014 6:24 PM<br><b>To:</b> HW-news<br><b>Subject:</b> Re: c: hi-tech 9,80, interrupt asm</span><u></u><u></u></p></div><div><div><p class="MsoNormal"> <u></u><u></u></p><div><div><div><p class="MsoNormal" style="margin-bottom:12.0pt">
Dobry den,<u></u><u></u></p></div><p class="MsoNormal">s tymto Vasim problemom Vam moc neporadim. Skusal som spojit asm a c zdrojaky, ale nejako som to z toho manualu moc nepochopil, a rozchodit sa mi to nepodarilo. Tak som to nechal tak. Uplne by stacilo keby Microchip v tom manualy dal jednocuchy priklad, ako to urobit.<br>
<br>A.<u></u><u></u></p></div></div><div><p class="MsoNormal" style="margin-bottom:12.0pt"> <u></u><u></u></p><div><p class="MsoNormal">2014-03-29 20:49 GMT+01:00 Miroslav Draxal <<a href="mailto:evik@volny.cz" target="_blank">evik@volny.cz</a>>:<u></u><u></u></p>
<div><div><p class="MsoNormal">Dobrý den, založil jsem nové vlákno, ale má návaznost na předchozí vlákno.<u></u><u></u></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ů.<u></u><u></u></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><u></u><u></u></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><u></u><u></u></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><u></u><u></u></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><u></u><u></u></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><u></u><u></u></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><u></u><u></u></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><u></u><u></u></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><u></u><u></u></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><u></u><u></u></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><u></u><u></u></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><u></u><u></u></p><p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas"> </span><u></u><u></u></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><u></u><u></u></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas"> </span><u></u><u></u></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><u></u><u></u></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas">or</span><u></u><u></u></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><u></u><u></u></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas"> </span><u></u><u></u></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><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p></div></div><p class="MsoNormal" style="margin-bottom:12.0pt"><br>_______________________________________________<br>HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br><a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><u></u><u></u></p></div><p class="MsoNormal">
 <u></u><u></u></p></div></div></div></div></div><p class="MsoNormal" style="margin-bottom:12.0pt"><br>_______________________________________________<br>HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank">Hw-list@list.hw.cz</a><br><a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><u></u><u></u></p></div><p class="MsoNormal">
<u></u> <u></u></p></div></div></div></div></div><br>_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
<br></blockquote></div><br></div>