LINUX.ORG.RU

нет не стоит
для этого есть C

примеры посмотри в ядре линукса

acefsm
()

выучи, обычно он не очень сложный, хотя и требует определенного стиля мышления

savnn
()

Учить - стоит. Дрова обычно пишут на С.

Legioner ★★★★★
()

Только познав ассемблер, можно понять как работает машина. Для познавательных целей оно самое то будет. В никсах не практикуют асемблер, ну если только для эксплоитов =)

MikeDM ★★★★★
()

Стоит.
Перед этим стоит прочитать книжку "Код. Тайный язык информатики", чтобы врубиться в этот ассемблер и железяки.

blackst0ne ★★★★★
()

Стоит. Только не x86 и ради Бога не x86 16 битный.

Macil ★★★★★
()

Существует мнение, что C портабельный ассемблер в своем роде :-)

Знакомство с архитектурой, системой команд процессора и машинной арифметикой не повредит.

ef37 ★★
()

Можно заняться изучением ассемблера каких-либо микроконтроллеров (AVR, PIC). Купить контроллер, макетную плату, собрать простенькую схему со светодиодиком, написать вот на ассемблере программу, запустить, порадоваться.

А ещё - на выбор, попробовать разобрать работу типового эксплоита переполнения буфера на x86 (да-да, ничего в x86 плохого нет). Не зная ассемблер, этого не понять.

ierton ★★
()
Ответ на: комментарий от ierton

>Можно заняться изучением ассемблера каких-либо микроконтроллеров (AVR, PIC). Купить контроллер, макетную плату, собрать простенькую схему со светодиодиком, написать вот на ассемблере программу, запустить, порадоваться.

У меня знакомый этим балуется... Дома. А на работе в свободное время всё то-же делает в каком-то эмуляторе на обычном пицуке. И ничего покупать не надо.

yyk ★★★★★
()

Для анализа крэшдампов весьма полезно. На практике, не нужно. Для понимания некоторых вещей, всё же, полезно знать. Только для понимания этих вещей и знать ассемблер нужно на хорошем уровне, чтобы не бегать смотреть в справочник, как rep movs работает.

mv ★★★★★
()

Я когда-то знал ассемблер PDP-11 и писал на нем. Не жалею. Что касается x86, то по-моему он сильно хуже эстетически. Но все равно учи. Не помешает.

dave ★★★★★
()

А что там учить?

Разве что наборы команд для конкретных процессоров. Но для того же x86, в современных реализациях, список команд огромен, не эмбеддедщикам/системщикам/разработчикам_компиляторов смысла его учить нет.

Love5an
()

Тоже подумываю изучить. Что посоветуете - nasm + Intel synthax или gas + AT&T synthax ? Или и то и другое ?

runtime ★★★★
()
Ответ на: комментарий от Legioner

>Ну какая машина есть под рукой - такой и изучай.

http://www.qemu.org/status.html
+ симуляторы 8-биток + windows-инструментарий вплоть до симуляции схем, но не стоит забывть что круг применения очень узкий а времени можно убить очень много. Заявления типа - чего там знать это всего лишь мнемоники команд процессора - говорят лишь о том что человек знает ассемблер на начальном уровне ибо знание мнемоник без изучения особенностей архитектуры это то же что выучить алфавит и не умея читать рассуждать что поэзия Пушкина примитивна.

imhotep
()

ARM кортексовский стоит посмотреть. Если у вас в городе есть котнтора, которая готова лпатить за знаение оного.

Из реально практического применения ассемблера, (за деньги) в оутсорсинговых конторах, слышал только про оптимизацию виедокодеков.

Artem-Dnepr
()
Ответ на: комментарий от imhotep

О! :)
Excuse me, but REAL programmers use butterflies

Язык ассемблера для практически любой конкретной архитектуры(сферический "ассемблер" в вакууме это я не в курсе что такое) - туп и примитивен как топор, и единственная сложность в его изучении - необходимость зубрежки кучи мнемоник. А "изучение особенностей архитектуры" это именно изучение архитектуры, а не ассемблера, потому как оное высказывание можно отнести и к сишке, но никто ведь не будет спорить, что сишка тупа и примитивна, как топор.

