jal
Jump and link
Jump to a PC-relative offset and store the return address in xd.
Decode Variables
signed Bits<21> imm = sext({$encoding[31], $encoding[19:12], $encoding[20], $encoding[30:21], 1'd0}, 21);
Bits<5> xd = $encoding[11:7];
Execution
XReg return_addr = $pc + 4;
X[xd] = return_addr;
jump_halfword($pc + $signed(imm));
Exceptions
This instruction may result in the following synchronous exceptions:
-
InstructionAddressMisaligned