Stwierdzenie, że Assembly jest proste, bo ma prostą składnię, to tak jakby stwierdzić, że przy użyciu nożyczek, młotka i arkuszy blachy można łatwo zbudować tankowiec, gdyż nożyczki i młotek są proste w obsłudze. :D
@rss: Asm jest tak prosty jak młotek. Tyle. Nie dopowiadaj co można robić tym narzędziem. Asm jest prosty, co nie znaczy, że prosto w nim napisać złożony program.
C jest analogicznie prostszy od C++, chociaż w C++ jest łatwiej zrobić większy program.
Asm jest przydatny rzadko. Bardzo rzadko. Kiedyś, dawno temu pisało się "wstawki" w asmie, takie fragmenty krytyczne czasowo, żeby oszczędzić kilka cykli. Teraz to by nie miało już sensu,
@prusi: Ok, prosty nie znaczy łatwy. Ma prostą budowę. Żeby zrobić coś tak prostym narzędziem trzeba coś potrafić.
A co do Hello World - napisz to w C bez biblioteki standardowej czy STDOUT.
Jeśli masz podstawowy kod obsługujący sprzęt (HAL/BIOS) to nie jest tak trudno pisać w asmie. Odwrotnie - jeśli nie masz tego w C - jest bardzo trudno zrobić cokolwiek. Wyobraź sobie podstawowe operacje na tekście bez klasy string
Ja około 4 lat pisałem hobbistycznie w asemblerze na avr'y 8 bitowe. Jest dużo plusów. Największy z nich to kontrola procesora. W każdej chwili wiesz co robi i gdzie jest. Jest niezastąpiony w przypadku kluczowych obliczeń dotyczących czasu / częstotliwości. Niestety do większych projektów assembler się nie nadaje chociaż są wariaci którzy męczą... Mnie przerósł projekt oscyloskopu cyfrowego na atxmega a wielkość kodu w pamięci wyniosła zaledwie 10kB.
@aksnet: Jako dzieciak pisałem w kodzie binarnym (dziesiątkowo) na Atari 8-bitowe (procek 6502C). Do dziś pamiętam niektóre kody binarne jak 169 - LDA, 141 - STA, 96 - RTS... Napisałem nawet własny kompilator z makrami. W tych czasach się dużo własnych rzeczy robiło bo nie było internetów. Książki były ;)
Wydaje mi się że w filmie jest błąd, pomieszał składnię AT&T z Intelem, bo jest na odwrót, w AT&T cel mamy z prawej strony a więc:
movl %eax, %ebx
przenosi zawartość eax do ebx a w intelu odwrotnie. Składnia AT&T jest bliższa w tym naturalnemu językowi (przenoszę long z A do B) a intelowska do programistycznego l-value (czyli przypisz do A zawartość B).
Pomieszałeś. Jemu chodziło o to, że sam fakt, że uruchamiany przez Ciebie program został napisany w asmie, nie sprawia, że może on spalić Twój sprzęt. Liczy się miejsce/warstwa, w której dany kod zostaje odpalony, a nie technika jego wykonania.
Zgodzę się z tym ze teraz nie da się spalić przez assemblera procka ale przez zabezpieczenia sprzętowe (np. kontrola temperatury, automatyczne wyłanczanie po przekroczeniu temperatury lub przez sprawdzenie błędów) . Twórca filmiku nie wziął pod uwagę tego że nasz program może działać bez systemu operacyjnego, albo na własnoręcznie napisanym systemie.
@rss: Kompa nie spalisz od używania rejestrów i instrukcji, tylko np. każąc procesorowi wysłać jakieś polecenia np. na szynę PCI, żeby karciocha graficzna się przetaktowała. Ale w sumie racja, z Javascriptu raczej tego nie zrobisz. ;-)
Komentarze (126)
najlepsze
C jest analogicznie prostszy od C++, chociaż w C++ jest łatwiej zrobić większy program.
Asm jest przydatny rzadko. Bardzo rzadko. Kiedyś, dawno temu pisało się "wstawki" w asmie, takie fragmenty krytyczne czasowo, żeby oszczędzić kilka cykli. Teraz to by nie miało już sensu,
A co do Hello World - napisz to w C bez biblioteki standardowej czy STDOUT.
Jeśli masz podstawowy kod obsługujący sprzęt (HAL/BIOS) to nie jest tak trudno pisać w asmie. Odwrotnie - jeśli nie masz tego w C - jest bardzo trudno zrobić cokolwiek. Wyobraź sobie podstawowe operacje na tekście bez klasy string
@zakopywywacz: Bo tylko koderzy w tym piszą.
Nie mniej jednak bardzo
@bassfun: Tylko jeśli naprawdę bardzo dobrze go rozumiesz i czas programisty jest tańszy niż cena lepszego sprzętu.
--
Wyslane z Wykoparki dla Androida
movl %eax, %ebx
przenosi zawartość eax do ebx a w intelu odwrotnie. Składnia AT&T jest bliższa w tym naturalnemu językowi (przenoszę long z A do B) a intelowska do programistycznego l-value (czyli przypisz do A zawartość B).
Druga sprawa, prowadzący sam mówi że w asm trzeba
Pomieszałeś. Jemu chodziło o to, że sam fakt, że uruchamiany przez Ciebie program został napisany w asmie, nie sprawia, że może on spalić Twój sprzęt. Liczy się miejsce/warstwa, w której dany kod zostaje odpalony, a nie technika jego wykonania.
Zgodzę się z tym ze teraz nie da się spalić przez assemblera procka ale przez zabezpieczenia sprzętowe (np. kontrola temperatury, automatyczne wyłanczanie po przekroczeniu temperatury lub przez sprawdzenie błędów) . Twórca filmiku nie wziął pod uwagę tego że nasz program może działać bez systemu operacyjnego, albo na własnoręcznie napisanym systemie.