Nasm
Структура программы и память
Интересный учебник Еще интересный ресурс Типы памяти Регистровая память Самый быстрый способ х...
Отладчики и дизассемблеры
objdump Простейший дизассемблер, есть по умолчанию в linux. -d только секцию кода, -D все секц...
Компоновка и линковка
При стандартной компиляции проекта создается полноценный ELF файл, происходит выравнивание по гра...
Инструкции
Арифметика и логика Mov копирование значений. mov destination, source destination: регистр или...
Разное
Представление чисел По умолчанию десятичное. Другие форматы: Префикс Постфикс Описан...
Регистры
Запись в часть 64-битного регистра, например в регистр AL, влияет только на биты этой части. В сл...
Задачи
Задача 1. Вычислить выражение: (a + b) * c - d, где a=5, b=3, c=4, d=8. Результат вывести в ко...
Строки и вывод данных
Завершение программы mov rax, 60 mov rdi, 0 syscall При использовании gcc можно ...
Данные
Типы данных db байт dw слово dd двойное слово dq двойное длинное слово ...
Стек
LIFO. Управляется через регистр RSP. Когда программа начинает выполняться, ОС инициализирует реги...
Функции и прерывания
Функция - набор инструкций под некоторой меткой (имя функции). Функции завершается ret. Вызываемы...
Системные и внешние вызовы
Syscall Инструкция процессора, мост между ядром и непривилегированными программами. Для вызова з...