- •Розділ і Теоретична частина
- •1.1 Керуючі регістри процесора Структура керуючих регістрів процесора
- •Структура регістру прапорців процесора
- •1 .2 Перемикання між режимами
- •1.3 Формування фізичної адреси
- •Формування лінійної адреси без участі селекторів.
- •Формування лінійної адреси в захищеному режимі
- •Сторінкове перетворення адрес
- •1.4 Захист по привілеях
- •Захист на рівні сегментів
- •Захист на рівні сторінок
- •1.5 Мультизадачність
- •1 .6 Особливості режиму системного управління
- •Порівняльні характеристики режимів процесора
- •Розділ іі Практична частина
- •2.1 Алгоритм роботи програми
- •2.2 Програма обчислення значення виразу
- •Висновки
- •Список використаної літератури
Структура регістру прапорців процесора
Рис. 1.2 Регістр прапорців
• біт 1 (Carry Flag): Введите текст или адрес веб-сайта либо переведите документ.
Отмена
CF - flag perenosa. Raven 1, yesli proizoshel perenos pri slozhenii ili zaem pri vychitanii, v protivnom sluchae on raven nulyu. Pri vypolnenii operatsii sdviga CF soderzhit bit, kotoryĭ vyshel za granitsu yachyeĭki ili registra. CF takzhe sluzhit indikatorom rezulʹtata umnozheniya. PF - flag chetnosti. Raven 1, yesli v rezulʹtate operatsii poluchilosʹ chislo s chetnym chislom yedinits, i 0 - v protivnom sluchae. AF - vspomogatelʹnyĭ flag perenosa. Analogichen flagu CF, no kontroliruet zaem ili perenos tretʹego bita. ZF - flag nulya. Raven 1, yesli v rezulʹtate operatsii poluchen nulʹ, i 0 - v protivopolozhnom sluchae. SF - flag znaka. Dubliruet znachenie starshego bita rezulʹtata operatsii. Ispolʹzuet·sya pri rabote s chislami so znakom. TF - flag trassirovki. Yesli etot bit raven 1, to posle vypolneniya kazhdoĭ operatsii mikroprotsessor obrashchaet·sya k spetsialʹnoĭ protsedure (preryvaniyu). Ispolʹzuet·sya pri otladke programmy. IF - flag preryvaniya. Yesli dannyĭ flag sbroshen v 0, to mikroprotsessor ne ryeagiruet ni na kakie vneshnie signaly (signaly preryvaniya). Isklyuchenie sostavlyaet nemaskiruemoe preryvanie (NMI). Po linii NMI mikroprotsessor poluchaet soobshcheniya o takikh kriticheskikh situatsiyakh, kak otklyuchenie pitaniya i oshibka pamyati. DF - flag napravleniya. Ispolʹzuet·sya strokovymi (tsepochechnymi) komandami. Yesli on sbroshen, tsepochka obrabatyvaet·sya s pervogo elementa, imyeyushchego naimenʹshiĭ adres. V protivnom sluchae tsepochka obrabatyvaet·sya ot naibolʹshego adresa k naimenʹshemu. OF - flag perepolneniya. Flag raven 1, yesli rezulʹtat slozheniya dvukh chisel s odinakovym znakom ili rezulʹtat vychitaniya dvukh chisel s protivopolozhnymi znakami vyĭdet za predely dopustimogo diapazona. Flag obrashchaet·sya v 1, yesli starshiĭ bit operanda izmenilsya v rezulʹtate operatsii arifmeticheskogo sdviga. OF=0, yesli chastnoe ot deleniya dvukh chisel perepolnyaet rezulʹtiruyushchiĭ registr.
Перевод: русский > украинский
прапор переносу. Дорівнює 1, якщо сталося перенесення при додаванні або позика при відніманні, в іншому випадку він дорівнює нулю. При виконанні операції зсуву CF містить біт, який вийшов за межі клітинки або регістра. CF також служить індикатором результату множення.
• біт 2 (Parity Flag): прапор парності. Дорівнює 1, якщо в результаті операції вийшло число з парним числом одиниць, і 0 - у противному випадку.
• біт 4 (Auxiliary carry Flag): допоміжний прапор переносу. Аналогічний прапору CF, але контролює позику або перенесення третього біта.
• біт 6 (Zero Flag): прапор нуля. Дорівнює 1, якщо в результаті операції отримано нуль, і 0 - у протилежному випадку.
• біт 7 (Signum Flag): прапор знака. Дублює значення старшого біта результату операції. Використовується при роботі з числами із знаком.
• біт 8 (Trap/trace Flag): прапор трасування. Якщо цей біт дорівнює 1, то після виконання кожної операції мікропроцесор звертається до спеціальної процедури (переривання). Використовується при налагодженні програми.
• біт 9 (Interrupt Flag): прапор переривань. Коли IF = 0, переривання по входу IRQ (масковані) ігноруються, інакше після подтвердження переривання і отримання його вектора викликається відповідний обробник.
• біт 10 (Direction Flag): прапор напрямку. Управляє роботою ланцюгових команд. Коли DF = 0, при виконанні ланцюгової команди відбувається автоінкремент адрес джерела / одержувача. Коли DF = 1 - автодекремент.
• біт 11 (Overflow Flag): прапор переповнення. Прапор дорівнює 1, якщо результат додавання двох чисел з однаковим знаком або результат віднімання двох чисел з протилежними знаками вийде за межі допустимого діапазону. Прапор встановлюється в 1, якщо старший біт операнда змінився в результаті операції арифметичного зсуву. OF = 0, якщо частка від ділення двох чисел переповнює результуючий регістр.
• біти 12,13 (I / O Privilege Level, 286 +): рівень привілеїв операцій введення-виведення.
• біт 14 (Nested Task, 286 +): вкладена завдання. Якщо при перемиканні задачі відбувається вкладення завдань, то цей прапор встановлюється в 1. Спільно з полем Link TSS в сегменті стану завдання цей прапор забезпечує коректне вкладення завдань.
• біт 16 (Resume Flag, 386 +): прапор поновлення. Коли RF = 1, тимчасово забороняються особливі випадки налагодження для контрольних точок (інші події все одно зможуть викликати виключення # 1).
• біт 17 (Virtual-8086 Mode, 386 +): віртуальний режим. Переводить завдання в стан емуляції 8086.
• біт 18 (Alignment Check, 486 +). Дозволяє контроль вирівнювання для поточного завдання. Контроль вирівнювання проводиться, якщо CR0.AM = 1 і EFLAGS.AC = 1 і CR0.PE = 1 і CPL = 3, Тобто при зверненнях до пам'яті подвійне слово обов'язково має починатися з адреси, кратної 4, а слово - з адреси, кратної 2, інакше генерується порушення контролю вирівнювання (виняток # 17).
• біт 19 (Virtual Interrupt Flag, Pentium +): віртуальний прапор переривань. Використовується спільно з прапором VIP. Процесор розпізнає VIF, якщо дозволені VME або PVI = 1 і IOPL <3.
• біт 20 (Virtual Interrupt Pending, Pentium +): відкласти віртуальне переривання. Програма встановлює цей прапор, якщо хоче, щоб обробка переривань була відкладена. Використовується спільно з VIF. Процесор читає цей прапор, але ніколи не змінює його. Прапор розпізнається, якщо дозволені VME або PVI = 1 і IOPL <3.
• біт 21 (Identification, Pentium +). Якщо програма може змінити цей прапор (тобто процесор зберігає те значення, яке програма запише в цей прапор), то процесор підтримує інструкцію CPUID. Інструкцію CPUID підтримують не тільки Pentium і P6, а й деякі поліпшені моделі 486х.