Love5an
()
Ответ на: комментарий от Love5an

Вообще-то когда говорят про изучение языка предполагают что на нем будут программировать, сможешь ли ты зная только мнемоники ассемблера писать код, я даже не говорю оптимальный - хоть что-то ? Для примера "тупой" ассемблер pic16 - 33 команды, напиши пожалуйста табличное вычисление хотя бы первых 10 элементов таблицы умножения используя память eprom. Или ты сможешь грамотно написать переключение контекста на armv7 или обработку прерываний ?

imhotep
()
Ответ на: комментарий от imhotep

>сможешь ли ты зная только мнемоники ассемблера писать код
да
>Для примера "тупой" ассемблер pic16 - 33 команды, напиши пожалуйста табличное вычисление хотя бы первых 10 элементов таблицы умножения используя память eprom

И что это докажет?

"грамотно", "эффективно" - это уже передергивание.

Love5an
()
Ответ на: комментарий от imhotep

Не слишком ли крутое заявление?

Ты, во-первых, путаешь понятия "сложности изучения x" и "сложности написания [более-менее вменяемых и хоть чем-то полезных] программ на x", а во-вторых, занимаешь передергиванием и демагогическим обобщением - я нигде не утверждал, что каким-то боком имею дело с pic16, во-первых, и во-вторых - отсутствие у кого-то представления о pic16 никоим образом не говорит о том, что этот кто-то понятия не имеет о языках ассемблера и, тем более, о том, что это кто-то не имеет права утверждать, что языки ассемблера - вещь тупая и примитивная, никаких сложностей в изучении не представляющая, и что среди ассемблероидов много зазнавшихся долбоебов :)

Love5an
()
Ответ на: комментарий от imhotep

Какой предметной области? Давай-ка за слова отвечай, где я какой совет дал, покажи пальцем :)

Ты, кстати, в свою очередь, разбрасываешься ярлыками и разводишь демагогию, а это уж точно явный признак сетевого пиздабола.

Love5an
()
Ответ на: комментарий от imhotep

Что-то я не понимаю. Правильный вопрос должен быть "А зачем?". Одно дело посмотреть что нагенерил компилятор, нет ли там какой-то конкретной лажи. Другое дело понять что делает оно только по ассемблерному листингу. Третье, это оптимизировать что-то. Пятое, это писать супер-оптимизированный mpeg кодек, под VLIW.

Писать для x86, на ассемблере, это "не круто" и наифг никому не нужно.

Artem-Dnepr
()
Ответ на: комментарий от Artem-Dnepr

> Из реально практического применения ассемблера, (за деньги) в оутсорсинговых конторах, слышал только про оптимизацию виедокодеков

Ещё ассемблер необходим, например, дизайнерам аппаратуры, для которых основной язык - verilog или VHDL. Например, тесты писать.

ierton ★★
()
Ответ на: комментарий от ef37

> Существует мнение, что C портабельный ассемблер в своем роде

Ага, ведь "С - язык программирования, в которм гибкость ассемблера сочетается с мощью ассемблера" :)

ierton ★★
()
Ответ на: комментарий от ierton

Ещё ассемблер необходим, например, дизайнерам аппаратуры, для которых основной язык - verilog или VHDL. Например, тесты писать.

Только если они разрабатывают свой процессор. Но ассемблер СВОЕГО процессора им учить как бы не нужно. :) Для тестов, более чем достаточно, суметь понять что нагенерил компилятор.

Artem-Dnepr
()
Ответ на: комментарий от Miguel

[quote]И незачем особо. [/quote] Вот именно. просто незачем. Даже для 8и биток только идиоты пишут асме. А за хитрые супер-DSP, и всякие там embedded у нас традиционно копейки платют. Я занимался, бросил, и сейчас под линух на x86 пишу.

Artem-Dnepr
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.