I'm writing a basic application that needs to know the mathematical relationship between a jal and its address. For example:

jal $000a2000 = 0x0c028800

So my question is how would I get this value mathematically? I've been pondering ways to do it all week and every route I took to re-construct the jal to address relationship was futile. Any help would be appreciated. Also if it has anything to do with the jal's opcode than can someone also include how the opcode registers and constants relate mathematically? For example:

addui t0, t1, $0001 = 0x24020001


P.S. :: The hex outputs are estimated guesses as to what I remember the hex data to be, I didn't boot up my assembler to find out for sure what the values actually were.