Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 19 kwi 2025, o 10:36


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 33 ]  Przejdź na stronę 1, 2  Następna strona
    Autor Wiadomość
    PostNapisane: 8 kwi 2014, o 14:11 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    zapraszam:

    Obrazek

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 14:20 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 gru 2012
    Posty: 729
    Lokalizacja: Białystok
    Pomógł: 12

    Juuuuuuuż??? Ja jeszcze pierwszej części nie zacząłem :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 14:21 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    LogTeam napisał(a):
    Juuuuuuuż???


    :lol: zrobiłem to podstępnie i "znienacka" :lol:

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 14:56 
    Offline
    Użytkownik

    Dołączył(a): 19 gru 2012
    Posty: 712
    Lokalizacja: Opole
    Pomógł: 23

    No Mirku spadłeś z nieba mi. Tak mi się nie chciało pisać dzisiaj pracy inż a teraz mam wymówkę :D :D

    I Pamiętajcie najważniejsze są priorytety :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 15:00 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 sty 2014
    Posty: 447
    Lokalizacja: DKL
    Pomógł: 53

    @Wilu88, no ba! Są rzeczy ważne i ważniejsze ;)

    _________________
    Migracja z punktu B do punktu C
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 15:16 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3228
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    Wilu88 napisał(a):
    Tak mi się nie chciało pisać dzisiaj pracy inż a teraz mam wymówkę


    Tak, żeby chociaż chciano honorować wytłumaczenia: "Nie mogłem bo oglądałem Kardasia"...

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 16:14 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 gru 2012
    Posty: 729
    Lokalizacja: Białystok
    Pomógł: 12

    mirekk36 napisał(a):
    LogTeam napisał(a):
    Juuuuuuuż???


    :lol: zrobiłem to podstępnie i "znienacka" :lol:

    ... następnym razem nas ostrzegaj, żeby nie było takiego zdziwienia :P
    Nie no, ale fajnie fajnie ;) Dziś postaram się nadrobić zaległości :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 17:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 lis 2011
    Posty: 582
    Lokalizacja: okolice Wrocławia :)
    Pomógł: 24

    ja już wymiękam..... znowu jakieś procenty....

    %1 %0.... %2 :lol:

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 17:19 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    Sonix napisał(a):
    ja już wymiękam..... znowu jakieś procenty....

    %1 %0.... %2 :lol:


    Obejrzyj do końca - bo najpierw dla porównania pokazałem koci sposób z procentami :lol: (chociaż czy zawsze te procenty są takie złe ? ... np fajnie jak jest parę procent w soku jabłkowym :lol: )

    a dalej pokażę jak bez procentów :lol: sobie radzić

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 17:31 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 25 maja 2012
    Posty: 296
    Lokalizacja: Chebzie Dolne
    Zbananowany użytkownik

    Pomógł: 6

    haha Mirku z tym "SRAM" to mało ze stołka nie spadłem :)

    _________________
    Inspekcja TV kanalizacji
    Programowanie



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 17:41 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    developer85 napisał(a):
    haha Mirku z tym "SRAM" to mało ze stołka nie spadłem :)


    hahaha ja też ;) dlatego się hmm poprawiłem :lol:

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 18:01 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 lip 2013
    Posty: 420
    Lokalizacja: Kraków
    Pomógł: 17

    Jejku język C w porównaniu do assembler jest prościutki.. assembler to magia ;)

    _________________
    GreenBook i BlueBook



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 18:06 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 lis 2011
    Posty: 582
    Lokalizacja: okolice Wrocławia :)
    Pomógł: 24

    mirekk36 napisał(a):
    Sonix napisał(a):
    ja już wymiękam..... znowu jakieś procenty....

    %1 %0.... %2 :lol:


    Obejrzyj do końca - bo najpierw dla porównania pokazałem koci sposób z procentami :lol: (chociaż czy zawsze te procenty są takie złe ? ... np fajnie jak jest parę procent w soku jabłkowym :lol: )

    a dalej pokażę jak bez procentów :lol: sobie radzić



    aaaaaa tam... co za różnica.... :lol: :lol: :lol: :lol:

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 21:29 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2013
    Posty: 647
    Zbananowany użytkownik

    Pomógł: 101

    Jak pierwszy raz tknąłem wstawek asemblerowych (miesiąc czy dwa temu), za diabła nie mogłem zrozumieć zasad definiowania i używania operandów. Znacznie łatwiej było wpisać tę wstawkę w plik .S. No ale z tym poradnikiem jakieś światełko w tunelu się pojawiło :-)

    Przy okazji: wspomniane w poradniku opcje -ffunction-sections i -fdata-sections - w pluginie 2.4.1 są już klikalne:

    Obrazek

    ...połowicznie niestety, bo -Wl,--gc-sections wciąż trzeba wpisywać z palucha.

    _________________
    +++++[>++++<-]>[>++++++<-]>.---------.+++.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 22:04 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    xor napisał(a):
    Przy okazji: wspomniane w poradniku opcje -ffunction-sections i -fdata-sections - w pluginie 2.4.1 są już klikalne:


    no dokładnie ale nie w całości a w opcjach linkera chyba w ogóle nie ma ...

    Jak obejrzysz i dotrwasz do końca to daj znać czy cokolwiek przydał się ten poradnik ... bo widzę, że jednak będzie chyba bardzo wąskie grono odbiorców takich poradników - a nie wiem czy udało mi się cokolwiek jakoś przekazać żeby było przydatne - czy tylko się naględziłem ? .... no nie zawsze musi mi się wszystko udać - zdaję sobie z tego sprawę

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 22:14 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 mar 2013
    Posty: 739
    Lokalizacja: Poznań
    Pomógł: 84

    Ja myślę że poradnik jest przydatny może na razie
    jeszcze tego nie wykorzystuje (wstawek) ale jak
    Mirku zaczniesz znowu poradnik o MagicLedach
    to na pewno nie jedna osoba sobie szybko przypomni
    o poradniku ze wstawkami asemblerowymi.
    Ja jeszcze za mało umiem działać w "C" żeby potrzebować wstawki ale kto wie
    może pewnego razu :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 22:39 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    mam za to nadzieję - że przynajmniej po tym poradniku, dla tych osób dla których na razie asembler to jeszcze czarna magia - będzie już mocno inaczej gdy kolejnym razem spotkają się z jakimś kodem ze wstawkami ... wtedy się okaże - że O! ... coś już tu kojarzę ;) coś już wiem .... zaczyna mi coś świtać

    a później jakoś samo pójdzie

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 22:46 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 sty 2014
    Posty: 447
    Lokalizacja: DKL
    Pomógł: 53

    Mirku, ostatnio oglądałem thriller pt. AVR - wskaźniki, struktury w 4 częściach, niezła porcja wiedzy, aż czacha paruje ;). Tutejsze wstawki asm wydaja się być przy tym dość proste do opanowania, a co ważne pokazałeś jak i gdzie można ich używać, gdzie szukać wiedzy, jak się tego uczyć. To jak dla mnie, totalnego amatora w zakresie asemblera duża pomoc i mega światło w tunelu. Poza tym dodatkowe opcje dotyczące optymalizacji kodu w kompilatorze, tez bardzo przydatne.

    Generalnie kolejny raz bardzo dziękuje za przekazaną wiedzę i jestem wdzięczny za tworzenie takich poradników.

    _________________
    Migracja z punktu B do punktu C
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 kwi 2014, o 23:01 
    Offline
    Nowy

    Dołączył(a): 29 mar 2014
    Posty: 6
    Pomógł: 0

    Panie Mirku jestem Panu naprawdę wdzięczny za kursy wideo. Mimo ,że bawiłem się trochę w Bascomie
    i miałem jakieś drobne efekty , to muszę przyznać że dużo wiedzy brałem z Pana projekcji wideo, a teraz kupiłem blue booka i uczę sie C. Przekazuje Pan wszystko w taki jasny i prosty i sposób,że aż nie mogę sie doczekać następnego odcinka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 kwi 2014, o 08:37 
    Offline
    Użytkownik

    Dołączył(a): 25 sty 2014
    Posty: 185
    Lokalizacja: Działoszyn
    Zbananowany użytkownik

    Pomógł: 8

    dokumentacja dla atmel gcc jest w C:\Program Files (x86)\Atmel\AVR Tools\AVR Toolchain\doc\avr-libc

    poradnik video bardzo dobry ;) o nie których rzeczach nie wiedziałem



    a tu jest pare podpowiedzi jak zmniejszyc o pare bajtów kod
    http://www.tty1.net/blog/2008/avr-gcc-o ... ns_en.html



    Ostatnio edytowano 9 kwi 2014, o 08:49 przez karolek, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 kwi 2014, o 08:39 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    karolek napisał(a):
    dokumentacja dla atmel gcc jest w C:\Program Files (x86)\Atmel\AVR Tools\AVR Toolchain\doc\avr-libc


    a no rzeczywiście - dzięki za przypomnienie ścieżki ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 kwi 2014, o 19:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 10 sty 2014
    Posty: 447
    Lokalizacja: DKL
    Pomógł: 53

    Chyba znów nikt zadania domowego nie odrobił :)

    Stworzyłem taką funkcję do rolowania w prawo:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Jej odpowiednik z użyciem wstawki ASM:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Kod wynikowy funkcji po kompilacji:
    Składnia: [ Pobierz ] [ Ukryj ]
    język asm
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Wszystko działa prawidłowo, teraz użyłem instrukcji lsr (przesuwania bitów w prawo) i kompilatror nic w tym wypadku jak widać nie ruszył.

    Mirku, na filmiku wspomniałeś, że przy próbie budowy funkcji mk_roll_right(), należy zastąpić lsl na ror lub lor (jeśli dobrze usłyszałem), ale takiej instrukcji nie znalazłem w tabelce, dlatego zaproponowałem taki jak wyżej sposób :)

    _________________
    Migracja z punktu B do punktu C
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 10 kwi 2014, o 19:31 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    matw napisał(a):
    Mirku, na filmiku wspomniałeś, że przy próbie budowy funkcji mk_roll_right(), należy zastąpić lsl na ror lub lor (jeśli dobrze usłyszałem), ale takiej instrukcji nie znalazłem w tabelce, dlatego zaproponowałem taki jak wyżej sposób


    no bo jak się robiło w takich asemblerach tzn procesorów jak:

    Z80
    8051
    8086
    PIC

    i ostatnio AVR

    to myślisz że nie można się pomylić ;)

    pewnie w którymś z powyższych asemblerów było ror i dlatego to mi przyszło na język ;) ale przecież tabelka do której się odnosiłem pokazuje wyraźnie jaki jest ten rozkaz w AVR ;)

    -----------------------------------------------------------------------

    przede wszystkim to BRAWO !!! za odrobienie zadania domowego - SUPER! ... a już mnie ludzie w mailu pytają ... teraz mogę tylko podać linka do forum z rozwiązaną pracą domową przez jednego z szanownych widzów

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2014, o 22:19 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Witam,

    Napisałem to samo Mirkowi na blogu, ale tutaj chyba jest lepsze miejsce.

    Powód dlaczego w poradniku w czasie analizy programu w asemblerze zamiast lsl widzimy add ma proste, a wręcz banalne, wytłumaczenie. Cytując naszego klasyka "wystarczy zajrzeć do odpowiedniego pdf-a" :lol:
    8 bitowe AVRy nie mają rozkazów LSL, ROL, CLR, TST, SBR, CBR i większości rozgałęzień (branchów) podawanych w dokumentacjach procesora. Tak na prawdę rozkaz asemblerowy "LSL Rd" jest bitowo dokładnie tym samym kodem (opcode) co rozkaz "ADD Rd, Rd".
    Dla "LSL Rd" opcode wygląda następująco:
      0000 11 d4 d4 d3 d2 d1 d0 d3 d2 d1 d0

    a dla "ADD Rd, Rr" mamy opcode:
      0000 11 r4 d4 d3 d2 d1 d0 r3 r2 r1 r0

    więc jak Rr będzie równe Rd, to opcode będą identyczne.
    Tak samo z rozkazami "ROL Rd" który jest zgodny z "ADC Rd, Rd" oraz innymi pozostałymi parami.
    AVRy to procesory RISC (Reduced Instruction Set Computers), więc z założenia mają mało instrukcji a dzięki sztuczce "marketingowej" użytkownik dostaje dodatkowe rozkazy w asemblerze (także dzięki temu nie musi się skupiać na podstawach matematyki i pamiętać że ADD Rd, Rr przy Rr = Rd to jest LSL Rd a może zająć się programowaniem).

    I dlatego deasemblerowany kod zawiera podstawowe znaczenie danego opcode (bo przecież skąd deasembler ma widzieć jakiego mnemonika chciał autor użyć).

    Poniżej komplet "sztucznych" instrukcji:
      SBR Rd,K -> ORI Rd, K
      CBR Rd,($FF - K) -> ANDI Rd, K
      TST Rd -> AND Rd, Rd
      CLR Rd -> EOR Rd, Rd
      LSL Rd -> ADD Rd, Rd
      ROL Rd -> ADC Rd, Rd
      wszystkie instrukcje rozgałęzień (branch) -> BRBS, BRBC


    Wszystko to można znaleźć (sprawdzić) w Atmelowym pdfie http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf

    --
    Pozdrawiam,
    Robert

    ------------------------ [ Dodano po: 50 minutach ]

    mirekk36 napisał(a):
    no bo jak się robiło w takich asemblerach tzn procesorów jak:

    Z80
    8051
    8086
    PIC

    i ostatnio AVR


    Nie mów tylko, że ominąłeś asembler na najlepszym procesorze wszech czasów - 6502, używanym w 8-bitowym Atari :evil:

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 kwi 2014, o 07:56 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    rskup napisał(a):
    Nie mów tylko, że ominąłeś asembler na najlepszym procesorze wszech czasów - 6502, używanym w 8-bitowym Atari


    No właśnie motorolek nigdy nie miałem okazji dotknąć .... a słyszałem że są pod względem asemblerka smakowite że tak powiem ;)

    a tak przy okazji (na blogu już tobie odpowiedziałem) ale i tu podziękuję za TAKIE fajne doprecyzowanie tematu .... miło jest działać z takimi ludźmi co lubią dzielić się wiedzą

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 kwi 2014, o 12:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 maja 2013
    Posty: 568
    Zbananowany użytkownik

    Pomógł: 31

    Akurat nie znam Assembly dla AVR spojrzałem komendy i mogę zaproponować takie uproszczenie:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Nie wiem czy zadziała, nie mam za bardzo czasu to sprawdzić, jak ktoś ma układ uruchomiony to niech sprawdzi i da znać.

    _________________
    Und schreien

    Spring
    Erlöse mich
    Spring
    ...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 kwi 2014, o 06:39 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 30 kwi 2013
    Posty: 105
    Lokalizacja: Warszawa
    Pomógł: 0

    Panie Mirku,

    Ja mam taką małą sugestię co do tego poradnika. To tylko tak z mojego punktu widzenia. Poradnik na pewno SUPER. Może warto wskazać w jakich sytuacjach, przypadkach powinno się używać wstawek asemblerowych. Wiem, że jeden z przykładów gdzie trzeba ich użyć to diody rgb WS... Ale może jeszcze jakieś inne przypadki gdzie powinniśmy myśleć o zastosowaniu wstawek.

    Pozdrawiam

    _________________
    Mój Serwer AVR - http://msavr.besaba.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 13 kwi 2014, o 07:58 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    step_m napisał(a):
    Może warto wskazać w jakich sytuacjach, przypadkach powinno się używać wstawek asemblerowych. Wiem, że jeden z przykładów gdzie trzeba ich użyć to diody rgb WS... Ale może jeszcze jakieś inne przypadki gdzie powinniśmy myśleć o zastosowaniu wstawek.


    Ja generalnie mam taką zasadę, że im mniej wstawek asm tym lepiej .... nie po to korzystam z dobrodziejstw C aby wracać do ASM ;) .... dlatego wstawki asm - TYLKO tam, gdzie to niezbędne i konieczne bo inaczej się nie da .... dlatego nie widzę wielu takich sytuacji ...

    Dlatego ciężko byłoby mówić tzn podawać przykłady zastosowań ... trzeba byłoby brać dość trudne przypadki i je rozważać ... ale to już jakby rozważania na caaaałkiem oddzielny temat ew poradnik ;) .... może kiedyś

    Zauważ że w Greenbook'u przerobiłem specjalnie odtwarzacz WAV autorstwa elm-chan, który miał wstawki asm .... na czysty kod w 100% w C ;) dało się ? dało .... ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 kwi 2014, o 12:53 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 30 kwi 2013
    Posty: 105
    Lokalizacja: Warszawa
    Pomógł: 0

    Witam ponownie,

    Powtórzyłem dokładnie ten sam kod co w poradniku z uwzględnieniem optymalizacji kompilatora. Po porównaniu, z funkcją napisaną w C kod zajmuje mi 184 bajty natomiast z funkcją asemblerową 190 bajtów. Czyli efekt jest odwrotny - z wstawką ASM kod jest większy o 6 bajtów. Jest na to jakieś wytłumaczenie?

    Pozdrawiam

    ------------------------ [ Dodano po: 2 minutach ]

    Jedyną różnicą jest wykorzystanie Portu B Atmegi 32 zamiast Portu A do świecenia diod.

    _________________
    Mój Serwer AVR - http://msavr.besaba.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 kwi 2014, o 13:07 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    step_m napisał(a):
    Jest na to jakieś wytłumaczenie?


    pewnie że jest - tam gdzie tylko możesz używaj języka C ;)

    żeby napisać optymalniejszy kod w asm niż wygeneruje ci program w C zwykle trzeba bardzo dobrze znać asm no i sporo się nagimnastykować - a skoro w tym drobnym przykładzie oczekujesz rewolucji po kompilacji i nie wiadomo jakich oszczędności to znaczy że dokładnie nie słuchałeś co mówiłem w poradniku ;) ale przypomnę

    to jest tylko 'PRZYKŁAD DYDAKTYCZNY" a nie super zoptymalizowany kod w asm ... jakbym pokazał super zoptymalizowany to mało kto by się nauczył i zrozumiał - i szkoda że często widzowie nie pamiętają o tym ;)

    panowie - w tym prostym przykładzie nie ścigamy się z C o to kto wygra i kto wygeneruje kod o kilka bajtów krótszy

    a poza tym - gdybyś kompilował dokładnie TAKI sam kod jak ja w poradniku i na TEJ SAMEJ wersji toolchaina to wyszło by ci tak samo - a jeśli wychodzi inaczej to no widać jak na dłoni że są jakieś inne warunki ... coś innego robisz .... Więc i to miej na uwadze gdy realizujesz przykłady ok?

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 33 ]  Przejdź na stronę 1, 2  Następna strona

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO