Page 1 of 1

IP/EIP registers? Pre-RIP use of instruction pointer

Posted: Tue Jun 04, 2013 1:13 pm
by lopidas
What was their purpose when they were directly unusable?

Re: IP/EIP registers? Pre-RIP use of instruction pointer

Posted: Tue Jun 04, 2013 1:17 pm
by dozniak
Is there some invisible power preventing you from reading the kcufing manual?

Re: IP/EIP registers? Pre-RIP use of instruction pointer

Posted: Tue Jun 04, 2013 1:20 pm
by lopidas
No

Re: IP/EIP registers? Pre-RIP use of instruction pointer

Posted: Tue Jun 04, 2013 1:22 pm
by dozniak
May I ask you why are you breaking forum rules by not reading it?

Re: IP/EIP registers? Pre-RIP use of instruction pointer

Posted: Tue Jun 04, 2013 1:27 pm
by lopidas
But I can't find there why it was exposed as real register instead of being CPU internal only. Only usage I found is pushing his value in case of exceptions. Which I think does not need exposing it

Re: IP/EIP registers? Pre-RIP use of instruction pointer

Posted: Tue Jun 04, 2013 1:32 pm
by dozniak
I heard x86_64 introduced this thing called RIP-relative addressing...

Re: IP/EIP registers? Pre-RIP use of instruction pointer

Posted: Tue Jun 04, 2013 4:44 pm
by Combuster
lopidas wrote:But I can't find there why it was exposed as real register instead of being CPU internal only.
The instruction pointer has always been a real register. Even the 8086 has a load IP with constant, load IP with register, and push/pop IP on the stack, and even *gasp* addition.