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 6 maja 2025, o 17:15


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 65 ]  Przejdź na stronę Poprzednia strona  1, 2, 3  Następna strona
    Autor Wiadomość
    PostNapisane: 25 wrz 2014, o 08:49 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    Witam dzięki bardzo - masz Ty ze mną !!!! -dzięki
    Piszę w Bascom-ie ze wstawkami w asm i (niestety na razie liczby dziesiętne)
    może być tak:

    .dseg 100 - dziesiętnie czy musi być koniecznie .dseg 0x60
    Mojedane:
    .byte 100 - rozumiem ze "rezerwuje 100 bajtów

    A czy nie trzeba przypadkiem określić gdzie ma być program i dane mnemonikiem np.ORG ....??

    - dzięki (piszę z pracy także narazie nie mam możliwości sprawdzenia j/w



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 wrz 2014, o 09:04 
    Offline
    Użytkownik

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

    Pomógł: 101

    W m328 RAM zaczyna się od adresu 0x100.

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 wrz 2014, o 09:17 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    .dseg 256 - dziesiętnie czy musi być koniecznie .dseg 0x100??

    i pewnie :
    .dseg 0x100 lub ewentualnie 256
    Mojedane:
    .byte 100

    powinno być na początku całego programu bo kompilator znajduje "rezerwacje" np.RAM-u czy flash przy wstawkach asm które mam na końcu programu w baskomie i nie może tego łyknąć



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 wrz 2014, o 15:27 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    Wywala mi takie komunikaty (kompilator Bascom):
    unknown ASM mnemonic [.dseg 0x60]
    unknown ASM mnemonic [.byte 100]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 wrz 2014, o 16:29 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 16 lut 2014
    Posty: 96
    Lokalizacja: Łódź
    Pomógł: 6

    Cytuj:
    A czy nie trzeba przypadkiem określić gdzie ma być program i dane mnemonikiem np.ORG ....??

    Cholera, racja :)

    Wypadło mi to zupełnie z głowy, ten .org i trochę się pospieszyłem :D

    czyli wszędzie gdzie pisałem Ci:
    .dseg _liczba
    lub
    .cseg _liczba

    powinno być
    .dseg
    .org _liczba
    lub
    .cseg
    .org _liczba

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

    Czyli najpierw zgłaszasz chęć przeskoczenia do flash lub ram (ew. eeprom) dyrektywami .cseg lub .dseg (lub .eseg dla eeprom), a dopiero po niej drugą osobną dyrektywą .org - od którego miejsca chcesz klepać :)

    ------------------------ [ Dodano po: 4 minutach ]

    i zwróć uwagę, co xor napisał trzy posty wyżej!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 wrz 2014, o 16:53 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    - dzięki czyli jak rozumiem

    powinno być:
    .dseg
    .org 255 (0x100) - jeśli chodzi o RAM gdzie w at 328 zaczyna się od 26 - dziesiętnie
    lub
    .cseg
    .org 0

    ------------------------ [ Dodano po: 1 minucie ]

    kurcze 256 - sorry

    ------------------------ [ Dodano po: 54 minutyach ]

    coś mi się kaszani przy tych danych :(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2014, o 03:40 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    Witam znalazłem takie coś w necie:
    R26-R27 wskaźnik dla tablicy w RAM / odczyt LD, LDS, LDD / zapis ST, STS, STD - czyli tylko rej.XL,XH??
    R30-R31 wskaźnik dla tablicy we FLASH (czyli pamięci programu) / odczyt LPM - czyli tylko rej ZL,ZH??

    czyli tylko do odczytu i zapisu RAM-u używa się rejestrów XL, XH??



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2014, o 12:45 
    Offline
    Użytkownik

    Dołączył(a): 10 sie 2013
    Posty: 66
    Lokalizacja: Szczecin
    Pomógł: 7

    Do odczytu/zapisu komórek RAM możesz posłużyć się wszystkim rejestrami roboczymi R0-R31 posługując się rozkazem dostępu bezpośredniego LDS/STS np:
    Odczyt LDS
    Składnia: [ Pobierz ] [ Ukryj ]
    język asm
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

    A teraz przykład użycia komend LD/ST, czyli intrukcji dostępu pośredniego do pamięci RAM:
    Może na przykładzie wysłania danych do WS2812 z bufora RAM.
    Rezerwujesz sobie bufor w pamięci RAM(w sekcji .DSEG) o takiej wielkości, jaką ilość ledów posiadasz*3 (bo na każdego leda przypadają 3 bajty GRB), po czym nadajesz nazwę dla bufora np buforLED: .byte 32*3, zakładając, że posiadasz 32 Ledy. Rezerwujesz w ten sposób 96 bajtów. Potem wybierasz sobie rejestr wskaźnikowy X lub Y lub Z i ładujesz do niego adres bufora:
    Składnia: [ Pobierz ] [ Ukryj ]
    język asm
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Teraz to samo z użyciem instrukcji STD, przy czy należy pamiętać, że można korzystać tylko rejestrów Y lub Z, a dane można pobrać z zakresu 64Bajtów od adresu w Y lub Z(o ile nie zwiększymy rejestru indeksowego Y lub Z. (Przykład ldd r16,Z+0 do ldd r16,Z+63)
    Składnia: [ Pobierz ] [ Ukryj ]
    język asm
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    I jeszcze odczyt z z Flasha. Tutaj można użyć wyłącznie rejestru Z i komendy przypisanej do tegoż rejestru, czyli LPM.
    Wcześniej jednak trzeba zapisać do Flash tablicę danych dla WS i wgrać je razem z programem.
    Przykład inicjalizacji bufora w Flash:
    Składnia: [ Pobierz ] [ Ukryj ]
    język asm
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Autor postu otrzymał pochwałę

    _________________
    Build:succeeded or up-to-date, 0 failed, 0 skipped



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2014, o 18:47 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    witam dzięli za wykład :) Ja narazie robie wstawki w asm a piszę w Baskom (chociaż te wstawki już są dłuższe od programu w asm :) ale nie mogę sobie poradzić z rezerwacją pamięci RAM w bascom /ASM:

    powinno być:
    .dseg
    .org 255 (0x100) - jeśli chodzi o RAM gdzie w atm 328 zaczyna się od 256 - dziesiętnie
    lub
    .cseg
    .org 0


    tumi wyskakują komunikaty o małej pamięci i wogóle robi się kaszana przy kompilacji :(
    a czy wogóle musze rezerwować pamięć RAM !!!
    TZN pa początku mam zmienne (w bascom - DIM A AS Byte - rezerwacja 1 bajtu dla A itp..

    .dseg 1024
    dane:
    .byte 100

    czy to jest poprawnie??



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2014, o 21:11 
    Offline
    Użytkownik

    Dołączył(a): 10 sie 2013
    Posty: 66
    Lokalizacja: Szczecin
    Pomógł: 7

    Nie za bardzo kojarzę obecnie Bascoma, choć jakieś 10 lat temu odkrywałem jego tajniki i nawet pisałem programy. Mogę pomóc jedynie jeśli chodzi o zakres liczbowy. I tak:
    Maciek 222 napisał(a):
    .dseg
    .org 255 (0x100) - jeśli chodzi o RAM gdzie w atm 328 zaczyna się od 256 - dziesiętnie
    lub
    .cseg
    .org 0

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

    ;255 - jak napisałeś wyżej nie jest równe 0x100, 255 to jest jeszcze zakres rejestrów specjalnych, RAM zaczyna się od 256 czyli 0x100. Pamiętaj, że pierwsza komórka w zakresie rejestrów IO ma adres 0, choć jej liczba porządkowa (wg logiki nieinformatycznej) to 1, no bo sama nazwa mówi, że jest PIERWSZĄ komórką w strukturze komórek .Druga komórka ma adres 1 itp. Natomiast Komórka o adresie 255 jest 256 komórką (wg ilości) i zarazem ostatnią, potem to już tylko RAM, który zaczyna się od adresu 256 (0x100). Zatem choć adres pierwszej komórki RAM to 256, to pierwsza komórka RAM jest 257 komórką. W życiu liczymy od 1, w informatyce od 0. Kumamy już?
    Maciek 222 napisał(a):
    .dseg 1024
    dane:
    .byte 100
    czy to jest poprawnie??

    Dlaczego zaczynasz od .DSEG 1024?
    Zacznij od .DSEG 256, przecież to początek pamięci. Jeśli użyjesz adresu 1024, to licz się z tym, że do końca RAM-u, czyli do wartości 2048 (w przypadku M328), zostanie tylko 1024B. Zawsze zaczynaj od początku pamięci, pamiętając, że od górnych adresów RAM czyha STOS. Chyba nie chcesz zdeżyć się czołowo ze stosem?
    Maciek 222 napisał(a):
    a czy wogóle musze rezerwować pamięć RAM !!!

    Jeśli operujesz w przestrzeni .DSEG wiąże się to z rezerwacją pamięci. A czy musisz ją rezerwować? Nie sądzę, aby Bascom pozwolił rezydować większości zmiennym w obszarze R0-R31, a więc deklaracje typu DIM z pewnością pochłoną pamięć RAM. No chyba, że się mylę co do procedur Bascoma...


    Autor postu otrzymał pochwałę

    _________________
    Build:succeeded or up-to-date, 0 failed, 0 skipped



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2014, o 07:16 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 16 lut 2014
    Posty: 96
    Lokalizacja: Łódź
    Pomógł: 6

    Może spróbuj zarezerwować ten obszar pamięci zanim powołasz do życia jakieś inne zmienne w pamięci ram z poziomu bascoma, bo bascom może przed Twoją wstawką już sobie coś porezerwować w tych początkowych obszarach?

    Wysłane z mojego GT-S7710



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2014, o 16:45 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    Dzięki bardzo za odp. jutro to sprawdzę (czyli wszystkie zmienne przerzucone są do RAM tzn w trakcie wykonywania programu - dobrze rozumiem ??
    ja tak to rozumiem że procek w trakcie wykonywania programu robi to w RAM-ie a poszczególne linie są wykonywanie jedna po drugiej czyli nic nie powinno zostawać w RAM-ie - czy tobrze rozumiem?
    aha jak byś miał chwilkę rzuc okiem na na mój program to w asem - dzięki



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

    Dołączył(a): 16 lut 2014
    Posty: 96
    Lokalizacja: Łódź
    Pomógł: 6

    Nie zrozumiałem nic z Twojego ostatniego posta :P



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2014, o 18:27 
    Offline
    Użytkownik

    Dołączył(a): 10 sie 2013
    Posty: 66
    Lokalizacja: Szczecin
    Pomógł: 7

    A ja mam wrażenie, że kolega powinien zapoznać się z rozkładem pamięci w uC (takim graficznym najlepiej)i jej przeznaczeniu, czyli z czym się je FLASH, RAM, rejestry robocze i I/O. Smacznego

    _________________
    Build:succeeded or up-to-date, 0 failed, 0 skipped



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 wrz 2014, o 14:50 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    Witam dzięki bardzo koledzy bardzo mi Wasze wykłady poukładały w głowie wiele spraw (HCOOH - ja też bym nie zrozumiał) :)
    - daro2020:
    8.rcall send_byte_WS2812;skok do funckji wysyłającej dane do WS - tj. skok do tego podprogramu?:
    w którym przesuwając poczególne bity wysyłam informację na LED-y?

    - a rezerwacja pamięci to:
    .dseg
    .org 256 (0x100);tutaj zaczyna się RAM
    buforLED: ; w Twoim zapisie wyżej
    .byte 200 ; tzn na dane rezerwacja 200 bajtów?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 wrz 2014, o 16:02 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    niestety taką rezerwację pamięci RAM - BASCOM nie chce łyknąć

    ------------------------ [ Dodano po: 34 minutach ]

    myślę że pozostaje coś takiego:
    Dim Liczba(750) As Byte ; 250 diódx3



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 wrz 2014, o 11:22 
    Offline
    Użytkownik

    Dołączył(a): 10 sie 2013
    Posty: 66
    Lokalizacja: Szczecin
    Pomógł: 7

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

    powoduje wywołanie funkcji wypychającej 24bity dla jednego leda

    _________________
    Build:succeeded or up-to-date, 0 failed, 0 skipped



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 wrz 2014, o 15:20 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    a jak ten podprogram wygląda (rcall send..) ?? zdejmujesz ze stosu przez pop??



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 wrz 2014, o 17:53 
    Offline
    Użytkownik

    Dołączył(a): 10 sie 2013
    Posty: 66
    Lokalizacja: Szczecin
    Pomógł: 7

    Maciek 222 napisał(a):
    a jak ten podprogram wygląda (rcall send..) ?? zdejmujesz ze stosu przez pop??

    Instrukcja typu rcall (lub pochodne call, icall) powoduje odłożenie na stos adres powrotu (i dzieje się to samoczynnie). Odkładane 2 bajty, gdyż adres jest 16bitowy.
    Na końcu mojego podprogramu wysyłającego dane do WS jest magiczna instrukcja RET, która zdejmuje tenże adres ze stosu wpisując ją do licznika programu, ot cała procedura...
    Natomiast intrukcjami PUSH (odkładanie na stos) oraz POP (zdjemowanie ze stosu) odkładasz tylko dane (zmienne) z rejestrów R0-R31.
    Jeśli chodzi o podprogram do wysyłania danych do WS, zdaje się, że Mirek K. zrobił o tym niezły poradnik i przemówił waść nawet assemblerem...

    _________________
    Build:succeeded or up-to-date, 0 failed, 0 skipped



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 wrz 2014, o 19:57 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    oj wiem ze to skok do podprogramu i powrot tylko niestety dales do r15 G r16 R i r17 B i to mnie zmylilo ja rozwiazalem to w troche inny sposob niz Mirek ale mniejsza z tym niestety nie moge sobie poradzic z RAM BASKOM pisze ze zly mniemonik .dseg a potem .byte 256



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 30 wrz 2014, o 17:57 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    Witam udało mi się zarezerwować pamięć RAM w ten sposób:
    Dim Ram As String * 750 "" instrukcja Bascom""
    'loadadr RAM , X ; załaduj adres zmiennej RAM do pary rejestrów X R26 and R27 """" instrukcja Bascom""
    rozumiem że to jest 1 komórka zarezerwowana w RAM-ie i teraz tak:

    ldi ZL,low(ledy*2)
    ldi ZH,high(ledy*2); *2 ponieważ adresujemy słowa (adres 16bitowy)
    Loadadr Ram , X ; Załaduj Adres Zmiennej Ram Do Pary Rejestrów X R26 And R27

    ldi r16,9 ;ilość ledów*3
    WpisRAM:
    lpm R17, z+ ; załaduj do R17 zawartość pierwszej zaadresowanej przez Z komórki

    st x+,r17 ;wpisz do 1 komórki w RAM

    dec r16
    brne wpisRAM

    i nie moge wpać na to żeby wpisać np. do 20 komórki RAM (inc r26, inc XL nic nie daje :( )



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 paź 2014, o 09:53 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    Witam koledzy jak dodać zmienną 2 bajtową do innej zmiennej 2 bajtowej w asemblerze?
    r16,20
    r17,1
    dodać:
    r18,10
    r19,2



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 paź 2014, o 10:06 
    Offline
    Użytkownik

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

    Pomógł: 101

    dodać młodsze bajty a potem dodać starsze bajty z bitem przeniesienia?

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

    wynik w r16:r17

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 paź 2014, o 10:44 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    czyli jak będzie : r16,200, r17,1 i r18,100, r19,1
    to
    add r16,r18
    adc r17,r19
    w r16 będzie 50
    a w r17 będzie 3 ??



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 paź 2014, o 16:37 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    Oki dzięki, a jak to będzie z odejmowaniem:
    Sub R26 , R16
    SBC R27 , R17



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 paź 2014, o 17:56 
    Offline
    Użytkownik

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

    Pomógł: 101

    No jakoś tak, przy czym to liczby bez znaku. Przy liczbach ze znakiem trzeba pewnie wziąść pod uwagę jeszcze inne flagi: S, V, N. Ale tu musiałby się ktoś mądrzejszy wypowiedzieć.

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 paź 2014, o 18:15 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    chyba masz rację dzięki pewnie flagę przeniesienia 255-1 itp co w rezultacie daje i 0-1 czyli 255
    chciałem tego uniknąć :)
    Mam jeszcze pytanie czy przy wyświetlaniu LED WS2812 wrzucasz wszystko do RAM-u i całość tzn np 200*3 diody wyświetlasz naraz?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 paź 2014, o 19:21 
    Offline
    Użytkownik

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

    Pomógł: 101

    Maciek 222 napisał(a):
    0-1 czyli 255
    chciałem tego uniknąć

    w kodzie uzupełnień do dwóch 255 to -1 czyli się zgadza. Jeśli chcesz odejmować większą liczbę od mniejszej to nie unikniesz ;-)
    Maciek 222 napisał(a):
    Mam jeszcze pytanie czy przy wyświetlaniu LED WS2812 wrzucasz wszystko do RAM-u i całość tzn np 200*3 diody wyświetlasz naraz?

    No tak, jak wszyscy, łącznie z Mirkiem na czele ;-) Nie da rady wysłać danych tylko do części łańcucha. To znaczy teoretycznie można zmienić wyświetlanie na początkowych diodach bez ruszania dalszych. Ale na pewno nie na odwrót.

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 paź 2014, o 12:08 
    Offline
    Użytkownik

    Dołączył(a): 20 lip 2013
    Posty: 70
    Pomógł: 0

    Witam a koledzy jak będzie na przykład tak
    r16,100, r17,2 i r18,200, r19,1
    Sub R16 , R18
    SBC R17 , R19

    to w r16 będzie 55
    a w r17 0??



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 paź 2014, o 16:51 
    Offline
    Użytkownik

    Dołączył(a): 10 sie 2013
    Posty: 66
    Lokalizacja: Szczecin
    Pomógł: 7

    Na początek wczesniejsze pytanie, odnośnie dodawania:
    Maciek 222 napisał(a):
    16,200, r17,1 i r18,100, r19,1 to
    add r16,r18
    adc r17,r19
    w r16 będzie 50
    a w r17 będzie 3 ??

    Poprawny wynik:
    r16= 44
    r17 = 3

    a teraz odejmowanie:
    Maciek 222 napisał(a):
    r16,100, r17,2 i r18,200, r19,1
    Sub R16 , R18
    SBC R17 , R19
    to w r16 będzie 55
    a w r17 0??

    Poprawny wynik:
    r16= 156
    r17 = 0

    Tak to działa.

    _________________
    Build:succeeded or up-to-date, 0 failed, 0 skipped



    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: 65 ]  Przejdź na stronę Poprzednia strona  1, 2, 3  Następna strona

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO