no i? napisać za Ciebie?
Co do problemu to chwilowo nic nie dodam. Zauważyłem jednak że nie zwalniasz zaalokowanej pamięci a w C++ to poważny błąd. Każdy new powinien być w parze z delete, a ponieważa alokujesz tablice powinieneś użyć delete[].
Dzielenie jest łatwe w uproszczeniu, jeśli np. obie liczby mają jednakową ilość zer z prawej strony, to o tyle mozna je przesunąć w prawo. Ogólnie algorytm dzielenia jak liczb dziesiętnych w podstawówce. Mnożenie jest już w µkontrolerze i to nawet w postaci cząstkowej fmul .
dobra a wiec od nowa pisze co i jak, dostałem od nauczyciela trzy pytania dotyczace asemblera, ja osobiscie jeszcze nic w nim nie robilem nie mialem stycznosci i troche go nie kumam.... 1. Inkrementacja jest to..., natomiast dekrementacja jest to ... w języku programowania ASEMBLER 2. Napisz prosty program w ASEMBLERZE dla układu 8051 realizujący funkcje...
wynik wypisac w postaci tablicy. do 2 ja myślałem nad takim rozwiązaniem: MOV AX, [tab+SI] CMP SI, 24 JL mnoz mnoz: MUL [tab+SI+1] ale wynik jest błędny... ale kolejnych liczb 1-13 juz pierwsza liczba po wykonaniu tego kodu jest 512, następna 1536
Nie rozumiem początku. Operacja mnożenia daje w wyniku sklejony rejestr 16 bitowy "B,A", gdzie jest B starszą częścią. Po drugim mnożeniu wykonujesz dodawanie z tym, że sumujesz starszy bajt poprzedniego mnożenia i młodszy bieżącego. Dalej nie sprawdzałem. Wyjaśnij cel powyższego działania (może ja coś wymyśliłem :-)). A poza tym we wzorze y=ax+b jest...
No to w takim układzie zerujesz sobie zmienną i w pętli dla każdej cyfry od lewej do prawej wykonujesz: mnożenie przez 10, dodawanie wartości cyfry... Jedyne czego w takim układzie potrzebujesz, to funkcji do mnożenia i dodawania liczb dowolnej długości.. do konwersji w przeciwną stronę liczbę dzieli się przez 10(lub przez inną podstawę) i resztę dopisuje...
Zacznij zatem od porzucenia Bascoma i przesiadki na C, skoro zależy Ci na wydajności. Przy okazji możesz wziąć procesor tańszy od AVR i z 10 razy szybszy, np. jakiegoś Cortexa. Zacznij zatem od sensownego udzielenia odpowiedzi na jego pytanie. Może jeszcze ARM i frytki do tego? Nie wiesz, nie pisz. Dawid88: Zagadnienie bardzo interesujące, bo sam wiem...
Witam Czy posiada ktoś kod do asemblera, wykonujący mnożenie liczb szesnastkowych?? Proszę o szybką odpowiedź.
A wiec tak programuje w jagodzie chce napisać kalkulator i z dodawaniem odejmowaniem mnożeniem i dzieleniem nie mam problemu gdy w programie mam tylko jedną operacje z góry określoną prze zemnie np dodawanie dwóch liczb i je wyświetlenie na LCD. ale problem jest w tym że nie wiem jak samemu wybierać co chce zrobić dodawanie czy odejmowanie itp. 1.wczytuje...
Witam Na czwartek muszę przygotować listingi programów napisanych w asemblerze które wykonają poniższe działania: 1. Dane są liczby: A=0F1h, B=00011111b. Obliczyć binarnie A+B, A-B, B-A. Podać wynik w postaci binarnej i szesnastkowej. 2. Napisać program mnożenia x4 liczby umieszczonej w rejestrze R7 bez użycia instrukcji mul ab. 3. Napisać program...
Witaj Nie wiem w czym widzisz problem, mnozysz czy dodajesz rownie dobrze liczby 32bitowe takze w asemblerze. Troszke wiecej problemy jest gdy je dzielisz, ale to tez do przeskoczenia (zamiana na ułamki i mnożenie) Duza liczba bitopw jest potrzebna gdy mnożysz liczby z granic przedziałów, czy ułamki, a tak to wystarczy ci najstarsze 8bitów z wyników...
8 tysięcy przerwań na sekundę z nietrywialną obsługą na AVR niekoniecznie musi się udać. Co do reszty - albo C i uint64 odpowiednio przeskalowany (czyli liczymy nie w jednościach, a w tysiącznych), albo AVR, asembler i własny typ dokładnie taki jak trzeba np. 45-bitowy, i też liczymy w tysiącznych. Mnożenie i dzielenie uint64 może AVR zarżnąć. Z ARM...
Jeden z argumentów może przekroczyć 256 (liczba ma być 3-cyfrowa) więc nie ma jednego rozkazu mnożenia w 8051. Wracając do tematu. Rozumiem, że stały czynnik zapisany w pamięci (u Ciebie WAL _1...WAL3) nie przekracza 03E8h tak? A ile cyfr ma ta druga liczba (jaki ma być jej zakres)? Jeżeli byłaby ograniczona do dwóch cyfr to mnożenie jest banalne z...
A możesz do tego użyć FPU? wtedy problem byłby banalny - ładujesz mu na stos liczby w formacie BCD (przy okazji samo skonwertuje się na rzeczywiste), robisz mnożenie i wywalasz zawartość ztosu do pamięci, też w formacie BCD - w sumie trzy polecenia.
Ok więc jak rozumiem chcesz zamienić to na napięcie... mnożenie floatów w ASMie to poroniony pomysł, wiesz o tym? Anyway, pomyśl jak to zrobić w całkowitych liczbach (te 12bit to nei problem - znajdź biblioteki mnożące 16x16) lub mysl sam jakt o w flotach zrobić (ale będzie to sadystycznie wolne).
Dzielenie przez 8 to nic innego jak przesunięcie o 8 bitów w prawo, czyli w przypadku 8-bitowych procesorów wywalenie najmłodszego bajta wyniku. Dzielenie prze 8 to nie przesunięcie o 8 bitów w prawo, tylko o 3 bity. Do autora: dzielnie wlaczysz, tracisz czas, a na końcu koledzy podsyłają ci funkcje arytmetyczne zaimplementowane w C. Jaki jest więc...
Witam. Gdzie znajdę gotowe procedury w asemblerze dla pic 16f84 np. mnożenie,dzielenie liczb 32-bitowych itp.
Algorytmy mnożenia i dzielenia, a także innych działań są dokładnie opisane m.in. w książce Józefa Kalisza Podstawy elektroniki cyfrowej . Sporo algorytmów można znaleźć na stronach producentów mikrokontrolerów w działach aplikacje. Jeśli znasz choć trochę asembler '51, to na pewno dasz radę. Pozdrawiam.
Nie umarł i nie umrze, aczkolwiek może zostać "zdegradowany" do pozycji języka, który jest potrzebny tylko do napisania kompilatora. Stanie się tak, jeżeli pojawi się jezyk wysokiego poziomu, a właściwie to kompilator takiego języka, za pomocą którego będzie można uzyskać kod równie wydajny. Chociaż i tak zawsze pozostanie grupa entuzjastów asm. Znajomość...
SHR, czyli Shift Right, binarnie przesuwa bity o podaną liczbę miejsc w prawo, z tego co pamiętam, nadpisując zerami, czyli zakładamy cx = 0000000000101011 teraz, po wykonaniu np.: shr cx,3 otrzymamy cx = 0000000000000101 | 011 jeżeli zatem wykonamy shr cx,16 , wszystkie bity powinny zostać przesunięte "poza rejestr" i nadpisane zerami (oczywiście mowa...
potrzebujesz odwzorowania: 0 = -15.00 1023 = +15.00 Najpierw pozbędziemy się kropki dziesiętnej: 0 = -1500 1023 = +1500 Teraz pozbędziemy się znaku: 0 = 0 1023 = 3000 Przekształcenie sprowadza się więc do pomnożenia wartości z ADC przez 2,93255132. Pomnóżmy tę liczbę przez 256, otrzymamy 750,7331378, w przybliżeniu 751. Mamy zatem mnożenie bez znaku...
Nie ma najmniejszego problemu, choć oczywiście to wydłuży obliczenia. W sumie to Ty decydujesz o tym, co chowasz w rejestrach :] Moim zdaniem, mimo, że to strasznie wygląda, jest to rozwiązanie dość proste i skuteczne. Mantysę bowiem zapisujesz jako liczbę całkowitą. Pozdrawiam :)
witaj Nie wiem co to za enkoder który ma zakres 576 imp/obrót ale nawet taki wynik w niczym nie przeszkadza. Przy zadawaniu kąta musisz zrobić tak jak napisał kolega: przemnożyć przez stała. I wcale nie musi być to operacja 32bitowa, jeśli nie potrzebujesz tak dużej dokładności :) Tak czy siak nie otrzymasz prawie nigdy pełnego stopnia, więc nie ma...
żadne, wszystko zależy od tego jak wygląda Twój program i czy umiesz posługiwac się asemblerem. Przy dobrym wietrze koło 30% używaj szukaj I tu bym się niezgodził. Zanim zacząłem programować mikroprocesory jednoukładowe w C moje największe programy napisane mieściły się w 2kb pamięci i też wykonywały obliczenia matematyczne typu dzielenie i mnożenie,...
Witam Mam pewien problem. Mam zadanie napisać program w dsm51 w jagodzie który pobierałby z klawiatury liczby od 0 do 255 i je mnożył. Problem mój polega na tym że nie wiem jak zrobić pobieranie liczb większych niż 15 z klawiatury. Wynik mnożenia ma być zapisany w HEXie. Jeżeli ktoś wie co zmienić bardzo bym prosił o rade Kod mojego programu wygląda...
witam. otoz mam taki problem. zmagam sie z takim programem: mnozenie 2 liczb binarnych 16-bitowych (bez uzycia MUL i IMUL).po wykonaniu program ma wypisac na ekranie wynik w postaci dziesietnej. musze wykorzystac rejestry 32 bitowe i tablice. oto kod ktory juz mam ale stanalem w martwym punkcie: dane SEGMENT napis db 'Prosze podac liczbe 1 i nacisnac...
Witam mam jakąś zaćmę umysłową albo niewiem co ale prosty program nie ma ochoty mi działać oto program : ----------------------------------------... org P:$100 move #$10,x1 ; liczba 1 do x1 move #$20,y0 ; liczba 2 do y0 move #0,b ; wyzerowanie rejestru b mac y0,x1,b ; wymnoz y0 przez x1 i dodaj do b ----------------------------------------...
tjanusz :arrow: znam troszke c# na tyle ile mi jest to potrzebne, ale w c# przecież można także wstawiać kod asemblera tworząc np. swoje własne algorytmy dzałań matematycznych. Pszepraszam, ale nie wiem co to znaczy " żródełko" gcc lub FreePascal i jak mogę do tego dotrzeć :arrow: elektryk dokładnie np. teraz pracuję nad potęgowaniem modulo metodą iterowanego...
Z pewnością sposobów jest mnóstwo. Przypomniałem sobie troszkę asembler mcs51. Mam nadzieję, że program w asemblerze wyjaśni wątpliwości (albo pogłębi ;-) ). Skorzystanie z "tabliczki dzielenia" lub "tabliczki mnożenia" na liczbach o podstawie 2^8 przedstawia poniższy program. Tabelę rozbiłem na 3x256 bajtów. Obliczenie realizowane wg zależności x=256*a+b...
adc reg,reg A bez wsunięcia CY: add reg,reg
Witam. Mam taki problem z asemblerem. Chciałem przemnożyć rejestr ecx przez liczbę 5 z wynikiem w ecx. Czy istnieje taki rozkaz, który to realizuje a jeżeli tak to jak się go definiuje. Zaznaczam, że używam masma'a. Pozdrawiam.
Dokładnie. Poza tym w C masz sprawę ułatwioną. Zamiast samemu pisać procedury na np. mnożenie liczb, zastanawianie się jak i skąd mają być wczytane, do jakich rejestrów, piszesz po prostu: a=b*10; C jest moim zdaniem dużo prostszy od ASM w pisaniu kodu, bo działasz na wyższym poziomie. Ale jak sam napisałeś i tak trzeba poznać sprzęt==poczytać dokumentację...
Czasem musimy podzielić wartość zmiennej przez stałą, która NIE JEST całkowitą potęgą dwójki. Można chytrze wykorzystać wbudowaną w procesor mnożarkę. A nawet bez mnożarki sposób jest dobry, bo dzielenie jest przynajmniej dwa razy dłuższe i wolniejsze od mnożenia. Przyjmijmy, że chcemy dzielić bajt X przez stałą D. Znajdźmy „k”, największą...
Zgadza się. Moje przeoczenie. Mam jeszcze jedno pytanie. Docelowo wynik z ADC będzie dosuwany do lewej czyli do ADCH. Interesuje mnie wynik w formie 8 bitowej czyli pozostałe 2 bity w ADCL ignoruję. Aby otrzymać wartość w woltach przy napięciu referencyjnym 5V muszę 8bitową liczbę z ADCH pomnożyć przez ok 0.0195. Nie znalazłem nigdzie w sieci jak mnożyć...
https://obrazki.elektroda.pl/3563451200_... Intro Zawsze fascynowała mnie możliwość konwersji sygnału czasowego na dane w dziedzinie częstotliwości. Pamiętam jak w wieku około 16 lat dopytywałem mojego ówczesnego nauczyciela matematyki, jak działa transformata Fouriera. Dowiedziałem się wtedy tylko że jest to całka, niestety nic więcej...
Poczukaj w notach aplikacyjnych microchipa, są tam opisane procedury mnożenia, dzielenia a nawet chyba jakieś funkcje trygonometryczne.
Witajcie, Dużo szukałem, ale nie mogłem znaleźć Działającego programu do kalkulatora, który dodaje, odejmuje, mnoży i dzieli ( Może też pierwiastkować ) maksymalnie 3 liczby 16-sto bitowe i wynik pokazuje na wyświetlaczy LCD. Jak by ktoś posiadał to był bym wdzięczny za wstawienie.
Nigdy nic nie napisałem na PC.A z czym bascom miał problemy to doskonale poznałem ,nawet przy wolnym podawaniu impulsów na przerwanie i dodając coś w nim na zmiennych single LCD zaczynał wyświetlać syf. Dodając coś do worda lub bajta nie było takiego problemu, więc skróciłem podprogram na max. W przerwaniu dokonuje pomiaru przebiegu,aby ten przebieg...
Chciałem to zrobić, aby lepiej rozumieć asemblera. A jak się ma asembler do bramek i tablic Karnaugha? Czy chcesz zbudować własny procesor, czy zrozumieć asembler istniejącego procesora. Same operacje w asemblerze nie wymagają znajomości rozbudowanych układów logicznych na poziomie bramek. Wystarczą operacje logiczne i arytmetyczne na liczbach zapisanych...
Pytanie jest co wydrukuje instrukcja I.14. Program ten sie nie skompiluje.. Ale tu akurat widać, że to jest tylko fragment programu. Może wystarczy odpowiedź, że wydrukuje (czterocyfrową) liczbę szesnaskową, liczbę dziesiętną i jeszcze dwie dwucyfrowe liczby dziesiętne rozdzielone myślnikiem? Anegdota - dawno, dawno temu pisałem egzamin z asemblera....
Witam. Jeśli można to bym prosił kolegę asembler o jeszcze trochę dokładniejsze opisanie tego sposobu pomiaru napięcia bo bardzo mnie to zaciekawiło. 1.22 V to stałe napięcie odniesienia wytwarzane przez procesor , na jego podstawie przez wbudowane wzmacniacze operacyjne wytwarza on napięcie 2,56 V . To rozumiem. Jeśli napięcie zasilania podamy również...
Z drugiej strony pisząc w języku C nie za bardzo ma sens zastanawianie się co ile cykli zajmuje ... Co za brednie! ... to wnioski jakie można wyciągnąć z tego pdfa można sobie wsadzić głęboko w .... Raczej twoje wypowiedzi można sobie wsadzić głęboko w d...., bo jak to często bywa, są bez sensu. Autor dostał wszystko czego chciał. Z jednej strony dowiedział...
Witam, ostatnimi czasy zainteresowałem się (po części przez studia) programowaniem mikroprocesorów, wykorzystując program EdSim51, do początkowej nauki Assemblera. Jakkolwiek początkowe sukcesy w nim teraz napotkały na przeszkodę. Mianowicie próbowałem zacząć korzystać z programu FASMW, by pisać bezpośrednio pod Windows, i chciałem na początek sprawdzić...
Programy się zwykle pisze a nie robi :) Przy pisaniu programów musisz wykonać następujące kroki: 1. Zdefiniować problem W przypadku twojego kalkulatora musisz określić: - typ obsługiwanych danych - czy to będą liczby wyłącznie całkowite czy całkowite i ułamkowe (ogólnie mówiąc rzeczywiste) - rodzaje działań jakie ma wykonywać twój kalkulator, np. dodawanie,...
Jednak liczylem na lepsza pamiec, rasowy asemblerowiec chyba powienien ja miec.Co do zmiany zdania to napisales, ze nic tu nie napisales o necie. Piszac tu zaponiales chyba co pisales 5 dni wczesniej, ze na necie sa takowe biblioteki. nie napisałem tutaj nic o tym, że coś jest na necie Tutaj, czyli tak jak się patrzysz na monitor i przewijasz ten temat...
Witam Potrzebuje waszej pomocy, musze napisac stoper w asm. Już sie męcze z tym troche i nie chce działac tak jak powinno, więc prosze was o naproawdzenie/poprawienie błedów w kodzie ponizej. I chcialbym rowniez wiedziec, czy moja interpretacja polecen w tym kodzie jest poprawna. Sam Timer działa poprawnie. Chcialbym aby sterowanie stoperem odbywalo...
Ciśnieniowy kontroler poziomu wody https://obrazki.elektroda.pl/7746273200_... WSTĘPNIAK Witam wszystkich entuzjastów elektroniki! Chciałbym zaprezentować przykład wykorzystania scalonego półprzewodnikowego czujnika ciśnienia w roli miernika poziomu wody. Dzięki pomiarowi ciśnienia słupa wody możliwa stała się kontrola i utrzymywanie...
shg - po pierwsze nie wymądrzaj się (to odnośnie Twojej propozycji mojego dokształcania); Dobra, przepraszam, troche przesadziłem. :oops: . Nie mam nic na swoją obronę, oprócz tego że byłem niewyspany (jak zwykle) i ciężkiej książki, o której niżej. Ten post nie jest żadną docinką z mojej strony, bronię tylko swoich poglądów i wyjaśniam kilka spraw...
ponieważ 51 nie ma sprzętowego dzielenia liczb 16 bitowych więc kolega musi poszukać sobie algorytmu do dzielenia takowych liczb i ten algorytm sobie zaimplementować prosta sprawa jeśli nie uda się znaleźć to ja udostępnie ale uprzedzam jest po angielsku jak zresztą cała współczesna elektronikia (no poza drobnymi wyjątkami) :D
Witam. Powyzszy mikrokontroler jest czescia regulatora, 64 bity to liczba oznaczajaca czas trwania pewnej operacji. Bity sa wczytywane przez jeden z portow szeregowo 8x8 bitow z rejestru sterowanego przez miltuplexer (to nie problem). Druga liczba jest tak naprawde max 62 bitowa i przystosowuje czas do bazy danych. Jest wczytywana podobnie jak pierwsza...
Tylko że jak pomnożę całość przez 10 to już nie zrobię tego na 8 bitach. Czy jak dziele 2 liczby inie dzielą się całkowicie to ustawiany jest jakiś bit lub kilka ? Poza tym nie mam zielonego pojęcia jak wyświetlić pojedynczą cyfrę na wyświetlaczy z jakiejś 3 cyfrowej liczby zapisanej w końcu w postaci hex. Zakres liczb przy podanym przeze mnie wzorze...
Witam wszystkich. Mam pewien projekt do zrobienia i w sumie nie wiem jak sie do tego zabrac. Temat zadania brzmi: procedury obliczania iloczynu liczb n-bitowych w formacie 8x8, 16x8, 16x16 w asemblerze AVR. Czy moglibyscie mnie nakierowac, od czego mam zaczac? Najlepiej gdyby ktoś spróbował mi wytłumaczyć problem. Dzięki z góry.
witam nic prostszego! zaczynasz od wyzerowania wyniku i zrobienia pętli dla wszystkich cyfr liczby wejściowej, począwszy od najbardziej znaczącej W pętli: 1. mnożysz wynik przez podstawę liczby wejściowej (czyli 8) 2. dodajesz do wyniku kolejną cyfrę liczby wej. na którą wskazuje stan pętli np zmieniasz liczbę 157 1. wynik=0 2a. wynik*=8 podstawa liczby...
ten przedział (0,1) można zrobić w ten sposób: short a/short b, gdzie a<b i nie dzielić tego bo według mojej wiedzy (może być bardzo wybrakowana [wiedza]) wyjdzie 0 więc zamiast dzielenia ten mniejszy short mnożę sobie przez kolejna liczbę i wynik mam na dwóch shortach, a później dzielę przez tego większego shorta i znów wracam rozmiarem do pojedynczego...
po jakimś czasie nad kodem doczytałem się, że konwencję 'liczby' masz jako znaki, jedno z trudniejszych do obliczeń (a tradycyjnie konwersja jest serią mnożeń rzez 10). Bez wódki tego nie wyobrażę sobie :) jak mawiali starożytni Rosjanie. Gdybym ja robił, wyznaczył bym sobie trzymanie liczby binarnie, w rejestrze, skonwertował do/z (nie ukrywam, mógłbym...
Witam, to jest mój pierwszy post i mam nadzieję, że nie złamię nim żadnego z punktów regulaminu. Mam pytanie- prośbę, mianowicie: Moim zadaniem jest napisanie programu kalkulator który dodaje, odejmuje, mnoży i dzieli liczby dwubajtowe. Nie chcę prosić o podanie gotowego programu, bo nie o to chodzi. Czy na początku programu powinnam najpierw podać...
Ja w swoim protonie mam możliwość wstawek z ASM , mam wygenerowanego asma do wglądu, i wiele innych plików jak chociażby ten poniżej: 16C505,84,9, Warning! Line [3]In file [PRZYKŁ~1.BAS] *** No analogue ports on this device. ALL_DIGITAL Command ignored! *** PROGRAM COMPILED WITH WARNINGS. 84 Words used 9 Variables used in the 16C505 from a possible...
Próbowałeś podkręcić procesor np. do 20MHz? Zanim o tym pomyślę wolałbym raczej przyspieszyć działanie programu. Spróbuję np. pozamieniać niektóre mnożenia na przesunięcia bitowe lub zmniejszyć liczbę operacji na liczbach zmiennoprzecinkowych. Algorytmy rysowania linii i stawiania punktu w buforze chcę oprzeć na asemblerze (zamiast bascomowych komend...
Nie trzeba tak kombinować jak sugeruje kinggustav. Bo trzeba pamiętać, że przesówjąc bity w lewo, mnożymy o 2, a w prawo dzielimy o 2. No i można skorzystać z komendy która ustawi nam bajt w BCD. Wtedy AND $0F ADD $30 I masz mniejszą cyfrę liczby ROR (x4) AND $0F ADD $30 I masz większą cyfrę liczby, dlatego dobrze jest zapisywać je od tylu, np. jakiś...
hmm faktycznie..... czyli przy drógim dzieleniu trzeba mianownik podzelić prze 256, usunąc młodszy bajt i w jego miejsce wpisac starszy a msb trzeba by wyzerowąć. tylko że wtedy powstaną przekłamania:/ nieduże i tylko po przecinku ale tego juz chyba nie przeskoczymy, gdyż brakuje dokładności Dodano po 12 chociaż jest sposub na to drógie dzielenie, zeby...
Widzę żywą reakcję. Cieszy mnie to.Sam jestem automatykiem i widzę że tacy są również w RTV-forum. Co do sterowania fazowego grzałkami 18 KW (pisał o tym POLO2) to niezły byśmy mieli zakłucacz. Oczywiście teoria regulacji w regulatorze PID dotyczy wielkości ciągłych ale implementuje się takie układy w elektronice cyfrowej masowo. W równaniu regulatora...
Keil nie obsługuje natywnie arytmetyki stałoprzecinkowej. Cortex-M3 ma instrukcje nasycające rejestr do n-tego bitu, ale żeby z nich korzystać, musisz pisać w asemblerze lub skorzystać z gotowych funkcji CM3_intrinsics. Cortex-M3 nie ma instrukcji natywnie pracujące w jakimś stałoprzecinkowym formacie (np. Q15, jak dsPIC) - te operacje musisz robić...
ZAD. 1. Przygotować i uruchomić programy w języku asemblera 8051: a) kopiowania N-bajtowego obszaru TABL 1 z pamięci kodu do pamięci wewnętrznej DATA (obszar TABL2), b) kopiowania bit po bicie w pamięci DATA fragmentu danych z obszaru TABL2, a następnie bajt po bajcie i utworzenie obszaru TABL3 c) kopiowania obszaru TABL2 do zewnętrznej pamięci XDATA...
Prawdopodobnie (bo jest późno) oryginalna proceura bedzie działać pod warunkiem że dobrze umieścisz dane wejściowe tzn ze wpiszesz jedną liczbe 16 bitową na początku do wyniku na mniej znaczących pozycjach. Wtedy po drodze przesuwając bity wyniku równiez przesuwamy jeden z czynniku iloczynu co czyni algorytm szybszym. A tak nawiasem mówiąc to można...
To jeszcze ja wtrące swoje 3 grosze. Co do select case to nie polecam - mniej miejsca zajmują pojedyńcze warunki IF tylko trzeba wtedy dobrze przemyśleć aby nie wyskakiwały dwa naraz albo chociarz prawidłowa wartość była wtedy kiedy oczekujemy tego. Dodatkowo zauważyłem ze w Bascomie 8051 użycie podwójnego lub potrójnego warunku IF (if cos=1 or cos=2......
WITAM Przepraszam że się wcinam ale mam pytanko do kolegów jak dalej zrobić aby te liczby wciśnięte np: 1 i 2 dawały liczbę 12 do dalszego działania programu? Chodzi o Bascom. masz tu kawałek mojego programu , powinieneś wyczaić o co chodzi : Licznik_pomocniczy = 0 A = 0 B = 0 C = 0 End If If Licznik_pomocniczy = 1 Then Locate 2 , Licznik_nastepny...
Tu jest taki dość "przyjazny" algorytm, bez dzielenia i mnożenia, ale potrzebne są instrukcje przesunięć logicznych, porównywania, oraz AND i OR http://www.cp.eng.chula.ac.th/~krerk/pub... Jest jeszcze coś takiego, myślę, że Ci będzie pasować. Liczy pierwiastek z 32 bitowej liczby naturalnej (n), wynik w root: root=0 for(N=15;...
Tutaj jest kod na dzielenie 2-óch liczb 8-bitowych dla AVR: ;* "div8u" - 8/8 Bit Unsigned Division ;* ;* This subroutine divides the two register variables "dd8u" (dividend) and ;* "dv8u" (divisor). The result is placed in "dres8u" and the remainder in ;* "drem8u". ;* ;* Number of words...
http://obrazki.elektroda.pl/7805368800_1... http://obrazki.elektroda.pl/4555306000_1... Tiny Gad A- żegnajcie nudne wyświetlacze ;) Prawie luxomierz na ATTINY13 Nie da się ukryć, że z pewnych kontrowersyjnych ;) powodów szczególną sympatią darzę najmniejsze z procesorów atmela. Przedstawiona konstrukcja kolejny raz opiera...
Mam wrażenie, że jeśli te sygnały nie muszą być HiFi, to da się zrobić 23 sygnały na jednym module STM32F103C8T6. Ale trochę trzeba się postarać. Podliczyłem - STM32F103C8T6 ma 19 pinów "5V tolerant" (A8-12, A15, B2-4, B6-15) i 11 z ograniczeniem do V_DD=3.3V (A0-7 B0,1,5); z tego B2 to BOOT1 (służy do wybierania, z jakiej pamięci ma startować, ale...
Proszę o pomoc bo nie pamiętam już pewnych rzeczy z Assemblera. Chodzi o obliczenie w kodzie liczby sięgnięć do pamięci, operacji i zapisów. Moje wątpliwości budzą indeksy w tablicach - o ile pamiętam, muszę liczyć jako sięgnięcie i operację każde odwołanie w którym jest zwiększenie indeksu a także dodawanie stałych (czy dodanie stałej oprócz tego że...
Przedstawiam "CLR2313"; czyli miernik pojemności, indukcyjności i rezystancji na ATtiny2313 (AT90S2313). Pomiar parametrów elementów pasywnych to jeden z problemów w pracy majsterkowicza. Chciałem zaprojektować urządzenie, które parametrami nie będzie zbytnio odbiegać od podobnych amatorskich konstrukcji. Oczywiście, i wśród konstrukcji amatorskich...
http://obrazki.elektroda.pl/4029783300_1... Układu SID (6581 stary i 8580 nowy), będącym muzyczną orkiestrą komputera Commodore 64 nie trzeba nikomu przedstawiać – między innymi dzięki jego brzmieniu owa maszyna osiągnęła tak dużą popularność. Warto tylko przypomnieć, że SID ma jedynie trzy kanały, ale umiejętności programistów...
jest to instrukcja PL do laboratorium. Zawiera ona programowanie wyswietlacza LCD, mnozenie liczb ktore w wyniku daja np 24 bitowa liczbe w kodzie bcd i wiele pozytecznych uwag przy programowaniu.Instrukcja w jezyku polskim.
Przesyłam moją propozycję implementacji algorytmu FFT w asemblerze. Celem nie ma być dokładność, ale możliwość upchnięcia analizy w jak najmniejszych uC. Wymagania co do algorytmu: kontroler AVR (w zasadzie dowolny) z min 128b SRAM (64b zajmują dane, a potrzebne jeszcze miejsce na stos). W przypadku ATMega można spokojnie zastosować mnożenie sprzętowe,...
Moje zadaniepolega na tym że do aplikacji po przez pipe jest przesyłany losoby ciąg bajtów, długość duża, bez znaczenia. I teraz należy odczytać 2 pierwsze bajty i przekształcić je na liczbę szesnastkową (wsumieto już jest) i następnie wczytać pozostałe bajty w ilości takiej jak wartość tej liczby, następnie znów 2 bajty i liczbę. Liczbę1 i Liczbę2...
asembler mnożenie mnożenie liczb mnożenie liczb bitowych
podłączenie wtyczki kolory zasilać lampa solarny satel czujka pożarowa
schemat elektryki skutera schemat elektryki skutera
Vaillant, Junkers – wzrost ciśnienia 0,1 bar w c.o. przy podgrzaniu wody z 20°C do 50°C Schemat kabla RGB do Unitra WZT315 i Elwro 800 Junior – połączenie, pinout, tłumiki