Dodawanie liczb 24 bitowych polega na dodawaniu odpowiednich bajtów obu liczb z przeniesieniem (add with carry)
Musze Cie zmartwić ale nie da się tego zrobić na jednej tabelce .. dla kazdej sumy i przeniesienia musisz robić oddzielną funkcje. W załączniku masz skan z ksiązki przedstawiający sumator jednobitowy, tablice karnaughta dla niego i symbol graficzny .. aby zrobić sumator dwubitowy ... trzeba takie dwa sumatory jednobitowe połączyć ze sobą równolegle...
Proste dodawanie jest OK, tyle, że 16 bitowe ze znakiem. Procedura do znalezienia wszędzie. A tego i tak nie unikniesz, bo jak sam piszesz może być przepełnienie. Albert
Ale proc ma 128 bitowe jednostki obliczeniowe, i o to się rozchodzi. Na czym szybciej zrobisz dodawanie 2 liczb 128 bitowych na 32 bitowym 486 czy 64 bitowym P II. Chodzi cały czas o jednostki obliczeniowe, a nie zbiór instrukcji, który w obu przypadkach jest 32 bitowy.
wszystko pięknie tylko, że microkontroler, oblicza sinusa i cosinusa za pomocą szeregów McLorina i wykozystuje do tego standardową dokładność obliczeń dla atmega. Można by próbować napisać coś co pozwala na dodawanie i odejmowanie liczb 32 bitowych ale to pracochłonne i nie koniecznie się uda, a pozatym bardzo obciąży procesor. Pozostaje jedynie procesor...
dzięki wam~! Dodano po 1 Bo mam taki problem ze musze dodac do siebie 8 rejestrów 8 bitowych i chce właśnie stworzyć do tego program a nie mam pomysłu i później wyświetlić to na LED
A jak juz napiszesz i przesymulejesz logike mnozarki opisanej powyzej (mnożenie przez dodawanie i przesuniecie)- pare tygodni jak nic ;) . To sproboj napisac, syntezowac (najlepiej czyms innym niz XST z ISE Xilinxa), zaimplementowac mnozenie przy uzyciu "*" wynik <= a*b; Bo cos mam przeczucie ze dla mnozenia liczb 8 bitowych "lepszej" implementacji...
dobrze pomińmy ten znak. zacznijmy od samego dodawania liczb 16 bitowych w kodzie BCD Dodano po 10 dodam ze chodzi o BCD 8421
_pieczas zauważ iż modyfikujesz tylko 1 element tablicy, liczenie za każdym razem sumy z całej tablicy nie jest potrzebne. Pseudokod: Ta podpowiedź pozwoliła mi skrócić czas obliczeń do tego stopnia, że wg symulacji procesor wyrobi się w czasie poniżej 0,5ms. Zasadniczo minimum już jest spełnione, ale skoro można wyciągnąć więcej to spróbuję. Dziękuję...
W załączniku jest akumulator 12 bitowy dodający liczby 8 bitowe. Dodanie liczby następuje na narastającym zboczu sygnału DODAJ. Zerowanie wyniku następuje przez wymuszenie stanu niskiego na lini zeruj.
Szczerze mowiac nie liczylem, ze tylu Kolegow temat zainteresuje. Dzieki za dobre slowo, choc wcale nie liczylem na jakiekolwiek pochwaly :o . Tym bardziej mi milo jesli kogos zachecilem choc troszke do zapoznania sie z ukladami PLD :) . Wracajac jednak do meritum to w kolejnosci pytan odpowiedzi sa nastepujace: pir0man Zewnetrzny RAM ma czas dostepu...
Step 5 umozliwia dodawanie i odejmowanie liczb 16-o bitowych ze znakiem (zakres od -32768 do +32767). Ale czy jest mozliwość dodawania i odejmowania liczb 16-o bitowych bez znaku ? (zakres od 0 do 65535; 0h to 0, a FFFFh to 65535)
pokaz swoje wypociny
Układ 7483 to jest coś takiego, co ma wejścia A0,A1,A2,A3, B0,B1,B2,B3, CIN, i wyjścia S0,S1,S2,S3, COUT. Na wejścia A podajesz jedną liczbę (na A0 najmniej znaczący bit, na A3 najbardziej znaczący), na wejścia B drugą. W ten sposób dodajesz 2 liczby 4-bitowe, CIN łączysz wtedy do masy. Żeby dodawać większe potrzebujesz połączyć kilka takich układów,...
http://zto.ita.pwr.wroc.pl/~luban/uklady...
Nigdzie nie znajdziesz tego przeniesienia poza właśnie flagą CY. To jest procesor 8-bitowy i tylko takie operacje wykonuje. Jeśli chcesz dodawać liczby większe lub chcesz mieć wynik 9-bitowy po dodaniu dwóch 8-bitowych to ten najwyższy bit musisz zapisać "ręcznie". Np.: po dodawaniu ADD (patrz uwaga kol. BlueDraco) wykonujesz skok warunkowy "skocz jeśli...
Nieprecyzyjne pytanie więc ogólnikowa odpowiedź. MOV A,#liczba1 ADD A,#liczba2 wynik a akumulatorze
Dodajesz i odejmujesz 8bitowe kawałki oddzielnie i jeśli nastąpi przeniesienie w młodszym kawałku to dodajesz/odejmujesz jeden do starszego
9(system dziesiętny)=1001(system binarny) 18(system dziesiętny)=10010(system binarny)
Witam wszystkich. mam problem z napisaniem programu: arytmetyka (dokladnie dodawanie i odejmowanie) liczb co najmniej dwubajtowa dla mikrokontrolera 8051 bede wdzieczny za kazda pomoc rade i wskazowke moje gg 4070278 (zawsze na niewidocznym) e-mail: yatatakeru(at)interia.pl lub tutaj:) z gory dzieki za pomoc. pozdrawiam
Witam. Zaczynam naukę mikroprocesora 8086. Trochę poczytałem i chcę napisać swój pierwszy program, dodawania 3 liczb 8-bitowych. Czy może to wyglądać w ten sposób? .model small .stack 100h .data .code start: mov ah,0 int 16h ;pobiera znak z klawiatury i zwraca w AL mov bl,al ;przerzucam liczbe z AL do BL mov ah,0 int 16h ;pobiera drugi znak z klawiatury...
Rzeczywiście nijak ma się ten rysunek do mojego problemu... Chyba raczej już wiem o co mi chodzi, nakierowałeś mnie. Potrzebuję skonstruować sumator 3 liczb 2-bitowych (składający się z dwóch bitów). A to już raczej ogromna różnica. Na wyjściu muszę mieć sumę i przeniesienie (Carry out). No właśnie i tutaj leży mój problem. Tak więc schemat powinien...
Wygląda na to, że bit znaku jest dodawany do liczby 12-bitowej i otrzymujesz liczbę 13-bitową zapisaną w kodzie U2: (https://pl.m.wikipedia.org/wiki/Kod_uzu... ) Jedynie temperatura 2.8 st.C nie pasuje do tej układanki. Jest też więcej próbek, więc można będzie zrobić lepszą analizę CRC, ale to pewnie dopiero wieczorem, jeśli...
powiedz prowadzacemu zajecia, ze nauka ahdl to czysta strata czasu; a moze lepiej nic nie mow ... :) /.../wydaje mi się że dobrze/.../ troche bledow jest :) 1. variable A S powinno byc zadeklarowane jako 5 bitowe DFF, a obliczane tak samo jak powyzej: S[] = ( 0, S_ab[] ) + ( ... 4.wyj[]=S[] div B"0100"; ahdl nie pozwoli ci na dzielenie niczego poza...
Zobacz na http://www.avrbeginners.net AVR Assembler->Math->Multiple byte maths. Są tam co prawda krótkie, ale dobrze opisane przykłady operacji na liczbach 2 i nawet 4 bajtowych: dodawanie, odejmowanie, porównania itp. Pozdrawiam
Może ktoś ma pomysł na dobry przykład tego polecenia na 51, ja mam zaćme nie moge nic sensownego sklecić. najprostszy: dodawanie 2 liczb 16 bitowych. Najpierw dodajesz młodsze bajty przez ADD - generuje przeniesienie (Carry), gdy wynik przekroczy FF a potem dodajesz starsze bajty przez ADDC (dodaje też przeniesienie)
Witam Mam problem jeszcze z jednym ćwiczeniem. Wykorzystując schemat sumatora pełnego dodającego 2 liczby 1 bitowe, zbudować sumator sumujący 2 liczby 3 bitowe Bede wdzięczny za pomoc.Pozdrawiam
poczytaj o przesunięciu bitowym... zamiast wpisywać do tablicy możesz zadeklarować jakiegoś integera przesuwać o 1 bit i dodawać kolejne odczytane bity, w ten sposób będziesz miał liczbę całkowitą reprezentującą odebrany kod a zamiast wielu if możesz użyć case trochę to uprości.
Chcę zrobić prosty kalkulator ( dodawanie ) dwóch liczb 8 bitowych, ale potrzebuję sumatora, najlepiej 1 bitowego tak abym mógł dla każdej pozycji dwójkowej wprowadzić 2xinput, 1x carry, 1xsuma, 1xcarry_z_poprzedniego. Czy ktoś orientuje się gdzie mogę taki sumator dostać, musi być do płytki stykowej. Z góry dziękuję
tplewa: Zobacz, jak długi jest kod wygenerowany przez kompilator dla typowych, prostych operacji w C, np. dodawanie liczb 16-bitowych, sumowanie wektora takich liczb itp.. AVR jest przyjazny dla kompilatora (chociaż kompilator niekoniecznie w to wierzy), 51 i PIC (8-bitowy) to nie są architektury, na które daje się normalnie generować kod z języka wysokiego...
W jakim kodzie są dodawane liczby - bin czy BCD? I w jakim kodzie ma być wynik bo jeśli w bin to dodając do siebie dwie 11-bitowe liczby potrzebujesz tylko dwóch rejestrów 8 bitowych na reprezentacje wyniku.
Zbuduj najpierw z bramek układ generujący sumę dwóch bitów (modulo 2) oraz resztę modulo 2 z dodawania tych bitów. Następnie zbuduj sumator potrafiący dodawać trzy bity (będzie on zbudowany z dwóch powyższych sumatorów). Sumator dodający dwie liczby n-bitowe składa się z sumatorów najpierw dodających najmłodszy bit tych liczb(jego wynik jest najmłodszym...
Jeśli chodzi o AVR: Zapis stałoprzecinkowy robiony jest wg. dwóch formatów: 2^7, 2^6, 2^5, 2^4, 2^3, 2^2, 2^1, 2^0 w zapisie -1, 2^{-1}, 2^{-2}, 2^{-3}, 2^{-4}, 2^{-5}, 2^{-6}, 2^{-7} zapis 2^{-8}...2^{-15} teraz, aby załadować liczbę tego typu (czyli z przedziału (-1..1)) do rejestru najlepiej posłużyć się wbudowaną funkcją asemblera (w wersji v2):...
Czy ktos wie jak zrealizowac podstawowe funkcje arytmetyczne ( dodawanie ,odejmowanie, dzielenie mnożenie) na liczbach 16- bitowych w procsorze 99c51.
Witam. Szkielet programu asemblera na 51' zamieszczałem w poście pod koniec wątku: [url=http://www.elektroda.pl/rtvforum/vi... Dodawanie 3 liczb 8-bitowych - może się Koledze przyda. Do kompilacji najczęściej używam ASEM'a. Pozdrawiam.
Witam, mam wielki problem, mam stworzyć układ odejmujący i dodający dwie liczby 8 bitowe w Tinie i nie mam pojęcia jak zacząć w ogóle to robić. Prosiłbym o jakieś wskazówki z jakich komponentów korzystać, jakieś sumatory itp. gdzie co ma być podłączone, jaki wyświetlacz stworzyć do tego? Dzięki wszystkim za pomoc.
Co właściwie trzeba uzyskać? Czy coś takiego, że jeśli włączysz N przycisków, to niezależnie od tego, które to będą, wyświetlacz pokaże liczbę N? Być może użyteczny byłby tu 74275 = 7-bit slice Wallace tree, ale nie wiem, czy jest do kupienia, a poza tym zliczy tylko 7... 2 takie układy i 74x83? Można też użyć pamięci (E)PROM 1024-bajtowej i przełączniki...
"Uwielbiam" czepialskich co to się czepiają dla samego czepiania wcinając się w cudze wypowiedzi do tego nie zrozumiawszy ich do końca - to do anonimowego anonima, którego nie znam z imienia, nazwiska ani loginu, który to chyba uważa, że dzień bez ANONIMOWEGO DONOSU to dzień stracony. A teraz do tematu: Czy w tym zadaniu masz narzucone rozwiązanie...
Dzięki za odpowiedź, stało się to dla mnie jasne. Już widzę, gdzie popełniałem błąd - uważałem, że każdy sumator powinien być o 1 bit większy od poprzedniego, żeby nie doszło do przepełnienia, co jest twierdzeniem niepoprawnym, bo ciągle dodajemy przecież liczbę 32 bitową - jeden ze składników sumy ma stałą liczbę bitów.
Odejmujesz czy dodajesz bity w sumatorach?
zerujesz zmienną przepisujesz pierwszą liczbę bez przesunięcia dodajesz binarnie (or) drugą z przesunięciem 16 itd...
Poza tym pobieżnie przejżałem DS ATTiny i nie widzę instrukcji analogicznej do DIV w 8051?? Jak w nim dzielić liczby?? A czy znalazłeś MUL? ;) Do takich obliczeń niestety trzeba pisać własne funkcje. Można mnożyć i dzielić poprzez wielokrotne dodawanie lub odejmowanie danej liczby, ale to jest oczywiście dosyć mało optymalna metoda. Oczywiście mnożenie...
Witam, Co do instrukcji dodającej 0 w 7 linijce kodu, należałoby sprawdzić rodzaj zmiennej "Temp_1". Jeżeli jest to zmienna 16-bitowa, to operacja +I ma prawdopodobnie za zadanie zmianę liczby 32-bitowej (powstałej po operacji mnożenia) na liczbę 16-bitową (dlatego dodawane jest 0). Fragment opisu funkcji +I z help'a w Step7: The instruction produces...
Witam, czy ktoś z szanownych forumowiczów móglby mi pomoc napisać program który dodawał by 3 liczby 8-bitowe? np na procesor 8051. potrzebowal bym z opisem żbo chciałbym to zrozumieć. sam męcze się juz jakis czas ale mi nie wychodzi
Zadanie: . Zaprojektować jednostkę arytmetyczno-logiczna, która będzie realizować dodawanie i odejmowanie 4-bitowych liczb binarnych w kodzie U2 oraz ma informować o przekroczeniu zakresu. Zrobiłem taki układ: http://obrazki.elektroda.net/18_12442034... Dobrze zrobiłem ten układ? Jak zrobić, żeby informował o przekroczeniu zakresu? Pozdrawiam...
Jeżeli te operacje mają na celu np. monofonizację sygnału to robi to się wg następujacego wzoru: M=\frac{X+Y}{2} (****) Dodajemy w zmiennej 16 bitowej ze znakiem a wynik po podzieleniu przez 2 zapisujemy w 8 bitowej ze znakiem. Nie podzielenie wyniku przez dwa powoduje wyprowadzenie wyniku poza zakres 8 bitowy. Obcinanie typu if x>127 then x=127 nie...
Hej, Na początek, odejmować, to znaczy dodawać zanegowaną wartość. Czyli: 10 - 50 to nic innego jak 10 + (-50) Skomplikowanie to wygląda, ale zaraz tłumaczonko będzie, tylko uruchomię sobie SIM51ENG, bo taki mam dostępny symulator 51, bo rozumiem, że to dla MCS-51 ma być? Oto kod w asemblerze. mov R0,#10 przesyła do rejestru R0, pierwsza liczbe mov...
Stos w '51 jest analogią stosu talerzy (np. po zmywaniu a przed wycieraniem, przy założeniu że nie masz suszarki :-)) Najpierw myjesz i kładziesz jeden na drugim a następnie zdejmujesz od góry (czyli nie możesz wyciągnąć nic ze środka). Ostatni talerz umyty jest jednocześnie pierwszym wytartym. Konkret. PUSH ACC kładzie na stosie akumulator, PUSH B...
Mnoży się starszy bajt * 256 i dodaje się młodszy !
Pisze drugi raz o tym odejmowaniu i coś tam wymyśliłem. Wersja pierwsza: MOV R0,#2 MOV R1,#8 MOV A,R1 CPL A MOV R1,A MOV A,R0 ADD A,R1 CPL A MOV R3,A END Gdy odejmuje np mniejsza - większa daje wynik dobry tylko że dodatni. Co gorsza program całkowicie nie działa gdy odejmujemy większa-mniejsza. PROSZĘ o POMOC!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...
dodawanie liczb odejmowanie liczb bitowych mnożenie bitowych liczb
zczytanie czujników podstawy sztucznej inteligencji sygnał dekodera komputerze
Kontrolka STOP w Peugeot - przyczyny i diagnostyka Brak dźwięku na projektorze - przyczyny i rozwiązania