logo search
КС-ZAO / Лекции ЦЭВМруский вариант11

Новые регистры

Впроцессоре 80386 общие регистры, регистр флагов и указатель инструкций процессора 8086 увеличены по размеру до 32 бит, кроме того добавлены два новых сегментных регистра.

32-разрядные общие регистры

32-разрядные регистры общего назначения называются EAX, EBX, ECX, EDX, ESI, EDI, EBP и ESP. Младшие 16 битов этих регистров образуют множество 16-разрядных регистров процессора 8086, которые нам уже хорошо знакомы. Например, младшие 16 битов регистра EAX представляют собой регистр AX. Аналогично, младшие 8 битов регистра EAX представляют собой регистр AL. В результате к различным частям регистра EAX можно теперь обращаться с помощью четырех различных имен: 32-битового регистра EAX, 16-битового регистра AX и 8-битовых регистров AH и AL. Тоже самое относится к регистрам EBX, ECX и EDX.

При обращении к 32-разрядным регистрам есть имеется только один небольшой недостаток: невозможно непосредственно использовать старшие 16 битов 32-разрядного регистра, как 16-разрядный регистр. Если вы хотите использовать старшие 8 битов регистра AX, то можно просто сослаться на регистр AH, а если вы хотите использовать младшие 16 битов регистра ESI, как регистр, то можно просто ссылаться на SI. Однако нет эквивалентного способа ссылаться, скажем, на старшие 16 битов, например, регистра EAX.

Чтобы получить доступ к старшим 16 битам 32-разрядного регистра, можно просто выполнить циклический сдвиг 16 битов в любом направлении, обратиться с младшим 16 битам регистра и снова выполнить для регистра циклический сдвиг на 16.

32-разрядный регистр флагов

Младшее слово регистра флагов процессора 80386 идентично регистру флагов процессора 8086. Старшие 16 битов регистра флагов процессора 8086 содержит два новых флага. Один из этих новых флагов показывает, работает ли в данный момент процессор 80386 как виртуальный процессор 8086, а другой флаг предназначен для использования при разработке средств отладки. Прикладным программным обеспечением эти флаги обычно не используются.

32-разрядный указатель инструкций

Указатель инструкций процессора 80386 имеет размер 32 бита, что отличается от 16-битового указателя инструкций процессора 8086. Этот расширенный указатель инструкций поддерживает сегменты кода размером до 4 гигабайт.