Разное

Книги по ассемблеру для начинающих: 6 книг по Ассемблеру на русском языке

Список ресурсов для изучения Ассемблера / Хабр

fader44

Assembler *

Доброго времени суток!
Некоторым программистам иногда приходит в голову мысль «а не изучить ли мне ассемблер?». Ведь на нем пишут самые (с некоторыми оговорками) маленькие и быстрые программы, да и охота ощутить вкус низкоуровневого программирования берет свое. Ну и для общего развития не повредит.
Мысль эта не обошла стороной и меня. Вдохновившись историей одного байта, я ринулся в бой…

… но оказалось, что найти материал по интересующей теме не так просто, как хотелось бы. Посему решено было создать на хабре пополняющийся пост-индекс статей/книг/мануалов/etc. об этом, несомненно, великом языке.
Под катом находится, собственно, список с краткими комментариями, разбитый по категориям.

UPD


В список начали добавляться ресурсы по программингу микроконтроллеров.

Для начала

  • ru.wikipedia.org/wiki/Ассемблер — ассемблер (не тоже самое, что «язык ассемблера», хотя эти понятия почти слились) в википедии
  • ru.wikipedia.org/wiki/Язык_ассемблера — язык ассемблера там же
  • wasm.ru/article.php?article=onebyte — история одного байта
  • bitfry.narod.ru/00.htm — дневники чайника, довольно простые и интересные уроки для начинающих
  • www.scribd.com/doc/267365/A-Beginners-Course-In-Assembly-Language — книга об основах ассемблера на английском языке
  • Programming from the Ground Up — несложная книга на английском языке. Рекомендация megabrain
  • www.osinavi.ru/asm — учебник по Ассемблеру «для квалифицированных чайников»
  • habrahabr.ru/blogs/asm — блог, в котором, надеюсь, будет много статей об ассемблере
Ресурсы

  • wasm.ru — наверное, самый крупный русскоязычный ресурс по Ассемблеру.
    Огромное количество статей, живой форум, новости
  • cracklab.ru — огромный ресурс по исследованию/крэкингу программ
  • www.insidepro.com/rus/doc.shtml — огромнейшее собрание статей Криса Касперски
  • programmersclub.ru/assembler — курс asm&&win32
  • www.proklondike.com/books/assembler.html — мини-библиотека книг по ассемблеру
  • wiki.conus.info — большое количество заметок о reverse engineering на русском языке для начинающих и тех кто хочет научиться понимать создаваемый C/C++ компиляторами код
  • wasm.ru/publist.php?list=1 — Уроки Iczelion’а переведенные
  • www.nf-team.org/drmad/zf/zf1/zf1_006.htm — пособие начинающей технокрысы или как писать вирусы
Книги

Для книг я выкладываю только названия, без ссылок (или с ссылкой на интернет-магазин), так как я не знаю отношения некоторых людей к скачиванию чьей-то интеллектуальной собственности. Кому надо — тот найдет, где скачать.

  • kpnc.opennet.ru — архив книг Криса Касперски
  • Галисеев Г. В. Ассемблер для Win 32. Самоучитель
  • Зубков С. В. Ассемблер для DOS, Windows и UNIX
  • Кип Ирвин. Язык ассемблера для процессоров Intel = Assembly Language for Intel-Based Computers
  • Калашников О. А. Ассемблер? Это просто! Учимся программировать
  • Крис Касперски. Искусство дизассемблирования
  • Владислав Пирогов. Ассемблер для Windows
  • Владислав Пирогов. Ассемблер и дизассемблирование
  • Ричард Саймон. Microsoft Windows API Справочник системного программиста
  • Фрунзе А. В. Микроконтроллеры? Это же просто!
  • Юров В., Хорошенко С. Assembler: учебный курс
  • Абель — Ассемблер. Язык и программирование для IBM PC
  • Эндрю Таненбаум — «Архитектура компьютера» — рекомендация lefty
  • Чарльз Петцольд — «Код» — рекомендация lefty
  • Assembly Language Step-by-step: Programming with DOS and Linux
  • Юрий Ревич «Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера» — рекомендация Ryav
  • Нортон П. , Соухе Д. «Язык ассемблера для IBM PC» — рекомендация maotm
  • Григорьев В. Л. «Микропроцессор i486. Архитектура и программирование.» — рекомендация Ghost_nsk
  • Нортон П., Уилтон Р. «IBM PC и PS/2.руководство по программированию» — описана работа с прерываниями и простыми железками, рекомендация Ghost_nsk
