Регистры

Микропроцессор 8086 имеет четырнадцать 16-разрядных регистров, которые применяются для управления исполнением команд, адресации и выполнения арифметических операций. Регистры подразделяются на группы.

Регистр указателя команд (Instruction Pointer — IP) используется для выборки очередной команды с целью ее выполнения.

Регистр флагов (Flags) содержит биты, которые отражают состояние компьютера и признаки выполнения машинных команд:

  • • бит 11 OF (Overflow Flag) — переполнение (равен 1, если объем результата превышает размер ячейки назначения);
  • • бит 10 DF (Direction Flag) — направление (устанавливается 1 для автоматического декремента в командах обработки строк (0 — для инкремента));
  • • бит 9 IF (Interrupt Flag) — разрешение прерывания (если 1, то прерывания разрешены, а если 0, то распознаются так называемые немаскируемые прерывания);
  • • бит 8 TF (Trace Flag) — флаг трассировки (если равен 1, то процессор переходит после выполнения каждой команды в состояние программного прерывания INT3);
  • • бит 7 SF (Sign Flag) — признак знака (равен 1 для отрицательных чисел результата и равен 0 для положительных);
  • • бит 6 ZF (Zero Flag) — признак нуля (равен 1, если результат равен нулю);
  • • бит 4 AF (Auxiliary Flag) — дополнительный признак переноса (устанавливается равным 1 во время выполнения команд десятичного сложения (и вычитания) при необходимости переноса или заема между полубайтами);
  • • бит 2 PF (Parity Flag) — признак четности (равен 1, если результат имеет четное число единиц);
  • • бит 0 CF (Carry Flag) — признак переноса (равен 1, если имеет место перенос или заем из старшего бита результата). Используется для выполнения операций сложения (вычитания) над числами длиной в несколько слов, которые сопряжены переносом из слова в слово.

Регистры сегмента: CS, DS, SS, ES. Сегментом называется область памяти, которая начинается на границе параграфа, т. е. в любой точке, адрес которой кратен 16. Регистр сегмента содержит адрес его начала (базовый адрес). В программе все адреса заложены относительно начала сегмента, и они определяются как смещение (offset) от начала компоненты.

Существуют следующие типы сегментов:

  • • кода — содержит машинные команды; адресуется регистром CS совместно с IP;
  • • данных — содержит данные, т. е. константы, переменные и рабочие области программы; адресуется регистром DS;
  • • стека — содержит передаваемые в МП параметры и адреса возврата в точку вызова МП; адресуется регистром SS совместно с SP;
  • • дополнительных данных; адресуется регистром ES.
 
< Пред   СОДЕРЖАНИЕ     След >