Time to bust out the Intel Instruction Set Reference!
E8
is CALL rel32
:
Call near, relative, displacement relative to next instruction.
That means you're not calling the absolute address 0x8048300
, rather you're calling to an address at some displacement from where you are right now (actually from the next instruction).
If you want to call to an absolute address, you need to be using the FF
Call r/m32
(call to register or memory address) form.
mov eax, 0x8048300
call eax