Англоязычные ресурсы

  • asm.sourceforge.net — Ассемблер под Linux
  • orangejuiceliberationfront.com/intel-assembler-on-mac-os-x — Ассемблер под Mac
  • blogs.conus.info — Различные заметки о reverse engineering, security research, Oracle RDBMS internals, и т.д…
  • msdn.microsoft.com — огромная база знаний по технологиям Windows от Microsoft
  • www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html — мануалы по Intel’овским инструкциям
  • developer.amd.com/documentation/guides/Pages/default.aspx#manuals — аналогичные доки для AMD
  • win32assembly. online.fr — Уроки Iczelion’а, домашняя страница
  • www.gnu.org/s/gdb/documentation — GDB Manual
  • www.securitytube.net/groups?operation=view&groupId=6 — видеокурс Windows Assembly Language Megaprimer
  • www.securitytube.net/groups?operation=view&groupId=5 — видеокурс Assembly Language Megaprimer for Linux
  • alexfru.narod.ru/emiscdocs.html — подборка доков из теплых ламповых времен
  • www.agner.org/optimize — Software optimization resources
  • x86asm.net — x86-x64 manuals
  • www.ctyme.com/rbrown.htm — Ralf Brown Interrupt List with over 9000 linked pages and 350 indexes making the process of searching much easier
Инструменты

  • www.masm32.com — MASM32 SDK
  • flatassembler.net — flat assembler (FASM)
  • www.nasm.us — The Netwide Assembler (NASM)
  • www.ollydbg.de — OllyDbg, отладчик для Windows
  • www.hex-rays.com/products/ida/index. shtml — IDA — интерактивный дизассемблер и отладчик
  • www.idapro.ru — русская страница IDA
  • research.microsoft.com/en-us/projects/detours — Библиотека от Microsoft Research для инъекции Dll и перехвата управления на себя
  • conus.info/gt — отладчик командной строки для выполнения простых отладочных задач
Программинг микроконтроллеров

  • habrahabr.ru/blogs/controllers — тематический блог на хабре, с количеством постов несколько большим, чем в блоге по ассемблеру
  • programmators.ru — сайт по контроллерам семейства PIC
  • myrobot.ru/stepbystep — сайт роботостроения, по ссылке статьи о микроконтроллерах AVR
  • www.123avr.com/07.htm — МК AVR
  • easyelectronics.ru/category/avr-uchebnyj-kurs — AVR
Прочее

  • zx.pk.ru — форум ZX Spectrum
  • bbs.pediy.com — форум по reverse engineering на китайском языке (спасибо KollinZ). Чтобы можно было понять о чем речь, можно воспользоваться кнопкой «перевести» в хроме (спасибо за совет mexanism)
  • old-dos.
    ru — крупнейший в Рунете архив старых программ
Заключение

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

P.S.: И, да, я очень надеюсь не увидеть в комментариях холивар Assembler vs. %anything% (или «стоит ли изучать ассемблер?»).

Теги:

  • assembler
  • терминатор
  • tasm
  • fasm
  • wasm
  • masm
  • ollydbg
  • судный день
  • книги
  • мануалы
  • ассемблер
  • detours
  • микроконтроллеры
  • PIC
  • AVR

Хабы:

  • Assembler

Всего голосов 135: ↑130 и ↓5 +125

Просмотры

418K

Комментарии 46

Антон Самойлов @fader44

Пользователь

Комментарии Комментарии 46

Книги по Ассемблеру


Авторы: Олег Калашников
Издательство: БХВ-Петербург
Год издания: 1996
Формат: DjVu
Страниц: 375
Размер: 11,7 Мб

Описание:
Подробно и доходчиво объясняются все основные вопросы программирования на ассемблере. Рассмотрены команды процессоров Intel, 16- и 32-разрядные регистры, основы работы с сопроцессором, сегментация памяти в реальном масштабе времени, управление клавиатурой и последовательным портом, работа с дисками и многое другое. Описано, как разработать безобидный нерезидентный вирус и антивирус против этого вируса, как написать файловую оболочку (типа Norton Commander или

FAR Manager) и как писать резидентные программы. Каждая глава состоит из объяснения новой темы, описания алгоритмов программ, многочисленных примеров и ответов на часто задаваемые вопросы. Компакт-диск содержит исходные коды всех примеров, приведенных в книге, с подробными описаниями.

Книга написано достаточно сжато, но очень доходчиво. Ассемблер традиционно отпугивает многих программистов, но во время чтения этой книги вы поймете, что он не так страшен. Язык ассемблера бесспорно — самый быстрый, самый мощный, самый свободный и, возможно, самый красивый язык программирования! Если вы хотите овладеть таким мощным языков, вам обязательно стоит прочесть книгу Олега Калашникова «Ассемблер? Это просто! Учимся программировать«.

Скачать
DepositFiles
LetitBit

Assembler. Практикум

Автор: В.Юров
Издательство: «Питер»
Год издания: 2006
Страниц: 400
Язык: Русский
Формат: DjVu
Размер: 5,78 Мб

Описание:
Основное содержание книги составляет базовый практический материал для создания сложных полнофункциональных программ на языке ассемблера. Каждая из десяти глав практикума посвящена определенной теме. Характер подобранного материала — прикладной. Исчерпывающе рассмотрены вопросы организации взаимодействия программ на ассемблере с внешним миром. Приведены варианты ассемблерной реализации многих известных и востребованных на практике алгоритмов. Изложение базовых вопросов прикладного программирования сопровождается рассмотрением ряда интересных задач. Книга предназначена для студентов и специалистов, применяющих ассемблер для решения задач прикладного и системного программирования.

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

Скачать
DepositFiles
LetitBit

Ассемблер в задачах защиты информации

Автор: О.В.Бурдаев, М.А.Иванов, И.И.Тетерин
Издательство: «КУДИЦ-Образ»
Год издания: 2004
Страниц: 538
Язык: Русский
Формат: DjVu
Размер: 4,86 Мб

Описание:
В книге рассмотрен язык Ассемблера для процессоров семейства Intel 80×86, а также различные аспекты применения этого языка в области защиты информации. Книга рассчитана на широкий круг читателей, в том числе и не являющихся профессиональными программистами. Может быть полезна программистам, инженерам, студентам вузов. Книга состоит из шести глав.

Глава 1 суть учебное пособие для начинающих по программированию на Ассемблере в среде DOS, она содержит описание архитектуры компьютера IBM PC, системы команд, способов адресации данных, системных функций, некоторых приемов программирования. Вторая и третья главы книги рассчитаны на более подготовленного читателя. Главе 2 содержит описание криптографических методов и возможные способы решения задач контроля целостности и обеспечения секретности информации. Глава 3 посвящена специфическим применениям Ассемблера, таким как защита программ от статического и динамического исследования, борьба с вирусами, «изощренное« программирование. Глава 4 содержит описание особенностей программирования на Ассемблере в среде Linux. В главе 5 обсуждаются инструментальные средства и базовые приемы создания приложений для ОС Windows. В главе 6 описывается методика оптимизации программ на языке Ассемблер с учетом особенностей архитектур процессоров Pentium различных поколений.

Скачать
DepositFiles
LetitBit

Язык ассемблера: уроки программирования

Автор: П.И.Рудаков, К.Г.Финогенов
Издательство: «Диалог-МИФИ»
Год издания: 2001
Страниц: 640
Язык: Русский
Формат: DjVu
Размер: 8,76 Мб

Описание:
Книга является простым и доступным для широкого круга пользователей пособием по программированию на языке ассемблера для персональных компьютеров IBM PC. Рассматриваются основы разработки программ, аппаратная организация компьютера, использование системных средств DOS и BIOS, программирование сопроцессора и защищенного режима. Отдельный раздел посвящен разработке прикладных драйверов Windows для управления нестандартной аппаратурой. Для читателей, не являющихся профессионалами-программистами, но имеющих дело с персональными компьютерами, а также студентов вузов, аспирантов и преподавателей.

