Регистры процессоров INTEL и AMD.
Процессор содержит программно-доступные регистры, которые принято объединять в три группы: регистры данных, регистры-указатели и сегментные регистры. Кроме того, в состав процессора входят счетчик команд и регистр флагов. Для процессоров, имеющих защищенный режим добавляются регистры системных адресов, отладочные регистры и служебные «аппаратные» регистры. Разрядность регистров зависит от разрядности процессора.
Регистры данных (или регистры общего назначения)
Регистры-указатели
Сегментные регистры
Счетчик команд
Регистр флагов
Регистр флагов эквивалентен регистру состояния процессора других систем. Он содержит информацию о текущем состоянии процессора.
VM (бит 17) - обеспечивает режим виртуального 8086 в защищенном режиме;
RF (бит 16) - флаг возобновления, временно прекращает отладку, возвращая процессор к нормальному выполнению программы;
NT (бит 14) - вложенная задача, процессор использует этот флаг для управления последовательностью прерываемых и вызываемых задач;
IOPL (биты 13-12) - уровень привилегий ввода-вывода, используется в защищенном режиме;
OF (бит 11) - флаг переполнения, устанавливается, если операция привела к переносу (заему) в знаковый (самый старший) бит результата, но не привела к переносу (заему) из самого старшего бита, или наоборот;
DF (бит 10) - флаг направления, показывает должны ли регистры ESI и EDI инкрементироваться или декрементироваться во время операций над строками. Если флаг сброшен они инкрементируются, иначе - декрементируются;
IF (бит 9) - разрешение прерываний, очистка этого бита запрещает процессору реагировать на внешние маскируемые прерывания;
TF (бит 8) - флаг ловушки, установка флага переводит процессор в пошаговый режим для отладки;
SF (бит 7) - флаг знака, устанавливается если есть 1 в старшем бите результата;
ZF (бит 6) - флаг нуля, устанавливается если все биты результата равны 0;
AF (бит 4) - флаг вспомогательного переноса, используется для упрощения сложения и вычитания упакованных двоично-десятичных чисел. Независимо от длины операнда (8, 16 или 32 бита) флаг AF установлен, если операция привела к заему из бита 3 при вычитании или переносу из бита 3 при сложении, иначе он сброшен. Это связано с тем, что двоично-десятичные числа используют биты с 0 по 3 для представления десятичных цифр;
PF (бит 2) - флаг четности, устанавливается если младшие восемь бит результата содержат четное число единиц (проверка на четность);
CF (бит 0) - флаг переноса, устанавливается если операция привела к переносу из старшего бита при сложении или к заему в старший бит при вычитании.
Ниже показаны регистры процессоров поддерживающих 64-х битную архитектуру: