МиМ. Реальный режим 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-битным физическим адресом.
*подготовлено ИИ