Найти в Дзене
Old Programmer

Книга "Ассемблер для Linux"

Добрый день на моем канале Old Programmer. Эта статья является одним из разделов канала. В ней будут помещаться ссылки на параграфы моей книги по языку ассемблера. Вообще все статьи по ассемблеру моего канала можно разделить на две части: статьи до того, как я начал писать книгу по ассемблеру и статьи - параграфы книги. Старый раздел по ассемблеру остается и по-прежнему будет пополняться, а здесь только параграфы книги, которые я пишу и правлю прямо сейчас и, которые я буду писать, еще как минимум месяца три. Книга пишется в LibreOffice. По написанию параграфа я делаю его копию на канале. Но на этом работа не заканчивается и текст параграфов еще какое-то время будет перерабатываться и меняться. Так что не удивляйтесь если встретите еще сыроватый текст. Он потом будет доработан. А можете написать об ошибках и я с удовольствием воспользуюсь вашими замечаниями. Мой новый канал, добро пожаловать Ассемблер для Linux "Я люблю сидеть низко — с низкого не так опасно падать." Глава 1. Ас
Оглавление

Добрый день на моем канале Old Programmer. Эта статья является одним из разделов канала. В ней будут помещаться ссылки на параграфы моей книги по языку ассемблера. Вообще все статьи по ассемблеру моего канала можно разделить на две части: статьи до того, как я начал писать книгу по ассемблеру и статьи - параграфы книги. Старый раздел по ассемблеру остается и по-прежнему будет пополняться, а здесь только параграфы книги, которые я пишу и правлю прямо сейчас и, которые я буду писать, еще как минимум месяца три.

Книга пишется в LibreOffice. По написанию параграфа я делаю его копию на канале. Но на этом работа не заканчивается и текст параграфов еще какое-то время будет перерабатываться и меняться. Так что не удивляйтесь если встретите еще сыроватый текст. Он потом будет доработан. А можете написать об ошибках и я с удовольствием воспользуюсь вашими замечаниями.

  • Список разделов канала Old Programmer, канала о программировании и программистах

Мой новый канал, добро пожаловать

programmer's notes

Ассемблер для Linux

люблю сидеть низкос низкого не так опасно падать."

Глава 1. Ассемблер GAS. Начало

  • Ассемблер для Linux (материалы книги). Введение
  • Ассемблер для Linux (материалы книги). Параграф 1.1.
  • Ассемблер для Linux (материалы книги). Параграф 1.2
  • Ассемблеры платформы x86. Не большой обзор. Параграф 1.3
  • Ассемблер для Linux (Первые программы для Linux на GNU Assembler). Параграф 1.4.
  • Ассемблер для Linux (материалы книги). Для начала Hello, world! Параграф 1.5.
  • Язык ассемблера. Системы счисления. Параграф 1.6
  • Об ассемблере. Представление чисел в компьютере. Параграф 1.7
  • Завещание старых мастеров. Ассемблер. Параграф 1.8

Глава 2. Основы программирования на языке ассемблера

  • Ассемблер для Linux. Архитектура x86-64 для прикладного программиста. Параграф 2.1.
  • GNU Assembler для Linux. Операции с ячейками памяти. Параграф 2.2.
  • Ассемблер для Linux. Системные вызовы. Параграф 2.3.
  • Ассемблер для Linux. Стандартный ввод-вывод. Параграф 2.4
  • Числа и строки. Ассемблер. Параграф 2.5.
  • Стек. Ассемблер GAS. Linux. Параграф 2.6.
  • Функции в ассемблере. Параграф 2.7.
  • Функции в ассемблере. Передача параметров через стек. Параграф 2.8.
  • Функции в ассемблере. Передача параметров через регистры в 64-битовых системах. Параграф 2.9.
  • Функции в ассемблере x86-64. Локальные переменные. Параграф 2.10.
  • Функции в ассемблере x86-64. Пример полнофункциональной программа. Параграф 2.11.
  • Функции в ассемблере x86-64. Локальные переменные. Пример рекурсивной функции. Параграф 2.12.

Глава 3. Команды процессора архитектуры x86-64

Данная глава посвящена командам процессора x86-64. Мы не планировали сделать справочник команд. В нашу задачу входило показать все разнообразие множества инструкций процессора и примеры их использования.

  • Ассемблер GAS. Адресация x86-64. Параграф 3.1
  • Ассемблер для Linux. Строковые операции. Параграф 3.2
  • Ассемблер x86-64 GAS. Условные конструкции Параграф 3.3
  • GNU assembler. Условные конструкции. Параграф 3.4.
  • Ассемблер GAS, x86-64 Linux. Стандартные арифметические команды. Параграф 3.5
  • Ассемблер GAS, x86-64. Битовые и логические операции (книга) Параграф 3.6
  • Ассемблер GAS, x86-64. Команды для работы с числами с плавающей точкой (книга) Параграф 3.7
  • Ассемблер GAS, x86-64. Примеры с числами с плавающей точкой (книга) Параграф 3.8
  • Ассемблер x86-64, GAS. Расширения процессора (книга). Параграф 3.9

Глава 4. Взаимодействие с операционной системой. Управление файлами

Данная глава посвящена различным аспектам взаимодействия программы на языке ассемблера и операционной системы. Естественно интерфейсом такого взаимодействия являются системные вызовы, с принципами вызова которых мы уже знакомы.

  • Ассемблер x86-64, GAS. Открытие файла, чтение из файла (книга) Параграф 4.1
  • Ассемблер x86-64, GAS. Запись в файл, копирование (книга). Параграф 4.2
  • Ассемблер GAS (x86-64). Текстовые файлы (книга). Параграф 4.3
  • Ассемблер GAS (x86-64). Перемещение внутри файла (книга). Параграф 4.4.
  • Ассемблер GAS , x86-64, Linux. Программное изменение режимов доступа к файлам и папкам (книга) Параграф 4.5
  • Ассемблер для Linux. Удаление и переименование файлов (книга) Параграф 4.6
  • Ассемблер для Linux. Создание и удаление каталогов (книга). Параграф 4.7
  • Ассемблер для Linux. Параметры командной строки (книга) Параграф 4.8
  • Ассемблер для Linux. Пример с параметром в командной строке (книга) Параграф 4.9
  • Ассемблер для Linux (GAS). Программа чтения содержимого каталога (книга) Параграф 4.10

Глава 5. Взаимодействие с операционной системой. Управление памятью

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

  • Программирование на языке ассемблера в Linux (GAS). Статическая глобальная память (книга) Параграф 5.1
  • Программирование на ассемблере GAS (Linux). Стековая память. (книга) Параграф 5.2
  • Программирование на GAS, Linux x86-64. Выделение динамической памяти (книга) Параграф 5.3
  • Программирование на ассемблере GAS (Linux 64). Файлы, отображаемые в память, функция mmap (книга) Параграф 5.4
  • Программирование на GAS в Linux x86-64. Использование функции mmap для динамического выделения памяти (книга) Параграф 5.5

Глава 6. Библиотеки и языки высокого уровня

В главе будут рассмотрены вопросы многомодульного программирования на ассемблере GAS. Объединение объектных модулей. Создание статических и динамических библиотек. Интегрирование языка ассемблера с языками высокого уровня.

  • Программирование на GAS в Linux x86-64. Объектные модули и их объединение(книга) Параграф 6.1
  • Программирование на языке ассемблера в Linux 64. Компилирование с помощью программы gcc (книга) Параграф 6.2
  • Ассемблер GAS. Использование стандартных библиотечных функций C и доступ к параметрам командной строки (книга) Параграф 6.3
  • Программирование на ассемблере GAS в Linux x86-64. Создание статических библиотек (книга) Параграф 6.4
  • Программирование на ассемблере Ассемблер GAS в Linux x86-64. Использование ассемблерного кода в языках высокого уровня (книга) Параграф 6.5
  • Программирование на ассемблере GAS в Linux x86-64. Создание динамических библиотек (книга) Параграф 6.6
  • Программирование на ассемблере GAS. Использование кода на высокоуровневых языках в программе на языке ассемблера (книга) Параграф 6.7

Глава 7. Многозадачность

Глава посвящена многозадачности в операционных системах Linux при использовании при при написании программ ассемблера GAS.

  • Программирование на ассемблере GAS Linux x86-64. Запуск процессов (книга) Параграф 7.1
  • Программирование на ассемблере GAS Linux x86-64. Создание процессов, функция fork (книга) Параграф 7.2
  • Программирование на GNU assembler Linux x86-64. Ожидание конца работы дочернего процесса, wait (книга) Параграф 7.3
  • Программирование на GNU ассемблере Linux x86-64. Получение списка строк окружения процесса (книга) Параграф 7.4
  • Программирование на ассемблере в Linux. Взаимодействие процессов. Разделяемая память (книга) Параграф 7.5
  • Программирование на ассемблере в Linux. Использование pipe для взаимодействия процессов (книга) Параграф 7.6
  • Программирование на ассемблере в Linux. Семафоры (книга) Параграф 7.7

Приложения

  • Ассемблер GAS , x86-64. Приложение 1 (книга)
  • Ассемблер GAS , x86-64. Приложение 2 (книга)
  • Ассемблер GAS , x86-64. Приложение 3 (книга)
За работой над книгой
За работой над книгой

До свиданья, пишите комментарии, подписывайтесь на мой канал Old Programmer.

Основы языка C. Оператор goto

programmer's notes