Все о кровле крыш своими руками.
На рисунке ниже показан формат управляющих регистров CR0, CR2, CR3 и CR4. В большинстве систем загрузка управляющих регистров из прикладных программ невозможна (хотя в незащищенных системах такая загрузка разрешается).
Прикладные программы имеют возможность считывать эти регистры, например, для определения наличия математического сопроцессора. Некоторые разновидности команды MOV позволяют загружать управляющие регистры из регистров общего назначения, и наоборот.
Например,
MOV EAX, CR0
MOV CR3, EBX
Назначения регистров: СRO, CR4 — управляющие. CR1 — резерв. CR2 — линейный адрес страничной ошибки. CR3 — база каталога таблиц страниц.
Регистры CR0, CR4 содержат системные управляющие флаги, которые управляют режимами или указывают на состояние процессора в целом, а не относительно выполнения конкретных задач. Программа не должна пытаться изменить состояние каких-либо битов в зарезервированных позициях. Эти зарезервированные биты всегда должны устанавливаться в то состояние, которое они имели ранее при считывании.
Назначение большинства битов управляющих регистров приведено в нижеследующей таблице (см. таблица ниже).