иків SP (ESP). Cтек організований таким чином, що при додаванні елементів в стек вміст покажчика стека зменшується. Стек зростає вниз від максимального значення, що зберігається в SS (росте вниз головою). При додаванні в стек адреси зменшуються. Така організація необхідна при використанні моделі пам'яті flat. У цьому випадку програма розміщується, починаючи з молодших адрес ОП, а стек розміщується в старших адресах
Стек використовується для тимчасового зберігання даних, для організації роботи з підпрограмами, в тому числі і рекурсивними, для передачі параметрів підпрограм, розміщення локальних параметрів і т.д.
Для того щоб стік можна було використовувати для зберігання фактичних і локальних параметрів, після передачі фактичних параметрів значення покажчика на вершину стека можна зберегти в регістрі BP (EBP) і тоді до глобальних параметрах можна звертатися, використовуючи конструкцію BP- k, а до локальних - BP + n, де k і n - визначаються кількістю параметрів і їх розміром.
Регістр прапорів. Регістр FLAGS або EFLAGS визначає стан процесора і програми в кожний поточний момент часу.
CF - перенесення
PF - парність
AF - полуперенос
ZF - прапор нуля
SF - прапор знака
TF - прапор трасування
IF - прапор переривання
DF - прапор напряму
OF - прапор переповнення
AC - прапор вирівнювання операндів
VM - прапор віртуальних машин
RF - прапор маскування переривання
NT - прапор вкладеної завдання
IOPL - рівень привілеїв введення / виводу.
Біти 1, 3, 5, 15, 19 - 31 - не використовуються, зарезервовані.
У реальному режимі використовують 9 прапорів, з них 6 реагують на результат виконання команди, 3 визначають режим роботи процесора.
У захищеному режимі використовуються 5 додаткових прапорів, які визначають режим роботи процесора.
Призначення прапорців: встановлюється в 1, якщо при виконанні команд додавання здійснюється перенесення за розрядну сітку, а при відніманні потрібно позику.=1, якщо в молодшому байті результату міститься парна кількість одиниць.=1, якщо в результаті виконання команди складання (вирахування) здійснювався перенос (позика) з 3-го розряду байта в 4-й (з 4-го в 3-й).=1, якщо результатом виконання операції є нуль у всіх розрядах результата.всегда дорівнює старшому біту результату.=1 перериває роботу процесора після кожної виконаної команди.определяет напрямок обробки рядків даних, якщо DF=0 - обробка рядків йде в бік збільшення адрес, DF=1 - у бік зменшення, це реалізується автоматичним збільшенням або зменшенням вмісту регістрів індексів SI (ESI) і DI (EDI).=1, якщо результат команди перевищує максимально допустимий для даної розрядної сітки.=1, якщо рівень привілеї поточної програми менше значення цього прапорця, то виконання команди введення / висновок для цієї програми запрещен.T - визначає режим роботи вкладених задач.позволяет маскувати деякі переривання процессора.M - дозволяє перейти із захищеного режиму в режим віртуальних машин.=1 призведе до повід...