Konwerter bitmap możesz zastosować np ten :arrow: [url=http://radzio.dxp.pl/asystentlcd/]K... bitmap
Wydaje mi się, że kolega, autor tematu otrzymał wystarczająca pomoc. Wylał też na nas wszystkich wystarczającą miarkę złośliwości. Zamykam ten temat, zanim będę musiał zablokować koledze konto.
A wysyłasz bit potwierdzenia po wykonaniu procedury I2C_ReadByte? Jakoś nie mogę się tego doszukać .
Witam, za zajeciach z techniki mikroprocesorowej przerabialiśmy podstawowe zagadnienia z arytmetyki w programowaniu asemblera 8051.Podany niżej program musze przerobic aby dodawał dwie liczby dwubajtowe.Wiem ze powinnen najpierw dodać młodsze bity z przeniesiem a potem starsze ale za bardzo nie wiem jak to zrobić dalej.Czy ktoś mógłby troche mnie pokierować?...
Nie wiem czy dobrze rozumiem ale: Wywołanie call (rcall) odkłada na stosie Program Counter, więc wewnątrz procedury program mógłby go pobrać ze stosu (POP) i wpisać tam coś innego (PUSH) - adres, gdzie ma iść dalej po skończeniu procedury rozkazem RET. Ale to nieeleganckie, niebezpieczne itd... I trzeba sobie przygotować takie "dalsze" kawałki programu...
Jak dla mnie daje bo obsługę przerwania będę sam pisać w asm dzięki czemu uniknę badziewnego zwyczaju avrgcc - odkładania na stos wszystkiego co mu się nawinie pod rękę po przyjęciu przerwania.
Tak jak radził asembler - zrób w pętli głównej procedurę przemiatania tak, aby każdy z segmentów przełączał się co sekundę. Wtedy "na oko" stwierdzisz co jest nie tak.
Nie, gdyż wbudowany w AVR Studio assembler nie ma możliwości linkowania. Natomiast da się wykorzystać gcc do kompilacji programu w assemblerze. Tyle, że skadnia jest nieco inna i wymagałoby to przerobienia kodu. Innym rozwiązaniem jest kompilacja kodu w C z wygenerowaniem pliku assemblerowego, na który kod został przetłumaczony. Taki kod można włączyć...
W procedurach wlasciwie wszystkie 32 rejestry sa uzyte, a nie bardzo wiem gdzie wsadzic dane przed skokiem do procedury i gdzie bedzie wynik po powrocie. AVRgcc interface: All functions use the AVR-gcc function call interface : double func( double A [, double B] ) A := R25:R24:R23:R22 with R25 holding sign and...
Tak jak pisze (at)atom1477 pokaż layout płytki, dla kwarcu 16 MHz kondensatory powinny być rzędu 8-12 pF, ale dokładnie możesz je policzyć jeśli poznasz pojemności kwarcu z noty. Jest jeszcze jeden problem - BASCOM. Zobasz na wygenerowany asembler, jak wygląda procedura przełączania zegara. Być może tu jest problem. Próbowałeś odpalić program w debuggerze...
Witam, potrzebuję odpalić zegarek PCF8583 na Atmedze16, niestety tylko w grę wchodzi asembler. Może ma ktoś procedury napisane w asemblerze któe działają?
;* ;***************************************... ;*PROCEDURY OBSŁUGI MAGISTRALI 1-Wire DLA MIKROKONTROLERA AVR ;***************************************... ;* ;*Nazwa pliku :AVR_1Wire.asm ;* ;*Przeznaczenie :dowolny AVR, za wyjątkiem AT90S1200 ;*Kwarc :4MHz ;* ;*******************************OPIS****...
. Język BASCOM BASIC oferuje wiele instrukcji obsługujacych wyświetlacz LCD. Aby jednak mieć całkowitą kontrolę nad wyświetlaczem można stosować procedury w języku asembler. Poniżej znajduje się przykład: $asm Ldi _temp1, 5 'załadowanie kodu rozkazu do R24 Rcall _Lcd_control 'prześlemy do LCD jako komendę Ldi _temp1, 65 'załadowanie do R24 kodu znaku...
Ustaw jak [url=http://palmavr.sourceforge.net/cgi-...
Sposób który pierwszy narzuca się aby liczbę przedstawić w postaci tekstu to znaleźć ilość jednostek, dziesiątek, setek, tysięcy, itd... w danej liczbie (dzieląc przez 1000,100,10). Następnie te znaki pozostaje już tylko "przesunąć" do znaków ASCII, a wiec dodać 0x30. Dla przykładu mamy liczbę 123, liczba setek: 1, liczba dziesiątek 2, liczba jednostek...
Prograsm mierzy czestotliwość zegara wewnętrznego i na tej podstawie wyświetla temperature wody. Mnie zawsze uczono że pomiar to porównanie wartości mierzonej ze wzrocową. A jak u ciebie to wyglada, co u Ciebie jest wzorcem? Układ posiada procedurę samokalibracji Mógłbyś opisać w skrócie jak rozwiązałeś algorytm samokalibracji?
Powinno dać się to zrobić za pomocą definicji i makr, ale już dawno nie korzystałem z asemblera w pełnym wymiarze. Obecnie w momentach krytycznych stosuje tylko wstawki asemblerowe w postaci kilku poleceń lub procedur napisanych w ASM, resztę pisze w C. Jednak [url=http://www.atmel.com/dyn/resources/... dokument powinien Ci...
W sumie to biblioteki można dołączyć na końcu lub umieścić za tablicą "przerwań": CSEG ;segment kodu ORG0 JMPINIT $INCLUDE(procedura.ASM) INIT: ;tu jest główna pętla programu SJMP $ $INCLUDE(procedura2.ASM) Używam prostego, "jednoprzebiegowego" asemblera z funkcją optymalizacji kodu i zawsze to działa. A i zawsze umieszczam wszystkie...
Witam. Dzieki pomocy tutejszego forum, znalazlem biblioteke procedur matematycznych w asemblerze AVR, jednak zupelnie nie potrafie ich uzyc. Po pierwsze nie wiem co to za asembler - AVRStudio nie przyjmuje np. takich polecen jak: public adres: Musialem wszedzie zlikwidowac slowo 'public' zostawiajac tylko - adres: AVR Studio nie przyjmuje polecen 'dc.b'...
Nareszcie zaczynam rozumieć. ;-) Ta Jagoda jest programem, który w zasadzie udaje symulator. Dostęp do urządzeń zewnętrznych - w tym klawiatury i wyświetlacza jest umożliwiony tylko przez predefiniowane procedury. Musisz sprawdzić jakie wartości dostaniesz po naciśnięciu określonych klawiszy. Wartośc ta znajduje się w akumulatorze po wyjściu z procedury...
Ja znalazłem u Atmela. Nota aplikacyjna AVR410 o ile dobrze pamiętam. Ale nie wiem czy to pójdzie na tiny15. Procedura opiera się na Timerach.
Programując mikrokontrolery od wielu lat miałem do czynienia zarówno z asemblerem (kiedyś nie było kompilatorów na niektóre architektury, albo były piekielnie drogie) jak i z C. Przekonałem się, że język C może zastąpić asembler prawie w 100%. W zasadzie jest tylko jeden przypadek, w którym asembler jest wydajniejszy - krytyczne procedury obliczeniowe...
Ok, zacznij od takich zmian, jakie opisałem. Procedura opóźniająca o n * 0.5 ms, gdzie n jest argumentem, np. przekazywanym w rejestrze A.
Mogę spróbować. Nie jest to priorytetowe, ale i tak, chyba pokuszę się na przepisanie procedury przerwania FIQ z języka C na asembler. Nie obiecuję, że wcześnie wrzucę tu moje wypociny. Procedura ta korzysta z zmiennych globalnych z czego jedna jest tablicą. Najpierw muszę właśnie opanować manipulowanie takimi zmiennymi w asemblerze. PS. A czy jest...
Jakiś Atmel to nie, musi być z obsługą pamięci zewnętrznej, np. 8515 lub 162, albo pisać procedury ręcznie. Bascom odpada, radzę asembler. Pzdr. N.
Witam. Wydawalo mi sie ze problemow z programowaniem AVR w asemblerze miec nie bede... ;) Niestety - potrzebuje procedury obliczajacej log10 w asemblerze. Przesiedzialem pol nocy w Googlach i stronach o programowaniu i nic. Sa w C, jako biblioteki Bascoma itd... ale w asemblerze nic. BARDZO prosze o pomoc, moze ktos ma? Albo zna adresy gdzie szukac?...
Czy ktoś może mi podpowiedzieć jak robi się takie wstawki w VB 6.0. Konkretnie chodzi mi o sterowanie liniami RTS i DTR w RS 232. Kod w aseblerze już zrobiłem działa w Builderze, ale nie mogę go przenieść do VB. Czy w VB trzeba instalować dodatkowe biblioteki, albo deklarować funcję asembler ? Jak wygląda zapis takiej procedury? Nie chcę stosować API...
No ale daj w takim razie kod swojej procedury a nie kod pierwotnej biblioteki.
W procedurze przerwania wymagane jest zapamiętanie rejestrów, które są współdzielone w pętli głównej (przy użyciu komendy "push"), a następnie odtworzenie początkowego stanu zasobów (przy użyciu procedury "pop"). Ale o które rejestry dokładnie chodzi? Których rejestrów dotyczy warunek poprawnego wykonania procedury przerwania i w jakich sytuacjach?...
Mam pytanie jak w asemblerze avr zadeklarowac w segmencie danych tablice slow, o wielkosci np. 5. Można jedynie zarezerwować stały dany obszar pamięci .dseg tBuffer: .byte 0x05 Powyższe rezerwuje 5 bajtów w SRAM pod etykietą tBuffer . Można używać ten obszar w róznych nie kolidujacych ze soba procedurach. A tak mozna się odwołać do 3 bajtu : sts...
pan B dodaje od lewej do prawej strony, na kartce też tak sie robi..Wywody o kodzie binarnym nie są mi potrzebne i nic nie wnoszą na postawione pytanie. W lewo w prawo to wiem, przecież nie robie tego w systemie trójkowym i skoro asembler to wiadome jest ze w AVRStudio.
Witam ! Mam do skonstruowania układ do zliczania długości przewodu z detekcją kierunku nawijania. Początkowo zastanawiałem się nad układem optycznym własnej konstrukcji ale myślę że dobrym rozwiązaniem byłby enkoder mechaniczny lub optyczny. Problem polega na procedurze obsługi (Asembler) takiego enkodera pracującego w kodzie Grey-a. Konfiguracja sprzętowa...
Potrzebuję jakąś przykładową procedurę sterowania LCD na AT89c2051 w asemblerze. Może ktoś podać ową procedurkę. I jak wysłać zawartość dowolnego portu na wyświetlacz?
Witam ! czy ktos dysponuje procedurami do I2C ( pamieć 16k 24c16 ) w asemblera na 51. Bardzo mi się przyda !! Dzeiki !!!!!!
cześć dajcie mi jakieś wskazówki odnośnie obsługi wyświetlacza JM12864. kupiłem go niedawno ale nie znam procedur jego obsługi. bawie sie asemblerem na '51 i chciałbym na nim coś napisac i narysować :)
Ikonę można dodać. w pliku rsrc.rc Ikona ICON "stym.ico" w pliku glownym .data IconName db "Ikona",0 .code ; procedura okna DlgProc proc hWnd: HWND, uMsg: UINT, wParam: WPARAM, lParam: LPARAM .if uMsg == WM_INITDIALOG ;inicjacja okna invoke LoadIcon, hInstance, ADDR IconName ;ladowanie ikony invoke SendMessage, hWnd, WM_SETICON, ICON_SMALL, eax
Czy posiada ktoś gotową procedurę na 89c2051 do obsługi 1 wire? Najlepiej napisaną w asemblerze lub jakiś algorytm, którym mogę się posłużyć do jej napisania.
Witam. Czy ktos wie, jak napisac jakis podprogram czy procedure, ktora bedzie zczytywala klawisze ale w przeciwienstwie do WAIT_KEY bedzie umozliwiala dzialanie programu bez wcisniecia klawisza. Chodzi oczywiscie o ASEMBLERA. Po prostu procedura ta ma czekac w programie glownym na wcisniecie klawisza i wtedy w zaleznosi jakito byl klawisz wykonywac...
Wobec tego mam pytanie, dlaczego do dekompresji ARMy Philipsa i Atmela potrzebują dużo większego taktowania (rzędu ponad 70MHz) skoro biblioteki helixa potrzebują około 20-30MHz? Pewnie chodzi o kod na podstawie biblioteki mad. Jest on pisany bardziej pod kątem jakości niż wydajności. Dla ARMów tylko IMDCT jest napisana w asemblerze, reszta jest w...
Witam No właśnie gdzie można znaleść przykład? jak napisać szybkiego Timer'a w delphi ten systemowy jest niestabilny i posiada rozdzielczość 1ms. Myślałem żeby napisać to na niskim poziomie ale nie mam doświdczenia w assemblerze. pozdrawiam. A co myslales ze w windowsie dasz rade z poziomu uzytkownika odmierzyc czas w us ? Tu i asembler nie pomoze.
dziękuję za radę - reinstalacja bascoma pomogła (najnowsza wersja) - jednak produkt MCS-a nie działa tak idealnie skoro trzeba reinstalować a spod asemblera udało sie układ uruchomić , pracuję nad resztą procedur .. :-) nie jest mi cięko nacisnąć przycisk "pomógł" więc dziękuję koledze :-) temat uważam za zamknięty , w asemblerze procedura obsługi wyświetlacza...
Napisac procedure transferu szeregowego SPI jednobajtowej danej. W programie wysylana dana jest umieszczona w wewnetrznej pamieci RAM w komorce nr 30H, a odebrana dana nalezy umiescic rowniez w wewnetrznej pamieci RAM w komorce nr 38H. Mam takie zadanie i nie mam zielonego pojęcia co i jak powinienem skonfigurować. Generalnie wiem o chodzi w transmisji...
Witam, Poszukuję gotowego kodu w asemblerze (dla Intel i in. procesorów kompatybilnych) obsługującego system plików FAT32. Kod chciałbym zastosować w jądrze swojego OS-a. Pozdrawiam Obawiam się że nikt normalny nie robi tego w asemblerze, we FreeDOS tylko procedury I/O są w asemblerze a fat jest już w C: https://sourceforge.net/p/freedos/svn/HE...
Procedura zerowania RAM: [syntax=asm] MOVR0,#8 MOVR1,#247 ZEROWANIE: MOV(at)R0,#0 INCR0 DJNZR1,ZEROWANIE [/syntax] Zmień sobie wartość którą wypełniasz :-) Tylko uwaga na obszary. Zauważ że "oszczędzam" tylko pierwszy bank rejestrów bo tam są umieszczone R0 i R1, które używam do czyszczenia RAM. A instrukcja MOV A,(at)A+DPTR odczytuje do akumulatora...
Z mojej dość długiej praktyki wynika jeden wniosek : nie da się napisać dobrego i optymalnego programu bez znajomości asemblera. Procedury obsługi przerwań napisane w kodzie działają zupełnie inaczej niż procedury napisane np. w C. Wynika to z ograniczeń i kompromisów które przyjęli twórcy kompilatora. pozdrowienia T
Wbiłem kijek w mrowisko ;) . Nie dyskryminuje to kolegów piszących w C i bascomie. Napisałem tylko że te języki bazują na gotowych procedurach napisanych w asemblerze . Moje zdanie jest takie największe możliwości ma asembler , ale wymaga największej wiedzy od programisty. Reszta jest lepszą lub gorszą próbą uproszczenia programowania. Możecie się zgodzić...
Ja tylko pisze w asm - bascom to g.....o!!! Niewiem jakim cudem stwierdziłes że to bascom ldi, ret <- te jest asembler a te nazwy to poprostu rejestry
Wracając do meritum sprawy to ciężko się będzie pozbyć migania przy "cls" - to nie było robione z przeznaczeniem do gier i ciężko się spodziewać, że będzie działać tak, jak Ty chcesz. Albo więc pozostaje ncurses jak kolega napisał (choć akurat tego nie widziałem, ale być może jest to lepiej zrobione niż standard oferowany przez konsolę) albo kombinowanie....
Chyba niepotrzebnie się wkurzasz... Może i masz rację. Takich d... doradzaczy należało by ignorować. Pod linuxem sprawa jest prosta. Niestety nie mam Linuksa. Piszę w asemblerze procedury arytmetyczne dla liczb większych niz dword i nie mam czym sprawdzić poprawności ich działania. Chodzi o konwersję bin/hex i odwrotnie. Inne mam już rozpracowane....
Witam. Wygląda na to, że Kolega niewłaściwie używa instrukcji skoków, próbując zastosować po nich instrukcję RET. Taka konstrukcja ma zastosowanie przy wywoływaniu podprogramów instrukcjami LCALL lub ACALL. Te dwa rozkazy zapamiętują adres powrotny, umieszczając go na stosie. Natomiast RET odczytuje ten adres i powoduje dalsze wykonywanie programu właśnie...
Jeśli dobrze zgadłem intencję pytania, to ogólnie mi się zdarza debugować przez własne procedury RS z prebuforowaniem TX, aczkolwiek z Freescale nie próbowałem...
Witam. Na pierwszy rzut oka można zminimalizować program wprowaczając podprogramy np. z tego kawałaka kodu: CLR P1.6 CPL P1.6 MOV A,#00000000B MOVX (at)R0,A MOV A,#00000000B MOVX (at)R1,A Piszesz na '51 z zewnętrznym RAM czy wykorzystujesz np. EEprom w 89S8252. Warto w asm stosować opisy tego co robisz i do czego dana procedura , fragment kodu służy....
Czy ktoś może posiada procedury obsługi UART na at90S2313 w asemblerze? Chodzi o asemblerowski odpowiednik print i input, tak żeby mozna bylo z terminala zczytac dane, ewentualnie je sobie dalej zmodyfikiwać i na koncu wyslac z powrotem. W bascomie to proste ale mi trzeba w asemblerze takie cos, może ktoś ma gotowe bo asembler jeszcze słabo idzie i...
W Basicu wprawdzie powstawały jakieś proste gierki, ale to raczej tzw. tekstowe. Jeśli dobrze pamiętam z manuala przepisywałem kiedyś kod w Basicu. Program wyswietlał jedynie kilka duszków (spriteów) na ekranie, ale kształt samych sprajtów był zapisany w formie danych "data", czy jakoś tak. Tak, nawet na wiki znalazłem taki przykład z listingiem: https://www.c64-wiki.com/wiki/Sprite...
Oczywiście nikomu się nie chce przeglądać strony producenta układów. AVR410. http://www.atmel.com/dyn/resources/prod_... Tym bardziej, iż kod jaki generuje BASCOM AVR jest taki sam, bo ta procedura jest wpisana do zasobów kompilatora jako template code .
A ja mam taką teorię, którą wszystkim początkującym sprzedaję: "Zacznij od niskiego poziomu (asemblera) a potem w miarę swoich potrzeb przejdź do wyższego" Ma to wiele uzasadnień. Jedno z nich brzmi: Otóż pisząc w języku wyższego poziomu łatwo robić wstawki w asemblerze jeśli uważamy, że stosując wbudowaną procedurę, kompliator nas orżnął na kilkadziesiąt...
Wtedy robisz sobie przełącznik taki że resety nieprogramowanych ściąga do masy, programowany wtykasz do programatora. No chyba raczej do Vcc? czyli inaczej mówiąc nic z nim nie robisz a programowany do programatora. Układ diod separujących resztę sygnałów załatwi sprawę. Racja. Sobie teraz doczytałem jak cała procedura wygląda. Myślałem że układ jest...
Ad 1,3,4 dalsze dane po komendzie wysyła się dokładnie tak samo jak komendę (można użyć ten samej procedury). Zawsze pierwszą komendą jest xxxxROM, potem opcjonalny adres, a potem właściwa komenda (np read, write) i opcjonalne parametry. Ad 2, do tego służy specjalna procedura wyszukiwania i robi się to przy pomocy komendy SearchROM. Całość polega na...
Od pół roku zajmuje się programowaniem AVR, niestety znam tylko asembler. Chciałbym w zegarze który robię zastosować ten czujnik. I tu pojawia się pewien problem, nie mogę znaleść gotowej procedury napisanej w asemblerze, zrobiłbym ją sam gdybym znał angielski i mógł doładnie zrozumieć notę katalogową- od jutra uczę się angielskiego ale to troche potrwa....
Po prostu przychodzi moment kiedy zapanowanie nad kodem assemblera staje się uciazliwe i tu powinno wkroczyc C. Przyznam się szczerze, że nie ma dla mnie takiego momentu (może dlatego, że w kwesiach programowania jestem samoukiem i nie miałem tu szczególnych osób jako autorytetów które by mnie naginały w jakimś kierunku... ;)). W asemblerze też można...
Witam;) Jeśli chodzi o nadawanie kodu cyfr klawiaturki zestawu to pisałem jakiś czas temu taki program w ramach zaliczenia tegoż przedmiotu. Podejrzewam jednak, że chodzi o wykorzystanie np. HyperTerminal'a i podawanie znaku z klawiatury komputera. Oto program który wówczas napisałem: st7/ TITLE"starter.asm" MOTOROLA #INCLUDE "st72334.inc"...
Potrzebuję procedurę (napisaną w asemblerze na 8051) dzielenia liczby 6-bajtowej przez dwubajtową .Z góry Dzięki.
Nie za bardzo działają te linki... Procedurę komunikacji znam, chodzi mi tylko o 9 pin (RI).
Rozrysuj sobie krok po kroku algorytm na podstawie tego kodu - będzie łatwiej. A najprościej to podejrzeć program memory i zobaczyć jak kompilator C przekształcił kod do asemblera.
A no dla tego, że pomiar temperatury jest częścią większego projektu, gdzie procesor odmierza czasy rzędu pojedynczych do 30 minut. A przy jednym MHz z timera 16 bit, przy preskalerze 1024 można uzyskać około 60 s co idealnie pasuje do innych procedur. Stąd mam narzucony taki wymóg zegara.
... Program napisalem od nowa i teraz mam pytanie: przy asemblacji wyskakuje "Zdublowany kod programu w obszarze 27..29 z obszarem 19..274" (asembler to Turbo) Czego to jest przyczyna? To przypatrz się coś napisał w 1-szym poście (komentarze usunąłem) :D ORG 000H 000H,001H,002H LJMP START ORG 000BH 00BH,00CH,00DH LJMP PRZERW_T0 ORG 001BH 01BH,01CH,01DH...
Programowania orientowanego obiektowo - podobno - bardzo ciężko jest się nauczyć samemu. Wszyscy guru zalecają przede wszystkim znalezienie sobie mentora - kogoś, kto łagodnie wprowadzi w świat tego programowania. Z mojego doświadczenia wynika ponadto, że osobom, które programowały już proceduralnie, jest jeszcze ciężej. Bardzo ciężko jest wykorzenić...
Nie wiem co to za procek, ale najprostszy sposob to odczytana liczbe sekund przesunac o jeden bit w prawo przez flage przeniesienia C. Dla AVR bedzie to instrukcja ROR (asembler) i mozesz wtedy dokonac skoku instrukcja BRCS lub BRCC do procedury zapalajacej/gaszacej dwukropek. Pozdro Dexter
Mam wątpliwości, czy to jest cały program. Moim zdaniem jest to wyrwana z jakiejś większej całości procedura. To chyba jest cały program, tyle że ten asembler pewnie dokleja przynajmniej kod zakończenia procesu. Generalnie mam wrażenie że autor pytania jest leniem. Miał napisać jakiś program na zaliczenie, dostał/znalazł gdzieś kawałek kompletnego...
jak zatrzymac program na dsm 8051 na 10 ms lub 1s nie uzywajac do tego procedur epromu?? da sie to zrobic uzywajac instrukcji NOP??
Pozwolę sobie dołączyć swoją opinię . Bascom nadaje się do zabawy w szkole średniej , jest prosty, szybki i nie wymaga ogromnej wiedzy , ale do poważnych rzeczy i pracy to raczej odpada . Jeśli chcesz mieć coś na przyszłość do pracy to zdecydowana większość używa C bo szybko pisze się kod i jest do niego wiele gotowych bibliotek z obsługą różnych rzeczy...
Mam mały problem. Zdaję sobie sprawe ze pewnie polowa odpowiedzi będzie typu "uzyj przycisku SZUKAJ" itp. ale jednak zaryzykuję. CHodzi mi o procedurki w asemblerze do sterowania wyświetlaczem alfanumerycznym przy pomocy czterech linii danych. Wszedzie są tylko omawaine sterowania przy pomocy ośmiu linii. NIby cztery to nie wielka różnica ( trzeba tylko...
Ze stwierdzeniem że w C pisze się szybciej niż w asemblerze jest troszkę racji ale nie zawsze ... W asemblerze można pisać sobie gotowe procedury i dołączać je do programów tak jak w C. W niektórych przypadkach jest łatwiej pisać w C ,ale asembler daje pełną kontrolę nad wszystkim i optymalizację kodu nieosiągalną dla innych języków. Z mojego doświadczenia...
1. Masz błędny tytuł postu - nie chodzi o żadne wstawki asemblerowe, a o łączenie C z asemblerem, czyli program hybrydowy. 2. Po co Ci te moduły i procedury asemblerowe? Kompilator C doskonale sobe radzi z dostępem do rejestrów. 3. Gdzie i jak zadeklarowałeś zmienną numByte? Jaki błąd sygnalizuje kompilator.
Być może dlatego, że do wywołania "sabrutyny", z której chcesz powrócić do miejsca wywołania za pomocą instrukcji ret należy użyć instrukcji call. dobrze kolega podpowiada - tylko, nie być może - a na pewno dlatego ;) tylko proszę autora - używaj ludzkich nazw typu podporogram, procedura, funkcja itp a nie "subrutyna" ;) a skoro się przesiadasz na...
Zafascynowany jestem konstruowaniem procesorów i komputerów z układów MSI SSI. Mogłoby się wydawa że to kompletna kicha, ale to przecież hobby. Chodzi o raczej o zabawe i satysfacje i spedzenie wolnego czasu. W latach 80'XX budowaliśmy sobie w instytucie na politechnice coś, co można nazwać hiperRISC, a co operowało jednym rozkazem ALU (NAND). Oprócz...
Mov edx, [ecx+eax*4] <-------------- Blad Jaki błąd? To zbyt ogólne pojęcie. Jaki asembler? Poza tym proponuję umieścić całość pliku źródłowego w załączniku. Z samej procedury nie zawsze da się wnioskować. Należało by przyjrzeć się np. deklaracjom zmiennych.
Myślę, że jeśli piszesz w C i używasz GCC - to jedną z najlepszych podpowiedzi jak i co robić w asemblerze jest właśnie C. Tzn chodzi o to, że można sobie jak na dłoni podejrzeć pliki w których masz cały kod napisany przez ciebie w C - przetłumaczony na asm i to z dobrymi opisami - co i jak. Czytanie tych plików to bardzo dobra lektura poważnie. Czasem...
Jesteś wielki, właśnie tego potrzebowałem mov A,R6 ;przeksztalcenie godzin na kod BCD mov B,#10 div A,B orl A,#30h ;konwersja do ASCI orl B,#30h ;xxxxxxxxxxxxxxxxxxx mov SBUF,B ;wyslanie jednosci godzin acall czekaj mov SBUF,A ;wyslanie dziesiatek godzin acall czekaj Twoja procedura bardzo ułatwia mi sprawę. Widać fragment mojego programu, w miejscu...
zerknij na ten projekt http://www.mcselec.com/index.php?option=... cała idea pomiaru jest zawarta w procedurze obsługi przerwania Interrupt Service Routine , jest to w Bascomie ale myślę że bez problemu przeniesiesz to na asembler
Witam. Gdzie znajdę gotowe procedury w asemblerze dla pic 16f84 np. mnożenie,dzielenie liczb 32-bitowych itp.
kolega w jakim jezyku pisze? asembler? c? bo kiedys znalazlem na necie jakies procedury do dmx w bascomie, ale wszyscy psy na nim wieszaja ze malo wydajny wolny i duze objetosciowo kody daje, ale na forum bodajze MCS'a znalazlem kilka projektow odbiornikow wlasnie dmxa nie pamietam tylko na jakim procku ale to byl chyba mega16 jest szansa na wspolna...
Potrzebuje prostego programiku w asemblerze AVR na 90S2313 wyswietlajacego cokolwiek na wyswietlaczu LCD na sterowniku hd44780. Inrefejs 8 bitowy. Potrzebny mi caly programik razem z procedura inicjalizacji wyswtetlacza. Czy ktos mozemi pomoc ?
Jaki masz zegar w układzie (częstotliwość)? Twoja procedura opóźniająca zajmuje około 256*256 cyklów, a to najprawdopodobniej za mało. Możesz np. wywołać funkcję CZEKAJ w analogicznej pętli, odpowiednią dla Twojego przypadku, liczbę razy.
Trochę na temat, ale praktycznie... Procedura ze stosu uip (w załączniku) dla Cortexa-M3, kod w C, napisana w asemblerze i skompilowana przez gcc. Kilka takich poprawek w tym stosie i w efekcie strony otwierają się natychmiast. Nie realne jest pisanie takiego stosu w asemblerze ale wsparcie go asemblerem jest jak najbardziej wskazane. Ciekawostka......
W każdym wykonaniu pętli liczysz kolejną cyfrę... Przepraszam, że zadam "niepoprawne politycznie" pytanie. Czy C służy do rozwiązywania takich problemów? Przecież w każdym HL są do tego gotowe procedury. Pojedyńczymi cyferkami można się "bawić" w asemblerze (służę w razie potrzeby procedurami), ale nie w C++. Pozdrawiam
oczywiście można go zwiększyć ale trzeba pamiętać ze dla mojego programu potrzeba 4*50=200 bajtów wolnego ramu. można pominąć buforowanie ale trzeba zapewnić na tyle szybki przetważanie danych ażeby procesor musiał czekac na dane a nie na odwrót. napisanie tego w asembleże też jest jakimś rozwiązaniem ale to troche robote jak nie masz wprawy. proponuje...
mam już zapis do pliku ale nie umiem przekształcic na liczby dziesiętne ,,, Są gotowe procedury służące do tego celu. Spróbuj znaleźć w sieci. Jeśli Ci się to nie uda podam link.
Sam asembler nie należał do łatwych a sam pisałem na Z80 tak jak i kolega darekRD. Po prostu autor zna go dobrze i jest mu prościej. A mając gotowe procedury i tabele jest o wiele szybciej niż w innych językach. Po za tym za pisanie przemawia czas, jest o wiele szybciej napisać w asemblerze.
Rozwaz uzycie mikrokontrolera AVR serii Atmega8 lub druga mozliwosc At89C2051 i polaczony przez magistrale I2C PCF8591 + do tego programik najprosciej w Bascom 8051 lub Bascom AVR poniewaz masz podane wszystkie procedury do odczytu magistrali i wmontowanych w Atmege przetwornikow. W innych jezykach: asembler lub C musisz sobie wiencej popisac.
Amatorzy i/lub poczatkujący + asembler? Po co?! Do prostych projektów bez uczenia się podstaw znacznie lepsze od BASCOMu są "obrazkowe" (schematic-based software design) systemy programowania typu ST-REALIZER. Amatorzy i/lub poczatkujący + BASCOM ? Po co?! Natomiast jeśli ktoś mi pisze, że nad projektem asemblerowym powyżej xxxx linii nie da się zapanować...
Kolego. Nie żartuj. Poszukaj. Nie ocknąłeś się nagle i nikt Ci nie kazał z nikąd tego pisać... Na pewno was tego uczyli. Procedury do ASMa do LCD są wszędzie w necie. Trochę wysiłku. 51 nie jest wcale taka trudna.
Asembler w dzisiejszych czasach ma niewiele sensu, były dwa powody stosowania asemblera, optymalizacja szybkości wykonywania kodu i objętości. Ja zaczynałem od asemblera na 8051, bo wszyscy tak robili, później jak pojawiły się AVR pisałem głównie w C czasami robiłem procedury obsługi przerwań w asemblerze. Wtedy uświadomiłem sobie że asemblera używałem...
Tak. Opóźnienia są za małe. Procedury opóźniające powinny wyglądać np. tak: wait10us: ; 3 ; Procedura odlicza czas 10us lditime,11 ; 1 wait10us_loop: dectime ; 1 brnewait10us_loop; 2 (1) ret ; 4 ;---------------------------------------... waitms: ; przy wywolaniu procedury zadeklarowac stala TIME_MS ; 3 ; procedura...
Niestety nie da się obsługiwać tego wyświetlacza inaczej. Lekarstwem na to może być zmiana procedury i dodanie jednej zmiennej do programu. Zliczaj położenie kursora i po 8 znaku przestawiaj kursor na drugą linijkę.
chodzi o to że musze skonstruować urządzenie które bedzie sterowało niezbyt skomplikowanym procesem produkcyjnym. procesor miałby serowac 100 przekaźnikami i załaczać je albo wyłaczać je w zalezności od wystąpienia jakiś warunków. czy w bascomie51 jest jakiś sposób by kompilować programy o kodzie wynikowym powiedzmy 8 albo 12kB. Chciełem użyć proca...
tutaj mam kod programu (co prawda dużo bardziej skomplikowany) sam program napisany w builder c++ z procedurami assemblerowymi. mam nadzieje ze sie przyda :)
AT89C52 to już raczej historia . Tego procesora nie można "skonfigurować" do pracy z I2C . Natomiast można go do pracy z szyną I2C zmusić programowo . Odpuść sobie ten procesor i zerknij na nowsze AVR'y . Taki np. ATmega8 ma wbudowany sprzętowy kontroler magistrali I2C . I tego możesz dosłownie skonfigurować do obsługi I2C przez wpisanie odpowiedniej...
W procedurze obsługi przerwania musisi zachowywać stan rejestru stanu procesora - standardowo push/pop. Bez tego w programie będą się działy takie cuda, że nie ma senstu tego analizować.
Rysunek pierwszy: F - Nie używasz FrameSpace - bo w programie nie ma żaden instrukcji, która by z niej korzystała. S - SoftStack też nie jest używany bo żadnych SUB ani FUNCTION nie masz. H - HWStack jest używany i maksymalnie rozrósł się do 12 bajtów, bo masz parę GOSUB i wewnętrzny kod też coś tam sobie skubnął. Nie ma też przerwań w programie zatem...
asembler sortowanie diody asembler asembler kwadrat
sterownik ekran nvidia windows uszczelniacze zaworowe źródło stałoprądowe
R502 - Czynnik chłodniczy: Skład, Zastosowanie, Szkodliwość Odpływ klimatyzacji Volvo C30 2.0D - lokalizacja i naprawa