ďťż

Ładny brzuch

Umiem c++ (zamierzam się go dalej uczyć) i mam pytanie czy uczyć się assemblera i co ważne czy mi się to przyda?




Umiem c++ (zamierzam się go dalej uczyć) i mam pytanie czy uczyć się assemblera i co ważne czy mi się to przyda?
To zależy. Choćby od tego co chcesz wiedzieć, po co Ci ta wiedza etc. Gratuluje tego że umiesz jakiś język (ja po kilku latach programowania w delphi mogę powiedzieć że się trochę z nim zapoznałem ;)). Mi osobiście asm podoba się ze względu na szybkość. Ale aktualnie w samym asm raczej się nie pisze (mam na myśli jakieś większe projekty). Raczej używa się samych wstawek aby wycisnąć wydajność na maxa w krytycznych miejscach. No i oczywiście stery etc raczej tylko w asm. Także czy warto i czy się przyda zależy od tego co masz zamiar tworzyć. Ale raczej kiedyś się przyda jeżeli poważnie myślisz o programowaniu ;).

Przyda się podczas zajęć na uczelni technicznej .... ale w rzeczywistym świecie zapewne duuużo rzadziej

Raczej nie, bo nikt normalny nie pisze projektow w asm, nie wyobrazam sobie asma wpisanego w CV - (prawie) nikomu się to nie przydaje

Chyba, że dla poznania sposobu działania procesora - jako ciekawostka




No i oczywiście stery etc raczej tylko w asm.
sterow tez sie nie pisze w asm ;] jedynie niskopoziomowa komunikacje z urzadzeniem w przypadku takich urzadzen jak karta graficzna gdzie wydajnosc jest kluczowa. ale w wiekszosci przypadkow c/c++ wystarcza. a do autora - nie wiem jak bardzo umiesz c++, ale niezaleznie od tego zawsze mozesz sie go nauczyc bardziej. i przyda ci sie to o wiele bardziej niz znajomosc asm


sterow tez sie nie pisze w asm ;]...

Jak się chce to się pisze, np. Chrome Assembler + Masm32 -> tam są nawet gotowe wzorce dla sterów.
No i można używać Assemblera wtedy jak np. chcesz zaprogramować sobie jakiś mikrokontroler (czyli to jest bardziej z elektroniki niż z samej informatyki).

Mnie osobiście Assembler przydawał się zawsze tam gdzie wymagana była dość nietypowa obsługa sprzętu, czyli właśnie coś pomiędzy elektroniką a programowaniem a sterownikami.

Powodzenia w nauce Assemblera!

P.S. Żeby było Ci prościej zacznij od wstawek Asseblerowych ;)


Jak się chce to się pisze jak sie chce to i gre w 3D mozna napisac w asmie. A pod mikrokontrolery jak najbardziej w C mozna pisac O_o (od czego mamy Small Device C Compiller?).
Asemblera jednak warto znać, dodatkowa wiedza z dziedziny programowania nie zaszkodzi.

Mi nie chodzi o pisanie całych projektów w asemblerze tylko niektóre komponenty programu


Mi nie chodzi o pisanie całych projektów w asemblerze tylko niektóre komponenty programu
nie warto, dzisiejsze kompilatory bardzo dobrze optymalizuja kod. (o ile chodzi Ci tu o predkosc)

@down : zniechecal nie bede, asembler jest prosty jak drut telegraficzny, to w zasadzie tylko wykucie instrukcji (ew. korzystanie z manuala), ale czasem trzeba trochę pomyśleć ale to raczej wyjdzie tylko na dobre
Użytkownik icek edytował ten post 10 sierpień 2007, 16:37

Mi nie chodzi o pisanie całych projektów w asemblerze tylko niektóre komponenty programu

O jakie komponenty Ci chodzi? -bo stwierdzenie "niektóre" jest dość nieprecyzyjne, więc tak jak icek Ci pisze do szybkości kodu możesz wykorzystać spokojnie jakieś kompilatory z języka C/C++ (bo tam i tak już kod jest już maksymalnie zoptymalizowany przez naprawdę dobrych programistów), ale jeżeli w Twoim programie coś mimo wszystko nie będzie chodziło po twojej myśli (a poprzez C/C++ tego nie da się zrobić) to właśnie wtedy Assembler jak najbardziej Ci się przyda.

Tak czy siak sama wiedza o Assemblerze na pewno Ci nie zaszkodzi, a co najwyżej kiedyś może Ci się przydać. ;)
Zacznij od:
Książka: "Zrozumieć Assembler" - autor: Jeff Duntemann

Pakiet oprogramowania 1:
Edytor: Chrome Assembler
Kompilator: Masm32

albo

Pakiet oprogramowania 2:
Turbo Pascal 7.0 - gdybyś chciał zacząć od wstawek assemblerowych
i ściągnąć patch do biblioteki turbo.tpl
Biblioteka turbo.tpl-update - nie jest generowany błąd Runtime Error 200

Pozdrawiam!

P.S. Jak by coś było niejasne to pisz na PW. Pomogę.

//Do innych: Nie zniechęcajcie chłopaka, że tam Assembler jest trudny albo coś, bo jeżeli ma chęci to jest to najlepszy czas żeby się za to zabrać. A on ma 14 (!!!) lat - tak przynajmniej pisze w jego profilu. Im wcześniej te sprawy z Assemblerem opanuje tym lepiej dla niego i bardzo dobrze że ma takie ambicje!
Użytkownik dowhilebegin edytował ten post 13 sierpień 2007, 00:40
Dobra wielkie dzięki za posty ale na razie muszę się jeszcze duuuuużo uczyć c++ i .net a w między czasie coś w asm pokodze ;)


Raczej nie, bo nikt normalny nie pisze projektow w asm, nie wyobrazam sobie asma wpisanego w CV - (prawie) nikomu się to nie przydaje

Chyba, że dla poznania sposobu działania procesora - jako ciekawostka


OMG :roll1:
no to rezejrzyj się w około: pralka, sprzęt Hi-Fi, audio, video, silnik w aucie sterowany komputerowo.... a czym to jest sterowane? mikrokontrolerami oprogramowanymi właśnie w ASEMBLERZE :P

a co do nauki, to IMHO bardzo warto, poszerza horyzonty, potem inaczej patrzy się na kod napisany przez siebie... no i wykorzystuje się go we fragmentach krytycznych czasowo, tam gdzie każda jedna operacja wykonana przez procesor jest ważna.f


OMG :roll1:
no to rezejrzyj się w około: pralka, sprzęt Hi-Fi, audio, video, silnik w aucie sterowany komputerowo.... a czym to jest sterowane? mikrokontrolerami oprogramowanymi właśnie w ASEMBLERZE :P

to wszystko pisze sie raczej w c, a pozniej ew optymalizuje w asm, no chyba ze mikrokontroler jest wyjatkowo ograniczony i trzeba pisac bardzo specyficzny kod zeby dzialal wydajnie


no to rezejrzyj się w około: pralka, sprzęt Hi-Fi, audio, video, silnik w aucie sterowany komputerowo.... a czym to jest sterowane? mikrokontrolerami oprogramowanymi właśnie w ASEMBLERZE
to wszystko pisze sie raczej w c, a pozniej ew optymalizuje w asm
No właśnie, wyobrażasz sobie np. dekodowanie mp3 albo algorytmy przetwarzające dane do ESP, ABS itd. dziergane w asm?

Jedno jest pewne - jeśli masz się uczyć dla przyjemności i jakichś korzyści, to jest wiele innych rzeczy związanych z programowaniem, bardziej trafionych niż asm.


to wszystko pisze sie raczej w c, a pozniej ew optymalizuje w asm, no chyba ze mikrokontroler jest wyjatkowo ograniczony i trzeba pisac bardzo specyficzny kod zeby dzialal wydajnie

Dokładnie tak właśnie jest. Trzeba też pamiętać, że w dokumentacji takich mikrokontrolerów jak ATtiny2313 są podane wszystkie możliwe rozkazy rozpoznawane przez kompilator avr-asm - a to trochę ułatwia sprawę kiedy zajdzie potrzeba żeby wspomóc się Assemblerem. :)

Dobrze jest programować w C, ale w przypadku mikrokontrolerów z zegarami np. 10 [MHz] trzeba patrzeć na ilość cykli zegarowych potrzebnych do wykonania danego zadania w C, a potem czy to samo zadanie można by wykonać w Assemblerze tak żeby mikrokontroler wykonywał je w szybszym czasie (mniej cykli zegarowych).
Użytkownik dowhilebegin edytował ten post 13 sierpień 2007, 00:42
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •