Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| reverseenengineering:регитсры [2025/07/01 18:11] – [ECX] Lex | reverseenengineering:регитсры [2025/07/04 17:33] (текущий) – [Регистры общего назначения] Lex | ||
|---|---|---|---|
| Строка 49: | Строка 49: | ||
| ===== Регистры общего назначения ===== | ===== Регистры общего назначения ===== | ||
| - | ^ Имя регистра | + | ^ Имя регистра |
| | EAX | Аккумулятор (Accumulator) | | EAX | Аккумулятор (Accumulator) | ||
| | EBX | База (Base) | | EBX | База (Base) | ||
| Строка 102: | Строка 102: | ||
| > EDX (data register). Дополняет eax в операциях умножения и деления, | > EDX (data register). Дополняет eax в операциях умножения и деления, | ||
| + | > Регистр данных, | ||
| + | |||
| + | > Арифметические операции: | ||
| + | |||
| + | > Ввод-вывод: | ||
| + | |||
| + | > Соглашения о вызовах: | ||
| + | |||
| + | > Логические операции: | ||
| + | |||
| + | > Разделение на части: EDX можно обращаться как к 16-битному регистру DX (старшие 16 бит) и 8-битным DH (старший байт) и DL (младший байт). | ||
| + | |||
| + | > Совместимость с другими регистрами: | ||
| + | |||
| + | > Регистр EDX остается важным элементом в низкоуровневом программировании, | ||
| ==== RAX (Accumulator Register) ==== | ==== RAX (Accumulator Register) ==== | ||
| + | |||
| > Используется для арифметических, | > Используется для арифметических, | ||
| + | |||
| + | > 64-битный регистр в архитектуре процессоров x86-64. Представляет собой расширенную версию 32-битного регистра EAX. | ||
| + | |||
| + | > Структура регистра: | ||
| + | >> RAX (64 бита) — основной регистр. | ||
| + | >> EAX (32 бита) — нижние 32 бита регистра RAX. | ||
| + | >> AX (16 бит) — нижние 16 бит регистра EAX. | ||
| + | |||
| + | > При использовании регистра RAX меняется значение всех трёх частей, | ||
| + | |||
| + | > Регистр RAX используется для выполнения арифметических и логических операций. Также он применяется для: | ||
| + | |||
| + | >> Перемещения данных — RAX часто используется как операнд для различных инструкций. | ||
| + | |||
| + | >> Хранения возвращаемых значений — в большинстве соглашений о вызовах функций для 64-битных систем регистр RAX используется для хранения возвращаемых значений. | ||
| + | |||
| + | |||
| ==== RBX (Base Register) ==== | ==== RBX (Base Register) ==== | ||
| > Используется для хранения данных и может использоваться как базовый регистр при адресации памяти. | > Используется для хранения данных и может использоваться как базовый регистр при адресации памяти. | ||