how pseudo direct addressing works? In pseudo direct addressing mode (For the MIPS architecture) the 26 bit of the jump instruction are joined to the upper 4 bits of the PC .


how could this help in jumping to relative positions suppose I want to jump backward instead of forward ( i.e. if i want to jump to the beginning of a loop after executing it's body ),
What I get is this will limit the jump to be 2^28 from the following instruction but Is this applicable backward too ? 
I am really confused by this so excuse me for such a silly question...
In MIPS-speak, these areas of memory of 28 (26+2; the +2 is because instructions are four bytes in size) bit address space (256MB) are referred to as "superblocks". Pseudo-direct addressing allows you to jump anywhere within the same superblock. It doesn't matter if it's forwards or backwards.

This was never a problem in practice because it's very rare for a single binary (whether it's an executable or a shared library) to have more than 256MB of code. IIRC, the MIPS linker could handle it if it ever occurred by generating a trampoline. Suppose that the compiler generated a jal, for example, where the linker discovered that the target was in a different superblock. Then the linker would generate a couple of instructions to do the full jump, and point the jal to that.