counter is at 0x20202c For the instruction at a4a, 0x2015dc(%rip) is location 0x20202c and for the instruction at a53, 0x2015d3(%rip) is also location 0x20202c: >>> hex(0x2015dc + 0xa50) '0x20202c' >>> hex(0x2015d3 + 0xa59) '0x20202c' >>> See https://stackoverflow.com/questions/42215105/understanding-rip-register-in-intel-assembly RIP addressing is always relative to RIP (64bit Instruction Pointer) register. So it can be used for global variables only. The 0 offset is equal to address of the following instruction after the RIP-addressed instruction.