• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kursy, Książi, Poradniki - Assembler - Ktoś poleci?

0 głosów
188 wizyt
pytanie zadane 11 grudnia 2016 w Assembler przez Zaglowiec Mądrala (5,450 p.)
edycja 14 grudnia 2016 przez Eryk Andrzejewski
Witam

Widziałem dwa tematy na forum związane z Assemblerem, ale pytanie na które szukam odpowiedzi nie było za bardzo rozwinięte.

Poszukuje kursów, książek oraz stron poświęconych Assemblerowi. Czy możecie coś polecić?

Zacząłem póki co od tego kursu:

https://www.youtube.com/watch?v=OTLyD2EEN0w&list=PL7CA8FE35B665D4DD , żeby poznać podstawy języka. Wiem, że opiera się on na 32 bitowym systemie, ale myślę, że przejście na 64 nie będzie ciężki.

Jeśli byście znali czy to właśnie kursy, książki, czy to strony, to prosiłbym o Assemblera 32, jak i 64 bitowego.

Dziękuję z góry za wszelką pomoc

Zaglowiec

@EDIT

Pytanie zostało zakopane pod stertą nowych, ale może ktoś jest w stanie pomóc rozpocząć naukę tegoż języka i polecić znajome wam bardziej lub mniej kursy, które mogą zaoferować przynajmniej średnią dawkę wiedzy.
komentarz 14 grudnia 2016 przez Eryk Andrzejewski VIP (105,440 p.)
Witam, pozwoliłem sobie dopisać do pytania treść Twojej "odświeżającej" temat odpowiedzi, aby zachować pewien porządek. Temat i tak został już "odkopany" przeze mnie :)

Pozdrawiam.

1 odpowiedź

0 głosów
odpowiedź 14 grudnia 2016 przez Eryk Andrzejewski VIP (105,440 p.)

Witam!

Niestety Pan Mirosław przyzwyczaił wiele osób, że do kompletnie wszystkiego można znaleźć kursy i to jeszcze w tak przystępnej formie jak jego. No niestety, ale tak nie zawsze jest.

Jeżeli chodzi o naukę języka asemblera, to trochę musimy sami się naszukać. Trudno znaleźć do tego jakieś sensowne książki (przynajmniej ja o takich nie wiem). Myślę, że na początku nie ma większego znaczenia, czy będziesz pisał kod 32-bitowy czy 64-bitowy (no chyba, że masz 32 bitowy system operacyjny, to wtedy jak najbardziej ma to znaczenie).

Najpierw radziłbym przejrzeć jakikolwiek kurs Assembly dla architektury x86 - jak już złapiesz mniej więcej o co chodzi, to będzie dobrze i będziesz mógł przejść dalej. Myślę, że na początek mogę polecić ten kurs Gynvaela, jest on dość fajny. Gynvael napisał jako pomoc naukową specjalny programik - asmloader i z niego korzysta podczas tego kursu. Jest to dość fajne uproszczenie, nie trzeba "męczyć" się z przerwaniami i syscallami, ale po prostu pozwala Ci wywołać podstawowe funkcje ze standardowej biblioteki języka C (były tam chyba printf, scanf, putchar, getchar i exit - aczkolwiek można to przecież też zrobić przy pomocy externów, asemblacji do kodu obiektowego i konsolidacji z libc). W dodatku pozwala to na zachowanie przenośności kodu pomiędzy różnymi systemami (np. systemy DOS korzystają z przerwania 0x21, Linux z 0x80 - tworzy to niekompatybilność pomiędzy nimi).

Ale należy też pamiętać, że to jednak jest uproszczone programowanie i niekoniecznie "zgodne z prawdą", ale nie powoduje to w żaden sposób ograniczenia naszej wiedzy - nauczyć się korzystania z przerwań możemy dość szybko, a zaoszczędzimy sobie (jak i sam autor kursu) wielu nerwów :)

Jeżeli będziesz rozumiał mniej więcej samą koncepcję programowania w języku asemblera, będziesz umiał zrobić jakieś tam proste rzeczy, to warto sobie poprzeglądać manual Intela. Znajdziesz go pod tym adresem: http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf

Zdaję sobie sprawę, że to jest... "dość" długie (ciekawe czy ktoś to kiedyś w całości przeczytał? laugh), ale masz dość przejrzysty spis treści, no a przecież chyba każdy porządny czytnik PDFów ma w sobie jakąś szukajkę. Po prostu warto tam zaglądać w przypadku głodu wiedzy, bo tam znajdziesz chyba wszystko, co Ci potrzebne.

No i jeszcze tak dopowiem - nie nastawiaj się na tworzenie programów w Assembly, bo dzisiaj chyba nikt rozsądny tego nie robi (no chyba, że jakiś maniak). Ja na twoim miejscu kierowałbym się tym, żeby po prostu ogarnąć o co w tym wszystkim chodzi. Jak już posiądziesz nieco wiedzy, będziesz mógł przystąpić do napisania prostego (mam na myśli bardzo prostego) bootloadera - polecam, bo to daje mnóstwo frajdy smiley

Ja co prawda oglądałem nieco kurs Gynvaela, ale najwięcej nauczyłem się przeglądając różne kody z ich komentarzami i próbując sklecić coś prostego. I to również polecam, bo możesz się naprawdę sporo nauczyć.

Pozdrawiam

komentarz 14 grudnia 2016 przez Zaglowiec Mądrala (5,450 p.)
Dziękuję za odpowiedź
Znalazłem trzy książki - z czego jedna z 2009 roku - o assemblerze, którą zacząłem od wczoraj czytać. Wiem, że nie zawsze jest wszystko podane na tacy i w internecie nie da się zawsze wszystkiego znaleźć, ale zawsze mogłem coś przeoczyć, więc wolałem popytać.
Dziękujemy za wskazówki, na pewno się przydadzą.
Nauczyć assemblera postanowiłem niedawno i wiem, że język jest już rzadko używany (teraz do niskopoziomowych programów używa się głównie C), ale na studiach mam zagadnienia i ćwiczenia związane blisko z tymi jakich używa się w assemblerze. Chciałem połączyć przyjemne z pożytecznym, żeby wykorzystać suchą teorie w praktyce.
Jeszcze raz dziękuję za pomoc
komentarz 14 grudnia 2016 przez Eryk Andrzejewski VIP (105,440 p.)
Nie ma za co :)

Mistrzem w języku asemblera nie jestem, ale w razie czego to zapraszam na nasz czat IRC - jeśli będę (a jestem praktycznie cały czas) i będę w stanie pomóc, to chętnie to zrobię.

Pozdrawiam.

Podobne pytania

–2 głosów
2 odpowiedzi 256 wizyt
pytanie zadane 17 sierpnia 2016 w Java przez patryk94 Użytkownik (620 p.)
+6 głosów
10 odpowiedzi 783 wizyt
+1 głos
7 odpowiedzi 3,152 wizyt

39,723 zapytań

78,165 odpowiedzi

153,618 komentarzy

18,780 pasjonatów

Przeglądających: 240
Pasjonatów: 9 Gości: 231

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...