Advanced Search
Search Results
422 total results found
Компоновка и линковка
При стандартной компиляции проекта создается полноценный ELF файл, происходит выравнивание по границам страниц памяти. При использовании указателя global main подключается стартовый код стандартной библиотеки C. Точки входа. Точка входа определяется значение...
Инструкции
Арифметика и логика Mov копирование значений. mov destination, source destination: регистр или память. Source: регистр, память, число. Одновременно не может из памяти в память. Должны совпадать по размерам. Для расширения нулями меньших регистров (только ре...
Разное
Представление чисел По умолчанию десятичное. Другие форматы: Префикс Постфикс Описание 0b b Двоичное 0x h Шестнадцатеричное в
Регистры
Запись в часть 64-битного регистра, например в регистр AL, влияет только на биты этой части. В случае AL загрузка 8-битного значения изменяет младшие 8 битов RAX, оставляя остальные 48 бит без изменений. Виды регистров Название Разряд Тип Назначение...
Задачи
Задача 1. Вычислить выражение: (a + b) * c - d, где a=5, b=3, c=4, d=8. Результат вывести в консоль. global main extern printf section .data cura dd 5 curb dd 3 curc dd 4 curd dd 8 mymsg db "%d",10,0 section .text main: m...
Строки и вывод данных
Завершение программы mov rax, 60 mov rdi, 0 syscall При использовании gcc можно ret Код возврата Linux Без отладчика можно смотреть состояние одного регистра за счет копирования его в регистр rdi (Linux) при завершении программы. glo...
Данные
Типы данных db байт dw слово dd двойное слово dq двойное длинное слово Для строк в конце добавляется завершающий 0 (NULL). Массив: nums dq 11, 12, 13, 14, 15, 16, 17 ; семь 8-байтных чисел Как и всегда, хранится адрес перв...
Стек
LIFO. Управляется через регистр RSP. Когда программа начинает выполняться, ОС инициализирует регистр RSP адресом последней ячейки памяти в сегменте стека. Размер стека зависит от системы. На Linux х86-64 стек ограничен 2 мегабайтами. Стек растет от больших ад...
Функции и прерывания
Функция - набор инструкций под некоторой меткой (имя функции). Функции завершается ret. Вызываемые функции могут вызывать другие функции. sum: mov rdi, 7 mov rsi, 5 add rdi, rsi ret Вызов функции: call название_функции Call помещает в ...
Системные и внешние вызовы
Syscall Инструкция процессора, мост между ядром и непривилегированными программами. Для вызова заполняются регистры в соответствии с соглашениями ABI (Application Binary Interface). Есть обновляемая таблица системных вызовов Номер функции размещается в регист...
DOS
DOS общего назначения sudo hping3 --flood -S -p 80 192.168.86.1 -S SYN пакет Скорость генерации пакетов -i --interval --fast псевдоним -i u10000 --faster псевдоним -i u1000 --flood ожидание (uX это X микросекунд,...
Пирамида Дилтса
6 уровней пирамиды Дилтса Анализируя проблему необходимо задать себе всего 6 вопросов. Но учтите, что ответ на первый будет скрываться во втором, на второй в третьем, а на третий в четвёртом. И так далее. Только достигнув вершины пирамиды мы сможем увидеть ка...
Принципы обучения
Правила чтения книг Перед прочтением главы делать быстрый просмотр, концентрируясь на картинках / выделении шрифтом / ... Пара минут. Записывать вопросы, главные идеи и выводы. Сосредоточенность и расслабление Нужно терять концентрацию для очищения. Отключ...
Gradle
Сложно сказать, зачем изучать gradle в контексте keycloak - python стека. Видимо чисто ради прикола. Установка: $ wget https://services.gradle.org/distributions/gradle-9.2.1-bin.zip $ mkdir /opt/gradle $ unzip -d /opt/gradle gradle-9.2.1-bin.zip $ echo ...
Теория чисел
Виноградов И.М. «Основы теории чисел» Теория чисел Натуральные числа, 0 и отрицательные. Разница между соседними числами 1. a + b, a - b, a * b целые. Если a = b * q обозначается b \ a Если b \ m и m \ a то b \ a Всякое целое a представляется единств...