Весь мой канал Old Programmer о программировании и программистах представлен по темам здесь.
О моих ресурсах по языку ассемблер
А в данной статье собраны ссылки на мои материалы по ассемблеру в Linux 64. Ассемблер это красиво, это здорово. Когда ты программируешь на ассемблере, то ощущаешь себя творцом, способным дергать за самые тонкие и скрытые ниточки операционных систем и компьютеров. Напомню, что во всех статьях я использую GNU Assembler (GAS) с синтаксисом AT&T.
Представленный список материалов об ассемблере будет динамически пополняться с появлением новых материалов.
Данные материалы будут положены в основу будущей книги по языку ассемблера GAS.
Assembler для Linux (материалы из книги)
Глава 1
- Ассемблер для Linux (материалы книги). Введение
- Ассемблер для Linux (материалы книги). Параграф 1.1.
- Ассемблер для Linux (материалы книги). Параграф 1.2
- Ассемблеры платформы x86. Не большой обзор. Параграф 1.3
- Ассемблер для 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.
- Ассемблер 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
- Ассемблер для Windows. Создание и удаление каталогов (книга) Параграф 4.7
- Ассемблер для Linux. Параметры командной строки (книга) Параграф 4.8
- Ассемблер для Linux. Пример с параметром в командной строке (книга) Параграф 4.9
- Ассемблер для Linux (GAS). Программа чтения содержимого каталога (книга)
Глава 5.
- Программирование на языке ассемблера в Linux (GAS). Статическая глобальная память (книга)
- Программирование на ассемблере GAS (Linux). Стековая память. (книга)
- Программирование на GAS, Linux x86-64. Выделение динамической памяти (книга)
- Программирование на ассемблере GAS (Linux 64). Файлы, отображаемые в память, функция mmap (книга)
- Программирование на GAS в Linux x86-64. Использование функции mmap для динамического выделения памяти (книга)
Глава 6.
- Программирование на GAS в Linux x86-64. Объектные модули и их объединение(книга)
- Программирование на языке ассемблера в Linux 64. Компилирование с помощью программы gcc (книга)
- Ассемблер GAS. Использование стандартных библиотечных функций C и доступ к параметрам командной строки (книга)
- Программирование на ассемблере GAS в Linux x86-64. Создание статических библиотек (книга)
- Программирование на ассемблере Ассемблер GAS в Linux x86-64. Использование ассемблерного кода в языках высокого уровня (книга)
- Программирование на ассемблере GAS в Linux x86-64. Создание динамических библиотек (книга)
- Программирование на ассемблере GAS. Использование кода на высокоуровневых языках в программе на языке ассемблера (книга)
Глава 7.
- Программирование на ассемблере GAS Linux x86-64. Запуск процессов (книга)
- Программирование на ассемблере GAS Linux x86-64. Создание процессов, функция fork (книга)
- Программирование на GNU assembler Linux x86-64. Ожидание конца работы дочернего процесса, wait (книга)
- Программирование на GNU ассемблере Linux x86-64. Получение списка строк окружения процесса (книга)
- Программирование на ассемблере в Linux. Взаимодействие процессов. Разделяемая память (книга)
- Программирование на ассемблере в Linux. Использование pipe для взаимодействия процессов (книга)
- Программирование на ассемблере в Linux. Семафоры (книга)
Приложения
- Ассемблер GAS , x86-64. Приложение 1 (книга)
- Ассемблер GAS , x86-64. Приложение 2 (книга)
- Ассемблер GAS , x86-64. Приложение 3 (книга)
Мои ресурсы на канале по языку ассемблер для Linux (GNU assembler x86-64)
- Из записок старого программиста. Завещание старых мастеров. Ассемблер
- Ассемблер на платформе x86-64, Linux, программирование. Статья 1 (регистры, syscall)
- Программирование на ассемблере для Linux (консольный ввод-вывод). Статья 2
- Программирование на ассемблере (преобразование целого числа в строку). Статья 3
- Программирование на ассемблере (преобразование строки в число). Статья 4
- Программирование на ассемблере (стек). Статья 5
- Программирование на ассемблере (стек, подпрограмма, передача параметров). Статья 6
- Программирование на ассемблере (передача параметров в 64-х битовых системах). Статья 7
- Зачем нужно изучать ассемблер (assembler forever)
- Программирование на ассемблере. Статья 8 (объединение объектных модулей)
- Программирование на ассемблере. Статья 9 (ассемблер и C)
- Программирование на ассемблере. Статья 10 (ассемблер и C)
- Программирование на ассемблере. Статья 11 (ассемблер и C)
- Программирование на ассемблере. Статья 12 (ассемблер и C)
- Программирование на ассемблере. Статья 13 (адресация)
- Программирование на ассемблере. Статья 14 (адресация с масштабированием)
- Ассемблер и C, пример эксперимента по сравнению производительности
- Язык C. Функция с переменным числом параметров
- Язык C. Функция с переменным числом параметров. Вариант решения
- Ассемблерный код программ на языке C (интрига продолжается)
- Ассемблерный код программ на языке C (интрига близка к завершению)
- Ассемблер и C (конец интриги)
- Из записок старого программиста Воспоминания об ассемблере
- Ассемблер vs ассемблер (интрига не закончилась)
- О языке программирования ассемблер на платформе x86-64. Самое начало
- Ассемблер. Управление файлами. Статья 1
- Ассемблер. Управление файлами. Статья 2
- Ассемблер, управление файлами. Статья 3
- Ассемблер. Числа с плавающей точкой
- Ассемблер. Числа с плавающей точкой. Еще один пример
- Из записок старого программиста. Воспоминания об ассемблере 2
- Ассемблер. Создаем статические библиотеки
- Ассемблер. Создаем динамические библиотеки в Linux
- Из записок старого программиста. Воспоминания об ассемблере 3
- Ассемблер. Доступ к параметрам командной строки
- Ассемблер. Доступ к параметрам командной строки. Статья 2
- Ассемблер на платформе Linux x86-64. Получить параметр командной строки. Статья 3
- Программирование на ассемблере as в Linux. Системный вызов execve
- Linux GNU assembler. Программа для запуска других процессов из командной строки
- Программирование на языке ассемблера в Linux. Получить список строк окружения (environment)
- И снова ассемблер (GAS x86-64) для Linux. Продолжаем работать со стеком, локальные переменные
- GNU assembler x86-64 Linux. Стек и команды ассемблера
- Ассемблер, команды ассемблера, основные конструкции (assembler x86-64)
- Ассемблер для Linux. Локальные переменные (продолжение)
- Сложные логические условия на ассемблере (GNU assembler, Linux, x86-64)
- Программирование на ассемблере в Linux. Вложенные циклы
- Ассемблер x86-64. Строковые операции
- Ассемблеры. Не большой обзор
- Ассемблер x86-64. Базовые арифметические операции
- Ассемблер x84-64. Регистр флагов (флаги условий)
- Ассемблер x86-64. Строковые команды (movs , lods , stos , cmps , scas)
- Ассемблер x86-64. Битовые и логические операции
- Книга "Ассемблер для Linux"
Пока. Подписываемся на мой канал Old Programmer и программируем на ассемблере.