x86 and x86-64 use little-endian Endianness in x86/x86_64 Memory: the least-significant byte of a multi-byte value is stored at the lowest memory address.
Reading a value from a hex dump
If memory holds a 32-bit integer as:
a8 00 00 00
the value is reconstructed by placing the first byte in the least-significant position:
0x000000a8 = 168
Another example — a pointer stored as:
3c f7 df 22
is:
0x22dff73c
Pointers are integers
A pointer is just an address stored as an integer, so it follows the same little-endian rule. On x86-64, pointers are 64 bits (8 bytes); on x86, they are 32 bits (4 bytes).
Why memory dumps look "backwards"
When humans write 0x12345678, we write it most-significant digit first. Memory stores it as 78 56 34 12 on little-endian machines. The written form is big-endian notation; the memory layout is little-endian.
Quick rule
To read a little-endian value: take the bytes left-to-right from low address to high address, then write them right-to-left when forming the number.