relative calls
In relative calls (whose opcodes seem to start with E8
), the operand is added to the value of the instruction pointer.
For the calculation, it must be considered that the instruction pointer already points to the address after the call
instruction at the time the call
instruction is executed. Thus, the value of the operand must be added to the address of the instruction following the call
instruction.
For example, if at address 00e7116e
there is the call
instruction e8 8d 00 00 00
, the next instruction will be at 00e71200
(= 00e7116e
+ 8d
+ 5
)