<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=49&amp;t=5881&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-02-12T07:39:24+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=49&amp;t=5881&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-12T07:39:24+01:00</updated>
<published>2014-02-12T07:39:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=70039#p70039</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=70039#p70039"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=70039#p70039"><![CDATA[
STOS w asm nie jest używany tylko w przerwaniach to taka uwaga ogólna. Nawet bez przerwań a tylko do procedury wywoływanych za pomocą poleceń typu call - już na stos odkłada się adres powortu - podobnie jak przy przerwaniach - no ale to dzieje się akurat automatycznie - bez naszego udziału - i to jest PODSTAWOWA funkcja stosu<br /><br />poza tym - jeszcze sami musimy zadbać o przechowanie na stosie tych rejestrów, których używamy w funkcji albo w przerwaniu a które wcześniej w programie głównym używaliśmy do czegoś innego .... to chyba zrozumiałe i wygląda na to że to czujesz  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ... a jeśli masz rejestr z wartością którą chcesz modyfikować w przerwaniu to oczywiście że nie musisz przechowywać jego kopii na stosie tzn możesz ale nie musisz - wszystko zależy od kontekstu programu i potrzeb. Bo jeśli np z jakiejś okazji ... czasem jego wartość musi być zmodyfikowana ale też czasem wystąpi jakiś warunek, że jednak przy zakończeniu trzeba odzyskać wartość z przed modyfikacji no to przyda się odłożenie na stosie - prawda ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ale jeśli na pewno się nie przyda - to nie musisz odkładać na stosie <br /><br /><div class="quotetitle">fullmoonguy napisał(a):</div><div class="quotecontent"><br />PS: czy ten cały stos jest jakoś powiązany z specyfikatorem 'volatile' z języka C ?<br /></div><br /><br />Nie ma NIC wspólnego - volatile w C odpowiedzialne jest za całkowicie coś innego a mianowicie za wyłączenie optymalizacji dostępu do danych w pamięci RAM. Jeśli jest volatile to nigdy nie dojdzie do sytuacji że kompilator wpakuje sobie taką wartość z RAM do jakiegoś rejestru i dalej już będzie działał TYLKO na wartości w rejestrze - bo akurat tak mu wygodnie i tak często można zrobić dzięki czemu optymalizujemy szybkość działań ....<br /><br />ale jeśli damy volatile to wtedy dostęp do komórki(-ek) pamięci będzie zawsze odbywał się na żmudnej zasadzie<br /><br />- pobierz do rejestru daną z RAM<br />- wykonaj na niej operację<br />- włóż ponownie do RAM zmodyfikowaną zmienną<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 lut 2014, o 07:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fullmoonguy]]></name></author>
<updated>2014-02-12T02:23:00+01:00</updated>
<published>2014-02-12T02:23:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=70033#p70033</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=70033#p70033"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=70033#p70033"><![CDATA[
Mam nadzieje, że nikt się nie obrazi jak swoje problemy odnośnie ASM będe opisywał w tym wątku a nie tworzył nowych.<br /><br />Otóż mam problem ze zrozumieniem pewnego zagadnienia ....<br /><br />STOS w przerwaniach <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />Coś co w C problemem nie było bo programista się tym bezpośrednio nie zajmował. Chciałbym wiedzieć po co się w ogóle cokolwiek odkłada na stos ? Znalazłem informację że jest to kolejka LIFO i zrozumiałem jego działanie, jednak nadal nie wiem po co się go stosuje. Niby odkłada się 'coś' na stos by zapamiętać jego wartość i po wejściu w przerwanie zachować wartość rejestrów, którymi operowaliśmy w pętli głównej (nie stracić ich zawartości). Jednak co wtedy kiedy ja chcę celowo korzystać powiedzmy z rejestru r18 a potem w przerwaniu (np timera) inkrementować jego wartość. Czy wtedy konieczne jest odkładanie tego rejestru w prologu przerwania na stos ?<br /><br />Być może powyższy wywód jest całkowicie błędny dlatego proszę o odniesienie się do niego i wytłumaczenie (nawet skrótowo) kiedy coś (i co <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> ) powinienem odkładać na stos i zdejmować (bo jak to się robi to ja wiem -&gt; najpierw push'e i potem w odwrotnej kolejności popy).<br /><br />PS: czy ten cały stos jest jakoś powiązany z specyfikatorem 'volatile' z języka C ?<br /><br />--<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1039">fullmoonguy</a> — 12 lut 2014, o 02:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq7gdu]]></name></author>
<updated>2014-02-09T19:17:41+01:00</updated>
<published>2014-02-09T19:17:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69509#p69509</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69509#p69509"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69509#p69509"><![CDATA[
Próbowałem, ale się nie udało. A kolega Różowy J  jest  nie elegancki i arogancki. <br />Wypisuje się z tego forum.<br /><br />Andrzej SQ7GDU<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2533">sq7gdu</a> — 9 lut 2014, o 19:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2014-02-09T13:49:37+01:00</updated>
<published>2014-02-09T13:49:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69440#p69440</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69440#p69440"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69440#p69440"><![CDATA[
<div class="quotetitle"><a href="http://msoe.us/taylor/tutorial/ce2810/candasm"  class="postlink">http://msoe.us/taylor/tutorial/ce2810/candasm</a> napisał(a):</div><div class="quotecontent"><br />#define _SFR_ASM_COMPAT 1  /* Not sure when/if this is needed */<br /></div><br /><br />Zaiste, rozbrajające <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 9 lut 2014, o 13:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq7gdu]]></name></author>
<updated>2014-02-09T12:22:37+01:00</updated>
<published>2014-02-09T12:22:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69417#p69417</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69417#p69417"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69417#p69417"><![CDATA[
Funkcje wywołuje się tak jak C++. Nazwa funkcji może być pisana zarówno<br />małymi jak i dużymi literami.<br />[syntax=c]/*<br /> * main.c<br /> *Proba ASM<br /> *  Created on: 21-01-2014<br /> *      Author: SQ7GDU<br /> */<br /><br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />#define LED (1&lt;&lt;PB3)<br />#define ZMIANA PORTB ^= LED<br /><br /><br /><br />extern void LED_WYL(void);//deklaracja funkcji w asm<br />extern void LED_WL(void);//deklaracja funkcji w asm<br /><br />int main(void){<br /><br />DDRB |= LED;//Ustawienie kierunku PORTB<br />PORTB = 0;//Wszystkie wyjcia PORTB na 0<br /><br /><br />_delay_ms(1000);<br />LED_WYL();//Wywołanie funkcji w asm<br />_delay_ms(1000);<br />LED_WL();//Wywołanie funkcji w asm<br />_delay_ms(1000);<br /><br />while(1){<br /><br /><br /><br /><br />}<br />}[/syntax]<br /><br />Plik Asm.s<br />[syntax=asm]/*<br /> * Asm.S<br /> *<br /> *  Created on: 28-01-2014<br /> *      Author: SQ7GDU<br /> */<br /><br /># define __SFR_OFFSET 0// to musi być<br />#include &lt;avr/io.h&gt;<br /><br /><br />.section .text<br /><br /> .global LED_WYL//Funkcja LED_WYL<br /> .func LED_WYL<br /><br /> LED_WYL:<br /> ldi r24, 255//Do rejestru r24 same jedynki<br /> out PORTB, r24<br /> ret<br /> .endfunc<br /><br />//****************************************************<br /><br /> .global LED_WL<br /> .func LED_WL<br /><br /><br /><br /> LED_WL:<br /> ldi r24, 0//Do rejestru r24 same zera<br /> out PORTB, r24<br /> ret<br /> .endfunc[/syntax]<br /><br />Wszystko jest opisane na <!-- m --><a class="postlink" href="http://msoe.us/taylor/tutorial/ce2810/candasm" >http://msoe.us/taylor/tutorial/ce2810/candasm</a><!-- m --><br />Jest tam opisany sposób przekazywania parametrów.<br /><span style="color: #FF0000"><br />Widzę że nie trafia do ciebie zalecenie używania syntax - Różowy J.</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2533">sq7gdu</a> — 9 lut 2014, o 12:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xor]]></name></author>
<updated>2014-02-09T12:07:59+01:00</updated>
<published>2014-02-09T12:07:59+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69411#p69411</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69411#p69411"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69411#p69411"><![CDATA[
Z asm nie mam dużego doświadczenia (jakieś dwa tygodnie <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";-)" title="Puszcza oko" /> ), ale to co udało mi się ustalić:<br /><br /><div class="quotetitle">PKoz napisał(a):</div><div class="quotecontent"><br />Może wiesz coś więcej o adresie PORTB, bo mnie zaintrygowało i mimo poszukiwań nie znalazłem odpowiedzi dlaczego adres PORTB jest czasami podawany w postaci 0x18 (0x38)?<br /></div><br /><br />Co nieco na ten temat jest tutaj: <a href="http://nongnu.org/avr-libc/user-manual/group__avr__sfr__notes.html"  class="postlink">http://nongnu.org/avr-libc/user-manual/group__avr__sfr__notes.html</a>. Ja to rozumiem tak, że trzeba adres rejestru pomniejszyć o 0x20 jeśli chce się korzystać z instrukcji IN/OUT. Jeśli do tych rejestrów czyta/pisze się instrukcjami LDS/STS nie jest to konieczne. IN/OUT są szybsze, trwają tylko jeden takt, ale zaadresować  można tylko adresy &lt;=31.<br /><br /><div class="quotetitle">PKoz napisał(a):</div><div class="quotecontent"><br />Gdzie jest wywoływana funkcja LED_WYL i dlaczego pisana jest dużymi literami - czy wielkość liter ma znaczenie?<br /></div><br /><br />Zdaje się, że wielkość liter w gas jest bez znaczenia.<br /><br /><div class="quotetitle">PKoz napisał(a):</div><div class="quotecontent"><br />Bo w języku C dyrektywa zaczyna się od znaku # (#include), a w asm od kropki (.global). U ciebie w jednym pliku są oba typy dyrektyw.<br /></div><br /><br />W plikach .S (duże S) można stosować obie konwencje preprocesora. Prep. C jest, mam wrażenie, ogólnie wygodniejszy, ale asmowy też sie przydaje np. przy definiowaniu makr. <br />Są jeszcze pliki .s (małe s), w których, zdaje się preprocesor C-owy nie działa. To mój domysł wywnioskowany z tego jak gcc wywołuje gas (są dwie opcje &quot;assembler&quot; i &quot;assembler-with-preprocessor&quot;), nie wiem czy prawidłowy. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1774">xor</a> — 9 lut 2014, o 12:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2014-02-08T17:15:05+01:00</updated>
<published>2014-02-08T17:15:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69290#p69290</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69290#p69290"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69290#p69290"><![CDATA[
<div class="quotetitle">fullmoonguy napisał(a):</div><div class="quotecontent"><br />@ sq7gdu<br /><br />Kurczę, zamiast pliku *.c wstawiłeś i *.s ? I to działa ? To chyba nie jest czysty asm tylko wstawka, czy mam rację ?<br /></div><br /><br />Rzeczywiście to jest jedna z metod pisania wstawek hmm w zasadzie całych plików zawierających nawet wiele funkcji w asm. Czyli niejako wstawki ... Nie daje to możliwości tak wprost napisania kodu od początku do końca w asm.<br /><br />Sam się zastanawiam czy jest jakiś dodatek do Eclipse aby pisać w asemblerze ? Ja nie znam takiego - no ale to nie znaczy że go nie ma <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 8 lut 2014, o 17:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fullmoonguy]]></name></author>
<updated>2014-02-08T15:11:02+01:00</updated>
<published>2014-02-08T15:11:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69268#p69268</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69268#p69268"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69268#p69268"><![CDATA[
@ sq7gdu<br /><br />Kurczę, zamiast pliku *.c wstawiłeś i *.s ? I to działa ? To chyba nie jest czysty asm tylko wstawka, czy mam rację ?<br /><br />@ phill2k<br /><br />Dzięki, widziałem ten kurs ale nie wiedziałem czy jest dobry. Musze się z nim zaznajomić <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1039">fullmoonguy</a> — 8 lut 2014, o 15:11</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[phill2k]]></name></author>
<updated>2014-02-08T14:38:39+01:00</updated>
<published>2014-02-08T14:38:39+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69264#p69264</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69264#p69264"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69264#p69264"><![CDATA[
<div class="quotetitle">fullmoonguy napisał(a):</div><div class="quotecontent"><br />Proszę was o wyjaśnienie kwestii ASM w Eclipse oraz podanie jakiś linków do kompletnych kursów ASM dla AVR<br /></div><br /><br />Proszę, bardzo dobry kurs,  - <a href="http://www.avr-asm-tutorial.net/avr_en/beginner/index.html"  class="postlink">Beginners Programming in AVR Assembler</a><br /><br />Nie spotkałem się dotąd z pluginem do Eclipsea który pozwala pisać i kompilować kod w czystym AVR ASM, możesz użyć AVR plugin do Eclipse i pisać wstawki w ASM do C albo spróbować wykorzystać jakiś alternatywny Edytor do AVR asm  np. <a href="http://www.edaboard.com/thread236888.html"  class="postlink">qMicroIDE</a> lub podobny - zapewne coś znajdziesz w Necie co Ci będzie odpowiadało  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=75">phill2k</a> — 8 lut 2014, o 14:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[sq7gdu]]></name></author>
<updated>2014-02-08T09:06:28+01:00</updated>
<published>2014-02-08T09:06:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69193#p69193</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69193#p69193"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69193#p69193"><![CDATA[
Postanowiłem sprawdzić, jak Eclipse radzi sobie z Assemblerem.<br />Napisałem funkcje w Asm wystawiającą na porcie B jedynki.<br /><br /><br />[syntax=asm]/*<br /> * Asm.S<br /> *<br /> *  Created on: 28-01-2014<br /> *      Author: SQ7GDU<br /> */<br /><br /><br />#include &lt;avr/io.h&gt;<br /><br /><br /><br /> .global LED_WYL<br /> .func LED_WYL<br /><br /> LED_WYL:<br /> out PORTB, r24<br /> ldi r24, 'B'<br /> ret<br /> .endfunc[/syntax]<br /><br />Proste, ale nie działało. Po przejrzeniu pliku .lls okazało się, że PORTB ma adres 0x38,<br />zamiast 0x18. Oczywiście po wpisaniu out 0x18 było OK. Ale mnie to zaintrygowało i<br />zacząłem poszukiwania w sieci. Trochę to trwało, zanim znalazłem to:<br /><br /><!-- m --><a class="postlink" href="http://msoe.us/taylor/tutorial/ce2810/candasm" >http://msoe.us/taylor/tutorial/ce2810/candasm</a><!-- m --><br /><br />Tam się dowiedziałem, że trzeba wpisać definicję:<br /># define __SFR_OFFSET 0<br /><br />Teraz funkcja wygląda tak:<br />[syntax=asm]/*<br /> * Asm.S<br /> *<br /> *  Created on: 28-01-2014<br /> *      Author: SQ7GDU<br /> */<br /><br /># define __SFR_OFFSET 0<br />#include &lt;avr/io.h&gt;<br /><br /><br /> .global LED_WYL<br /> .func LED_WYL<br /><br /> LED_WYL:<br /> out PORTB, r24<br /> ldi r24, 'B'<br /> ret<br /> .endfunc[/syntax]<br /><br />I już wszystko jest OK!<br /><br />Jest tam wiele cennych informacji, polecam<br /><br /><span style="color: #FF0000">A możeby łaska używać opcji syntax przy publikowaniu kodu??? Różowy J.</span><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2533">sq7gdu</a> — 8 lut 2014, o 09:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fullmoonguy]]></name></author>
<updated>2014-02-08T03:33:03+01:00</updated>
<published>2014-02-08T03:33:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69179#p69179</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69179#p69179"/>
<title type="html"><![CDATA[Re: Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69179#p69179"><![CDATA[
Ale to nie jest odpowiedź na moje pytania  <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1039">fullmoonguy</a> — 8 lut 2014, o 03:33</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[fullmoonguy]]></name></author>
<updated>2014-02-08T02:47:56+01:00</updated>
<published>2014-02-08T02:47:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69177#p69177</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69177#p69177"/>
<title type="html"><![CDATA[Asembler w Eclipse i dobre źródła do nauki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5881&amp;p=69177#p69177"><![CDATA[
Witam wszystkich,<br /><br />Ostatnio postanowiłem się pobawić asemblerem (ot tak dla sportu, rozrywki i poszerzenia wiedzy). Podjąłem już pierwsze próby (miganie, przerwania zew, timery), jednak najbardziej denerwuje mnie że muszę pisać w AVR Studio którego nie lubię. Domyślam się że ktoś z was pisze w czystym asemblerze, ale .... czy w Eclipse ? Mam skonfigurowane to środowisko do AVR, C, C++. Fajnie byłoby jakbym mógł także zrobić sobie jakiś workspace dla ASM. Wiecie jak ? (używam jeszcze starego Eclipse'a Indigo)<br /><br />Druga sprawa to źródła do nauki asm. W sumie to do tej pory wystarczało AVR Instruction Set - bardzo dobry dokument, oraz kody zamieszczane przez użytkowników elektrody. Niestety do innych spraw (jak chociażby &quot;ujarzmienie stosu&quot; itp. trudnych rzeczy) potrzebna jest jakaś wiedza - i nie wiem gdzie jej szukać <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> . W literaturze którą przeglądałem dot. mikrokontrolerów autorzy o asemblerze tylko wspominają a potem kontynuują wyjaśnianie C. <br /><br />Piszę programy w ASM - jednak ze względu na to że nie natrafiłem na dobre źródło wiedzy do nauki, nie jestem pewien czy prawidłowo obsługuje np rejestry i GPIO.<br /><br />Proszę was o wyjaśnienie kwestii ASM w Eclipse oraz podanie jakiś linków do kompletnych kursów ASM dla AVR <br /><br />Pozdrawiam<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1039">fullmoonguy</a> — 8 lut 2014, o 02:47</p><hr />
]]></content>
</entry>
</feed>