#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2009
    Posts
    4
    Rep Power
    0

    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!
  2. #2
  3. No Profile Picture
    Contributing User
    Devshed Novice (500 - 999 posts)

    Join Date
    May 2007
    Posts
    765
    Rep Power
    929
    It's no different than any other indexing operation, just using RIP instead of one of the general purpose registers for the base address. In this case, you're reading the memory located at 0x28e89c + RIP.
    sub{*{$::{$_}}{CODE}==$_[0]&& print for(%:: )}->(\&Meh);
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2009
    Posts
    4
    Rep Power
    0
    Originally Posted by OmegaZero
    It's no different than any other indexing operation, just using RIP instead of one of the general purpose registers for the base address. In this case, you're reading the memory located at 0x28e89c + RIP.

    ok cool, thanks

IMN logo majestic logo threadwatch logo seochat tools logo