Регістри стану і управління

Використовуючи ці регістри можна отримувати інформацію про результат виконання команд і впливати на стан самого МП.

Регістр покажчик команд IP (Instruction Pointer register)

Регістр прапорів FLAGS (Flags register)

Окремі біти даного регістра мають певне функціональне призначення і називаються прапорами (див. Рис.2.4).

Є три типи прапорів: прапори стану (6 прапорів CF, PF, AF, ZF, SF, OF), прапори управління (прапор DF) і системні прапори (прапори TF і IF). Призначення прапорів представлено в табл.2.1.

Регістри стану і управління

Мал. 2.4. Прапоровий регістр процесора Intel 8086

Таблиця 2.1. Призначення прапорів флагового регістра

Опис і основне призначення прапора

CF Прапор переносу (Carry Flag)

1 - арифметична операція справила перенесення з старшого біта (результат операції не вмістити в приймальнику) або позику в старший біт результату; 0 - перенесення або позички не було. (Старшим є 7, 15 або 31-й біт в залежності від розмірності операнда) (операції над числами без знака)

Закінчення табл. 2.1.

PF Прапор парності (Parity Flag)

1 - вісім молодших розрядів (молодший байт) результату містять парне число одиниць; 0 - вісім молодших розрядів результату містять непарне число одиниць. (Цей прапор тільки для восьми молодших розрядів операнда будь-якого розміру)

AF Вспом. прапор переносу (Auxiliary Carry Flag)

1 - арифметична операція справила перенесення з третього біта або позику в третій біт результату; 0 - перенесення або позички не було. (Операції над числами в двійковій-десятковому форматі)

ZF Прапор нуля (Zero Flag)

1 - результат операції нульовий; 0 - результат операції ненульовий.