20 Мар 2026, Пт

МиМ. Реальный режим x86

В реальном режиме x86 (16-бит) используются

16-битные регистры общего назначения (AX, BX, CX, DX, SI, DI, BP, SP), сегментные регистры (CS, DS, SS, ES, плюс FS/GS в 80386+), регистр указателя команд (IP) и флаги (FLAGS). Они позволяют адресовать до 1 МБ памяти с помощью сегментации (segment << 4 + offset)

Основные регистры (16-бит)

  • Регистры общего назначения (РОН):
    • AX (Accumulator): Арифметика, ввод-вывод. Можно использовать как AH (старший байт) и AL (младший байт).
    • BX (Base): Базовый адрес.
    • CX (Count): Счётчик (для циклов, сдвигов).
    • DX (Data): Данные, умножение/деление, порты ввода-вывода.
    • SI (Source Index): Индекс источника (строковые операции).
    • DI (Destination Index): Индекс приемника (строковые операции).
    • BP (Base Pointer): Указатель базы стека.
    • SP (Stack Pointer): Указатель вершины стека.
  • Сегментные регистры:
    • CS (Code Segment): Сегмент кода.
    • DS (Data Segment): Сегмент данных.
    • SS (Stack Segment): Сегмент стека.
    • ES (Extra Segment): Дополнительный сегмент.
    • FS, GS: Дополнительные сегменты (появились с 80386).
  • Специальные регистры:
    • IP (Instruction Pointer): Указатель следующей команды.
    • FLAGS: Регистр флагов (состояние процессора, результаты операций). 

В реальном режиме, хотя процессор может быть 32-битным (386+), он работает с 16-битными операндами и 20-битным физическим адресом.

*подготовлено ИИ

Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять