IP (регистр процессора): различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
орфография
Нет описания правки
Строка 17: Строка 17:
== 32-разрядный указатель инструкций ==
== 32-разрядный указатель инструкций ==
Начиная с процессора [[Intel 80386|Intel 80386]] была введена 32-разрядная версия регистра-указателя - '''EIP'''. В данном случае IP является младшей частью этого регистра (первые 16 разрядов). Принцип работы EIP в целом аналогичен работе регистра IP.
Начиная с процессора [[Intel 80386|Intel 80386]] была введена 32-разрядная версия регистра-указателя - '''EIP'''. В данном случае IP является младшей частью этого регистра (первые 16 разрядов). Принцип работы EIP в целом аналогичен работе регистра IP.

== См. также ==
* [[Регистр процессора]]
* [[Процессор]]
* [[Язык ассемблера]]
* [[Регистр (цифровая техника)]]

{{Технологии CPU}}

[[Категория:Программирование x86]]

Версия от 17:25, 30 ноября 2009

У термина IP существуют и другие значения, см. IP (значения).

IP (англ. Instruction Pointer) - регистр, содержащий адрес смещение следующей команды подлежащей исполнению относительно кодового сегмента CS в IBM-PC совместимых компьютерах. Регистр IP связан с CS в виде CS:IP, где CS является текущим кодовым сегментом, а IP текущим смещением относительно этого сегмента.
Регистр IP является 16 разрядным регистром-указателем. Кроме него в состав регистров этого типа входят SP - указатель стека (англ. Stack Pointer) и BP - базовый указатель (англ. Base Pointer).

Принцип работы регистра IP

Например, CS содержит значение 2CB5[0]H, в регистре IP хранится смещение 123H. Адрес следующей инструкции, подлежащей исполнению вычисляется путем суммирования адреса в CS (сегменте кода) со смещением в регистре IP:

2CB50H + 123H = 2CC73H

Таким образом, адрес следующей инструкции для исполнения равен 2CC73H.
При выполнении текущей инструкции процессор автоматически изменяет значение в регистре IP, в результате чего регистровая пара CS:IP всегда указывает на следующую подлежащую исполнению инструкцию.

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

Начиная с процессора Intel 80386 была введена 32-разрядная версия регистра-указателя - EIP. В данном случае IP является младшей частью этого регистра (первые 16 разрядов). Принцип работы EIP в целом аналогичен работе регистра IP.

См. также