Четвертый BORLAND С++ и его окружение

       

Регистры общего назначения


SP Указатель стека
BP Указатель базы
SI Индекс источника
DI Индекс приемника

Общие регистры чаще всего используются для работы с данными.

Каждый из них выполняет некоторые специальные функции, которые

доступны только ему, например, некоторые математические операции

могут использовать только регистр AX, регистр BX может служить

базовым регистром, CX применяется инструкцией LOOP и некоторыми

строковыми инструкциями, а DX используется некоторыми математическими операциями неявно. Однако во многих операциях можно использовать все эти регистры и заменять один из них на другой.

Сегментные регистры содержат начальный адрес каждого из 4



сегментов. Как описывается ниже, 16-разрядное значение в сегментном регистре для получения 20-разрядного адреса сегмента сдвигается влево на 4 (умножается на 16).

16-разрядный сегментный 16-разрядное

регистр смещение

V

умножение на 16

/сдвиг влево на 4/

V

Значение сегмента,

умноженное на 16,

равно 20-разрядно-

му значению

> + <

V

20-разрядное значение адреса памяти

Процессоры 80х86 имеют также некоторые специальные регистры:

  • Регистры SI и DI могут выполнять многие функции общих регистров, но могут также использоваться в качестве индексных регистров. Они используются и в регистровых переменных Borland С++.
  • Регистр SP указывает на текущую вершину стека и представляет смещение в сегменте стека.
  • Регистр BP - это вспомогательный указатель стека, применяемый для индексирования в стеке с целью извлечения аргументов или локальных динамических переменных.
  • Функции Borland С++ используют регистр базы (BP) в качестве

    базового регистра для аргументов и переменных. Параметры имеют

    положительные смещения от BP, зависящие от модели памяти. При наличии кадра стека BP указывает на сохраненное предыдущее значение BP. Если параметр Standard Stack Frame выключен (Off), то функции без аргументов не используют и не сохраняют BP.

    16-разрядный регистр флагов содержит все необходимую информацию о состоянии процессора 80х86 и результатах последних инструкций.



    Содержание раздела