Скачать
DepositFiles
LetitBit

Ассемблер. Самоучитель

Автор: А.Крупник
Издательство: «Питер»
Год издания: 2005
Страниц: 242
Язык: Русский
Формат: DjVu
Размер: 4,07 Мб

Описание:
Книга знакомит читателя с ассемблеромуниверсальным языком «низкого уровня», на который переводятся другие, «высокоуровневые» языки. Будучи основой таких языков, ассемблер позволяет лучше понять и Си, и С++, и Паскаль. Кроме того, с его помощью можно написать отдельные части программ так, чтобы они быстрее выполнялись. В силу своей универсальности ассемблер позволяет менять и чужие программы, исходный текст которых на языке высокого уровня недоступен. За это его так любят хакеры.

Начав с простых коротких примеров, написанных для ассемблера MASM фирмы Microsoft, и двигаясь вперед, вы научитесь писать довольно сложные программы для Windows и DOS.

Книга предназначена для всех, кто интересуется программированием
вообще и ассемблером в частности.
Скачать
DepositFiles
LetitBit

Ассемблер на примерах. Базовый курс

Автор: Рудольф Марек
Издательство: Наука и Техника
Год издания: 2005
Страниц: 233
Язык: Русский
Формат: PDF
Размер: 5,76 Мб

Описание:
Серия «Просто о сложном». Эта книга представляет собой великолепное практическое руководство по основам программирования на языке ассемблера. Изложение сопровождается большим количеством подробно откомментированных примеров, что способствует наилучшему пониманию и усвоению материала. Доходчиво объясняются все основные вопросы программирования на этом языке.

Вы узнаете, как писать ассемблерные программы под разные операционные системы(Windows, DOS, Linux), как создавать резидентные программы, как писать ассемблерные вставки в программы на языках высокого уровня и многое другое. Попутно вам будут разъяснены основные моменты работы процессора, операционных систем, управления памятью и взаимодействия программ с аппаратными устройствами ПК — то есть все то, без знания чего нельзя обойтись при программировании на языке низкого уровня, которым и является ассемблер.

Книга написана доступным языком.
Лучший выбор для начинающих.
Скачать
DepositFiles
LetitBit

Практическое программирование микроконтроллеров
Atmel AVR на языке ассемблера

Автор: Ревич Ю.В
Издательство: «БХВ-Петербург»
Год издания: 2011
Страниц: 354
Язык: Русский
Формат: DjVu
Размер: 12,2 Мб

Описание:
Изложены принципы функционирования, особенности архитектуры и приемы программирования микроконтроллеров Atmel AVR. Приведены готовые рецепты для программирования основных функций современной микроэлектронной аппаратуры: от реакции на нажатие кнопки или построения динамической индикации до сложных протоколов записи данных во внешнюю память или особенностей подключения часов реального времени. Особое внимание уделяется обмену данными микроэлектронных устройств с персональным компьютером, приводятся примеры программ.

В книге учтены особенности современных моделей AVR и сопутствующих микросхем последних лет выпуска. Приложения содержат основные параметры микроконтроллеров AVR, перечень команд и тексты программ для них, а также список используемых терминов и аббревиатур. Для учащихся, инженерно-технических работников и радиолюбителей.

Скачать
DepositFiles
LetitBit

5 лучших книг по языку ассемблера в 2020 году

Написано Леоном на языках программирования

Компьютеры выполняют арифметические, логические и управляющие операции. Микропроцессор управляет ими. Каждый микропроцессор имеет набор инструкций для обработки различных операций. Чтобы программировать их, поскольку мы не можем использовать машинный язык (слишком сложный и неясный), мы изучаем низкоуровневый язык ассемблера, чтобы представлять инструкции в символическом коде и делать их более понятными.

Язык ассемблера является базовым. Вы должны изучить его, если хотите начать программировать с нуля. Итак, чтобы помочь вам в этом, вот несколько отличных книг, которые помогут .

Программирование с нуля