Реальный режим - это режим, в котором работал первый процессор семейства x86 - 8086. Все последующие модели микропроцессоров поддерживают этот режим для совместимости со старым программным обеспечением. Поскольку 8086 был 16-разрядным процессором, адресующим не более 1 Мб адресного пространства, то и современные процессоры в реальном режиме также имеют разрядность 16 бит и адресное пространство в 1Мб. Однако, в отличие от 8086, современные процессоры в реальном режиме могут задействовать некоторые дополнительные возможности, например новые регистры, новые команды и т.п.
Стек — это специальным образом организованный участок памяти, используемый для временного хранения переменных, для передачи параметров вызываемым подпрограммам и для сохранения адреса возврата при вызове процедур и прерываний. Легче всего представить стек в виде стопки листов бумаги (это одно из значений слова «stack» в английском языке) — вы можете класть и забирать листы бумаги только с вершины стопки. Таким образом, если записать в стек числа 1, 2, 3, то при чтении они будут получаться в обратном порядке — 3, 2, 1.
По назначению и способу использования регистры процессоров Intel можно разбить на группы:
16-разрядные процессоры могут адресовать память размером в 1 Мб. Но, поскольку сформировать 20-разрядный адрес с помощью 16-разрядных регистров напрямую нельзя, используется сегментация памяти. Вся память делится на перекрывающиеся сегменты по 64 Кб каждый. Базовый адрес каждого сегмента памяти кратен 16 байтам. Для формирования полного адреса используется адрес сегмента, хранящийся в сегментном регистре и смещение внутри сегмента.