Co to jest asembler?

2013-06-17 22:07
Mateusz90
0

Witam, słyszałme ostatnio o języku asemblera? co to właściwe za język? co się w nim programuje? jest obecnie używany czy tylko na uczelniach? mogę sobie na pc coś zaprogramować w asemblerze? zupełnie nie rozumiem idei programowania niskopoziomowego? JEst mi ktoś w stanie to wytłumaczyć

Pozostało 580 znaków

2013-06-17 22:11
1

http://en.wikipedia.org/wiki/Assembly_language


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.

Pozostało 580 znaków

2013-06-17 22:33
0

RE, systemy, mikrokontrolery, sterowniki, cracki, keygeny i wiekszosc malwareu.

Wiem że odkopuje, ale taką durnotę palnąłeś że nie mogę patrzeć. Jaka większość malware-u? Jakie sterowniki? Jakie mikrokontrolery? Jakie systemy? - Demonical Monk 2013-06-28 19:26
1) Pokaż mi tego asma w kodzie jądra Linuksa, jedyne na co możesz liczyć to wstawki i jakieś helpery. 2) Mikrokontrolerów nikt nie programuje w asmie, bo to cholernie trudne - każda sensowna architektura posiada przynajmniej swój kompilator C i generalnie w tym języku powstaje 99% bibliotek dla AVR i ARM. Dotyczy to nawet rzeczy wymagających dużej wydajności. 3) Więcej malware powstaje w Delphi niż w asemblerze. Znacząca ilość twórców wirusów to kompletni lamerzy. - Demonical Monk 2013-06-28 19:32
4) Sterowniki dla Windowsa i Linuksa również w większości powstają w C. - Demonical Monk 2013-06-28 19:33
Obecnie, masz racje, nie kodzi sie w asmie praktycznie nic, bo i po co? Jedynie tak jak napisales wstawki / jakies agresywne optymalizacje (tylko korzystajac z instrukcji, ktorych kompilatory nie generuja, bo inaczej tez sensu nie ma). Napisalem co mozna pisac w asmie bardziej 4-fun niz zeby czerpac z tego jakies "profity" i co jeszcze jako tako ma sens. - n0name_l 2013-06-28 19:36
W domyśle pisząc odpowiadałeś na pytanie "co się w nim programuje?" - Demonical Monk 2013-06-28 19:39
No i to sie w nim programuje, na zaliczenia czy dla zabawy, nikt nie wspominal przeciez o biznesie :| - n0name_l 2013-06-28 19:45

Pozostało 580 znaków

2013-06-17 23:31
0

Dodam tylko, ze w mojej opinii to jeden z trudniejszych jezykow programowania i nie ma sensu zabierac sie za jego nauke bez znajomosci chociazby C++ czy Delphi.

Mozesz uzasadnic? Moze masz cos wielkiego na mysli, a nie chcialbym ot tak minusa walic. - n0name_l 2013-06-17 23:33

Pozostało 580 znaków

2013-06-17 23:38
0

Ok, doprecyzuje. Z punktu widzenia składni asembler jest dość prosty, ale trudno w nim pisać duże aplikacje. Asembler głównie przydaje się do niskopoziomowych zadań, daną kwestię możesz rozwiązać znacznie szybciej korzystając z języków wysokiego poziomu.

Pozostało 580 znaków

2013-06-17 23:43
0

Z punktu widzenia składni asembler jest dość prosty

Tu masz racje.

ale trudno w nim pisać duże aplikacje

Wkoncu nie do tego on sluzy

Asembler głównie przydaje się do niskopoziomowych zadań

No jako niskopoziomowy jezyk to raczej innego wyjscia nie ma ;)

daną kwestię możesz rozwiązać znacznie szybciej korzystając z języków wysokiego poziomu.

Zaleznie od kwestii :)

Bardziej chodzilo mi o to, czemu uwazasz, ze trzeba znac jakis jezyk high-levelowy, zeby zaczac normalnie kodzic w asmie?
Dla mnie wystarczy znac architekture danego urzadzenia i mozna jechac po calosci. Nie wiem, w czym by pomogla tutaj wiedza, co to polimorfizm czy hermetyzacja...
Inna sprawa jest RE, milo jest znac jezyk (od srodka) zrodlowy aplikacji. Chociaz i to nie jest do niczego potrzebne, raczej bym to jako dodatek traktowal.

Pozostało 580 znaków

2013-06-17 23:56
0

mogę sobie na pc coś zaprogramować w asemblerze?
Możesz.

zupełnie nie rozumiem idei programowania niskopoziomowego
Procesor nie operuje na funkcjach ani klasach znanych z języków wysokopoziomowych. To są warstwy abstrakcji stworzone, by uprościć programowanie.
Procesor wykonuje rozkazy zapisane w tzw. "kodzie maszynowym". Są to sekwencje bajtów, z których składają się rozkazy procesora.
Jednak z drugiej strony, kod maszynowy jest zbyt niskopoziomowy dla człowieka. Programowanie wymagałoby ciągłych obliczeń i szukania wartości po tabelkach.
Dlatego powstały asemblery: rodzina języków (bo asembler może być zupełnie inny dla różnych procesorów) w których poszczególne rozkazy procesora są oznaczane kilkuliterowymi skrótami, które w przeciwieństwie do kodu maszynowego da się jeszcze spamiętać.
Ideą asemblera jest, by jedna instrukcja asemblera odpowiadała jednemu rozkazowi procesora (mniej więcej), a przekształcenie asembler-kod maszynowy było wzajemnie jednoznaczne (również mniej-więcej).

Pozostało 580 znaków

2013-06-18 08:10
7

@Mateusz90 a wiesz jak się kiedyś pisało programy?
01101001 110011001
00100101 100101100
10010010 100100100
11001100 110010001
10010001 100100100
11011001 010011100
11001100 110010011

Tak. Wczesna wersja assemblera :P

nie wiem kto dał - ale przecież taka jest prawda ;o - fasadin 2013-06-18 08:54

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0