Регістр командного покажчика
Спеціальний регістр командного покажчика ip указує на наступну виконувану машинну команду щодо визначеного в cs сегменту.
IP |
d |
|
|
|
|
|
|
|
|
|
CS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Зміна будь-якого з цих регістрів (CS і IP) приводить до зміни порядку виконання програми.
Регістр прапорів
|
|
|
|
OF |
DF |
IF |
TF |
SF |
ZF |
|
AF |
|
PF |
|
CF |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Регістр прапорів складається з 16 битий, з них використовуються тільки 9.
Прапор - це битий, що приймає значення 1 («прапор встановлений»), якщо виконана деяка умова, і значення 0 («прапор скинутий») інакше.
Прапори умов:
CF |
перенесення (carry flag) |
ознака встановлюється в 1, якщо має місце перенесення або заїм із старшого біта результату
|
OF |
переповнювання (overflow flag) |
рівний 1, якщо виникає арифметичне переповнювання
|
ZF |
нуля (zero flag) |
рівний 1, якщо результат команди рівний 0
|
SF |
знаку (sign flag) |
рівний 1, якщо старший біт результату рівний 0, тобто SF = 0 - число позитивне SF = 0 - число негативне
|
PF |
парності (parity flag) |
рівний 1, якщо результат має парне число одиниць
|
AF |
додаткового перенесення (auxiliary carry flag) |
рівний 1, якщо під час виконання команд десяткового складання і віднімання здійснено виконання перенесення або позики між півбайтами |
Прапори станів:
DF |
напрями (direct flag) |
встановлює напрям проглядання рядків в строкових командах DF = 0 від початку до кінця DF = 1 у зворотному напрямі
|
IF |
переривання (interrupt flag) |
IF = 0 процесор перестає реагувати на переривання, що поступають до нього IF = блокування переривань знімається
|
TF |
трасування (trap flag) |
TF = 1 після виконання кожної команди процесор робить переривання, чим можна скористатися при відладці програми |
