我试图弄清楚如何计算地址以通过调用调用函数。这是一个例子:
00000517 <_test_exit>:
517: b8 01 00 00 00 mov eax,0x1
51c: c3 ret
0000051d <_start>:
51d: e8 f5 ff ff ff call 517 <_test_exit>
522: e8 f0 ff ff ff call 517 <_test_exit>
527: e8 eb ff ff ff call 517 <_test_exit>
52c: e8 e6 ff ff ff call 517 <_test_exit>
让我们先调用,地址被调用0xfffff5
,但是为什么呢?所以我做了一个计算- 0xfff517 + 5 - 0xfff51d
,结果是-1,但是为什么是二进制0xfffff5
呢?请帮我弄清楚。
有必要以不同的方式计算: