16 лучших книг по Assembler: знания и навыки шаг за шагом
Написание ОС-загрузчиков, драйверов, переписывание области памяти и другие задачи по работе с ЭВМ реализовываются с помощью ассемблера. Выбранные книги по ассемблеру помогут понять принцип работы машинно-ориентированного языка и освоить его.
1. Ревич Ю. – Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера, 2014 г.
Скачать: https://vk.com/wall-51126445_17053
«Свежая кровь» в области программирования микроконтроллеров. Подробно изложены особенности Atmel AVR, есть перечень команд и готовые рецепты – ассемблер на примерах. Хорошая вещь для радиолюбителей и инженерно-технических работников, хотя подойдет и начинающим кодерам: затронуты история, семейства и возможности МК AVR. Стоит отметить, что введение лаконичное, быстро перетекающее в суть, поэтому сетовать на лирику не придется.
Изложены принципы функционирования, особенности архитектуры и приемы программирования микроконтроллеров Atmel AVR. Приведены готовые рецепты для программирования основных функций современной микроэлектронной аппаратуры: от реакции на нажатие кнопки или построения динамической индикации до сложных протоколов записи данных во внешнюю память или особенностей подключения часов реального времени. Особое внимание уделяется обмену данными микроэлектронных устройств с персональным компьютером, приводятся примеры программ. В книге учтены особенности современных моделей AVR и сопутствующих микросхем последних лет выпуска. Приложение содержит основные параметры микроконтроллеров AVR, перечень команд и тексты программ для них, а также список используемых терминов и аббревиатур. Для учащихся, инженерно-технических работников и радиолюбителей. 3-е издание, ипсравленное.
2. Калашников О. – Ассемблер – это просто. Учимся программировать, 2011 г.
Скачать: https://vk.com/wall-51126445_20275
Настоящее раздолье для новичков, которые еще гуглят базовую терминологию и ищут ассемблер учебник. Это он и есть. Помимо ознакомления с языком и первых программ, также затронуты болевые точки – прерывания: штука несложная, но поначалу тяжелая для восприятия. С каждой главой ассемблер уроки усложняются, и на выходе читатель сможет писать программы на ассемблере, оптимизировать их, работать с вирусами, антивирусами, памятью и файловыми системами.
Подробно и доходчиво объясняются все основные вопросы программирования на ассемблере. Рассмотрены команды процессоров Intel, 16- и 32-разрядные регистры, основы работы с сопроцессором, сегментация памяти в реальном масштабе времени, управление клавиатурой и последовательным портом, работа с дисками и многое другое.
Описано, как разработать безобидный нерезидентный вирус и антивирус против этого вируса, как написать файловую оболочку (типа Norton Commander или FAR Manager) и как писать резидентные программы. Каждая глава состоит из объяснения новой темы, описания алгоритмов программ, многочисленных примеров и ответов на часто задаваемые вопросы.
Во второе издание внесены исправления и добавлены новые примеры. CD содержит исходные коды всех примеров, приведенных в книге, с подробными описаниями.
3. Аблязов Р. – Программирование на ассемблере на платформе x86-64, 2011 г.
Скачать: https://vk.com/wall-51126445_17068
Акцент делается на работе процессора в защищенном режиме и long mode. Это незаменимая база для программирования в Win32 и Win64, которая затрагивает команды ассемблера, прерывания, механизмы трансляции и защиты с учетом режимных отличий. Рассматривается разработка оконных приложений и драйверов. Данный ассемблер учебник подойдет начинающим кодерам и тем, кто сразу перешел к программированию на ассемблере, но плохо разобрался в аппаратной платформе x86-64.
В данной книге речь идёт о работе процессора в двух его основных режимах: защищённом режиме и 64-битном, который также называют long mode («длинный режим»). Также помимо изложения принципов и механизмов работы процессора в защищённом и 64 -битном режимах, речь пойдёт о программировании на ассемблере в операционных системах семейства Windows, как в 32-битных, так и 64-битных версиях. Рассматривается не только разработка обычных приложений для операционных систем Windows, но и разработка драйверов на ассемблере. При написании книги уделялось большое внимание именно практической составляющей, т.е. изложение материала идёт только по делу и только то, что необходимо знать любому системному и низкоуровневому программисту. Последний раздел книги посвящён принципам работы многопроцессорных систем, а также работе с расширенным программируемым контроллером прерываний (APIC).На диске, прилагаемом к книге, находятся полные исходные коды примеров к книге, а также дополнительные программы и материалы.Издание предназначено для системных и низкоуровневых программистов, а также для студентов и преподавателей технических специальностей высших и средне-специальных учебных заведений.
4. Столяров А. – Программирование на языке ассемблера NASM для ОС Unix, 2011 г.
Скачать: https://vk.com/wall-51126445_18370
Начиная терминологией и заканчивая взаимодействием с ОС, это без преувеличений одно из лучших учебных пособий. Для тех, кто стремится освоить программирование на ассемблере, но при этом не хочет перегружать книжные полки, достаточно этого учебника. Подробно расписан синтаксис языка ассемблера NASM, затронуты регистры и память, операции различной сложности, команды, а также приведены примеры.
Пособие основано на лекциях, читавшихся автором в рамках курса «Архитектура ЭВМ и язык ассемблера» в Ташкентском филиале МГУ весной 2007 года; часть материала также прошла апробацию в рамках курса «Архитектура ЭВМ и системное программное обеспечение» кафедры Прикладной математики МГТУГА в 2008, 2009 и 2010 гг.
Пособие ориентировано на практические занятия с использованием системы команд i386, «плоской» (бессегментной) модели памяти, ассемблера NASM и операционной системы Linux или FreeBSD; в частности, описываются конвенции системных вызовов обеих систем, также для обеих систем приводятся исходные тексты файлов с макроопределениями, призванными облегчить ассемблерное программирование на ранних этапах изучения дисциплины.
5. Assembly Language for x86 Processors, Seventh Edition [2014, PDF, EN]
Скачать: https://vk.com/wall-51126445_17068
Assembly Language for x86 Processors, 7e is suitable for undergraduate courses in assembly language programming and introductory courses in computer systems and computer architecture. Proficiency in one other programming language, preferably Java, C, or C++, is recommended.
Written specifically for 32- and 64-bit Intel/Windows platform, this complete and fully updated study of assembly language teaches students to write and debug programs at the machine level. This text simplifies and demystifies concepts that students need to grasp before they can go on to more advanced computer architecture and operating systems courses. Students put theory into practice through writing software at the machine level, creating a memorable experience that gives them the confidence to work in any OS/machine-oriented environment.
6. Introduction to 64 Bit Windows Assembly Programming [2014, PDF, EN]
Автор: Ray Seyfarth
Скачать: https://vk.com/wall-51126445_17068
Introduction to 64 Bit Windows Assembly Programming - by Seyfarth,Ray
With the x86-64 architecture there is almost a complete departure from the past. Segment registers are essentially obsolete and more register usage is completely general purpose, with the glaring exception of the repeat-string loops which use specific registers and have no operands. Both these changes contribute to simpler assembly language programming.
7. The Art of Assembly Language, 2nd Edition [2010, PDF, EN]
Скачать: https://vk.com/wall-51126445_17068
Assembly is a low-level programming language that’s one step above a computer’s native machine language. Although assembly language is commonly used for writing device drivers, emulators, and video games, many programmers find its somewhat unfriendly syntax intimidating to learn and use. Since 1996, Randall Hyde’s The Art of Assembly Language has provided a comprehensive, plain-English, and patient introduction to assembly for non-assembly programmers. Hyde’s primary teaching tool, High Level Assembler (or HLA), incorporates many of the features found in high-level languages (like C, C++, and Java) to help you quickly grasp basic assembly concepts. HLA lets you write true low-level code while enjoying the benefits of high-level language programming. As you read The Art of Assembly Language, you’ll learn the low-level theory fundamental to computer science and turn that understanding into real, functional code. You’ll learn how to:
1)Edit, compile, and run an HLA program
2)Declare and use constants, scalar variables, pointers, arrays, structures, unions, and namespaces
3)Translate arithmetic expressions (integer and floating point)
4)Convert high-level control structures
5)This much anticipated second edition of The Art of Assembly Language has been updated to reflect recent changes to HLA and to support Linux, Mac OS X, and FreeBSD. Whether you’re new to programming or you have experience with high-level languages, The Art of Assembly Language, 2nd Edition is your essential guide to learning this complex, low-level language.
8. Андрей Столяров Программирование: введение в профессию.
Том 1: азы программирования (2016)
Том 2: низкоуровневое программирование (2016)
Скачать: https://vk.com/wall-51126445_18914
В первую часть книги вошли избранные сведения из истории вычислительной техники, обсуждение некоторых областей математики, непосредственно используемых программистами (таких как алгебра логики, комбинаторика, позиционные системы счисления), математических основ программирования (теория вычислимости и теория алгоритмов), принципы построения и функционирования вычислительных систем, начальные сведения о работе с командной строкой ОС Unix.
Вторая часть посвящена начальным навыкам составления компьютерных программ на примере Free Pascal под ОС Unix. Материал ориентирован на изучение в будущем языка Си, так что, в частности, много внимания уделено работе с адресами и указателями, построению списков и других динамических структур данных; в то же время многие возможности Паскаля из рассмотрения исключены. Даются сведения о правилах оформления текстов программ, о тестировании и отладке.
Третья часть книги посвящена программированию на уровне машинных команд на примере ассемблера NASM. Рассматривается «юзерспейсовская» часть системы команд i386, конвенции системных вызовов Linux/i386 и FreeBSD/i386, изучается макропроцессор, раздельная трансляция и работа компоновщика, приведены сведения об арифметике с плавающей точкой.
Четвёртая часть, посвящённая языку Си, включает, кроме собственно описания этого языка, также краткие сведения о библиотеке ncurses; рассказ о том, как использовать компилятор Си без его стандартной библиотеки; дополнительные сведения об инструментах сборки и отладки программ; наконец, в книге приводится краткое описание систем контроля версий CVS и git.
9. Подборка книг по языку Assembler и программирование микроконтроллеров
Скачать: https://vk.com/wall-51126445_16551
1.Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера, 3-е издание (2014). Автор: Юрий Ревич
2. Микроконтроллеры для начинающих (2014) Автор: Михаэль Хофманн
3. Разработка устройств на микроконтроллерах AVR (2013) Автор: А. Белов
4. Программирование на языке ассемблера NASM для ОС UNIX, 2-е издание (2011) Автор: Столяров А.В.
5. Ассемблер — это просто. Учимся программировать. 2-е издание (2011)
Автор: Калашников Олег
6. Программирование на ассемблере на платформе х86-64. Технологии асинхронной обработки данных (2011)
Автор: Аблязов Руслан Зуфярович
7. Ассемблер для Windows, 4-е издание. Технологии асинхронной обработки данных (2007) Автор: Владислав Пирогов
10. AMD Technology Specification [2011, PDF]
Скачать: https://vk.com/wall-51126445_21026
Наиболее полное техническое описание программно-аппаратного комплекса компании AMD (включая процессоры, чипсеты, видеокарты и сопутствующие интерфейсы)
11. Подборка книг: Ассемблер (Assembler)
Скачать: https://vk.com/wall-51126445_19638
Виктор Юров "Assembler. Учебник для вузов"
Книга посвящена вопросам программирования на языке Ассемблер для процессоров фирмы Intel.
Автор освещает в учебнике следующие фундаментальные темы: организация современного компьютера, устройство процессоров семейства IA-32, система счисления, синтаксис Ассемблера, макросредства, программирование типовых управляющих структур, сложные структуры данных, модульное программирование.
Материал книги оснащен множеством примеров с подробными объяснениями.
Учебник написан простым и легким для восприятия языком.
Виктор Юров "Assembler. Практикум"
Цель книги - дополнить учебник "Assembler" того же автора практическим материалом, используя который можно разрабатывать сложные полнофункциональные программы для различных операционных платформ.
Книга предназначена для студентов и специалистов, применяющих ассемблер для решения задач прикладного и системного программирования.
Виктор Юров "Справочник по языку Ассемблера IBM PC"
Книга представляет собой справочную систему по языку Ассемблер.
Дэвид Брэдли "Ассемблер для начинающих"
Ассемблер - низкоуровневый язык, который, тем не менее, имеет массу преимуществ по сравнению с другими языками. Автор книги при помощи множества примеров действительно работающих программ пытается поделиться с читателями своим многолетним опытом программирования на языке Assembler для персонального компьютера IBM.
Книга окажет неоценимую поддержку именно тем, кто только начинает осваивать Ассемблер.
Питер Абель "Ассемблер и программирование для IBM PC"
Книга является неоценимым помощником для тех, кто только начинает свое знакомство с языком Ассемблер, и также является прекрасным справочным пособием для уже профессиональных разработчиков.
Книга наиболее широко и полно охватывает все наиболее важные вопросы, связанные с Ассемблером.
В книге приведено множество примеров, облегчающих задачу изучения языка.
А.Б. Крупник "Изучаем Ассемблер"
В книге автор простым и понятным языком описывает основы языка: двоичное исчисление, синтаксис, работу с памятью, адресацию и многое другое.
Материал книги содержит множество примеров программ для операционных систем Windows и DOS.
Книга станет для читателя помощником в написании его первых программ.
Основной категорией читателей книги станут новички: ученики средних и старших классов, студенты первых курсов, а также все те, кого просто заинтересовал Ассемблер.
С.В. Зубков "Assembler. Язык неограниченных возможностей"
Эта книга рассчитана на читателей с разным уровнем подготовки — от начинающих, которые хотят познакомиться с ассемблером серьезно или желают лишь написать пару программ, выполняющих необычные трюки с компьютером, до профессиональных программистов, которые тоже могут найти здесь интересные разделы. Если у вас есть время и желание выучить ассемблер с нуля, — читайте все по порядку. Если же вам хочется немедленно приступить к написанию программ, начните сразу с главы 4.1, но будьте готовы к тому, что иногда придется возвращаться к предыдущим главам за более подробным описанием тех или иных команд.
12. Юрий Магда Ассемблер для процессоров Intel Pentium [2006]
Скачать: https://vk.com/wall-51126445_19185
Издание посвящено вопросам программирования на языке ассемблера для процессоров Intel Pentium. Рассмотрен широкий круг вопросов, начиная с основ программирования на ассемблере и заканчивая применением самых современных технологий обработки данных, таких как ММХ, SSE и SSE2.Материал книги раскрывает методику оптимизации программного кода для всех поколений процессоров Intel Pentium, включая Intel Pentium 4.
Теоретический материал подкреплен многочисленными примерами программного кода. Для широкого круга читателей, от студентов до опытных разработчиков программного обеспечения.
13. THE INTEL MICROPROCESSOR 8086 - Pentium 4 Architecture, Programming, and Interfacing / МИКРОПРОЦЕССОРЫ INTEL 8086 - PENTIUM 4 АРХИТЕКТУРА, ПРОГРАММИРОВАНИЕ И ИНТЕРФЕЙСЫ [2005]
Скачать: https://vk.com/wall-51126445_18433
Приведено подробное описание микропроцессоров семейства i80x86, вариантов организации памяти, систем ввода-вывода, устройств аналого- цифрового и цифроаналогового преобразования, последовательного канала связи на базе микросхемы 16550, периферийных интерфейсных адаптеров, таймеров, контроллеров дисплея и клавиатуры, арифметического сопроцессора, интерфейсов и системных шин персонального компьютера на примере стандартов AGP, ISA, PCI, VESA и USB.
14. Кип Р. Ирвин | Язык ассемблера для процессоров Intel (4-е издание) [2005, PDF, RU]
Скачать: https://vk.com/wall-51126445_18046
В основу четвертого издания этой книги положено описание архитектуры процессоров фирмы Intel, называемой IA-32, сделанное с точки зрения программиста. По сравнению с третьим изданием, книга полностью переписана, и теперь основной акцент в ней сделан на создании 32-разрядных приложений для системы Windows. Ее отличает последовательный и методически грамотный подход к изложению материала.
Материал данной книги подобран в соответствии с ее первоначальным замыслом — научить студентов писать и отлаживать программы на уровне машинных кодов. Она никогда не заменит собой полноценный учебник по архитектуре компьютеров, но позволит студентам получить из первых рук бесценный опыт в написании программ и продемонстрирует, как на самом деле работает компьютер.
15. Assembler для DOS, Windows и UNIX 3-е издание [2004, PDF, RU]
Скачать: https://vk.com/wall-51126445_17062
В книге полностью освещены все аспекты современного программирования на ассемблере, включая системное и прикладное программирование для DOS, Windows 95/98 и UNIX (Solaris, Linux и FreeBSD), работу с устройствами напрямую, взаимодействие с языками высокого уровня и многое другое.
Здесь рассмотрены наборы команд, особенности процессоров Intel, вплоть до Pentium III, и архитектура компьютеров на их основе. Кроме того, описаны популярные алгоритмы - генераторы случайных чисел, быстрые вычисления с фиксированной запятой, вывод графики в SVGA - режимах.
Все базовые понятия вводятся с нуля, поэтому предварительного знакомства с другими языками программирования не требуется.
16. Ассемблер и дизассемблирование [2006, DJVU, RU]
Скачать: https://vk.com/wall-51126445_17061
Рассмотрены вопросы исследования кода Windows-приложений. Подробно описаны формат исполняемых модулей и структура инструкций микропроцессора Intel. Дан полный обзор инструментария по исследованию исполняемого кода: отладчики, дизассемблеры, редакторы ресурсов, НЕХ-редакторы и др. Большое внимание уделено работе с популярными программами по дизассемблированию и отладке SoftlCE и IDA Pro. Приведены примеры исследования исполняемого кода и описаны основные принципы подобного исследования: идентификация программных структур, поиск данных и др. Прилагаемый компакт-диск содержит тексты всех листингов, описанных в книге, а также учебные программы.
