Ja tu widzę sam asembler :> Skompilowane przy pomocy avra , program zajmuje 124B. Po pobraniu należy zmienić rozszerzenie na .hex. Pozdrawiam
zapomnij o makefile Zapominanie o makefile to jak zapominanie o dniu babci. Nie boli, a jednak wstyd :) Tak, to prawda :D
Pozbądź się spacji , ze ścieżki (PATH). Piotrek
2. Asembler jest kompilatorem, a asemblacja - kompilacją. Asembler MIPS zamienia jedną instrukcję symboliczną w 1..4 instrukcji maszynowych. Język maszynowy (zapis binarny) to też język. Niech sobie nawet zamienia to w 20 instrukcji maszynowych. Nadal operujemy w obrębie jednego języka. Przykładowo dla ARM nop jest pseudo-instrukcją zamienianą na:...
Można połączyć AVR Studio z avr-gcc i kompilowac pliki C ale lepiej uzyc do tego gotowego pakietu WINAVR.Pliki *.elf generowane przez ten kompilator mozna symulowac w AVR Studio.Ale to wszystko juz na forum bylo ...
napisz może jakiego asemblera używasz bo do obsługi procków jest chyba asembler 8088 czy jakośtak a zwykły Pecetowy ma jeszcze inne komendy
A ja na drugie kopytko jako ciekawostkę dodam, że ten asembler z AVRStudio ma preprocesor C, co przy umiejętnym wykorzystaniu daje podobne możliwości, jak pisanie w C... W swoich projektach przykładowo nie inkluduję <m162def.inc> tylko <ATmega162.h> wygenerowany narzędziem xmlconvert.exe też z AVRStudio.
Kolega chyba myśli że do procesora trafia zapis z C. Zapomina kolega że następuje kompilacja i Twój program napisany w C zostaje zamieniony na asembler a następnie na język maszynowy.
Witam, to zalezy jeśli użyjesz asemblera do niektorych funkcji to roznica powinna byc zauwazalna, natomiast w niektorych przypadkach niektóre komendy są bezpośrednio tłumaczone na asemblera i zysku nie będzie. W każdym wypadku instrukcje Bascoma są tłumaczone na instrukcje asemblera, na tym polega standardowa kompilacja na język zrozumiały dla procesora....
Jak asembler to asembler. Chyba nie można przetłumaczyć programu napisanego w asemblerze na różne kody wynikowe bo język ten jest tylko mnemoniczną interpretacją samego kodu maszynowego i jeżeli napiszesz rozkaz sbi(PORTD,1); to to zawsze będzie to samo dla danego procesora. Nawet używając różnych kompilatorów.
Dzisiaj nie trzeba, a nawet nie ma sensu pisać w asemblerze. Pierwszym powodem jest używanie języka pośredniego MSIL, który umożliwia działanie wielozadaniowe i przenoszenie kodu między różnym sprzętem. Bez tego "każdy by sobie rzepkę skrobał" i informatyka nie miała by szans na szybki rozwój. System ma kompilator języka pośredniego, który identyfikuje...
hmmm ja wprawdzie nie znam jeszcze C - tylko asembler - a zainstalowałem sobie WinAvr do AvrStudio 4.12 i już nie pamiętam jak ale udało mi się to spokojnie skonfigurować tak, że jak próbowałem skompilować jakieś przykładowe programiki to spokojnie przechodziła kompilacja .... popróbuj jeszcze, jak ci się nadal nie uda a nikt inny nie podpowie jakiejś...
Szukam od kilku tygodni jakiejś ciekawej książki o programowaniu mikroprocesorów AVR w języku C w okolicznych bibliotekach i księgarniach oraz w internecie. Jednak znajduję wszystko albo na assemblera albo na bascoma. Assembler jest dla mnie zbyt żmudny natomiast bascom niesatysfakcjonujący dlatego wybór padł na C. Niestety niewiele istnieje polskich...
(at) JacekCz Jak tak się mądrzysz i peszysz to wstaw lepszą wersję CPP i Assembler ;] Ja się nie peszę (bo tak słowa użyłeś). Kryształowa kula i Pierwotny Pytający milczy, jaki assembler jest oczekiwany w szkole Pytającego. Cros kompilacja z C/CPP -> ASM jest totalnie bez sensu ze wszystkich względów (dydaktycznych, technicznych itd). Ostatni prawdziwy...
Po pierwsze to nie ma czegoś takiego jak kompilator asemblera, jest po prostu assembler, to nie jest język kompilowany, a Tobie raczej chodzi o środowisko programistyczne - IDE. Poza tym każdy uP/uC ma swój charakterystyczny assembler (oczywiście wspólny dla całej rodziny mikrokontrolerów), bo inną listę poleceń ma PIC a inną AVR. Polecam lekturę: http://www.edw.com.pl/ea/asm_avr.html...
Na stronie Atmela jest dokument opisujący łączenie kodu w C z asemblerem. Wejdź tu: http://www.atmel.com/dyn/products/app_no... i poszukaj: AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR Może masz inny kompilator ale warto to przeczytać. Marek
dzięki jak możesz to prześlij mi tą wersje na: krystian.czyzewski(at)poczta.tp.pl Będe bardzo wdzięczny i jeszcze powiedz mi dokładnie co pobrać ze strony producenta bo byłem ale mam kompletny mętlik w głowie i nie wiem czego szukac.Dzięki
Sortowanie liczb całkowitych w tablicy metodą bąbelkowej. Chodzi może o sortowanie liczb metodą "bąbelkową"? Zadając pytanie należy podać: System operacyjny. Typ pliku wynikowego (com, exe), jeśli pod DOS, Windows. Komunikaty błędów kompilacji.
na elektrodzie wyskakuja dwa komunikaty: Warning: Nazwa tematu nic nie mowi o jego zawartosci Error: Nie zdefiniowano procesora Pomoc failed! 0x41 0x56 0x45!!
Kiedy mam problemy z programem dla AVR'a, napisanym w C, to zawsze podglądam co się urodziło po kompilacji. Czyli plik lst w asemblerze. Często okazuje się, że kompilator wstawia nie to co myślimy że powinno być. A dlaczego napisałeś tak: while(!(USISR & (1<<USIOIF))) //przerwie sie gdy SPSR ma 1 na SPIF miejscu Nie...
INC co 100 nic nie pomogła :( A co do wersji programu to pobrałem go ze strony Keila jako darmowy kompilator do 2K I chyba była to wersja ewaluacyjna. Ale jak kompiluje to nie ma komunikatu że przerwań nie mogę zrobić To może polecicie mi jakieś inne programy do kompilacji ?
Nie da się jakoś podglądnąć tego co wypluje kompilator? Można do tego użyć np. symulatora kompilatora https://godbolt.org/ i obejrzeć wynik kompilacji w asemblerze.
Co do tego programu do asemblera to szukam i szukam i znaleźć nie mogę :(
Czy da sie wyciagnac program z mikrokontrolera Motorola 68HC11, zmienic kilka linijek i wgrac spowrotem ? Czy kompilacja asemblera ( czy innego jezyka programowania w ktorym programuje sie ten procesor) do kodu maszynowego jest jednoznaczna. Czy jak wyciagne program z tego mikrokontrolera, i potem spowrotem skompiluje do kodu maszynowego to czy uzyskam...
Proboje coś z tym zdziałać, lecz mam pewien problem który mnie całkowicie zatrzymuje w miejscu.. Niemam jak sprawdzić czy te dzialania dają jakiś efekt, gdyż nie mam podglądu do zawartości rejestru.. Jak można wyświetlać w na konsoli w dosie, zawartości rejestrów ?? Tekst wyświetla się prawidłowo, ale jak podstawiam jakies zmienne to błąd przy kompilacji..
Kompilowane pod asemblerem AVRasm2 od najnowszyego AVRStudio. Przeznaczenie pliku eep jest do wewnętrznego EEPROM mikrokontrolera, bez jego zaprogramowania robocik ma prawo wariować, z tego co wyczytałem w pliku źródłowym. To nie jest pod WinAVR, ewentualnie avrdude, ale trzeba czytać dokumentację jak się programuje EEPROM. Polecam : http://www.amwaw.edu.pl/~adybkows/elka/i...
Kilka błędów: - nie możesz zakładać, że zmienne znajdują się pod stałymi adresami w pamięci, to się będzie zmieniać pomiędzy kompilacjami, w związku z tym istnieje konieczność użycia symboli - register to tylko sugestia dla kompilatora i tych rejestrów wcale nie musi rezerwować. Ale jest też poważniejszy błąd - rejestry te są wykorzystywane przez AVR-libc...
Wyczyść cały projekt - w menu debug - clean. Skompiluj całość od nowa. Upewnij się, że rzeczywiście kompilujesz z opcjami, które wskazałeś - może nie kompilujesz dla celu debug tylko release. Można też przejść do okna asemblera i tam ustawić pułapkę - jeśli tam się udaje, to oznacza, że środowisko pracuje ok, a problem jest z kompilacją i jej parametrami.
A dlaczego chcesz kompilować program napisany w asemblerze z poziomu Bascoma przecież z kompilatora asemblera też możesz otrzymać hex. Napisz na jaki procesor chcesz to skompilować.
Ale sprawdziłeś wygenerowany kod? Bo na 90% kompilator sam wygenerował to co tak pracowicie wstawiłeś w asemblerze - a jeśli nie to prosta zmiana opcji kompilacji, dodanie inline itd. spowoduje, że taki kod powstanie automatycznie. Co do wcześniejszego błędu - out ma ograniczony argument do 31. Kolejna sprawa - to co tak pracowicie symulujesz programowo...
Cz kod, który Kolega przedstawił jest działający, czy kompilacja przebiegła bezbłędnie?
Nie bardzo rozumiem. Ten sam kompilator zawsze kompiluje tak samo. Rożne kompilatory mogą dać inne wyniki przy kompilacji tego samego programu.
Moim zdaniem wygląda to tak, jakby brakowało define-a, który przełączyłby (na zasadzie ifdef-ów) pliki nagłówkowe na włączanie tylko definicji stałych zrozumiałych dla asemblera. Może to kwestia wersji AVRStudio? Spróbuj dodać do ASMFLAGS opcję: -D__ASSEMBLER__ (po dwa podkreślniki).
Witam! Jako, że jestem zielony;) w programowaniu mikrokontrolerów PIC a dokładniej w asemblerze prosze pomoc. Podczas kompilacji w programie MPASM otrzymuje nastepujace bledy: Warning[205] C:\1\L.ASM 217 : Found directive in column 1. (error) Error[128] C:\1\L.ASM 217 : Missing argument(s) Message[302] C:\1\L.ASM 222 : Register in operand not in bank...
W procesie macierzystym PID potomka to wynik funkcji fork Proces macierzysty dostanie pid dziecka. Dziecko dostanie 0. Trochę się zakręciłem :D W ogóle program najpierw był częściowo w C++, a teraz już w nim nie jest w ogóle :) Ciekawe czym będzie gdy autor wrzuci go ponownie? Może w asemblerze?
To ja załączam odpowiedź.To jest prosty przykładzik projektu z AVRStudio , przystosowany do PN-a.Winy za błędną kompilację Twojego projektu , upatruję w makefile i pliku *.S(syntax) ;) Piotrek PS "Przerzuć się" na AVRStudio, a odpadnie Ci kłopot z makfile :D
witam, ja używam AVR Studio i tylko asemblera i nie mam żadnych problemów z utworzeniem plików hex i kompilacją ;) .... hmmm tam w tej całej długiej ścieżce widzę, że masz \Władziu\ - spróbuj sobie ustawić w opcjach inną ścieżkę gdzie mają być tworzone pliki po kompilacji albo wogóle utwórz projekt ASM w folderze gdzieś na dysku ale krótszym i żeby...
Skorzystałem ze sposobu 1 tzn. avr-gcc z 2002r. i kompilacja z wiersza poleceń. Niestety ten avr-gcc nie obsługuje attiny2313 (tzn. obsługuje tylko w trybie asembler'a) więc zadeklarowałem 90s. kompilacja przebiegła bez błędów. Po wgraniu do attiny - program ruszył i działa... (będą jeszcze testy ale chyba wszystko w porządku) Dziękuję za pomoc!
Jeżeli chcesz tylko poprogramować to weź 8252 i ISP (tak jak pisał przedmówca). Zdecydowanie łatwiej uruchamiać wszystko, nie wyciągając co chwilę kości z podstawki (już nie wspominam o kasowaniu UV) Kurczę zapomniałem jak się programowało AT89C2051, dopisanie kilka linijek kodu kompilacja, włożenie mcu do Willem'a zaprogramowanie, wyjęcie z programatora,...
Dla kompilatora nic nie robi, to fakt. Co do "c" to za bardzo go nie lubię i nie znam go dobrze, bardziej preferuje asembler bo wiem co jest w kodzie... spróbowałem z tym "volatile" i zrobiłem tak: u08 SetAddress(u08 cs, u08 adr) { u16 i; if (cs==CTRL) i = adr+0x08; // select A4 low -> CS1 -> CTRL else i = adr+0x10; // select A3 low -> CS0...
Piszesz w asemblerze następnie kompilacja ,oczywiście dla danego mikrokont jaki posiadasz ,wybierasz to opcjach kompilatora.otrzymujesz plik wynikowy i wysyłasz go do prtu pod który masz podpięty programator .Teraz już masz zaprogramowany układzik .A tera problemy dlaczego to niestety nic nie robi .Szukasz błędu poprawiasz i wracasz do kompilacji .Zeby...
Możesz załączyć listing? (to znaczy to co zostanie wytworzone po kompilacji C w postaci asemblera, ale z całego programu). I napisz jeszcze konkretnie na jaki procesor to kompilujesz.
sprawdzasz w jaki sposób kod C tłumaczony jest na asemblera (po kompilacji z optymalizacją), a następnie ile taktów zegarowych wykonuje się dana instrukcja
22-27pF. W projekcie powinien być użyty oscylator kwarcowy 4MHz. Tak naprawdę to rozszerzenie tego pliku powinno być " .asm ", oznacza on de-facto plik tekstowy, ale zawierający postać źródłową programu w asemblerze. Proces zamiany postaci źródłowej na przygotowaną do załadowania do pamięci programu i uruchomienia nazywa się kompilacją. Tytuł tematu...
jak bys przesłał kod programu to moze moglbym Ci pomoc...
Nie, to nie to. Mało tego - teraz sprawdziłem: jeżeli Atmel Studio kompiluje aplikację napisaną w C, to wszystko gra w tym dropboxie - pliki wyjściowe są ładnie nadpisywane. Więc sprawa jest zawężona tylko do aplikacji używającej kompilatora asemblera.
no no - to nie takie hop siup używać jednego i drugiego - jeśli jeszcze nie znasz przynajmniej dobrze jednego z nich ;) po pierwsze można używać asemblera jako wstawek do prawie każdego języka wyższego poziomu - no ale żeby ktoś to robił odwrotnie to nie słyszałem ;) to byłoby wręcz bez sensu - żeby pisać aplikację w asemblerze i próbować myśleć nawet...
Szukałem i znalazłem stosowne parametry, ale ni jak to się ma do uzyskanych rezultatów. Podanych było kilka częstotliwości w zależności, od grupy pinów. Lecz nie wiadomo jak to rozumieć, np. sygnał zegarowy interfejsu SPI może osiągnąć taki zegar jak zegar główny procesora i można powiedzieć że ten jeden pin ma taką dużą częstotliwość. Co do 8bitowych...
LOL... No mówiłem, że noga z asemblera jestem... ;) Dziękuje obu kolegom za pomoc... Jak narazie kompilacja była bez błędów... Jutro będę sprawdzał czy działa... Pozdrawiam Rafał... PS Chyba wypadało by się poduczyć asemblera :/
po polsku to raczej nie znajdziesz chyba ze ktos zrobic dla Ciebie taki kurs w czym to chcesz pisac ja pisze w C w AVR Studio 4 wiec nie ma zadnych problemów. Jesli chcesz w asemblerze to tez nie widze problemu jesli znasz asemblera AVR studio to tylko pomocne narzedzie do kompilacji z wbudowanym kompilatorem do asemblera i mozna podpiac kompilator...
przy kompilacji powinny tworzyć się pliki *.lst lub *.lss
Tak, tylko problem w tym że nie znam asemblera.
AVR Studio - kompilacja i symulacja. Piszesz albo w asemblerze AVR albo korzystasz z GCC i podpinasz AVRStudio do WinAVR. Nie musisz tworzyć żadnych plików make, clean wtedy. WinAVR nie posiada opcji symulacji ani debuggowania (np. jak masz JTAGa), więc jest to raczej edytor tekstowy z możliwością kompilacji.
Jakims jedynym ratunkiem byl Bajtek - ktory zreszta poza listningami w Basicu nie wiele wnosil. Trzeba było uważniej czytać tego Bajtka. Sam pisałem wtedy w asemblerze również dla Z80 a kilka moich propozycji programów graficznych w asemblerze właśnie się w Bajtku pojawiło (w dziale dla ZX Spectrum). Więc nie było tam tylko o Basicu. Podobnie bylo...
http://obrazki.elektroda.net/64_12841145... Projekt powstał w celu zapoznania się z tym małym uC. Działanie układu: Po przyciśnięciu przycisku układ budzi się ze stanu "Power-down". WDT odlicza czas potrzebny do zmiany świecącego LEDa a Timer odpowiada za generowanie dźwięku. Po 10 sekundach migania układ przechodzi w stan "Power-down" Program...
Nie no spoko zadnej sprzeczki nie zamierzam robic ;-).Assemblera znac trzeba, co do tego nie ma zadnych watpliwosci, jesli chce się faktycznie umiec programowac uC.Po prostu przychodzi moment kiedy zapanowanie nad kodem assemblera staje się uciazliwe i tu powinno wkroczyc C. ... (ciach) ... Moze wlasnie to cie przekona do C :D ? Ależ mnie nie trzeba...
Twierdzisz, że złożone konstrukcje JAVA, zapisane w asemblerze, czy PASCALU będą efektywniejsze od tych samych konstrukcji emulowanych sprzętowo :?: Nie ma czegoś takiego jak "złożone konstrukcje JAVA". Java jest kompilowana do byte-kodu, który przypomina język asemblera po kompilacja. Idea jest taka że ten byte-kod jest przetwarzany na maszynie wirtualnej,...
Kolego Tomcio7 , avr/io.h to nie jest żadna biblioteka tylko zbiór definicji. Oczywiście można te definicje przepisać do pliku z kodem źródłowym ("wyręczając" kompilator), ale zanim się to zrobi, to trzeba zrozumieć co te definicje oznaczają. Krótko - kolega przepisał definicje dla asemblera zamiast dla kompilatora C. Konkretnie chodzi o test warunku...
Po uruchomieniu w symulatorze _Accum zostały podkreślone na czerwono i w okienku jest "Nierozpoznany symbol". Po prostu symulator tu nie daje rady z c - zawsze możesz to podejrzeć w oknie asemblera.
Jeżeli plik jest w asemblerze, to kompilujesz go za pomocą programu AVR Studio, bądź innego kompilatora Asemblera. Bascom to kompilator basica, z asemblerem bywa w nim różnie
Poszukuje kompilatora asemblera do 51. Ten co mam daje ciała, nie tworzy hexa i bina. Te co ściągłem również nie działają, chyba że robie coś nie tak. Czy jest jakieś narzędzie pod Windows98 do kompilacji asma. Może jakieś namiary?
(at)tomasz249 Co robisz źle? Po prostu nic nie robisz, kręcenie myszą po ekranie nic nie zmienia :) Pisałem ci, że podgląd masz w oknie C, a nie disassembly, w którym masz podgląd asemblera. Poza tym nie postawiłeś breakpointa, bo nie można postawić breakpointa na pustej linii. Czasami automatycznie to przeskoczy na najbliższą instrukcję, czasami nie....
Na pierwszy rzut oka fajne te STMy. Jak to się programuje asembler czy jakiś inny język ? Program do kompilacji ?
I o to właśnie chodzi - 2 takty na bit, czyli 16 taktów na bajt, reszta funkcji wykonuje się porównywalną ilość czasu, w efekcie za 50% odpowiada samo SPI. Druga rzecz - kompilator ma pewną dowolność w tworzeniu kodu asemblerowego, a to znaczy, że nie jesteś w stanie dokładnie powiedzieć ile ten kod się wykonuje. Dokładniej - jesteś w stanie, ale tylko...
zgadza sie. da sie to wszystko upchnac w 2 portach. oprocz tego trzeba poprawic kilka instrukcji tych nie obslugiwanych przez 2313 jak CALL i JMP. caly czas mam jakies bledy w stosach i przerwaniach przy kompilacji
Witam moich kolegów programistów, Mam do napisania program z asemblera. Kompilacja Fasm32. Program ma zapisywać dwie liczby do pliku (z klawiatury)test.txt. Kompilacja programu przebiega prawidłowo jednak to wpisaniu dwóch liczb nie zapisują się one do pliku. Prośba o wskazanie błędu. Dziękuje z góry wszystkim pomocnym. Trzymajcie się ciepło ;Aplikacja...
Witam! Mam dość praktyczny problem - mam zaprogramowany kontroler i chciałbym odzyskać z niego kod, tak bym mógł nanieść na niego kilka poprawek Pierwotny plik projektu, jak i kod w c przepadły wraz z formatem komputera, jedyne co zostało to plik .hex odzyskany z kontrolera Czy istnieje jakaś stosunkowo bezbolesna metoda żeby ten plik odczytać? Na...
A w asemblerze dałby ktoś radę to napisać?
Najprawdopodobniej kompilator "nie widzi" zależności między użyciem zmiennej globalnej w przerwaniu i w pętli głównej i sobie to nazbyt optymalizuje. Możesz to prawdopodobnie wychwycić obserwując kod wynikowy w asemblerze. Rozwiązaniem może być zmiana stopnia optymalizacji kompilacji lub dodanie parametru "volatile" dla zmiennej globalnej.
Kompilowałem podany kod u siebie, przy kompilacji jako c++ kompilator rzucał się do linii "static Which=0;", ale po drobnych poprawkach ruszył. W kodzie asemblera nie widzę znaczących różnic, pod symulatorem wszystko działa poprawnie. 1/ Sprawdź, czy zastąpienie "pgm_read_byte(&g_Cyfry[n%10])" przez stałą (np 164) coś zmieni. 2/ Sprawdź, czy przeniesienie...
Wszystkie problemy znikly gdy przesiadlem sie na Raisonance. Keil demo fajnie dziala na asemblera ale hex ktorego generuje nie chce za bardzo wspolpracowac z moim programatorem Progat.
Tak, program jak i asembler pobrałem z tamtej strony. To w takim razie co mam robić? U mnie on nie działa. Ja kompiluję tym [url=http://plit.de/asem-51/]ASEM-51 W załączniku masz skompilowany plik, wymagał on poprawki w linii z $nomod na $nomod51 oraz w linii 3069 z mov p0, #111111101b na mov p0, #11111101b To co Ty wysłałeś wygląda mi na próbę kompilacji...
Witam. Ja uzywam programatora firmy AVT (kit 320) ;programuje on wszystkie procki Atmela serii '51.Tylko jest on troche drogi ok.300 zl.Do kompilacji programu napisanego w asemblerze uzywam ASM51.Pozniej przetwarzasz na plik .hex i juz mozesz programowac.Zamiast 89C51 mozesz sie zainteresowac prockami Atmela serii AVR.Nie potrzeba programatora ,programuje...
Można oczywiście patrzeć na plik map, ale prościej użyć programu avr-size/size z toolchaina gcc, który ci poda rozmiar programu. Jeśli kod jest większy niż 1kB to w żaden sposób do tego procka go nie wczytasz, można kod spróbować skrócić. To wymaga specyficznych opcji kompilacji, np. -mint8, poinformowania o 8 bitowym stosie i np. o braku kolizji przerwań...
Podam Ci przykład, jaki u mnie działa: #include <iostream> using namespace std; int port=0x378; int dane=0x01; void outport(int port,int dane); int main() { outport(port,dane); cout <<"D0 ustawione na 1"; getchar(); return 0; }; void outport(int port,int dane) { asm(".intel_syntax...
Do mikrokontrolera ładuje się już kod w postaci binarnej otrzymany w wyniku kompilacji kodu źródłowego. Jeżeli układ nie ma aktywnego zabezpieczenia, to idzie odczytać ten kod binarny i przetworzyć co najwyżej do postaci zbliżonej do jezyka asemblera, nie jest to jednak identyczny kod, jaki stworzył programista, z nazwami etykiet, definicji stałych...
no to pozostaje Ci np. pokroic kod na kawalki i sprawdzic co sie powiekszylo i/lub zerknac w asemblera. Gdzies tu niedawno byl zreszta temat o tym jak sprawdzic ile co zajmuje.
Bascom powinien po wywołaniu procedury obsługi przerwania skasować flagę a tego nie robi...i po obsłużeniu przerwania znów jest ono natychmiast wywoływane i program się zapętla. Trzeba ręcznie ustawić flagę w rejestrze GIFR.. Ale posłuchaj, Bascom nie wywołuje żadnej procedury obsługi przerwania. To ty piszesz ją w Bascomie i jest ona wywoływana automatycznie...
Gdzie, jaki błąd, podczas kompilacji, czy podczas działania? Poza tym nie licz na to, że ktoś będzie przekopywał się przez nieskomentowanego asemblera:).
Są pisane w asemblerze bo pisane w C lub innym języku wyższego poziomu po kompilacji nie zmieściłyby się w pamięci. Co do tłumaczenia powyższego fragmentu kodu to jest w nim zaledwie kilka bardzo prostych instrukcji zatem polecam przeczytanie dokumentacji asemblera AVR. To na prawdę nic trudnego.
Kiedy już widzisz okno Dissasembly jesteś w domu. Po prostu widzisz jak to kompilator obsługuje, które rejestry i jakimi instrukcjami....Każda instrukcja języka wyższego poziomu jest tłumaczona na ASM a tak naprawdę to jest opisem poprzedzajacym to co na podstawie tej instrukcji wygenerował kompilator. Przedstawiłeś drogę maksymalnie na około. Po prostu...
To jas plik w asemblerze napisany dla toolchaina gcc? Czy goły asembler? W obu przypadkach użyj po prostu Atmel Studio, któe z tego robi ci plik w formacie hex i ten użyj do zaprogramowania MCU. Tak przy okazji - brak pliku elf może wynikać też z tego, że kompilacja projektu się nie powiodła - np. błąd w kompilowanym kodzie.
2łaśnie do tego zachęcił mnie artykuł nt. "kompilatory od środka" z linux magazine mnie zachęcił do poznawania tych rzeczy Kompilator od środka nie znaczy asembler. Poczytaj np. "gcc internals". Samo przełożenie tego co wygeneruje kompilator na asembler platformy docelowej to zaledwie ostatni, malutki kroczek w złożonym procesie kompilacji programu....
Ja to sobie nieco inaczej wyobrażam: najpierw kurs architektury i małe wprowadzenie do asemblera, a następnie przesiadka na język wyższego poziomu. Brzmi to bardzo patetycznie, tym niemniej nie ma co się na asm obrażać, kompilacja niektórych wyrażeń standardowych (pętle, warunki itp) mnie osobiście zachęca do zrobienia wstawki w asm, która załatwi...
Stało się tak gdyż użyłeś nowszej wersji kompilatora niż autor programu. Autorzy WinAVR probują upodobnić go do standardu ANSI C ,a instrukcje(mnemoniki) sbi i cbi są wzięte "na żywca" z asemblera. Polecenia: sbi(DDRB,PB1); sbi(PORTB,PB1); musisz zastąpić przez: DDRB|=1<<1; //ustaw DDRB,1 PORTB|=1<<1; //ustaw PORTB,1 Może wyglądają one troche...
AVRStudio to tylko IDE z asemblerem, kompilator można śmało sobie skopiować i używać oddzielnie.
Kod wygląda poprawnie, tzn na ile się da go zrozumieć ;). A czy na pewno zapisujesz plik przed kompilowaniem, pracujesz w dobrym katalogu, kompilujesz dobry plik, ładujesz do procesora dobrą wersje programu, przeładowujesz plik w programie do programatora po każdej kompilacji?
Według mnie to polecenie robi: wywala błąd przy kompilacji. Ale może masz jakiś egzotyczny kompilator.
Wypróbowałem 3 kompilatory asemblera Z80, ale żaden nie potrafił skompilować monitora CA80, szczególnie był problem z wyrażeniami EQU. Odgrzebałem swój stary projekt, jakim był kompilator asemblera 8051 napisany do użytku z DSM-51, ponieważ oryginalny DSM51ASS nie kompilował kodu, który miał się znajdować w adresach od 8000h do FFFFh, w których jest...
Hej ja niedawno zaczalem uczyc sie asemblera do prockow Atmela czyli np at89c2051 i tym podobnym Niestey nie moge Ci doradzic w czym najlepiej pisac i na jaki rodzaj prockow ale to co ja zauwazylem to wiele wiecej materailow w sieci na temat tych prockow i kursu asemblera poza tym latwo mozna zdobyc programy sluzace do kompilacji swojego progamu na...
Jako że asembler jest z reguły samodzielnym niezależnym, i nie związanym z IDE programem wszelkie etykiety i makra są jego wyłaczną domeną. Generalnie etykiety i marka to jest inna droga przy kompilacji ale te rozważania wkraczają w naukę o kompilatorach/translatorach. Jeżeli assembler jest makto-assemblerem (dziś trudno o inny) to wszelkie maka są...
napisz co ma program ten robic, a napisze w asemblerze Pozdrawiam
Dłuższa bajka. W skrócie najczęściej chyba przez dodanie offsetu (przesunięcia) adresu zmiennej do jakiegoś adresu na stosie. To jak to dokładnie działa pewnie może być zależne od: rodzaju procesora, systemu operacyjnego, kompilatora, ustawień kompilatora. Nie jest to w łatwy sposób dostępne dla progamu napisanego w C/C++ i wydaje mi się że powinno...
OK, ale jeszcze mam pytanie odnośnie tej biblioteki. Zrobiłem to co mogłem czyli pozmieniałe nazewnictwo portów na AVR, jednak przy kompilacji w BASCOM AVR wykazuje błędy. min. niezidentyfikowane wstawki asemblera. Czy jest jakaś prosta metoda aby Bascom AVR przyjął tą bibliotekę. Nie ukrywam że zależało by mi aby uruchomić te bibliotekę z ATTINY2313...
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.
to co na rysunku powyżej mi wyszło to dla tego że zamiast dodać bibliotekę która wykorzystywałem w projekcie.. po prostu wkleiłem cały plik usartlib.inc i dlatego po kompilacji wyszły takie wyniki... Ale mimo wszystko dziękuję Koledze Asemblerowi...za chęć pomocy.:-) Mam jeszcze jedno pytanie..czy rejestry szeregowo-przesuwne HCF 4094 mają zanegowane...
sadło: znowu się z Tobą nie zgodzę, w każdym razie częściowo, bo to są deklaracje stałych (co zresztą napisałeś). Zmenne deklaruje się w inny sposób. Tak jak napisaleś to jest adres komórki, a nie nazwa zmiennej. FAQ do którego odnośnik jest wyżej zostało uzupełnione o deklaracje zmiennych, ale jeżeli nie chce sie komuś szukać to dołącze kawałek tutaj:...
Czy ktos probowal kompilowac gcc dla AVR pod Mandriva 2007? Przy probie kompilacji wersji 4.1.1 make wywala mi kilkadziesiat bledow asemblera, a 4.1.2 - komunikat "Brak regul do wykonania obiektu `avr-as`' :|
Tego się nie rozkłada na żaden język programowania, to nie są programy wpisane w stylu ''if 'silnik' jest zmulony then więcej 'wachy'''. Nie wiem czy o tym wiesz ale każdy ''punkt'' w tym programie (przełączanie trybu ''.'') jest odpowiedzialny za jakiś parametr lub zależność pomiędzy elementami. Witam ,to nakieruj mnie jak:!:"jaki punkt w programie????"właśnie...
Nie do końca, np. takie komputery jak MK14, KIM-1, i setki podobnych miały, jeśli w ogóle, tylko klawiaturę numeryczną, najczęściej HEX, oraz prosty monitor(program nie ekran), który pozwalał na bezpośrednie wprowadzenie jedynie kodów numerycznych (najczesciej HEX lub osemkowych)do pamięci. Assembler to już program, który pozwala operować na rozkazach...
asembler kompilacja kompilacja openwrt kompilacja notepad
obróbka blacha naprawa modułu pralki samsung radmor programator
rzutowanie prostokątne pioneer instrukcja obsługi polski
Wolniejsze obroty bębna pralki - przyczyny i rozwiązania Siemens TK76K573 - Zbyt Dużo Wody w Pojemniku na Skropliny