IP (регистр процессора): различия между версиями
[непроверенная версия] | [непроверенная версия] |
Qldor (обсуждение | вклад) орфография |
Qldor (обсуждение | вклад) Нет описания правки |
||
Строка 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.