Пять 32-битных регистров CR0 – CR4 управляют функционированием процессора и работой отдельных его внутренних блоков.
CR0: флаги управления системой
бит 31: бит PG — включает и выключает режим страничной адресации
бит 30: бит CD — запрещает заполнение кэша. При этом чтение из кэша все равно будет происходить
бит 29: бит NW — запрещает сквозную запись во внутренний кэш — данные, записываемые в кэш, не появляются на внешних выводах процессора
бит 18: бит AM — разрешает флагу АС включать режим, в котором невыровненные обращения к памяти на уровне привилегий 3 вызывают исключение #АС
бит 16: бит WP — запрещает запись в страницы, помеченные как только для чтения на всех уровнях привилегий (если WP = 0, защита распространяется только на уровень 3). Этот бит предназначен для реализации метода создания копии процесса, популярного в UNIX, в котором вся память нового процесса сначала полностью совпадает со старым, а затем, при попытке записи со стороны нового процесса, создается копия страницы, в которую произошла запись
бит 5: бит NE — включает режим, в котором ошибки FPU вызывают исключение #MF, а не IRQ13
бит 4: бит ЕТ — использовался только на 80386DX и указывал, что FPU присутствует
бит 3: бит TS — устанавливается процессором после переключения задачи. Если затем выполнить любую команду FPU, произойдет исключение #NM, обработчик которого может сохранить/восстановить состояние FPU, очистить этот бит командой CLTS и продолжить программу
бит 2: бит ЕМ — эмуляция сопроцессора. Каждая команда FPU вызывает исключение #NM
бит 1: бит МР — управляет тем, как исполняется команда WAIT. Должен быть установлен для совместимости с программами, написанными для 80286 и 80386 и использующими эту команду
бит 0: бит РЕ — если он равен 1, процессор находится в защищенном режиме