x86 instruction pointer help please!

Hi, I'm currently working on understanding the x86 assembly language. I am currently stuck on understanding this instruction:

mov 0x28e89c (%rip), %eax

I know that rip is the instruction pointer that holds the address of the next instruction and that eax is the destination for whatever 0x28e89c (%rip) is. I assume that the 0x28e89c is an offset of some sort but I don't know how to interpret it. If anyone could help it would be much appreciated, thanks!


  • RIP is the 64 bit long mode version of the instruction pointer. EAX is the 32 bit accumulator register. You cannot mix 32 bit and 64 bit code.

    The MOV instruction is of the format MOV dest,source therefor you are using EAX as the source and not the destination.

    There is no need to read or to the instruction pointer register under %99.99999 of all programming scenarios and there is no way to directly change or modify the value.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


In this Discussion