Частина 13: Контрольні реєстри

Для повного змісту змісту всіх уроків натисніть нижче, оскільки це надасть вам короткий зміст кожного уроку, а також теми, які будуть обговорені. https://github.com/mytechnotalent/Reverse-Engineering-Tutorial

Є п'ять контрольних реєстрів, які використовуються для визначення режиму роботи процесора і особливостей поточного виконуваного завдання. Кожен контрольний реєстр виглядає так:

CR0: Системний флаг, який контролює режим роботи і різні станів процесора.

CR1: (Не імплементовано зараз)

CR2: Інформація про помилку сторінки пам'яті.

CR3: Інформація про директорію сторінок пам'яті.

CR4: Флаги, які дозволяють використовувати особливості процесора і вказують можливості процесора.

Значення кожного з контрольних реєстрів не можна безпосередньо звертатися до нього, але дані в контрольному реєстрі можна перемістити в один з загальних регістрів, а коли дані знаходяться в регістрі GP, програма може досліджувати флаги бітів в реєстрі, щоб визначити режим роботи процесора разом з поточним виконуваним завданням.

Якщо необхідно змінити значення флагу контрольного реєстру, зміну можна зробити в даних регістру GP і потім перемістити реєстр в CR. Низькорівневі програми системи звичайно змінюють значення в контрольних реєстрах. Нормальні програми застосування рідко змінюють записи контрольних реєстрів, але вони можуть запитувати значення флагів, щоб визначити можливості процесора, на якому зараз працює програма.

results matching ""

    No results matching ""