Top.Mail.Ru
Ответы
Аватар пользователя
6лет
Изменено
Аватар пользователя
Аватар пользователя
Программирование
+1

Какие есть хорошие обучающие книги по ассемблеру?

Сам для себя выбрал FASM
Испробовал по мелочёвке (hello world, выдвинуть дисковод)
И воодушевился
Ну и собственно решил учить
Я понимаю, многие могут начать спамить что то типа:
Ассемблер сложный, он того не стоит, он жудко старый, си плюсы лучше
Но давайте будем честны, те кто так пишут забили на него из-за сложности в начале обучения.
Ну и на этом моменте я хочу вас попросить пару хороших книг по этому языку (желательно что бы в книге использовали FASM)
Да, я понимаю что я могу загуглить, но и вы поймите что хорошие вещи не всегда индексируются поисковиками
И да, книги можно и на английском, я в этом плане неприхотлив

По дате
По рейтингу
Аватар пользователя
Новичок
6лет

Чег-чего, а недостатка знаний по асму
не наблюдается

Аватар пользователя
Просветленный
6лет

Вряд ли эти знания тебе когда-либо пригодятся. Готов потратить уйму времени на хлам?)
Если нет, но очень хочется ассемблер - изучи ассемблер для pic, avr, stm32. Там куда больше шансов найти ему реальное применение, а не написать очередную программу для доса, которая никому не нужна.

P.S. Обязательно найдутся те, кто скажут асм нужен для драйверов. Да, но... 99% кода драйверов - си. Ассемблер встречается минимально, иначе перенос этого драйвера куда-либо станет той ещё занозой в заднице. А ещё есть все шансы обнаружить, что знаешь не тот ассемблер.

Аватар пользователя
Просветленный
6лет

По самому ассемблеру учить почти нечего - что сам ассемблер, что его язык простейшие. Большую часть всех этих книг составляет описание архитектуры процессора. Раз английский язык не проблема, то рекомендую официальный мануал от Intel:
https://software.intel.com/en-us/articles/intel-sdm
или AMD (см. раздел "AMD64 Architecture"):
https://developer.amd.com/resources/developer-guides-manuals/
А всё что нужно знать о самом FASM описано в его справочной документации (файл fasm.pdf, лежит в архиве вместе с ассемблером).

Аватар пользователя
Мыслитель
6лет

Начинал изучать ассемблер при помощи пакета MASM32 SDK. В интернете легко гуглится. Советовал бы начинать изучение именно с него, может даже дальше и не понадобиться (fasm после него тоже пробовал). В MASM есть множество примеров, можно по ним учиться. Начинал изучать по книге А. Крупник "Изучаем ассемблер" https://sharpened.ucoz.ru/lib/study_assembler.pdf. Сейчас понимаю что бывают лучше, но как первый старт весьма неплохая книга.
"Ассемблер сложный, он того не стоит, он жудко старый, си плюсы лучше" - он сложный для понимания, но потом где то даже легче остальных языков (меньше знать нужно). Я бы посоветовал его понимать, так как это основа с которой остальные языки легче будет понять.
"Но давайте будем честны, те кто так пишут забили на него из-за сложности в начале обучения." - буду честен, я не смог написать на ассемблере что нибудь стоящее, только микропрограммки для понимания как работает процессор. Но говорят так не из за того что в начале есть сложности в обучении и потому переходят на более легкий язык, а потому что для реализации хоть какого-то функционала нужно много, даже очень много, писать (большие объемы кода для реализации даже очень маленькой задачи, посмотрите на исходники fasm)!

P.S. Изучить стоит, очень полезен для понимания как работает процессор. Но писать какие то проги на языках более высокого уровня С или С++.(ИМХО)

Аватар пользователя
Мудрец
6лет

Питер Абель "Язык Ассемблера для IBM PC и программирования"