latajacaryba Temat założony przez niniejszego użytkownika |
Czy warto i po co uczyć się Assemblera? » 2017-05-30 22:50:08 Witam. Na wstępie chce zaznaczyć, że moja wiedza o assemblerze jest niska, tak więc za błędy przepraszam. Tak jak w temacie, czy warto uczyć się assemblera? To pytanie bardzo ogólne, więc uściślijmy - po co uczyć się assemblera? Czy faktycznie do czegoś by mi się przydało? Do pytania skłoniło mnie wiele tematów (np. ten http://cpp0x.pl/forum/temat/?id=20476, dokładnie cytat W jaki sposób można wydać procesorowi te polecenia ? Za pomocą kodu maszynowego - jest to zestaw rozkazów dla procesora w postaci zapisu binarnego. W pliku wykonywalnym są zapisane właśnie polecenia w postaci kodu maszynowego. Skoro chcesz programować niskopoziomowo to możesz użyć Asemblera |
. No właśnie. czy warto? ) Po prostu czy jest to coś, co każdy programista powinien znać przynajmniej w podstawowym stopniu? W końcu C++ chyba wszystkiego nie może (a przynajmniej nie tak dużo jak assembler - grzebać w procesorze. Jeśli się myle, przepraszam) Generalnie do założenia tematu skłoniło mnie jeszcze jedno pytanie; mianowicie skąd Wy, czerpaliście wiedzę o takich na przykład sprawach: http://cpp0x.pl/forum/temat/?id=25361 Dziękuję :) |
|
Kinexity |
» 2017-05-30 23:02:46 Według mnie warto, ale w określonych przypadkach. Jeżeli: - Potrzebujesz/Chcesz mieć mocno zoptymalizowane pod względem wydajności - Chciałbyś się dowiedzieć/nauczyć jak to jest pisać program w czymś nieco niższego poziomu Więcej przypadków, szczerze mówiąc, to nie widzę. |
|
latajacaryba Temat założony przez niniejszego użytkownika |
» 2017-05-30 23:12:32 Kinexity Potrzebujesz/Chcesz mieć mocno zoptymalizowane pod względem wydajności |
A jak połączyć C++ z assemblerem? |
|
Kinexity |
» 2017-05-30 23:16:35 Wrzucasz tak zwane wstawki - ale tutaj, by dowiedzieć się więcej o tym jak itd., to już musisz sam poszukać, bo już natrafiłem na takie konstrukcje: - __asm { } - asm { } - asm() I chyba każdy kompilator robi to nieco inaczej. |
|
jankowalski25 |
» 2017-05-30 23:39:13 |
|
latajacaryba Temat założony przez niniejszego użytkownika |
» 2017-05-30 23:48:08 Gdy piszesz program pod konkretny sprzęt i musisz się do niego dopasować |
Dlaczego kod assemblera nie jest przenośny? Pod konkretny procesor (zależy to od jego budowy)? I jak pisano w nim wszystko inne, skoro każdy komputer wymagał odmiennego kodu? |
|
Kinexity |
» 2017-05-30 23:58:26 Kod nie jest przenośny, ponieważ każdy producent procesorów stosował swój własny (jak się nie mylę o to chodziło). Jeżeli moje pierwsze zdanie jest prawidłowe, to odpowiedź na ostatnie pytanie brzmi - pod każdy zestaw procesorów oddzielnie. Zauważ, że taki np. Intel ma bardzo duże udziały na rynku, więc gdy napisałeś pod niego program w asemblerze, to już w dużym stopniu załatwiało sprawę. |
|
latajacaryba Temat założony przez niniejszego użytkownika |
» 2017-05-31 00:17:22 Dziękuję za odpowiedzi Kinexity i JanKowalski temat zostawię otwarty, może ktoś będzie chciał coś dodać :) |
|
« 1 » 2 |