Сам для себя выбрал FASM
Испробовал по мелочёвке (hello world, выдвинуть дисковод)
И воодушевился
Ну и собственно решил учить
Я понимаю, многие могут начать спамить что то типа:
Ассемблер сложный, он того не стоит, он жудко старый, си плюсы лучше
Но давайте будем честны, те кто так пишут забили на него из-за сложности в начале обучения.
Ну и на этом моменте я хочу вас попросить пару хороших книг по этому языку (желательно что бы в книге использовали FASM)
Да, я понимаю что я могу загуглить, но и вы поймите что хорошие вещи не всегда индексируются поисковиками
И да, книги можно и на английском, я в этом плане неприхотлив
Другие языки программирования и технологии
Какие есть хорошие обучающие книги по ассемблеру?
Я изучал классику - Л. Скэнлон, "Программирование на языке ассемблера", Москва, Радио и связь, 1989 год. Тогда издавали не брошюрки для чайников, а настоящие ученые пособия.
Ну и очень помогла книга Роберта Журдена "Справочник программиста на персональных компьютерах фирмы IBM" в 10 частях. Там есть всё - от пресловутого "HELLO" до непосредственного программирования карты видеопамяти в компьютерной графике.
Ну и очень помогла книга Роберта Журдена "Справочник программиста на персональных компьютерах фирмы IBM" в 10 частях. Там есть всё - от пресловутого "HELLO" до непосредственного программирования карты видеопамяти в компьютерной графике.
Вряд ли эти знания тебе когда-либо пригодятся. Готов потратить уйму времени на хлам?)
Если нет, но очень хочется ассемблер - изучи ассемблер для pic, avr, stm32. Там куда больше шансов найти ему реальное применение, а не написать очередную программу для доса, которая никому не нужна.
P.S. Обязательно найдутся те, кто скажут асм нужен для драйверов. Да, но... 99% кода драйверов - си. Ассемблер встречается минимально, иначе перенос этого драйвера куда-либо станет той ещё занозой в заднице. А ещё есть все шансы обнаружить, что знаешь не тот ассемблер.
Если нет, но очень хочется ассемблер - изучи ассемблер для pic, avr, stm32. Там куда больше шансов найти ему реальное применение, а не написать очередную программу для доса, которая никому не нужна.
P.S. Обязательно найдутся те, кто скажут асм нужен для драйверов. Да, но... 99% кода драйверов - си. Ассемблер встречается минимально, иначе перенос этого драйвера куда-либо станет той ещё занозой в заднице. А ещё есть все шансы обнаружить, что знаешь не тот ассемблер.
По самому ассемблеру учить почти нечего - что сам ассемблер, что его язык простейшие. Большую часть всех этих книг составляет описание архитектуры процессора. Раз английский язык не проблема, то рекомендую официальный мануал от Intel:
https://software.intel.com/en-us/articles/intel-sdm
или AMD (см. раздел "AMD64 Architecture"):
https://developer.amd.com/resources/developer-guides-manuals/
А всё что нужно знать о самом FASM описано в его справочной документации (файл fasm.pdf, лежит в архиве вместе с ассемблером).
https://software.intel.com/en-us/articles/intel-sdm
или AMD (см. раздел "AMD64 Architecture"):
https://developer.amd.com/resources/developer-guides-manuals/
А всё что нужно знать о самом FASM описано в его справочной документации (файл fasm.pdf, лежит в архиве вместе с ассемблером).
Начинал изучать ассемблер при помощи пакета MASM32 SDK. В интернете легко гуглится. Советовал бы начинать изучение именно с него, может даже дальше и не понадобиться (fasm после него тоже пробовал). В MASM есть множество примеров, можно по ним учиться. Начинал изучать по книге А. Крупник "Изучаем ассемблер" https://sharpened.ucoz.ru/lib/study_assembler.pdf. Сейчас понимаю что бывают лучше, но как первый старт весьма неплохая книга.
"Ассемблер сложный, он того не стоит, он жудко старый, си плюсы лучше" - он сложный для понимания, но потом где то даже легче остальных языков (меньше знать нужно). Я бы посоветовал его понимать, так как это основа с которой остальные языки легче будет понять.
"Но давайте будем честны, те кто так пишут забили на него из-за сложности в начале обучения." - буду честен, я не смог написать на ассемблере что нибудь стоящее, только микропрограммки для понимания как работает процессор. Но говорят так не из за того что в начале есть сложности в обучении и потому переходят на более легкий язык, а потому что для реализации хоть какого-то функционала нужно много, даже очень много, писать (большие объемы кода для реализации даже очень маленькой задачи, посмотрите на исходники fasm)!
P.S. Изучить стоит, очень полезен для понимания как работает процессор. Но писать какие то проги на языках более высокого уровня С или С++.(ИМХО)
"Ассемблер сложный, он того не стоит, он жудко старый, си плюсы лучше" - он сложный для понимания, но потом где то даже легче остальных языков (меньше знать нужно). Я бы посоветовал его понимать, так как это основа с которой остальные языки легче будет понять.
"Но давайте будем честны, те кто так пишут забили на него из-за сложности в начале обучения." - буду честен, я не смог написать на ассемблере что нибудь стоящее, только микропрограммки для понимания как работает процессор. Но говорят так не из за того что в начале есть сложности в обучении и потому переходят на более легкий язык, а потому что для реализации хоть какого-то функционала нужно много, даже очень много, писать (большие объемы кода для реализации даже очень маленькой задачи, посмотрите на исходники fasm)!
P.S. Изучить стоит, очень полезен для понимания как работает процессор. Но писать какие то проги на языках более высокого уровня С или С++.(ИМХО)
Питер Абель "Язык Ассемблера для IBM PC и программирования"
Мне кажется NASM лучше.
Денис Климовцов
Чем?
Денис Климовцов
Инфы хоть и больше, но в основном колличестве источников пишут что FASM быстро развивается, и то что он уже намного лучше того же NASM
Лучше не по книгам - а по запросам из интернета. В интернете все есть.
Алмаз Ахметов
Для начала всегда нужна книга или онлайн курс. Ты видел сколько страниц в книгах? Сколько надо гуглить, чтоб нагуглить такой объём?
Похожие вопросы
- Напишите мне список книг по Ассемблер под Windows !
- Посоветуйте хорошую обучающую книгу по C++, чтобы просто и доступно объяснялись особенности языка, заранее спасибо
- Подскажите хорошую обучающую книгу по java или Delphi. С НУЛЯ .
- Что может ассемблер?
- Почему многие программисты ненавидят ассемблер?Ведь у него куча плюсов!Он позволяет максимально задействовать
- Ассемблер. В чем главная фишка ассемблера? Почему его так часто упоминают в книгах по программированию.
- Вопрос по изучению языка Ассемблера под MS DOS. (Нужны советы по программному обеспечению/программированию)
- С помощью команд fpu вычислить площадь круга, исходя из введѐнного диаметра. Ассемблер...
- Ассемблер сегодня и завтра.
- стоит ли изучать ассемблер, если программирую на Делфи? и вообще реально ли что нибудь хорошее, дельное, нужное написать
Да, большинство будет говорить что это того не стоит, что это сложно, но скорее всего никто это даже не пробовал