Collatzo utworzono 1 maja 2010 utworzono 1 maja 2010 (edytowane) Witam, chciałem zacząć przygodę z asemblerem. Znalazłem często polecany link: http://rudy.mif.pg.gda.pl/~bogdro/ oraz czytam Wikibooks. Mam dosyć specyficzny problem. A mianowicie ściągnąłem sobie NASMa i zastanawiam się jak go w ogóle używać... Co zrobić aby móc wprowadzać kod programu itd. Dodatkowo jeżeli znacie jakieś dobre książki traktujące od podstaw kurs ASM, to bym prosił o tytuły itp. W przyszłości chciałbym go wykorzystywać go do programowania mikroprocesorów itp., ale na razie interesuje mnie zapoznanie się z samymi podstawami języka. Od razu zaznaczam, że nie oczekuję tekstów typu "człowieku po co się uczysz tego badziewia".
antos komentarz 1 maja 2010 komentarz 1 maja 2010 Jeżeli chciałbyś się nauczyć Asemblera i wykorzystywać go do programowania mikroprocesorów/mikrokontrolerów to polecam zacząć od programowania na rodzinie MCS-51, a na sam początek starawego już 8051. Tylko, żeby dobrze programować w asemblerze trzeba znać architekturę wewnętrzną danego mikroprocesora. Trzeba wiedzieć jakie rejestry w nim siedzą pod jakimi adresami. Na początek proponuję książkę braci Gałka "Podstawy programowania mikro-kontrolera 8051. Pracownia systemów mikroprocesorowych na bazie DSM-51" DSM 51 to nic innego jak Dydaktyczny system mikroprocesorowy. Produkt firmy MicroMade, czyli 8051 opakowany w ładną obudowę z dodatkowymi pierdołami, żeby tego za szybko nie zepsuć. Niestety jest dość drogi, a podręcznik można dostać bez problemu. Dlatego zamiast kupować cały DSM to radziłbym użyć symulatora o swojskiej nazwie Jagoda. 1
Collatzo komentarz 1 maja 2010 Autor komentarz 1 maja 2010 Dzięki wielkie za odp. Już ściągnąłem Jagodę. Ten ekran co pojawia się zaraz po uruchomieniu, to już jest miejsce na pisanie kodu (niewymagana jest konfiguracja sprzętowa, na której chce programować itp.)? W najbliższym czasie lecę do biblioteki i biorę książkę Gałków
antos komentarz 1 maja 2010 komentarz 1 maja 2010 Trochę od złej strony bierzesz się za to programowanie. Najpierw książkę by Ci się przydało przeczytać, a dopiero potem programować. Bo obecnie jeszcze na pewno niewiele wiesz o architekturze 8051. Książki (a właściwie podręcznika) nie dostaniesz w bibliotece, ponieważ jest to typowy podręcznik wykorzystywany do uczenia w Technikum i na Studiach. Swoją drogą bardzo dobrze napisany. Na razie poczytaj to: http://lodd.p.lodz.pl/kwbd/mikrokontroler.htm żebyś wiedział przynajmniej na jakie rozkazy reaguje owy kontroler. Obsługa Jagody jest banalna. Jak już ją uruchomisz to dajesz plik >nowy I otworzy Ci się zwykły edytor tekstu. Zaraz po uruchomieniu pokazuje się okienko z nazwiskami twórców itp. Klikasz OK i pokaże Ci się program właściwy. Na początek będziesz miał otwarte różne okna (klawiatura matrycowa, klawiatura sekwencyjna, wyświetlacz 7-segmentowy, wyświetlacz ciekłokrystaliczny) a jak klikniesz plik>nowy to Ci się dodatkowo otworzy prosty edytor tekstu. Na próbę żebyś widział jak mniej-więcej to działa i jaka jest składnia kodu napiszę Ci prosty program który będzie zapalał i gasił diodę. DIODA EQU P1.7 ORG 0000H AJMP START ORG 100H START: CLR DIODA MOV A,#10 LCALL DELAY_100MS SETB DIODA MOV A,#10 LCALL DELAY_100MS AJMP START Wkleisz to do tego edytora, a następnie klikniesz Uruchom>uruchom 1
Collatzo komentarz 1 maja 2010 Autor komentarz 1 maja 2010 (edytowane) [quote name='antos' date='01 maj 2010 - 13:00' timestamp='1272711763' post='1018325'] Trochę od złej strony bierzesz się za to programowanie. Najpierw książkę by Ci się przydało przeczytać, a dopiero potem programować. Bo obecnie jeszcze na pewno niewiele wiesz o architekturze 8051. Książki (a właściwie podręcznika) nie dostaniesz w bibliotece, ponieważ jest to typowy podręcznik wykorzystywany do uczenia w Technikum i na Studiach. Swoją drogą bardzo dobrze napisany.[/quote] Pewnie masz rację. Czy w tej poleconej przez Ciebie książce jest to dokładnie opisane czy powinienem się dodatkowo zapoznać z inną literaturą o tym traktującą? Tak się składa, że jestem studentem, ale nie mam tego na studiach, więc samemu chciałem się nauczyć, a książeczka w bibliotece leży i (na mnie) czeka Wolę wersje papierowe książek, bo czytanie z monitora jest uciążliwe. [quote name='antos' date='01 maj 2010 - 13:00' timestamp='1272711763' post='1018325']Na próbę żebyś widział jak mniej-więcej to działa i jaka jest składnia kodu napiszę Ci prosty program który będzie zapalał i gasił diodę. [/quote] Działa, dzięki. Po prostu nie miałem domyślnie wyświetlonej diody i innych przyrządów, ale na szczęście poziom skomplikowania obsługi jest na tyle niski, że nie powinienem mieć z tym problemów (no i jest rozbudowana pomoc).
antos komentarz 1 maja 2010 komentarz 1 maja 2010 Nie ma tam informacji jakoby należało się zapoznać z inną literaturą. Pierwszy rozdział książki traktuje ogólnie o mikroprocesorach i o strukturze DSM, bo normalnie 8051 to zwykły układ scalony do którego trzeba sobie samemu wszystko podłączyć, a DSM to 8051 z podłączonymi bajerami żeby człowiek się sam nie musiał męczyć z projektowaniem i składaniem tego wszystkiego. Następnie książka jest podzielona na kilkanaście lekcji. Każda lekcja traktuje o innym zagadnieniu i na przykładzie pokazuje jak to wykorzystywać. Niestety nie wiem jak by to wyglądało gdybym był zielony i dostał tą książkę do ręki, bo cykl nauczania w technikum przewidział, że najpierw cały rok się uczyłem w teorii o architekturze 8051, a dopiero po tym nauczyli mnie programować, więc dużo z tego mi odeszło, bo już wiedziałem co i jak działa w tym uC. Ja bym jednak najpierw radził poczytać co nieco o tym uC. Tylko, że w necie są same suche rzeczy z których początkujący nie wyciągnie nic, a podręcznika do układów mikroprocesorowych nie miałem. Z tym, że ja się o tym uczyłem bardziej od strony elektronicznej. Poszukaj necie, na pewno coś znajdziesz.
rafalluz komentarz 1 maja 2010 komentarz 1 maja 2010 Kompletny zestaw instrukcji do 8051: http://www.win.tue.nl/~aeb/comp/8051/set8051.html#51mov Akurat miałem pod ręką. Na bazie tego pisałem symulator swego czasu. Bardzo prosty z prościutkim "debuggerem". Jak chcesz, mogę udostępnić.
antos komentarz 1 maja 2010 komentarz 1 maja 2010 Tylko, że lista rozkazów nie przyda się gdy się nie zna chociaż pobieżnie architektury danego uC. No i zapomniałbym o świętości jeżeli chodzi o programowanie w asemblerze - 4 tryby adresowania, które trzeba umieć przez sen wymienić. @rafał Co do symulatora, to ja chętnie przetestuję
Collatzo komentarz 12 czerwca 2010 Autor komentarz 12 czerwca 2010 (edytowane) Ze względu na niedobór czasu, nie miałem okazji dokładnie się zapoznać z asm, a w międzyczasie zmieniłem system operacyjny. Postanowiłem odświeżyć trochę wątek, gdyż mam pytania. Czy istnieje coś podobnego do 'Jagody', tyle że do AVR-ów? Fajnie by było gdyby było pod Linux-a, ewentualnie windowsowego, to spróbuję sobie puścić na Wine lub uruchomię windę. Dużo szukałem i pomyślnie udało mi się odpalić VMLAB, jednak obsługuje to wyłącznie język C. I jeszcze pytanie odnośnie książki: "AVR i ARM7. Programowanie mikrokontrolerów dla każdego" (tu przykładowy opis: http://merlin.pl/AVR-i-ARM7-Programowanie-mikrokontrolerow-dla-kazdego_Pawel-Borkowski/browse/product/1,780188.html ) Jak myślicie czy będzie to pomocna pozycja na początek? No i w opisie widzę, że zawiera ona wiele języków tj, asemblera, C, Bascoma i Pascala. Zastanawia mnie czy jeżeli coś jest do wszystkiego, to czy nie jest do niczego?
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.